Index
Modules:
minim
,
minim/asts
,
minim/evals
,
minim/parser
,
minim/tokenizer
,
minim/tokens
.
API symbols
akAssignment:
ASTKind.akAssignment
akBinary:
ASTKind.akBinary
akCall:
ASTKind.akCall
akFunc:
ASTKind.akFunc
akIdent:
ASTKind.akIdent
akIf:
ASTKind.akIf
akInt:
ASTKind.akInt
akProgram:
ASTKind.akProgram
akSeq:
ASTKind.akSeq
akWhile:
ASTKind.akWhile
AST:
asts: AST
astAssignment:
asts: astAssignment(name: string; ast: AST): AST
astBinary:
asts: astBinary(op: string; lhs, rhs: AST): AST
astCall:
asts: astCall(name: string; args: seq[AST]): AST
astFunc:
asts: astFunc(name: string; params: seq[string]; body: AST): AST
astIdent:
asts: astIdent(name: string): AST
astIf:
asts: astIf(condition, then, els: AST): AST
astInt:
asts: astInt(value: int): AST
ASTKind:
asts: ASTKind
ASTObj:
asts: ASTObj
astProgram:
asts: astProgram(functions: seq[AST]; programs: seq[AST]): AST
astSeq:
asts: astSeq(bodies: seq[AST]): AST
astWhile:
asts: astWhile(condition: AST; body: AST): AST
CannotDefineFunctionInBodyError:
evals: CannotDefineFunctionInBodyError
CloseableTokens:
tokens: CloseableTokens
consumeIdent:
tokenizer: consumeIdent(program: var string): (bool, string)
consumeKeyword:
tokenizer: consumeKeyword(program: var string; token: string): bool
consumeNumber:
tokenizer: consumeNumber(program: var string): (bool, string)
consumeOperator:
tokenizer: consumeOperator(program: var string; token: string): bool
Digits:
tokens: Digits
evaluate:
evals: evaluate(ast: AST): int
evals: evaluate(ast: AST; variables: var Table[string, int]; functions: var Table[string, AST]): int
Idents:
tokens: Idents
IdentStarts:
tokens: IdentStarts
MinimKeywords:
tokens: MinimKeywords
MinimOperators:
tokens: MinimOperators
MinimToken:
tokens: MinimToken
MinimTokenKind:
tokens: MinimTokenKind
mtIdent:
tokens: mtIdent(ident: string): MinimToken
mtKeyword:
tokens: mtKeyword(kw: string): MinimToken
mtkIdent:
MinimTokenKind.mtkIdent
mtkKeyword:
MinimTokenKind.mtkKeyword
mtkNumber:
MinimTokenKind.mtkNumber
mtkOperator:
MinimTokenKind.mtkOperator
mtNumber:
tokens: mtNumber(num: string): MinimToken
mtOperator:
tokens: mtOperator(op: string): MinimToken
parse:
parser: parse(tokens: seq[MinimToken]): AST
run:
minim: run(program: string): int
separate:
tokenizer: separate(program: string; len: int): Option[SeparatedString]
skipWhitespace:
tokenizer: skipWhitespace(program: var string): bool
tokenize:
tokenizer: tokenize(program: string): seq[MinimToken]
Whitespaces:
tokens: Whitespaces