package
0.0.0-20190605154601-fb5d26ce701f
Repository: https://github.com/hankelbao/pseudo.git
Documentation: pkg.go.dev
# Functions
AddEval generates IR for add.
CmpEQEval generates IR for =.
CmpGEEval generates IR for >=.
CmpGTEval generates IR for >.
CmpLEEval generates IR for <=.
CmpLTEval generates IR for <.
CmpNEEval generates IR for <>.
Compile compiles the ast.
DivideEval generates IR for divide.
MinusEval generates IR for minus.
MultipleEval generates IR for multiple.
NewGlobalScope creates a global scope.
OppositeEval generates IR for opposite.
Parse parses the input into ast.
# Structs
Addition adds two or more values.
Ast is the instructions assembly.
Comparison compares two or more values.
Constant shows direct value.
Expression is expression of an value.
No description provided by the author
InstAssignment assigns a variable the value of an expression
Example: a <- 1.
InstCall creates call block
Example: CALL puts("Hello World!").
InstConditionBr creates if..then..else..
InstDeclareVariable declares a variable.
No description provided by the author
InstOutput outputs string Example: OUTPUT "Hello World!\n".
InstPrintfD outputs a expression of INT for debug usage
Example: PrintfS 1.
InstPrintfF outputs a expression of REAL for debug usage
Example: PrintF 1.0.
InstWhile creates repeat block
Example: REPEAT OUTPUT "HI" UNTIL 1=1.
Instruction matches all kinds of instructions.
InstWhile creates while block
Example: WHILE 1=1 DO OUTPUT "Hi" ENDWHILE.
Key is an assignable terminal.
KeyToken is the lexers of Key TODO: change into expression-like handling.
Multiplication multiples two values.
OpAddition adds another value.
OpComparison makes a comparison with another value.
OpMultiplication multiples with another value.
Primary is the smallest universal unit in an expression.
Scope keep track of all the informations in a block/sub-block.
Unary gives not or opposite.
No description provided by the author
VariableType matches the variable type of declaration.
# Interfaces
Interpreter is the interface for all the interpreters for instructions.
# Type aliases
ScopeFuncMap is a map to store all the functions in a scope.
ScopeVariableMap is a map to store all the variables in a scope.