Commit Graph

64 Commits

Author SHA1 Message Date
Torsten Ruger 79bf416e58 collapsed slot classes into one
different slot operation have different right sides
mom assignment tests work again
157 others don’t
2018-03-15 20:33:38 +05:30
Torsten Ruger 3247c2036c moving from collect to each
when iterating over tree.
Much cleaner, less hokuspukus methods that are noops

Mom is coming back out, but not linked yet
2018-03-15 17:22:56 +05:30
Torsten Ruger 3702411043 first propper hoisting test
had to change course, normalising and object creation is not possible
in one go
have to now generate random tmp vars  that will have to be picked up
later (sorted by tmp_ prefix?)
2018-03-15 12:46:56 +05:30
Torsten Ruger 9ddcb3224c rename 2018-03-15 11:32:32 +05:30
Torsten Ruger 78ef1368de introducing expressions and constants
not everything statement anymore (as in ruby)
basic statement tests working, rest havoc
2018-03-15 11:24:14 +05:30
Torsten Ruger 163cad456f random tries 2018-03-15 10:46:17 +05:30
Torsten Ruger 03a4e04f7e rename self to receiver
just because it is a keyword and can’t be used
2018-03-14 20:26:13 +05:30
Torsten Ruger 559a797100 rename locals to frame 2018-03-14 20:24:47 +05:30
Torsten Ruger 7db329fa6b actually adding risc instructions
fix test harness
1 working test (yeh)
2018-03-14 17:41:09 +05:30
Torsten Ruger 2779045caa small rename 2018-03-13 16:44:39 +05:30
Torsten Ruger 96800fd8fd starting to_risc descent
just fleshing it for now
2018-03-13 16:16:06 +05:30
Torsten Ruger b297650b78 adds a mom version of basic values 2018-03-13 12:30:51 +05:30
Torsten Ruger c806106917 simple test for dynamic call 2018-03-12 18:13:26 +05:30
Torsten Ruger e0f6ba7bcf simple if test without else
unveils many a bug that is now fixed
2018-03-12 17:56:44 +05:30
Torsten Ruger 5fe0ba06ab stash old vm
moving on to getting mom to work and can’t have both
interpreter and elf broke, about 100 tests  went
2018-03-11 17:02:42 +05:30
Torsten Ruger f7aac1d1a4 polish docs
and a bit of code style
2018-03-11 16:11:15 +05:30
Torsten Ruger d6a2ea4cfc fix dynamic resolve
patch more like, real resolve method will have to be written
and put in there
2018-03-10 19:01:38 +05:30
Torsten Ruger 3a365c779a setup to resolve method dynamically 2018-03-10 18:47:36 +05:30
Torsten Ruger bc5906fb83 moving vool_method to parfait 2017-12-10 20:47:26 +02:00
Torsten Ruger b7701d0d5e start on dynamic call 2017-12-05 21:46:37 +02:00
Torsten Ruger c3318f8f61 send refactor, green by stubbing 2017-09-14 18:42:01 +03:00
Torsten Ruger 2739747453 a start on dynamic dispatch (wip) 2017-09-14 16:07:02 +03:00
Torsten Ruger be1481ce34 some renaming, start on cached
cached stalled for now, continue down to rise with what is first
2017-09-12 17:49:42 +03:00
Torsten Ruger 3c92e707da refactor 2017-09-11 14:23:06 +03:00
Torsten Ruger afbcbca4da extracting some of the calling into own instructions 2017-09-11 14:22:33 +03:00
Torsten Ruger b6939fe4b3 small rename 2017-09-11 14:21:57 +03:00
Torsten Ruger 0ccb7df0ab refactor send code 2017-09-10 22:54:56 +03:00
Torsten Ruger 1a9370ad14 fix moms ivar assignment 2017-09-10 13:33:32 +03:00
Torsten Ruger c245acbdd3 fix slot_moves for sending, receiver and args 2017-09-10 13:14:51 +03:00
Torsten Ruger 43d660d2d2 fix slot moves for assignment 2017-09-10 13:04:36 +03:00
Torsten Ruger 66901eeb5b fix use of slot_constant vs slot_move
wip
2017-09-10 12:57:25 +03:00
Torsten Ruger 80c3430536 replace arrays with Statements class 2017-09-06 12:51:24 +03:00
Torsten Ruger 9a1e4a6f27 own statements class for mom
so we don’t have to deal with arrays (as a special case)
and use method sending as is good oo
2017-09-06 12:33:46 +03:00
Torsten Ruger af85cb7c67 adds mom while
much like the if, difference will show later in the jump arrangement
2017-09-05 12:04:52 +03:00
Torsten Ruger 76a87dd418 extract hoisting to module
to be used in while statement
2017-09-05 12:04:12 +03:00
Torsten Ruger 1a219a7c89 introduce slot_definition and use it 2017-09-04 21:31:49 +03:00
Torsten Ruger dab4e74659 Reworking if statement
Using 2 phase approach
Flattening tbd
2017-09-04 21:00:08 +03:00
Torsten Ruger 0b161ffa06 move ruby_method out of rubyx
ruby getting ready for destruction as it’s not used anymore
2017-08-31 16:11:06 +03:00
Torsten Ruger cd2988f8a2 fix condition if 2017-08-30 22:54:03 +03:00
Torsten Ruger c3939ef622 start better if mom test 2017-08-30 22:27:12 +03:00
Torsten Ruger 349dd37c82 small refactor 2017-08-30 18:23:54 +03:00
Torsten Ruger b6fa8261e6 first stab at moms if 2017-08-30 17:21:13 +03:00
Torsten Ruger bbc13946ed implements self sent
with explicit and implicit self
2017-04-25 09:40:09 +03:00
Torsten Ruger dda2ddd9fb rename test to avoid clashes 2017-04-23 17:50:06 +03:00
Torsten Ruger 3e282c083d introduces compile time type (ct_type)
to determine whether we can call directly
2017-04-19 20:59:13 +03:00
Torsten Ruger d2fba19b95 fixes simple argument passing 2017-04-16 11:39:21 +03:00
Torsten Ruger 0d43987005 start to compile send
still very hacked version of simple call, but a start
2017-04-15 20:58:39 +03:00
Torsten Ruger 265b25d5f4 introduce return_sequence instruction to mom 2017-04-14 21:01:50 +03:00
Torsten Ruger c885888f4a start implementing return for constant 2017-04-14 10:52:23 +03:00
Torsten Ruger 9dd4409009 implements argument assignment 2017-04-13 14:14:43 +03:00