Commit Graph

2759 Commits

Author SHA1 Message Date
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
96f8bf61ca fixing gem file and spec 2017-04-08 17:38:49 +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
0fe5685ad4 makes own file for statement base class
adds some functionality to it
moves the requires from compiler there
2017-04-08 12:09:25 +03:00
db8f99409b move vool statements into own directory
also tests for guard to work
2017-04-06 19:11:11 +03:00
3fe286b5ed enforces data encapsulation in vool tree
gets rid of attraccessor
2017-04-06 16:06:51 +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
488af5b8f7 small cleanup 2017-04-05 14:03:48 +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
4de57dbe4d start a vool readme 2017-04-05 14:02:34 +03:00
20542d1e8b exclude vool compiler from normal rules
that’s the visitor pattern for you.
2017-04-05 14:02:18 +03:00
de8b48975b adds logical statements to vool 2017-04-04 18:35:15 +03:00
91fdfb0c1e remove unused classes and cases from vool 2017-04-04 18:21:11 +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
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