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- PRINT =
120
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