Commit Graph

2626 Commits

Author SHA1 Message Date
93f9d16209 add vool hashes 2017-04-02 10:57:39 +03:00
d5af6dad42 adds arrays to vool
also symbols and some cleanup
2017-04-02 10:43:22 +03:00
8f03d98330 adds basic values (bools ints strings) 2017-04-02 09:44:56 +03:00
b341c722fd copied stash over 2017-04-01 21:28:57 +03:00
34fdf7b2cd adds method_statement to vool 2017-04-01 16:27:32 +03:00
295782d9e6 start on vool, the virtual oo language
start with syntax tree, not linked into existing code until finished
2017-04-01 15:57:39 +03:00
b756d275e4 update collector to estimate bootstrap size 2017-01-19 09:08:59 +02:00
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
da5823a1a0 move parfait up one, as per its module structure 2017-01-18 20:09:43 +02:00
f0c0128b38 improve to_code a bit
variable names mainly, some description
2017-01-18 12:24:15 +02:00
a39fc76a12 create vm file to require vm parts 2017-01-18 08:45:42 +02:00
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
48d32a2b8e hello world in ruby works
doesnt do much dynamic things though
2017-01-17 21:27:20 +02:00
10d75e136f defining constants in melon to match classes in vm 2017-01-17 21:26:28 +02:00
9c83423e50 bug hunting for class recreation 2017-01-17 21:25:58 +02:00
54b8a9f6de minor 2017-01-17 21:25:18 +02:00
2a57a59c8e do not create already existing classes
wrong logic, also messes with parfait
2017-01-17 21:25:02 +02:00
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
0c64e367d5 rename compiler test accrding to convention 2017-01-17 21:22:53 +02:00
7223ca9a1c clean and refactor 2017-01-16 17:44:34 +02:00
091900ef1c move test helpers up, so they can be used in Melon too 2017-01-16 17:43:39 +02:00
4ba182a822 rename compilers to passses 2017-01-16 17:24:32 +02:00
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
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
96f19d18c0 starting on ruby send 2017-01-15 20:30:47 +02:00
cf0a123866 boot_function test 2017-01-15 20:04:52 +02:00
fc96f1d2da checking classes don't get created twice 2017-01-15 16:59:29 +02:00
83f2459a8a implement ivar assignment 2017-01-15 14:44:23 +02:00
680fc7ecce minor fixes 2017-01-15 14:44:11 +02:00
85eec2f3cb adding instance variables to class 2017-01-15 14:21:57 +02:00
8b364eb566 fixing tests for assignment split 2017-01-15 13:01:44 +02:00
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
a0cf5bffc0 small rename to align has_locals and has_arguments
for semantic and code unification
2017-01-15 12:59:03 +02:00
4095bb397f starting to create vm_method from ruby_method
issues galore though
2017-01-15 12:10:37 +02:00
9eeb9f65f3 add normalizing and method compilation phases (empty) 2017-01-14 20:30:19 +02:00
1c2b6d103c move one more test file 2017-01-14 20:10:34 +02:00
2e62c5bbb6 create compilers directory, found and renamed salama.rb 2017-01-14 20:05:58 +02:00
01fe3b4b04 small rename 2017-01-14 19:52:16 +02:00
bd78a2d555 renames Typed to Vm 2017-01-14 19:28:44 +02:00
75c7ca950e bit more method collector/creation testing 2017-01-13 22:16:06 +02:00
3f6c1bc3a3 manage to create ruby methods 2017-01-12 20:38:04 +02:00
89f5badc16 putting melon tests into module and splitting to one per file 2017-01-11 19:18:04 +02:00
83d943afa5 Fix for call changes and helper changes 2017-01-04 21:38:38 +02:00
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
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
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
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
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
f2c4e542ac rename to to array function to to_arr 2017-01-04 21:32:09 +02:00
88eae0e6f0 add colour output to tests 2017-01-04 21:31:03 +02:00