Module: KoiReferenceCompiler

Defined in:
lib/koi-reference-compiler/vm_opcodes.rb,
lib/koi-reference-compiler/syntax_node.rb,
lib/koi-reference-compiler/koi-reference-compiler.rb,
lib/koi-reference-compiler/node_extensions/blocks/block.rb,
lib/koi-reference-compiler/node_extensions/control_flow/if.rb,
lib/koi-reference-compiler/node_extensions/control_flow/unless.rb,
lib/koi-reference-compiler/node_extensions/literals/nil_literal.rb,
lib/koi-reference-compiler/node_extensions/statements/statement.rb,
lib/koi-reference-compiler/node_extensions/assignment/assignment.rb,
lib/koi-reference-compiler/node_extensions/literals/true_literal.rb,
lib/koi-reference-compiler/node_extensions/expressions/expression.rb,
lib/koi-reference-compiler/node_extensions/identifiers/identifier.rb,
lib/koi-reference-compiler/node_extensions/literals/false_literal.rb,
lib/koi-reference-compiler/node_extensions/literals/float_literal.rb,
lib/koi-reference-compiler/node_extensions/functions/function_call.rb,
lib/koi-reference-compiler/node_extensions/hash_literals/key_value.rb,
lib/koi-reference-compiler/node_extensions/literals/string_literal.rb,
lib/koi-reference-compiler/node_extensions/literals/integer_literal.rb,
lib/koi-reference-compiler/node_extensions/hash_literals/hash_access.rb,
lib/koi-reference-compiler/node_extensions/hash_literals/hash_literal.rb,
lib/koi-reference-compiler/node_extensions/hash_literals/hash_accessor.rb,
lib/koi-reference-compiler/node_extensions/operators/addition_operator.rb,
lib/koi-reference-compiler/node_extensions/operators/division_operator.rb,
lib/koi-reference-compiler/node_extensions/operators/equality_operator.rb,
lib/koi-reference-compiler/node_extensions/hash_literals/key_value_list.rb,
lib/koi-reference-compiler/node_extensions/operators/less_than_operator.rb,
lib/koi-reference-compiler/node_extensions/functions/function_definition.rb,
lib/koi-reference-compiler/node_extensions/hash_literals/hash_assignment.rb,
lib/koi-reference-compiler/node_extensions/operators/assignment_operator.rb,
lib/koi-reference-compiler/node_extensions/operators/great_than_operator.rb,
lib/koi-reference-compiler/node_extensions/operators/inequality_operator.rb,
lib/koi-reference-compiler/node_extensions/operators/subtraction_operator.rb,
lib/koi-reference-compiler/node_extensions/expressions/additive_expression.rb,
lib/koi-reference-compiler/node_extensions/expressions/multitive_expression.rb,
lib/koi-reference-compiler/node_extensions/hash_literals/hash_accessor_list.rb,
lib/koi-reference-compiler/node_extensions/operators/multiplication_operator.rb,
lib/koi-reference-compiler/node_extensions/expressions/comparative_expression.rb

Defined Under Namespace

Classes: AdditionOperator, AdditiveExpression, Assignment, AssignmentOperator, Block, ComparativeExpression, Compiler, DivisionOperator, EqualityOperator, Expression, FalseLiteral, FloatLiteral, FunctionCall, FunctionDefinition, GreaterThanOperator, HashAccess, HashAccessor, HashAccessorList, HashAssignment, HashLiteral, Identifier, If, InequalityOperator, IntegerLiteral, KeyValue, KeyValueList, LessThanOperator, MultiplicationOperator, MultitiveExpression, NilLiteral, Statement, StringLiteral, SubtractionOperator, SyntaxNode, TrueLiteral, Unless

Constant Summary collapse

PUSH_NIL =

0

0
PUSH_BOOL =
1
PUSH_INT =
2
PUSH_FLOAT =
3
PUSH_STRING =
4
JUMP =

20

20
JUMP_IF =
21
JUMP_UNLESS =
22
POP =

40

40
SWAP =
41
DUP =
42
STKSIZE =
43
TYPEOF =
44
TOP =
45
ADD =

60

60
SUBTRACT =
61
MULTIPLY =
62
DIVIDE =
63
CONCAT =

80

80
STRLEN =
81
TO_STRING =
82
EQUAL =

100

100
LESS_THAN =
101
GREATER_THAN =
102
INVERT =
103
120
GETS =
121
SET_LOCAL =

140

140
GET_LOCAL =
141
SET_GLOBAL =
142
GET_GLOBAL =
143
PUSH_FUNCTION =

160

160
END_FUNCTION =
161
CALL =
162
RETURN =
163
TAILCALL =
164
PUSH_HASH =

180

180
SET_KEY =
181
GET_KEY =
182
HAS_KEY =
183
LENGTH =
184
NUM_PAIRS =
185
PAIRS =
186
NO_OP =

240

240
EXIT =
255