Commit Graph

2174 Commits

Author SHA1 Message Date
b2775455e1 more class creation tests 2017-04-09 10:14:28 +03:00
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
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
4de57dbe4d start a vool readme 2017-04-05 14:02:34 +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
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
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
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
7223ca9a1c clean and refactor 2017-01-16 17:44:34 +02:00
4ba182a822 rename compilers to passses 2017-01-16 17:24:32 +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