Commit Graph

91 Commits

Author SHA1 Message Date
ad4690d719 move common statements into its only use in vool 2018-03-15 20:40:21 +05:30
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
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
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
9ddcb3224c rename 2018-03-15 11:32:32 +05:30
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
163cad456f random tries 2018-03-15 10:46:17 +05:30
03a4e04f7e rename self to receiver
just because it is a keyword and can’t be used
2018-03-14 20:26:13 +05:30
559a797100 rename locals to frame 2018-03-14 20:24:47 +05:30
7db329fa6b actually adding risc instructions
fix test harness
1 working test (yeh)
2018-03-14 17:41:09 +05:30
2779045caa small rename 2018-03-13 16:44:39 +05:30
96800fd8fd starting to_risc descent
just fleshing it for now
2018-03-13 16:16:06 +05:30
b297650b78 adds a mom version of basic values 2018-03-13 12:30:51 +05:30
c806106917 simple test for dynamic call 2018-03-12 18:13:26 +05:30
e0f6ba7bcf simple if test without else
unveils many a bug that is now fixed
2018-03-12 17:56:44 +05:30
d910c02b4a better name for cool compile 2018-03-12 17:23:16 +05:30
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
f7aac1d1a4 polish docs
and a bit of code style
2018-03-11 16:11:15 +05:30
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
3a365c779a setup to resolve method dynamically 2018-03-10 18:47:36 +05:30
bc5906fb83 moving vool_method to parfait 2017-12-10 20:47:26 +02:00
b7701d0d5e start on dynamic call 2017-12-05 21:46:37 +02:00
c3318f8f61 send refactor, green by stubbing 2017-09-14 18:42:01 +03:00
2739747453 a start on dynamic dispatch (wip) 2017-09-14 16:07:02 +03:00
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
3c92e707da refactor 2017-09-11 14:23:06 +03:00
afbcbca4da extracting some of the calling into own instructions 2017-09-11 14:22:33 +03:00
b6939fe4b3 small rename 2017-09-11 14:21:57 +03:00
0ccb7df0ab refactor send code 2017-09-10 22:54:56 +03:00
1a9370ad14 fix moms ivar assignment 2017-09-10 13:33:32 +03:00
c245acbdd3 fix slot_moves for sending, receiver and args 2017-09-10 13:14:51 +03:00
43d660d2d2 fix slot moves for assignment 2017-09-10 13:04:36 +03:00
66901eeb5b fix use of slot_constant vs slot_move
wip
2017-09-10 12:57:25 +03:00
80c3430536 replace arrays with Statements class 2017-09-06 12:51:24 +03:00
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
af85cb7c67 adds mom while
much like the if, difference will show later in the jump arrangement
2017-09-05 12:04:52 +03:00
76a87dd418 extract hoisting to module
to be used in while statement
2017-09-05 12:04:12 +03:00
1a219a7c89 introduce slot_definition and use it 2017-09-04 21:31:49 +03:00
dab4e74659 Reworking if statement
Using 2 phase approach
Flattening tbd
2017-09-04 21:00:08 +03:00
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
cd2988f8a2 fix condition if 2017-08-30 22:54:03 +03:00
c3939ef622 start better if mom test 2017-08-30 22:27:12 +03:00
349dd37c82 small refactor 2017-08-30 18:23:54 +03:00
b6fa8261e6 first stab at moms if 2017-08-30 17:21:13 +03:00
bbc13946ed implements self sent
with explicit and implicit self
2017-04-25 09:40:09 +03:00
dda2ddd9fb rename test to avoid clashes 2017-04-23 17:50:06 +03:00
3e282c083d introduces compile time type (ct_type)
to determine whether we can call directly
2017-04-19 20:59:13 +03:00
d2fba19b95 fixes simple argument passing 2017-04-16 11:39:21 +03:00
0d43987005 start to compile send
still very hacked version of simple call, but a start
2017-04-15 20:58:39 +03:00
265b25d5f4 introduce return_sequence instruction to mom 2017-04-14 21:01:50 +03:00