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
2aa7d37a83
rename locals to frame
...
includes temps and tradition
2018-03-14 17:39:04 +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
45bfe118d1
simple mom test for simple call
2018-03-12 18:16:23 +05:30
Torsten Ruger
c806106917
simple test for dynamic call
2018-03-12 18:13:26 +05:30
Torsten Ruger
e6e8522b4e
fix order of pops
...
slightly embarrassingly was popping (from the end)
rather than shifting (from the start)
2018-03-12 18:13:07 +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
d910c02b4a
better name for cool compile
2018-03-12 17:23:16 +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
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
dae17e0c18
always slot definitions in slot loads
2018-03-10 18:04:04 +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
ba304f51df
using sof again, now rxf
2017-10-05 16:41:45 +03: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
a3a31ba38d
fixing rest of the send test cases
2017-09-11 21:30:28 +03:00
Torsten Ruger
8598257a98
first send test to work again
2017-09-11 14:23:30 +03:00
Torsten Ruger
94ca8da354
improve mom assignment tests
2017-09-10 19:48:46 +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
a523af14f1
fix mom assignment test
2017-09-10 12:36:16 +03:00
Torsten Ruger
c5ac24c850
check the instructions that are produced in mom
2017-09-09 23:36:43 +03:00
Torsten Ruger
d86282b007
flattening of moms while
2017-09-08 13:22:20 +03:00
Torsten Ruger
0f83b89805
correct flattening for moms if
2017-09-08 13:12:24 +03:00
Torsten Ruger
9189e56e77
testing for arrays in all the wrong places
2017-09-07 08:17:13 +03:00
Torsten Ruger
b5ca886069
moving helper for all to use
2017-09-07 08:16:37 +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
65ba867aa9
cleanup
2017-09-04 21:32:01 +03:00
Torsten Ruger
1a219a7c89
introduce slot_definition and use it
2017-09-04 21:31:49 +03:00
Torsten Ruger
4f3a4387fc
renaming to_mom tests and improve guard
2017-09-04 21:00:29 +03:00
Torsten Ruger
112ec26bd1
deprecating ruby package
...
to be replaced by vool and mom
2017-08-31 16:18:59 +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
d5a63ec431
rename one ruby compiler to differentiate
2017-08-31 14:18:12 +03:00
Torsten Ruger
cd2988f8a2
fix condition if
2017-08-30 22:54:03 +03:00
Torsten Ruger
8d16ef0ae0
test ruby method tmp creation
2017-08-30 22:35:10 +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
ffd7a32ae3
fixed test name
2017-08-29 19:31:42 +03:00
Torsten Ruger
670ebd06cc
remove traces of salama
2017-08-29 18:38:51 +03:00
Torsten Ruger
e40346b246
one more send mom test
2017-08-29 18:28:25 +03:00
Torsten Ruger
bbc13946ed
implements self sent
...
with explicit and implicit self
2017-04-25 09:40:09 +03:00
Torsten Ruger
47683817ee
implements resolve_method on parfait type
...
with associated changes to class
adds note about the not being the final version
2017-04-25 09:06:49 +03:00
Torsten Ruger
e387bdb5f2
fixes parfait/type tests place and guard file accordingly
...
test were in old directory and guard file broken accordingly
2017-04-23 18:43:32 +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
68944a0168
restrict tests to test dir
2017-04-14 20:37:47 +03:00
Torsten Ruger
d0df1a2e28
more remote debugging
2017-04-14 14:38:23 +03:00
Torsten Ruger
d2c64020fc
conditionally start simple_cov
...
slightly mixed messages from the travis and local output.
Also cc docs unclear, trying around
2017-04-14 13:42:50 +03:00
Torsten Ruger
d3f79a1220
use bundler to run tests on travis
2017-04-14 13:32:11 +03:00
Torsten Ruger
21b436c476
update parfait message according to boot
...
most of the attributes are not used at compile time ,
so they did not get updated. But the compiler uses the attribute
names (which are correct as they are set in boot), so it’s nice
to actually see them in ruby too.
2017-04-14 11:13:47 +03:00
Torsten Ruger
c885888f4a
start implementing return for constant
2017-04-14 10:52:23 +03:00
Torsten Ruger
73b7e2b22f
remove all test_all
...
Stop manually creating the list of tests (and searching missing).
Main level test_all does a search for all test_*
also possible to run by command line with starts
2017-04-13 17:00:56 +03:00
Torsten Ruger
9dd4409009
implements argument assignment
2017-04-13 14:14:43 +03:00
Torsten Ruger
d2d845266e
remove code that was moved to support helper
2017-04-12 20:58:40 +03:00
Torsten Ruger
be10e8c6af
set up ivar_assignment correctly
...
for statement tests
and write mom tests
also implement to_mom
and fix local (self) bug
2017-04-12 20:29:45 +03:00
Torsten Ruger
87133722b3
get guard to run several test on one change by setting up names accordingly
2017-04-12 20:18:41 +03:00
Torsten Ruger
21e426be71
finishes local assignments to_mom
2017-04-12 14:45:02 +03:00
Torsten Ruger
9c499c7a19
actually start doing something in to_mom
...
though still dummy
2017-04-12 11:53:02 +03:00
Torsten Ruger
1deca34c23
adds basic to_mom machinery for class and method statement
2017-04-12 11:52:23 +03:00
Torsten Ruger
a4b0666c8c
makes method_statements body always a scope_statement
2017-04-12 11:51:29 +03:00
Torsten Ruger
0d96f5e35f
rearranges test helper modules
2017-04-10 16:12:15 +03:00
Torsten Ruger
0233e91355
basic mom directory structure and a readme
2017-04-10 11:47:18 +03:00
Torsten Ruger
b2775455e1
more class creation tests
2017-04-09 10:14:28 +03:00
Torsten Ruger
397eca541a
fix class statements to always have Statements as body
...
not sometimes an array, which sits badly in the tree of statements
2017-04-09 09:59:21 +03:00
Torsten Ruger
af196c17d3
test correct instance_type creation
...
so ivar collection happens
and a type is created from the names
2017-04-08 19:20:11 +03:00
Torsten Ruger
c7978c22d4
improves method compiler tests
2017-04-08 17:29:53 +03:00
Torsten Ruger
f8b3fa1877
creates methods from method statement
2017-04-08 17:22:53 +03:00
Torsten Ruger
b0e3978b15
starts on local variable collection
...
500 tests (in under 2 seconds), yippie
2017-04-08 12:28:31 +03:00
Torsten Ruger
ea41f9cae9
fixes ivar collection
2017-04-08 12:18:10 +03:00
Torsten Ruger
d00fbb233e
adds ivar collection with tests
2017-04-08 12:11:52 +03:00
Torsten Ruger
8942f42310
adds collect for the statements
2017-04-08 12:10:42 +03:00
Torsten Ruger
db8f99409b
move vool statements into own directory
...
also tests for guard to work
2017-04-06 19:11:11 +03:00
Torsten Ruger
b9caad937a
rename bools compiler to ruby_compiler
...
as that is what is does, compile ruby strings into vool st
2017-04-06 15:36:41 +03:00
Torsten Ruger
3683aa8976
vool method fix
2017-04-06 14:02:18 +03:00
Torsten Ruger
bc0b71d0cd
test local variables
...
need the assignenment first in the same scope so parser knows its a lvar
2017-04-05 14:03:36 +03:00
Torsten Ruger
de8b48975b
adds logical statements to vool
2017-04-04 18:35:15 +03:00
Torsten Ruger
d6e346d9c0
adds instance assignment to vool
2017-04-04 18:10:28 +03:00
Torsten Ruger
73964aeb6e
adds modules to vool
2017-04-04 18:00:21 +03:00
Torsten Ruger
5f70067fa0
adds instance and class variables to vool
2017-04-04 14:04:35 +03:00
Torsten Ruger
83ab197d03
fix and test vool return statement
2017-04-04 10:42:20 +03:00
Torsten Ruger
c545bfdfc6
adds while statement to vool
2017-04-03 11:49:21 +03:00
Torsten Ruger
5335d08408
more condition tests
2017-04-02 22:52:31 +03:00