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
|
a859951a8f
|
slight cleanup and rename test case
|
2014-06-17 14:25:33 +02:00 |
|
Torsten Ruger
|
a68d84a781
|
introducing references
|
2014-06-14 23:48:12 +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
|
6d6c7ddb68
|
register assignment fix (was not taking subsequent calls into account)
|
2014-06-12 21:27:30 +03:00 |
|
Torsten Ruger
|
506f98da5a
|
fixed foo and hello, next putint
|
2014-06-12 09:07:03 +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
|
0a14cffefb
|
fixing fragment tests, most done
|
2014-06-07 23:22:32 +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
|
4038bd331a
|
clean up block names and export of qualified names makes assembler nicer to read
|
2014-05-31 17:02:55 +03:00 |
|
Torsten Ruger
|
5756e0b325
|
move that test to core (cant be done in compiled code) and focus on string addition instead
|
2014-05-31 16:43:03 +03:00 |
|
Torsten Ruger
|
5a5b016a7e
|
use crystal calling convention, documented in readme
|
2014-05-25 10:57:56 +03:00 |
|
Torsten Ruger
|
6ac92cac3a
|
working on registers, awip (a work in progress)
|
2014-05-25 08:43:07 +03:00 |
|
Torsten Ruger
|
86e73bf1ba
|
save and restore the right registers
|
2014-05-22 21:55:17 +03:00 |
|
Torsten Ruger
|
8596fb312d
|
while coded
|
2014-05-22 14:56:31 +03:00 |
|
Torsten Ruger
|
ccf88319e0
|
gives function the list of blocks it needs for branching and documents also the blocks better
|
2014-05-22 14:18:22 +03:00 |
|
Torsten Ruger
|
cf87c5323d
|
using the next field of blocks for a consecutive code line
|
2014-05-22 13:59:47 +03:00 |
|
Torsten Ruger
|
2df2dcc528
|
function now returns locals, not free registers
|
2014-05-21 16:42:36 +03:00 |
|
Torsten Ruger
|
76ce9aa654
|
improve argument handling for puntint
|
2014-05-19 12:18:01 +03:00 |
|
Torsten Ruger
|
59952f8503
|
more work on instruction format
|
2014-05-19 11:28:13 +03:00 |
|
Torsten Ruger
|
7e2210f772
|
renaming update_status_flag to just update_status
|
2014-05-16 19:56:13 +03:00 |
|
Torsten Ruger
|
b4c79d218f
|
work on Integer.to_s , not a simple task as it turns out
|
2014-05-15 16:54:23 +03:00 |
|
Torsten Ruger
|
3912e0cd31
|
fix register issues, some typos
|
2014-05-14 22:04:03 +03:00 |
|
Torsten Ruger
|
04af367bc0
|
coming together, more and more each day
|
2014-05-13 21:06:12 +03:00 |
|
Torsten Ruger
|
f6711ea49c
|
checkpointing on the mad road to register allocation
|
2014-05-13 18:21:24 +03:00 |
|
Torsten Ruger
|
e600911fe8
|
adds variable, something compliles , but...
|
2014-05-10 17:55:02 +03:00 |
|
Torsten Ruger
|
79a28ac5fa
|
trying to get function calls to work (but will have to rework regeister handling)
|
2014-05-10 15:24:56 +03:00 |
|
Torsten Ruger
|
4135c4d2dc
|
crystal says Hello.
|
2014-05-06 21:36:28 +03:00 |
|
Torsten Ruger
|
fa123e0354
|
move kernel to core and apply the classmethod pattern to all core classes
|
2014-05-06 12:47:07 +03:00 |
|
Torsten Ruger
|
12b6800efe
|
work on function entry and exit. fix stack instructions
|
2014-05-06 12:42:43 +03:00 |
|
Torsten Ruger
|
22b5117c8b
|
getting a _start and _exit, just missing the actual code
|
2014-05-06 00:12:04 +03:00 |
|
Torsten Ruger
|
de66238a9e
|
moved all compile to ast, vm does link and assemble. Getting there
|
2014-05-05 11:03:43 +03:00 |
|
Torsten Ruger
|
7c0aa8ae7d
|
getting better, but somethings off
|
2014-05-05 09:35:40 +03:00 |
|
Torsten Ruger
|
04e4dc872e
|
check
|
2014-05-03 18:51:47 +03:00 |
|
Torsten Ruger
|
845a8cab8b
|
more semi random code, a checkpoint
|
2014-05-03 15:13:44 +03:00 |
|