Torsten Ruger
b756d275e4
update collector to estimate bootstrap size
2017-01-19 09:08:59 +02:00
Torsten Ruger
aa79e41d1c
rename register to risc
...
seems to fit the layer much better as we really have a very reduced
instruction set
2017-01-19 09:02:29 +02:00
Torsten Ruger
da5823a1a0
move parfait up one, as per its module structure
2017-01-18 20:09:43 +02:00
Torsten Ruger
f0c0128b38
improve to_code a bit
...
variable names mainly, some description
2017-01-18 12:24:15 +02:00
Torsten Ruger
a39fc76a12
create vm file to require vm parts
2017-01-18 08:45:42 +02:00
Torsten Ruger
7abd777d05
rename melon to rubyx
...
melon was still from the salama days and rubyx describes it much better
2017-01-18 00:05:36 +02:00
Torsten Ruger
48d32a2b8e
hello world in ruby works
...
doesnt do much dynamic things though
2017-01-17 21:27:20 +02:00
Torsten Ruger
10d75e136f
defining constants in melon to match classes in vm
2017-01-17 21:26:28 +02:00
Torsten Ruger
9c83423e50
bug hunting for class recreation
2017-01-17 21:25:58 +02:00
Torsten Ruger
54b8a9f6de
minor
2017-01-17 21:25:18 +02:00
Torsten Ruger
2a57a59c8e
do not create already existing classes
...
wrong logic, also messes with parfait
2017-01-17 21:25:02 +02:00
Torsten Ruger
cd211f970f
make method creation class methods in MethodCompiler
...
and pass the wish to use main explicitly, which is really a test
feature
2017-01-17 21:23:58 +02:00
Torsten Ruger
0c64e367d5
rename compiler test accrding to convention
2017-01-17 21:22:53 +02:00
Torsten Ruger
7223ca9a1c
clean and refactor
2017-01-16 17:44:34 +02:00
Torsten Ruger
091900ef1c
move test helpers up, so they can be used in Melon too
2017-01-16 17:43:39 +02:00
Torsten Ruger
4ba182a822
rename compilers to passses
2017-01-16 17:24:32 +02:00
Torsten Ruger
8dbbffd58e
fix tests for NameExpression split
...
also necessitates giving method name without the wrapping expression
which is simpler anyway
2017-01-16 09:34:47 +02:00
Torsten Ruger
5f7ea08a43
Splitting NameExpression into three, Known,Local,Argument
...
The decision which to use can be made higher up, in ruby, and so it
should.
2017-01-16 09:33:49 +02:00
Torsten Ruger
96f19d18c0
starting on ruby send
2017-01-15 20:30:47 +02:00
Torsten Ruger
cf0a123866
boot_function test
2017-01-15 20:04:52 +02:00
Torsten Ruger
fc96f1d2da
checking classes don't get created twice
2017-01-15 16:59:29 +02:00
Torsten Ruger
83f2459a8a
implement ivar assignment
2017-01-15 14:44:23 +02:00
Torsten Ruger
680fc7ecce
minor fixes
2017-01-15 14:44:11 +02:00
Torsten Ruger
85eec2f3cb
adding instance variables to class
2017-01-15 14:21:57 +02:00
Torsten Ruger
8b364eb566
fixing tests for assignment split
2017-01-15 13:01:44 +02:00
Torsten Ruger
f9824079d6
splitting assignment into three, for args, locals and ivars
...
The decision on which is moving up to the ruby compiler, so it can at
the same time emit the correct assignment form.
Just another example of moving away from a language and to an
intermediate form (that has no language equivalent)
2017-01-15 13:01:28 +02:00
Torsten Ruger
a0cf5bffc0
small rename to align has_locals and has_arguments
...
for semantic and code unification
2017-01-15 12:59:03 +02:00
Torsten Ruger
4095bb397f
starting to create vm_method from ruby_method
...
issues galore though
2017-01-15 12:10:37 +02:00
Torsten Ruger
9eeb9f65f3
add normalizing and method compilation phases (empty)
2017-01-14 20:30:19 +02:00
Torsten Ruger
1c2b6d103c
move one more test file
2017-01-14 20:10:34 +02:00
Torsten Ruger
2e62c5bbb6
create compilers directory, found and renamed salama.rb
2017-01-14 20:05:58 +02:00
Torsten Ruger
01fe3b4b04
small rename
2017-01-14 19:52:16 +02:00
Torsten Ruger
bd78a2d555
renames Typed to Vm
2017-01-14 19:28:44 +02:00
Torsten Ruger
75c7ca950e
bit more method collector/creation testing
2017-01-13 22:16:06 +02:00
Torsten Ruger
3f6c1bc3a3
manage to create ruby methods
2017-01-12 20:38:04 +02:00
Torsten Ruger
89f5badc16
putting melon tests into module and splitting to one per file
2017-01-11 19:18:04 +02:00
Torsten Ruger
83d943afa5
Fix for call changes and helper changes
2017-01-04 21:38:38 +02:00
Torsten Ruger
0084406cfd
let check return and assert in main test
...
so one can better locale the error
(the assert in the helper does not give stack trace)
a shot at keeping the calling handshake out of the asserts failed
2017-01-04 21:38:03 +02:00
Torsten Ruger
49da77f996
fix interpreter tests to use classes (not strings)
...
and fix for the change in call sequence
2017-01-04 21:36:46 +02:00
Torsten Ruger
3f24409093
us the actual classes for expected results
...
If i remember strings were only used to shorten the names
Now in register module this is not neccessary
2017-01-04 21:35:50 +02:00
Torsten Ruger
9d36d72ee5
load arg type directly into the object
...
Was going through the method, but the type is just as constant and
saves 2 instructions 4 every call
2017-01-04 21:34:51 +02:00
Torsten Ruger
78f7420ef7
add locals type into the call preable
...
calling already sets the argument type
so now we set the locals type too- symmetry
(lots of tests affected)
2017-01-04 21:33:43 +02:00
Torsten Ruger
f2c4e542ac
rename to to array function to to_arr
2017-01-04 21:32:09 +02:00
Torsten Ruger
88eae0e6f0
add colour output to tests
2017-01-04 21:31:03 +02:00
Torsten Ruger
0383532cd4
the number keeps changing, but why
2017-01-03 22:56:00 +02:00
Torsten Ruger
8aee761b73
putting tests into module
2017-01-03 22:42:40 +02:00
Torsten Ruger
da58ce30e3
put arm tests in arm module
2017-01-03 22:37:55 +02:00
Torsten Ruger
a14a0de9d1
put everything into register module (avoid clashes)
2017-01-03 22:37:25 +02:00
Torsten Ruger
d94af2a724
align method compiler test names
2017-01-03 22:32:34 +02:00
Torsten Ruger
66f359a14f
move expression tests to standard dir for guard
2017-01-03 22:18:41 +02:00