This website requires JavaScript.
525f9d45c5
rename
Torsten Ruger
2014-06-26 17:52:15 +03:00
33c62a7db1
update reader
Torsten Ruger
2014-06-26 17:48:33 +03:00
9d0d5aa431
update reader
Torsten Ruger
2014-06-26 11:34:48 +03:00
b9ddd75a33
rewrote with ternary operator for conciseness
Torsten Ruger
2014-06-25 16:03:39 +03:00
d28df7671d
add the simplest possible hash replacement with tests
Torsten Ruger
2014-06-25 16:00:24 +03:00
5c887846f0
updates
Torsten Ruger
2014-06-25 15:59:22 +03:00
fe337fad79
rename and a tiny start
Torsten Ruger
2014-06-25 15:20:46 +03:00
e41bb8027d
copies of the old code to start the new layer
Torsten Ruger
2014-06-25 02:47:59 +03:00
9b39a3a816
renaming, making space for extra layer
Torsten Ruger
2014-06-25 02:33:44 +03:00
2044a3e994
update reader
Torsten Ruger
2014-06-25 01:41:17 +03:00
3771f44e62
just moving code around
Torsten Ruger
2014-06-24 19:34:36 +03:00
98de7404ef
named syscall register
Torsten Ruger
2014-06-24 12:40:49 +03:00
17904d8e02
rename blocks do_add to be the same as sunctions add_code to blur the difference
Torsten Ruger
2014-06-24 12:36:32 +03:00
43a2649635
new list test and debugs
Torsten Ruger
2014-06-24 12:25:03 +03:00
b8b1d98a7c
towards rubys true definition
Torsten Ruger
2014-06-24 12:24:36 +03:00
bc89da0bc1
instance setter
Torsten Ruger
2014-06-24 12:23:58 +03:00
07b98d684a
more on method lookup
Torsten Ruger
2014-06-24 12:23:39 +03:00
98e25abf8e
broaden ifs possibilities
Torsten Ruger
2014-06-24 12:22:32 +03:00
25c5b2da6e
more setter work
Torsten Ruger
2014-06-24 12:20:59 +03:00
dc198ac79f
more setter work
Torsten Ruger
2014-06-24 12:20:38 +03:00
9251bab507
add setter and remove debug
Torsten Ruger
2014-06-24 12:20:10 +03:00
1290663789
get parser updates
Torsten Ruger
2014-06-19 22:54:34 +02:00
a859951a8f
slight cleanup and rename test case
Torsten Ruger
2014-06-17 14:25:33 +02:00
7d05b7c42f
adds plocks (Proc Block) as descibed in posts. Usage also described, but not coded yet
Torsten Ruger
2014-06-17 01:01:00 +02:00
a68d84a781
introducing references
Torsten Ruger
2014-06-14 23:48:12 +03:00
4db54a760e
gives values their own directory and seperate files
Torsten Ruger
2014-06-14 21:29:57 +03:00
87fa71277a
some inlining and renaming
Torsten Ruger
2014-06-14 11:12:53 +03:00
0dbaebf647
fix all tests and a little cleaning
Torsten Ruger
2014-06-14 10:59:25 +03:00
2c26415de7
transformations according to todays post
Torsten Ruger
2014-06-14 00:19:12 +03:00
12a92e4db0
move boot* classes to boot directory
Torsten Ruger
2014-06-13 23:51:53 +03:00
a7551ea8b6
still working on the method dispatch
Torsten Ruger
2014-06-13 23:41:45 +03:00
ebf117a63a
update tests, all green
Torsten Ruger
2014-06-12 21:43:06 +03:00
017d93d929
add to_asm debug output functions
Torsten Ruger
2014-06-12 21:40:25 +03:00
dcd691fe00
minor
Torsten Ruger
2014-06-12 21:27:47 +03:00
6d6c7ddb68
register assignment fix (was not taking subsequent calls into account)
Torsten Ruger
2014-06-12 21:27:30 +03:00
200da192b4
improve output
Torsten Ruger
2014-06-12 21:04:15 +03:00
ea0572c836
fixed while compilation (block order) and fixed and improved fibo
Torsten Ruger
2014-06-12 16:23:57 +03:00
8da1bc4645
fix putint (too eager optimization broke it)
Torsten Ruger
2014-06-12 13:47:06 +03:00
506f98da5a
fixed foo and hello, next putint
Torsten Ruger
2014-06-12 09:07:03 +03:00
eef6744827
fixes the if test (regs again)
Torsten Ruger
2014-06-12 08:34:46 +03:00
b125a7c5c7
fix passes, add noop reduction, remove the wretched value operators
Torsten Ruger
2014-06-11 21:36:22 +03:00
4e6319b753
inrtoduce block passes. move the allocation there and implement those simple optimisations
Torsten Ruger
2014-06-11 11:41:50 +03:00
7cca50cd3a
still recoving from previous block - function change. no more exceptions at least
Torsten Ruger
2014-06-11 00:38:46 +03:00
e9519d4f05
move the code insertion functionality up to function. makes more sense. block still carries code though
Torsten Ruger
2014-06-10 23:57:56 +03:00
e9fc8ac6aa
making the third arg of block init explicit (not optional)
Torsten Ruger
2014-06-10 18:51:27 +03:00
7ca3207b3e
moved registers to machine, changed return to 0 (from 7) and erased all integer references to registers
Torsten Ruger
2014-06-10 13:29:01 +03:00
d7a60f2803
new register allocation generates good looking push/pop
Torsten Ruger
2014-06-09 19:24:09 +03:00
b66c4157d5
keep track of used and assigned registers for each block
Torsten Ruger
2014-06-08 01:41:56 +03:00
fbcfa844de
renaming and small fixes
Torsten Ruger
2014-06-08 00:56:40 +03:00
e7bb774da0
fix block insert ordering with depth > 1
Torsten Ruger
2014-06-08 00:56:15 +03:00
42a840614e
adding call counter and splitting block after call
Torsten Ruger
2014-06-08 00:55:18 +03:00
0a14cffefb
fixing fragment tests, most done
Torsten Ruger
2014-06-07 23:22:32 +03:00
6b715bbb1b
remoe hash attributes (less magic) and make attributes on context explicit
Torsten Ruger
2014-06-07 22:41:02 +03:00
36f237c633
removed the (too) fancy dsl. Also introduce register indirection
Torsten Ruger
2014-06-07 17:59:44 +03:00
6433a394e7
adding receiver and a register abstraction
Torsten Ruger
2014-06-06 21:49:03 +03:00
c59f22f11f
first oo program to compile. But no worries, there is still work left to be done
Torsten Ruger
2014-06-05 18:17:00 +03:00
f523d0946d
fix the lasts tests
Torsten Ruger
2014-06-05 16:27:25 +03:00
f2e8e644bd
changes tests to only compare the tested function output, not the whole binary
Torsten Ruger
2014-06-05 13:02:36 +03:00
e6e969b4e4
a spirited effort to make assembly repeatable
Torsten Ruger
2014-06-05 10:46:42 +03:00
41a02a7190
small step to making the assmebly process repeatable (is destructive at the moment)
Torsten Ruger
2014-06-05 10:28:53 +03:00
7cc4c6344c
remove the parse code and fix the rest to work with the gem (from git for now)
Torsten Ruger
2014-06-04 22:03:45 +03:00
e9d2724f62
Merge pull request #1 from NigelThorne/master
Torsten Rüger
2014-06-04 16:22:28 +03:00
5145d21e37
Merge branch 'master' of https://github.com/ruby-in-ruby/crystal
Nigel Thorne
2014-06-04 21:49:06 +10:00
20433e3ad2
Change to NigelThorne fork to detect infinite loops
Nigel Thorne
2014-06-04 21:48:32 +10:00
72d4adc7af
another step closer to a working oo system
Torsten Ruger
2014-06-03 22:16:57 +03:00
ca19f5cb16
move to syms for names
Torsten Ruger
2014-06-03 20:47:06 +03:00
b7c2089046
the further down this goes, the smaller the circles. Soon the point will come. And then back out
Torsten Ruger
2014-06-03 14:49:02 +03:00
f60bbfa9ca
add a fail case, that anoyingly hangs
Torsten Ruger
2014-06-03 09:41:39 +03:00
88a26414eb
change the debug output to be more readable
Torsten Ruger
2014-06-02 15:11:48 +03:00
7c1c5431bc
add qualification to function definitions
Torsten Ruger
2014-06-02 14:00:30 +03:00
1cff296ab5
small fixes, wown parse for class test
Torsten Ruger
2014-06-02 13:45:08 +03:00
83d4ce55ca
fix the load memory instruction
Torsten Ruger
2014-06-01 22:06:59 +03:00
31a55b07ac
makes memory a three operand instruction, like add etc. But 3 regs are still undone
Torsten Ruger
2014-06-01 21:20:44 +03:00
08bbad0fdc
more on classes, have to work on asm next
Torsten Ruger
2014-06-01 21:03:08 +03:00
1d10c2c03e
had forgotten calls on instance variables. corrected + tests
Torsten Ruger
2014-06-01 14:46:16 +03:00
9ea0acf2e3
first oo steps are wobbly, but a string.plus parses
Torsten Ruger
2014-06-01 14:24:54 +03:00
86431120d5
add also calls on classes and more tests for that
Torsten Ruger
2014-05-31 17:58:26 +03:00
4038bd331a
clean up block names and export of qualified names makes assembler nicer to read
Torsten Ruger
2014-05-31 17:02:55 +03:00
5756e0b325
move that test to core (cant be done in compiled code) and focus on string addition instead
Torsten Ruger
2014-05-31 16:43:03 +03:00
cdfc1ac891
kernel functions are not fixed to be Object functions
Torsten Ruger
2014-05-31 16:19:44 +03:00
a6f02d6be3
let the BootClasses carry functions, ie one level squeezed between object_space and funtion, the class is coming to life
Torsten Ruger
2014-05-31 14:35:33 +03:00
3713d08748
renamed program to boot_space, as in object_space at boot time. thats the way its going
Torsten Ruger
2014-05-31 12:52:29 +03:00
c9c484f353
change program to inherit stright from code, not block (as it keeps the funcitons anyway)
Torsten Ruger
2014-05-31 12:38:15 +03:00
513545f51b
updated readme
Torsten Ruger
2014-05-30 14:49:34 +03:00
3156887a81
add instance variables and module name as basic types (as name was there already) and add tests
Torsten Ruger
2014-05-30 14:25:08 +03:00
497211f027
fix class tests and link them into all. 352 tests
Torsten Ruger
2014-05-30 12:24:38 +03:00
806960a4d6
fixing module and class rules to actually use module names. fix all tests
Torsten Ruger
2014-05-30 12:17:11 +03:00
f03d445f3d
add module names and instance variables as parse rules
Torsten Ruger
2014-05-30 12:06:42 +03:00
3e93517986
adds class definition with tests
Torsten Ruger
2014-05-30 10:59:49 +03:00
e7a823bf3e
renamed module_def too module_definition and fixed leading space tests
Torsten Ruger
2014-05-30 10:42:43 +03:00
caec5ee6f0
add module to root parse and tests
Torsten Ruger
2014-05-30 10:31:25 +03:00
c69a44f316
define modules and tests, no compiling
Torsten Ruger
2014-05-29 15:57:33 +03:00
d59370bdc7
clean stash a little
Torsten Ruger
2014-05-28 21:04:46 +03:00
5e8688c417
small fixes to get all the tests to pass/run
Torsten Ruger
2014-05-28 21:00:52 +03:00
25cd80c76b
small fix to return gets recursive fibonacchi to work
Torsten Ruger
2014-05-28 20:13:03 +03:00
4186c9cafe
add <= operator for fibo
Torsten Ruger
2014-05-28 20:10:16 +03:00
5c0f62ebb9
upgrade calls with operator argument and chaining. Almost feels like cheating, too easy
Torsten Ruger
2014-05-28 15:22:37 +03:00
0f118c591d
fix return compilation and use it on the while fibo. worked immediately :-)
Torsten Ruger
2014-05-28 15:03:54 +03:00
5a415aed92
fix fragment tests to actually execute on the pi and check the output
Torsten Ruger
2014-05-28 14:55:13 +03:00
e9720c4c54
padding with space not zero
Torsten Ruger
2014-05-28 14:27:37 +03:00