Torsten Ruger
|
afbcbca4da
|
extracting some of the calling into own instructions
|
2017-09-11 14:22:33 +03:00 |
|
Torsten Ruger
|
b6939fe4b3
|
small rename
|
2017-09-11 14:21:57 +03:00 |
|
Torsten Ruger
|
0ccb7df0ab
|
refactor send code
|
2017-09-10 22:54:56 +03:00 |
|
Torsten Ruger
|
1a9370ad14
|
fix moms ivar assignment
|
2017-09-10 13:33:32 +03:00 |
|
Torsten Ruger
|
c245acbdd3
|
fix slot_moves for sending, receiver and args
|
2017-09-10 13:14:51 +03:00 |
|
Torsten Ruger
|
43d660d2d2
|
fix slot moves for assignment
|
2017-09-10 13:04:36 +03:00 |
|
Torsten Ruger
|
66901eeb5b
|
fix use of slot_constant vs slot_move
wip
|
2017-09-10 12:57:25 +03:00 |
|
Torsten Ruger
|
80c3430536
|
replace arrays with Statements class
|
2017-09-06 12:51:24 +03:00 |
|
Torsten Ruger
|
9a1e4a6f27
|
own statements class for mom
so we don’t have to deal with arrays (as a special case)
and use method sending as is good oo
|
2017-09-06 12:33:46 +03:00 |
|
Torsten Ruger
|
af85cb7c67
|
adds mom while
much like the if, difference will show later in the jump arrangement
|
2017-09-05 12:04:52 +03:00 |
|
Torsten Ruger
|
76a87dd418
|
extract hoisting to module
to be used in while statement
|
2017-09-05 12:04:12 +03:00 |
|
Torsten Ruger
|
1a219a7c89
|
introduce slot_definition and use it
|
2017-09-04 21:31:49 +03:00 |
|
Torsten Ruger
|
dab4e74659
|
Reworking if statement
Using 2 phase approach
Flattening tbd
|
2017-09-04 21:00:08 +03:00 |
|
Torsten Ruger
|
0b161ffa06
|
move ruby_method out of rubyx
ruby getting ready for destruction as it’s not used anymore
|
2017-08-31 16:11:06 +03:00 |
|
Torsten Ruger
|
cd2988f8a2
|
fix condition if
|
2017-08-30 22:54:03 +03:00 |
|
Torsten Ruger
|
c3939ef622
|
start better if mom test
|
2017-08-30 22:27:12 +03:00 |
|
Torsten Ruger
|
349dd37c82
|
small refactor
|
2017-08-30 18:23:54 +03:00 |
|
Torsten Ruger
|
b6fa8261e6
|
first stab at moms if
|
2017-08-30 17:21:13 +03:00 |
|
Torsten Ruger
|
bbc13946ed
|
implements self sent
with explicit and implicit self
|
2017-04-25 09:40:09 +03:00 |
|
Torsten Ruger
|
dda2ddd9fb
|
rename test to avoid clashes
|
2017-04-23 17:50:06 +03:00 |
|
Torsten Ruger
|
3e282c083d
|
introduces compile time type (ct_type)
to determine whether we can call directly
|
2017-04-19 20:59:13 +03:00 |
|
Torsten Ruger
|
d2fba19b95
|
fixes simple argument passing
|
2017-04-16 11:39:21 +03:00 |
|
Torsten Ruger
|
0d43987005
|
start to compile send
still very hacked version of simple call, but a start
|
2017-04-15 20:58:39 +03:00 |
|
Torsten Ruger
|
265b25d5f4
|
introduce return_sequence instruction to mom
|
2017-04-14 21:01:50 +03:00 |
|
Torsten Ruger
|
c885888f4a
|
start implementing return for constant
|
2017-04-14 10:52:23 +03:00 |
|
Torsten Ruger
|
9dd4409009
|
implements argument assignment
|
2017-04-13 14:14:43 +03:00 |
|
Torsten Ruger
|
be10e8c6af
|
set up ivar_assignment correctly
for statement tests
and write mom tests
also implement to_mom
and fix local (self) bug
|
2017-04-12 20:29:45 +03:00 |
|
Torsten Ruger
|
87133722b3
|
get guard to run several test on one change by setting up names accordingly
|
2017-04-12 20:18:41 +03:00 |
|
Torsten Ruger
|
21e426be71
|
finishes local assignments to_mom
|
2017-04-12 14:45:02 +03:00 |
|
Torsten Ruger
|
9c499c7a19
|
actually start doing something in to_mom
though still dummy
|
2017-04-12 11:53:02 +03:00 |
|
Torsten Ruger
|
1deca34c23
|
adds basic to_mom machinery for class and method statement
|
2017-04-12 11:52:23 +03:00 |
|
Torsten Ruger
|
b2775455e1
|
more class creation tests
|
2017-04-09 10:14:28 +03:00 |
|
Torsten Ruger
|
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 |
|
Torsten Ruger
|
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 |
|
Torsten Ruger
|
f8b3fa1877
|
creates methods from method statement
|
2017-04-08 17:22:53 +03:00 |
|
Torsten Ruger
|
b0e3978b15
|
starts on local variable collection
500 tests (in under 2 seconds), yippie
|
2017-04-08 12:28:31 +03:00 |
|
Torsten Ruger
|
ea41f9cae9
|
fixes ivar collection
|
2017-04-08 12:18:10 +03:00 |
|
Torsten Ruger
|
d00fbb233e
|
adds ivar collection with tests
|
2017-04-08 12:11:52 +03:00 |
|
Torsten Ruger
|
8942f42310
|
adds collect for the statements
|
2017-04-08 12:10:42 +03:00 |
|
Torsten Ruger
|
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 |
|
Torsten Ruger
|
db8f99409b
|
move vool statements into own directory
also tests for guard to work
|
2017-04-06 19:11:11 +03:00 |
|
Torsten Ruger
|
3fe286b5ed
|
enforces data encapsulation in vool tree
gets rid of attraccessor
|
2017-04-06 16:06:51 +03:00 |
|
Torsten Ruger
|
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 |
|
Torsten Ruger
|
3683aa8976
|
vool method fix
|
2017-04-06 14:02:18 +03:00 |
|
Torsten Ruger
|
488af5b8f7
|
small cleanup
|
2017-04-05 14:03:48 +03:00 |
|
Torsten Ruger
|
4de57dbe4d
|
start a vool readme
|
2017-04-05 14:02:34 +03:00 |
|
Torsten Ruger
|
de8b48975b
|
adds logical statements to vool
|
2017-04-04 18:35:15 +03:00 |
|
Torsten Ruger
|
91fdfb0c1e
|
remove unused classes and cases from vool
|
2017-04-04 18:21:11 +03:00 |
|
Torsten Ruger
|
d6e346d9c0
|
adds instance assignment to vool
|
2017-04-04 18:10:28 +03:00 |
|
Torsten Ruger
|
73964aeb6e
|
adds modules to vool
|
2017-04-04 18:00:21 +03:00 |
|
Torsten Ruger
|
5f70067fa0
|
adds instance and class variables to vool
|
2017-04-04 14:04:35 +03:00 |
|
Torsten Ruger
|
83ab197d03
|
fix and test vool return statement
|
2017-04-04 10:42:20 +03:00 |
|
Torsten Ruger
|
c545bfdfc6
|
adds while statement to vool
|
2017-04-03 11:49:21 +03:00 |
|
Torsten Ruger
|
f343ad934c
|
a start on conditionals
|
2017-04-02 19:12:42 +03:00 |
|
Torsten Ruger
|
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 |
|
Torsten Ruger
|
ac7b9138ff
|
bit of cleaning
|
2017-04-02 18:25:30 +03:00 |
|
Torsten Ruger
|
539ab692a3
|
add scope and kwbegin
scope is just a list of statements
|
2017-04-02 13:24:09 +03:00 |
|
Torsten Ruger
|
27e4e9f501
|
add assignment and self
|
2017-04-02 12:59:07 +03:00 |
|
Torsten Ruger
|
d62e996f7c
|
add send statement
|
2017-04-02 12:57:05 +03:00 |
|
Torsten Ruger
|
93f9d16209
|
add vool hashes
|
2017-04-02 10:57:39 +03:00 |
|
Torsten Ruger
|
d5af6dad42
|
adds arrays to vool
also symbols and some cleanup
|
2017-04-02 10:43:22 +03:00 |
|
Torsten Ruger
|
8f03d98330
|
adds basic values (bools ints strings)
|
2017-04-02 09:44:56 +03:00 |
|
Torsten Ruger
|
b341c722fd
|
copied stash over
|
2017-04-01 21:28:57 +03:00 |
|
Torsten Ruger
|
34fdf7b2cd
|
adds method_statement to vool
|
2017-04-01 16:27:32 +03:00 |
|
Torsten Ruger
|
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 |
|