Torsten Ruger
|
c9c484f353
|
change program to inherit stright from code, not block (as it keeps the funcitons anyway)
|
2014-05-31 12:38:15 +03:00 |
|
Torsten Ruger
|
3156887a81
|
add instance variables and module name as basic types (as name was there already) and add tests
|
2014-05-30 14:25:08 +03:00 |
|
Torsten Ruger
|
806960a4d6
|
fixing module and class rules to actually use module names. fix all tests
|
2014-05-30 12:17:11 +03:00 |
|
Torsten Ruger
|
f03d445f3d
|
add module names and instance variables as parse rules
|
2014-05-30 12:06:42 +03:00 |
|
Torsten Ruger
|
3e93517986
|
adds class definition with tests
|
2014-05-30 10:59:49 +03:00 |
|
Torsten Ruger
|
e7a823bf3e
|
renamed module_def too module_definition and fixed leading space tests
|
2014-05-30 10:42:43 +03:00 |
|
Torsten Ruger
|
caec5ee6f0
|
add module to root parse and tests
|
2014-05-30 10:31:25 +03:00 |
|
Torsten Ruger
|
c69a44f316
|
define modules and tests, no compiling
|
2014-05-29 15:57:33 +03:00 |
|
Torsten Ruger
|
25cd80c76b
|
small fix to return gets recursive fibonacchi to work
|
2014-05-28 20:13:03 +03:00 |
|
Torsten Ruger
|
4186c9cafe
|
add <= operator for fibo
|
2014-05-28 20:10:16 +03:00 |
|
Torsten Ruger
|
5c0f62ebb9
|
upgrade calls with operator argument and chaining. Almost feels like cheating, too easy
|
2014-05-28 15:22:37 +03:00 |
|
Torsten Ruger
|
0f118c591d
|
fix return compilation and use it on the while fibo. worked immediately :-)
|
2014-05-28 15:03:54 +03:00 |
|
Torsten Ruger
|
5a415aed92
|
fix fragment tests to actually execute on the pi and check the output
|
2014-05-28 14:55:13 +03:00 |
|
Torsten Ruger
|
e9720c4c54
|
padding with space not zero
|
2014-05-28 14:27:37 +03:00 |
|
Torsten Ruger
|
07ef170db0
|
padding with space not zero
|
2014-05-28 14:26:24 +03:00 |
|
Torsten Ruger
|
6bfe643032
|
add some return test to functions
|
2014-05-27 16:51:37 +03:00 |
|
Torsten Ruger
|
fbaf292bb6
|
add a simple return, ie the normal kind, not with trailing statements
|
2014-05-27 16:33:24 +03:00 |
|
Torsten Ruger
|
21a53c6a7f
|
fix the compound type parser tests
|
2014-05-27 15:41:34 +03:00 |
|
Torsten Ruger
|
0b07e77782
|
fix the spurious root expression and add conmound types back (thanks to kasper for fixing that)
|
2014-05-27 15:36:51 +03:00 |
|
Torsten Ruger
|
1f17262887
|
fix the handcoded fibonacci (registers again)
|
2014-05-25 13:34:06 +03:00 |
|
Torsten Ruger
|
5afa6f4239
|
move the if logic around (execute false first) and fix the parameters passing
|
2014-05-25 11:35:45 +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
|
1e326e00b9
|
fix tests after register allocation work
|
2014-05-24 16:52:54 +03:00 |
|
Torsten Ruger
|
4a67504a61
|
remove parslet, bundling now
|
2014-05-24 14:51:50 +03:00 |
|
Torsten Ruger
|
61a60abd08
|
ridiculously easy to implement the if now
|
2014-05-24 10:41:57 +03:00 |
|
Torsten Ruger
|
00d85156da
|
rename conditional to if expression
|
2014-05-24 10:18:54 +03:00 |
|
Torsten Ruger
|
2c90006697
|
that fixes the while. To work. Actually work. Fibonacci and all :-)
|
2014-05-23 20:27:14 +03:00 |
|
Torsten Ruger
|
86e73bf1ba
|
save and restore the right registers
|
2014-05-22 21:55:17 +03:00 |
|
Torsten Ruger
|
4f0b769e82
|
get conditions to work for while
|
2014-05-22 21:38:57 +03:00 |
|
Torsten Ruger
|
7c2d149106
|
solves control flow issue when adding blocks
|
2014-05-22 16:35:59 +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
|
e3bccaa0fe
|
thats putstring working again (better testing == better code => better sleep, longer life :-)
|
2014-05-21 21:27:05 +03:00 |
|
Torsten Ruger
|
587fd56300
|
remove a layer of indirection
|
2014-05-21 21:15:23 +03:00 |
|
Torsten Ruger
|
bc278a61eb
|
using function args for call
|
2014-05-21 21:12:46 +03:00 |
|
Torsten Ruger
|
65cde70114
|
add space at file end
|
2014-05-21 21:08:15 +03:00 |
|
Torsten Ruger
|
46102e56ad
|
rename c to register machine
|
2014-05-21 19:43:46 +03:00 |
|
Torsten Ruger
|
937f566b27
|
value is not derived from code (was too much generalisation/confusing)
|
2014-05-21 19:41:51 +03:00 |
|
Torsten Ruger
|
067cde8d43
|
remove remnant of old dsl
|
2014-05-21 19:34:58 +03:00 |
|
Torsten Ruger
|
c36a08d52d
|
small fixes
|
2014-05-21 19:33:58 +03:00 |
|
Torsten Ruger
|
b281c24a39
|
move towards locals (not hardcoding registers)
|
2014-05-21 19:27:27 +03:00 |
|
Torsten Ruger
|
570b6db659
|
start using locals
|
2014-05-21 19:06:21 +03:00 |
|
Torsten Ruger
|
847a486288
|
fix from assign
|
2014-05-21 19:06:06 +03:00 |
|
Torsten Ruger
|
c701eb9f5b
|
outputting hex for better comparison with objdump
|
2014-05-21 19:04:48 +03:00 |
|
Torsten Ruger
|
127ce5a5d9
|
outputting entries to get jumps rights
|
2014-05-21 19:04:16 +03:00 |
|
Torsten Ruger
|
2df2dcc528
|
function now returns locals, not free registers
|
2014-05-21 16:42:36 +03:00 |
|
Torsten Ruger
|
e1f889fd10
|
fix fibo with new syntax. certainly works for operators, but not everything
|
2014-05-21 12:47:40 +03:00 |
|
Torsten Ruger
|
16a07d5aa2
|
fixed method_missing to check whether local var exists (not gobble everything up)
|
2014-05-21 12:44:36 +03:00 |
|