Commit Graph

411 Commits

Author SHA1 Message Date
Torsten Ruger
e408b0e4b9 fixed while instruciton linking after change in method add 2014-07-22 23:27:13 +03:00
Torsten Ruger
eb44011177 fixed that branch numbering bug 2014-07-19 21:15:27 +03:00
Torsten Ruger
c03c4f9cc9 add return instruction and fix the tests 2014-07-18 11:56:46 +03:00
Torsten Ruger
2e79caa791 using yaml as the storage format of the result as it handles graphs out of the box 2014-07-18 00:30:36 +03:00
Torsten Ruger
98db88ac2f not recursing into labels to avoid infinite loops 2014-07-18 00:29:45 +03:00
Torsten Ruger
e02c6ed082 codes the while, but the testing throws stack too deep because loop detection is missing 2014-07-17 16:46:17 +03:00
Torsten Ruger
f00fa98818 fixed import 2014-07-17 03:01:34 +03:00
Torsten Ruger
337b1a8ee0 renamed to kide(crystal) 2014-07-17 02:26:13 +03:00
Torsten Ruger
fb105cb895 had to let go of crystal (sniff) as the name was taken 2014-07-17 01:00:15 +03:00
Torsten Ruger
f8e3f17660 split frame into message (caller) and frame (receiver) 2014-07-17 00:53:19 +03:00
Torsten Ruger
58298ab62b some cleaning of scratches 2014-07-16 22:36:24 +03:00
Torsten Ruger
efeb910843 move branch counter to branch instruction (from if) in preperation of while 2014-07-16 22:28:28 +03:00
Torsten Ruger
7534626d87 fix the if test by naming branch and label and stitching them in constructor 2014-07-16 21:16:08 +03:00
Torsten Ruger
ba15f352db gets the if coded, but test fail die to instruction being a graph now 2014-07-16 20:16:40 +03:00
Torsten Ruger
4185758532 slight rename tremours 2014-07-16 20:16:10 +03:00
Torsten Ruger
1ff7ae2b0a rename method 2014-07-16 19:24:41 +03:00
Torsten Ruger
55cb6bd2d6 working on if 2014-07-16 13:20:47 +03:00
Torsten Ruger
3a152c1295 adds self to sends args 2014-07-15 18:34:03 +03:00
Torsten Ruger
4d725ea1ae adds explicit load_self instruction 2014-07-15 18:27:13 +03:00
Torsten Ruger
930740e1db fixes the tests after fixing hierarchy 2014-07-15 10:35:29 +03:00
Torsten Ruger
49f73c090d fixed tests because of inheritance changes 2014-07-15 09:34:45 +03:00
Torsten Ruger
bb051230f4 fixed relation of values and types that had got watered in the virtual move 2014-07-15 09:31:25 +03:00
Torsten Ruger
102c5c2327 remove singletons and make them constants 2014-07-15 09:15:04 +03:00
Torsten Ruger
3ca61d54eb fixes constant to be values not object. interestingly tests still pass 2014-07-15 09:12:51 +03:00
Torsten Ruger
9891da88a4 fix all tests 2014-07-15 00:00:00 +03:00
Torsten Ruger
b59a9da34e reduce method return type to type and introduce a single instruction for instance get 2014-07-14 21:28:21 +03:00
Torsten Ruger
16a378e3da fix class function test 2014-07-14 17:08:52 +03:00
Torsten Ruger
93bdd8a243 removing exceptions 2014-07-14 16:19:47 +03:00
Torsten Ruger
c7c4387e16 adds self reference and improve methods a little 2014-07-14 14:29:33 +03:00
Torsten Ruger
db8b1488d0 function test, slow but steady 2014-07-14 14:06:09 +03:00
Torsten Ruger
d531a24930 first method test 2014-07-14 11:29:38 +03:00
Torsten Ruger
c1f475070b and another one, and another one.... 2014-07-13 16:00:48 +03:00
Torsten Ruger
ae21863245 one more basic test back online 2014-07-13 14:12:43 +03:00
Torsten Ruger
dc6cb2bb52 a lot of work to get one more test to pass 2014-07-12 21:59:17 +03:00
Torsten Ruger
842c4e3044 copied old boot for later reference 2014-07-12 21:18:45 +03:00
Torsten Ruger
c505db490f brainstorming mode on the new way (tm) 2014-07-10 17:14:38 +03:00
Torsten Ruger
ee5615ec03 fix rename 2014-07-01 19:12:32 +03:00
Torsten Ruger
f74999af57 zwischenstopp 2014-07-01 18:58:25 +03:00
Torsten Ruger
7045a4b256 update reader and implement singletons 2014-07-01 15:57:13 +03:00
Torsten Ruger
94d1140686 remove intel as it is in own rep now 2014-06-30 15:34:51 +03:00
Torsten Ruger
84d27ce9d9 remove arm as it is in own rep now 2014-06-30 15:28:39 +03:00
Torsten Ruger
1e866ae0ae minor 2014-06-30 14:56:58 +03:00
Torsten Ruger
18faeeb042 add the idea of a frame 2014-06-29 19:05:35 +03:00
Torsten Ruger
16ceb2a60d hurra, a first test. looks a lot.... but lets not spoil th efeeling 2014-06-26 18:39:02 +03:00
Torsten Ruger
525f9d45c5 rename 2014-06-26 17:52:15 +03:00
Torsten Ruger
33c62a7db1 update reader 2014-06-26 17:48:33 +03:00
Torsten Ruger
9d0d5aa431 update reader 2014-06-26 11:34:48 +03:00
Torsten Ruger
b9ddd75a33 rewrote with ternary operator for conciseness 2014-06-25 16:03:39 +03:00
Torsten Ruger
d28df7671d add the simplest possible hash replacement with tests 2014-06-25 16:00:24 +03:00
Torsten Ruger
5c887846f0 updates 2014-06-25 15:59:22 +03:00
Torsten Ruger
fe337fad79 rename and a tiny start 2014-06-25 15:20:46 +03:00
Torsten Ruger
e41bb8027d copies of the old code to start the new layer 2014-06-25 02:47:59 +03:00
Torsten Ruger
9b39a3a816 renaming, making space for extra layer 2014-06-25 02:33:44 +03:00
Torsten Ruger
3771f44e62 just moving code around 2014-06-24 19:34:36 +03:00
Torsten Ruger
98de7404ef named syscall register 2014-06-24 12:40:49 +03:00
Torsten Ruger
17904d8e02 rename blocks do_add to be the same as sunctions add_code to blur the difference 2014-06-24 12:36:32 +03:00
Torsten Ruger
43a2649635 new list test and debugs 2014-06-24 12:25:03 +03:00
Torsten Ruger
b8b1d98a7c towards rubys true definition 2014-06-24 12:24:36 +03:00
Torsten Ruger
bc89da0bc1 instance setter 2014-06-24 12:23:58 +03:00
Torsten Ruger
07b98d684a more on method lookup 2014-06-24 12:23:39 +03:00
Torsten Ruger
98e25abf8e broaden ifs possibilities 2014-06-24 12:22:32 +03:00
Torsten Ruger
25c5b2da6e more setter work 2014-06-24 12:20:59 +03:00
Torsten Ruger
dc198ac79f more setter work 2014-06-24 12:20:38 +03:00
Torsten Ruger
9251bab507 add setter and remove debug 2014-06-24 12:20:10 +03:00
Torsten Ruger
a859951a8f slight cleanup and rename test case 2014-06-17 14:25:33 +02:00
Torsten Ruger
7d05b7c42f adds plocks (Proc Block) as descibed in posts. Usage also described, but not coded yet 2014-06-17 01:01:00 +02:00
Torsten Ruger
a68d84a781 introducing references 2014-06-14 23:48:12 +03:00
Torsten Ruger
4db54a760e gives values their own directory and seperate files 2014-06-14 21:29:57 +03:00
Torsten Ruger
87fa71277a some inlining and renaming 2014-06-14 11:12:53 +03:00
Torsten Ruger
0dbaebf647 fix all tests and a little cleaning 2014-06-14 10:59:25 +03:00
Torsten Ruger
2c26415de7 transformations according to todays post 2014-06-14 00:19:12 +03:00
Torsten Ruger
12a92e4db0 move boot* classes to boot directory 2014-06-13 23:51:53 +03:00
Torsten Ruger
a7551ea8b6 still working on the method dispatch 2014-06-13 23:41:45 +03:00
Torsten Ruger
017d93d929 add to_asm debug output functions 2014-06-12 21:40:25 +03:00
Torsten Ruger
dcd691fe00 minor 2014-06-12 21:27:47 +03:00
Torsten Ruger
6d6c7ddb68 register assignment fix (was not taking subsequent calls into account) 2014-06-12 21:27:30 +03:00
Torsten Ruger
200da192b4 improve output 2014-06-12 21:04:15 +03:00
Torsten Ruger
ea0572c836 fixed while compilation (block order) and fixed and improved fibo 2014-06-12 16:23:57 +03:00
Torsten Ruger
8da1bc4645 fix putint (too eager optimization broke it) 2014-06-12 13:47:06 +03:00
Torsten Ruger
506f98da5a fixed foo and hello, next putint 2014-06-12 09:07:03 +03:00
Torsten Ruger
eef6744827 fixes the if test (regs again) 2014-06-12 08:34:46 +03:00
Torsten Ruger
b125a7c5c7 fix passes, add noop reduction, remove the wretched value operators 2014-06-11 21:36:22 +03:00
Torsten Ruger
4e6319b753 inrtoduce block passes. move the allocation there and implement those simple optimisations 2014-06-11 11:41:50 +03:00
Torsten Ruger
7cca50cd3a still recoving from previous block - function change. no more exceptions at least 2014-06-11 00:38:46 +03:00
Torsten Ruger
e9519d4f05 move the code insertion functionality up to function. makes more sense. block still carries code though 2014-06-10 23:57:56 +03:00
Torsten Ruger
e9fc8ac6aa making the third arg of block init explicit (not optional) 2014-06-10 18:51:27 +03:00
Torsten Ruger
7ca3207b3e moved registers to machine, changed return to 0 (from 7) and erased all integer references to registers 2014-06-10 13:29:01 +03:00
Torsten Ruger
d7a60f2803 new register allocation generates good looking push/pop 2014-06-09 19:24:09 +03:00
Torsten Ruger
b66c4157d5 keep track of used and assigned registers for each block 2014-06-08 01:41:56 +03:00
Torsten Ruger
fbcfa844de renaming and small fixes 2014-06-08 00:56:40 +03:00
Torsten Ruger
e7bb774da0 fix block insert ordering with depth > 1 2014-06-08 00:56:15 +03:00
Torsten Ruger
42a840614e adding call counter and splitting block after call 2014-06-08 00:55:18 +03:00
Torsten Ruger
0a14cffefb fixing fragment tests, most done 2014-06-07 23:22:32 +03:00
Torsten Ruger
6b715bbb1b remoe hash attributes (less magic) and make attributes on context explicit 2014-06-07 22:41:02 +03:00
Torsten Ruger
36f237c633 removed the (too) fancy dsl. Also introduce register indirection 2014-06-07 17:59:44 +03:00
Torsten Ruger
6433a394e7 adding receiver and a register abstraction 2014-06-06 21:49:03 +03:00
Torsten Ruger
c59f22f11f first oo program to compile. But no worries, there is still work left to be done 2014-06-05 18:17:00 +03:00
Torsten Ruger
e6e969b4e4 a spirited effort to make assembly repeatable 2014-06-05 10:46:42 +03:00
Torsten Ruger
41a02a7190 small step to making the assmebly process repeatable (is destructive at the moment) 2014-06-05 10:28:53 +03:00
Torsten Ruger
7cc4c6344c remove the parse code and fix the rest to work with the gem (from git for now) 2014-06-04 22:03:45 +03:00