rubyx/lib/vm
2014-05-21 12:42:54 +03:00
..
block.rb phase one, assignment for constants (moves) work 2014-05-20 11:14:18 +03:00
c_machine.rb more work on instruction format 2014-05-19 11:28:13 +03:00
call_site.rb fixin up mov arguments 2014-05-18 12:30:49 +03:00
code.rb crystal says Hello. 2014-05-06 21:36:28 +03:00
constants.rb putint works, work on syntax goes on 2014-05-19 15:44:12 +03:00
context.rb work on Integer.to_s , not a simple task as it turns out 2014-05-15 16:54:23 +03:00
function.rb improve argument handling for puntint 2014-05-19 12:18:01 +03:00
instruction.rb phase 2, add/sub instructions work with +- operator 2014-05-20 11:54:59 +03:00
program.rb fix some arguemnt names 2014-05-18 12:34:53 +03:00
README.markdown created own directory for parser 2014-04-27 15:38:07 +03:00
values.rb fix test and remove hack for - 2014-05-21 12:42:54 +03:00

Virtual Machine

This is the logic that uses the generated ast to produce code, using the asm layer.

Apart from shuffeling things around from one layer to the other, it keeps track about registers and provides the stack glue. All the stuff a compiler would usually do.

Also all syscalls are abstracted as functions.