Commit Graph

1732 Commits

Author SHA1 Message Date
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
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
c7978c22d4 improves method compiler tests 2017-04-08 17:29:53 +03:00
f8b3fa1877 creates methods from method statement 2017-04-08 17:22:53 +03:00
b0e3978b15 starts on local variable collection
500 tests (in under 2 seconds), yippie
2017-04-08 12:28:31 +03:00
ea41f9cae9 fixes ivar collection 2017-04-08 12:18:10 +03:00
d00fbb233e adds ivar collection with tests 2017-04-08 12:11:52 +03:00
8942f42310 adds collect for the statements 2017-04-08 12:10:42 +03:00
db8f99409b move vool statements into own directory
also tests for guard to work
2017-04-06 19:11:11 +03:00
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
3683aa8976 vool method fix 2017-04-06 14:02:18 +03:00
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
de8b48975b adds logical statements to vool 2017-04-04 18:35:15 +03:00
d6e346d9c0 adds instance assignment to vool 2017-04-04 18:10:28 +03:00
73964aeb6e adds modules to vool 2017-04-04 18:00:21 +03:00
5f70067fa0 adds instance and class variables to vool 2017-04-04 14:04:35 +03:00
83ab197d03 fix and test vool return statement 2017-04-04 10:42:20 +03:00
c545bfdfc6 adds while statement to vool 2017-04-03 11:49:21 +03:00
5335d08408 more condition tests 2017-04-02 22:52:31 +03:00
ffbe39d571 order test requires
easier to spot missed tests (when guard and cmd-line differ)
2017-04-02 22:42:51 +03:00
16a55d9f95 include same directory helpers
(not one above as falsely was)
2017-04-02 19:13:14 +03:00
f343ad934c a start on conditionals 2017-04-02 19:12:42 +03:00
443fd13980 adds super
with and without args
current thinking is to fill the name of the method later as we carry no
context currently, but this may change
2017-04-02 18:42:52 +03:00
ac7b9138ff bit of cleaning 2017-04-02 18:25:30 +03:00
539ab692a3 add scope and kwbegin
scope is just a list of statements
2017-04-02 13:24:09 +03:00
27e4e9f501 add assignment and self 2017-04-02 12:59:07 +03:00
d62e996f7c add send statement 2017-04-02 12:57:05 +03:00
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
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
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
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
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
85eec2f3cb adding instance variables to class 2017-01-15 14:21:57 +02:00