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.