rubyx/lib/vm
2014-05-22 16:35:59 +03:00
..
block.rb solves control flow issue when adding blocks 2014-05-22 16:35:59 +03:00
call_site.rb using function args for call 2014-05-21 21:12:46 +03:00
code.rb gives function the list of blocks it needs for branching and documents also the blocks better 2014-05-22 14:18:22 +03:00
constants.rb value is not derived from code (was too much generalisation/confusing) 2014-05-21 19:41:51 +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 while coded 2014-05-22 14:56:31 +03:00
instruction.rb fix fibo with new syntax. certainly works for operators, but not everything 2014-05-21 12:47:40 +03:00
program.rb rename c to register machine 2014-05-21 19:43:46 +03:00
README.markdown created own directory for parser 2014-04-27 15:38:07 +03:00
register_machine.rb rename c to register machine 2014-05-21 19:43:46 +03:00
values.rb thats putstring working again (better testing == better code => better sleep, longer life :-) 2014-05-21 21:27:05 +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.