Torsten Ruger
|
1cff296ab5
|
small fixes, wown parse for class test
|
2014-06-02 13:45:08 +03:00 |
|
Torsten Ruger
|
31a55b07ac
|
makes memory a three operand instruction, like add etc. But 3 regs are still undone
|
2014-06-01 21:20:44 +03:00 |
|
Torsten Ruger
|
08bbad0fdc
|
more on classes, have to work on asm next
|
2014-06-01 21:03:08 +03:00 |
|
Torsten Ruger
|
1d10c2c03e
|
had forgotten calls on instance variables. corrected + tests
|
2014-06-01 14:46:16 +03:00 |
|
Torsten Ruger
|
9ea0acf2e3
|
first oo steps are wobbly, but a string.plus parses
|
2014-06-01 14:24:54 +03:00 |
|
Torsten Ruger
|
86431120d5
|
add also calls on classes and more tests for that
|
2014-05-31 17:58:26 +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
|
cdfc1ac891
|
kernel functions are not fixed to be Object functions
|
2014-05-31 16:19:44 +03:00 |
|
Torsten Ruger
|
a6f02d6be3
|
let the BootClasses carry functions, ie one level squeezed between object_space and funtion, the class is coming to life
|
2014-05-31 14:35:33 +03:00 |
|
Torsten Ruger
|
3713d08748
|
renamed program to boot_space, as in object_space at boot time. thats the way its going
|
2014-05-31 12:52:29 +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
|
497211f027
|
fix class tests and link them into all. 352 tests
|
2014-05-30 12:24:38 +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
|
5e8688c417
|
small fixes to get all the tests to pass/run
|
2014-05-28 21:00:52 +03:00 |
|
Torsten Ruger
|
25cd80c76b
|
small fix to return gets recursive fibonacchi to work
|
2014-05-28 20:13:03 +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
|
c01c19209a
|
fix tests
|
2014-05-28 14:27:18 +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
|
a6ea45b203
|
fixed deprication
|
2014-05-27 15:33:08 +03:00 |
|
Torsten Ruger
|
0e2b5665ff
|
add recursive fibo test, but that needs return first
|
2014-05-27 15:31:31 +03:00 |
|
Torsten Ruger
|
62ae79dfd8
|
all lights are green in crystal land
|
2014-05-25 13:45:04 +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
|
5fb1d9825a
|
fixed tests according to new calling convention
|
2014-05-25 10:57:26 +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
|
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
|
6eeefc5617
|
passes the test, as (did i mention this) it actuall works (he cackles)
|
2014-05-23 20:30:55 +03:00 |
|
Torsten Ruger
|
7b6d6b9024
|
more stack tests, just to make sure
|
2014-05-23 15:08:47 +03:00 |
|
Torsten Ruger
|
c196817568
|
adds the intel tests, even intel is not integrated. Helps to catch global replace errors
|
2014-05-22 19:36:13 +03:00 |
|
Torsten Ruger
|
bfa13f9546
|
moved with better name
|
2014-05-22 19:34:42 +03:00 |
|
Torsten Ruger
|
c3488724dc
|
moved with better name
|
2014-05-22 19:34:13 +03:00 |
|
Torsten Ruger
|
dcbbff5527
|
is now a fragment
|
2014-05-22 19:32:59 +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
|
a76ba577f2
|
putint test ok
|
2014-05-21 22:16:19 +03:00 |
|
Torsten Ruger
|
33fb8e7d2f
|
better test for foo, nice rythm
|
2014-05-21 21:37:04 +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
|
741c55cba3
|
start testing the previous runners more rigourusly
|
2014-05-21 21:13:12 +03:00 |
|
Torsten Ruger
|
56afe575e1
|
writing before asserting to be able to debug the object, also move to hex
|
2014-05-21 19:05:40 +03:00 |
|
Torsten Ruger
|
2df2dcc528
|
function now returns locals, not free registers
|
2014-05-21 16:42:36 +03:00 |
|
Torsten Ruger
|
53cfeb72a4
|
fix test and remove hack for -
|
2014-05-21 12:42:54 +03:00 |
|
Torsten Ruger
|
9d873d3cba
|
implement string loading and convert hello test
|
2014-05-20 19:21:29 +03:00 |
|
Torsten Ruger
|
c7a2ce5af9
|
phase 2, add/sub instructions work with +- operator
|
2014-05-20 11:54:59 +03:00 |
|
Torsten Ruger
|
c3c6928dc8
|
phase one, assignment for constants (moves) work
|
2014-05-20 11:14:18 +03:00 |
|
Torsten Ruger
|
7056f6f05c
|
first step of assignment magic
|
2014-05-20 11:03:18 +03:00 |
|
Torsten Ruger
|
e8660d92db
|
merged the fibo arm test to small_programs, as that is what it is
|
2014-05-20 10:35:46 +03:00 |
|
Torsten Ruger
|
fcf76eed34
|
better testing for small assembly (for coming changes)
|
2014-05-20 10:29:08 +03:00 |
|
Torsten Ruger
|
f34fddd383
|
minor
|
2014-05-19 21:28:18 +03:00 |
|
Torsten Ruger
|
e07682b6a3
|
make the asm fibo output its result. slam dunk
|
2014-05-19 21:04:15 +03:00 |
|
Torsten Ruger
|
fe1414f383
|
adds hand coded fibo, works
|
2014-05-19 17:32:41 +03:00 |
|
Torsten Ruger
|
8ba79d8de8
|
fibinacci actually compiles, doesnt mean it works though
|
2014-05-19 11:29:18 +03:00 |
|
Torsten Ruger
|
db4f074b75
|
last split control/stack tests
|
2014-05-19 11:27:20 +03:00 |
|
Torsten Ruger
|
76f1537174
|
fix some arguemnt names
|
2014-05-18 12:34:53 +03:00 |
|
Torsten Ruger
|
9fc8bfbb55
|
fixin up mov arguments
|
2014-05-18 12:30:49 +03:00 |
|
Torsten Ruger
|
2be96dccdc
|
fix logic instruction arguments
|
2014-05-18 12:18:57 +03:00 |
|
Torsten Ruger
|
6abd10f278
|
started naming instruction arguments properly, starting with compare
|
2014-05-18 11:11:26 +03:00 |
|
Torsten Ruger
|
88eeb2bf65
|
increment implementation (start) and more splitting
|
2014-05-16 23:08:03 +03:00 |
|
Torsten Ruger
|
7e2210f772
|
renaming update_status_flag to just update_status
|
2014-05-16 19:56:13 +03:00 |
|
Torsten Ruger
|
3d497ca622
|
some tests
|
2014-05-16 17:30:26 +03:00 |
|
Torsten Ruger
|
155066aac8
|
own dir for arm tests and split logic off
|
2014-05-16 15:19:38 +03:00 |
|
Torsten Ruger
|
87e0f297e3
|
rename extra to right in logic inst
|
2014-05-16 11:27:30 +03:00 |
|
Torsten Ruger
|
ccafb09224
|
rename first hash argument from right to left in logic inst
|
2014-05-16 10:54:56 +03:00 |
|
Torsten Ruger
|
009c0895f4
|
change right syntax to 1.9 style, looks a little nicer
|
2014-05-15 21:35:45 +03:00 |
|
Torsten Ruger
|
a0f0d08e81
|
named the first intruction constructor argument
|
2014-05-15 19:41:51 +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
|
918ede1c02
|
arm program to generate optimal devision code for constants
|
2014-05-15 16:53:47 +03:00 |
|
Torsten Ruger
|
054f94d68b
|
add some comment and tests (but small bugs still there)
|
2014-05-14 22:34:53 +03:00 |
|
Torsten Ruger
|
3912e0cd31
|
fix register issues, some typos
|
2014-05-14 22:04:03 +03:00 |
|
Torsten Ruger
|
e10f4863ee
|
exporting labels to elf for (a lot) better readability
|
2014-05-14 16:15:47 +03:00 |
|
Torsten Ruger
|
d6b5d46165
|
while compiles. jo
|
2014-05-14 12:02:54 +03:00 |
|
Torsten Ruger
|
2230a4f25e
|
clean up intruction instantiation and fix tests
|
2014-05-14 10:47:30 +03:00 |
|
Torsten Ruger
|
46ea1df51e
|
rename function_call to call_site in all levels to avoid confusion
|
2014-05-13 21:15:02 +03:00 |
|
Torsten Ruger
|
04af367bc0
|
coming together, more and more each day
|
2014-05-13 21:06:12 +03:00 |
|
Torsten Ruger
|
b0302948dd
|
rename machine to c_machine
|
2014-05-13 17:06:42 +03:00 |
|
Torsten Ruger
|
140d33b167
|
c fibs (need to loop a lot to use time on it)
|
2014-05-13 10:36:44 +03:00 |
|
Torsten Ruger
|
cd67589f3e
|
life must go on, compunds must go (for now)
|
2014-05-13 08:35:49 +03:00 |
|
Torsten Ruger
|
61d72a74ad
|
fixes array test for previous rename
|
2014-05-13 08:35:17 +03:00 |
|
Torsten Ruger
|
ff612446be
|
using hash_key and value rules
|
2014-05-12 21:44:51 +03:00 |
|
Torsten Ruger
|
fdb5dd4f67
|
a good stab at array anf hash constants
|
2014-05-12 21:36:38 +03:00 |
|
Torsten Ruger
|
25a7c3ea68
|
fixed fibonacci example
|
2014-05-12 14:24:36 +03:00 |
|
Torsten Ruger
|
1170b0798b
|
make condition brackets optional
|
2014-05-12 13:57:24 +03:00 |
|
Torsten Ruger
|
956d1eb135
|
newline fiddling in the parser yields goods results
|
2014-05-12 13:47:47 +03:00 |
|
Torsten Ruger
|
ee4d8033af
|
redid while with brackets and just one condition expression
|
2014-05-12 12:26:38 +03:00 |
|
Torsten Ruger
|
e2fb0a5f34
|
rename conditional to control in parser
|
2014-05-12 12:20:31 +03:00 |
|
Torsten Ruger
|
7940efc64d
|
still trying that while loop. Check as everything else works
|
2014-05-12 12:14:04 +03:00 |
|
Torsten Ruger
|
4a27314533
|
fix the tests for oprerators. Also naming keywords demands change
|
2014-05-11 18:38:02 +03:00 |
|
Torsten Ruger
|
3974f2516d
|
llvm example
|
2014-05-11 17:06:13 +03:00 |
|
Torsten Ruger
|
2d389d2e00
|
adds basic math operators, thanks to kasper associative and prioritised
|
2014-05-10 21:41:46 +03:00 |
|
Torsten Ruger
|
6378209f33
|
leave assignee as name_expression in assignment, fix tests accordingly
|
2014-05-10 19:11:32 +03:00 |
|
Torsten Ruger
|
47f1608685
|
start to add while loop
|
2014-05-10 19:02:51 +03:00 |
|