Torsten Ruger
ab7e517e9e
slightly tighter parfait tests
2015-11-07 22:26:06 +02:00
Torsten Ruger
f11e8f0a13
fix all the test
...
many are off course affected by call sequence changes
2015-11-07 22:20:21 +02:00
Torsten Ruger
5ddc96718b
slight call logic modification
...
simplification, new model is such that the upon start the method:
has a message in r0, works on it and returns to the return address.
Everything else is up to the caller
2015-11-07 21:59:39 +02:00
Torsten Ruger
f2c7ed827d
simplify the __init
...
admittedly more source code, but half the runtime
mainly just using message (not new)
made possible by call sequence change
2015-11-07 21:58:19 +02:00
Torsten Ruger
2315ad6920
minor cleaning
2015-11-07 21:55:04 +02:00
Torsten Ruger
8c68ffc7a4
fixing indexes makes test work
...
forgot my own rule: all parfait works in 1 based lists
2015-11-07 20:10:55 +02:00
Torsten Ruger
a1aa6b58ac
resolve methods, don't just get them
...
i.e. down the ladder we go
2015-11-07 19:39:15 +02:00
Torsten Ruger
7523bac80a
add layout and class accessor and test
2015-11-07 19:38:52 +02:00
Torsten Ruger
484e2d19d4
allow for registers in get slot
2015-11-07 19:38:03 +02:00
Torsten Ruger
1d07c1fb95
fix super class with name mixup
2015-11-07 19:37:38 +02:00
Torsten Ruger
37928b8591
rename internal get/set functions
...
mainly because the salaam parser chokes on internal…
2015-11-07 17:40:59 +02:00
Torsten Ruger
8aabff6b37
get layout test
...
start of copying the ruby parfait tests
lots can be done with string output and return value
2015-11-07 17:39:17 +02:00
Torsten Ruger
50b03a5e94
load parfait soml files
...
No dir glob for precise order
2015-11-07 17:38:27 +02:00
Torsten Ruger
d878ce00d8
framework for parfait runtime testing
...
with interpreter for now
later with arm exec support
2015-11-07 17:37:41 +02:00
Torsten Ruger
708cdace17
implement indexed object access
...
one of the few functions that can’t be coded
(or the design specifically is such that it can’t, in c it would be
self[index],
or, worse *(self + index) )
2015-11-07 17:36:28 +02:00
Torsten Ruger
35afe88ede
allow get_slot with two registers
...
before was register and number, but for runtime that doesn’t work
2015-11-07 17:34:41 +02:00
Torsten Ruger
c9c0f66d79
rename test/parfait
...
to then write parfait test on the runtime
2015-11-07 14:04:38 +02:00
Torsten Ruger
9ebe28450b
add global variable space
...
could in the long run move spaces functionality to the class
and since the class is global anyway, wouldn’t need this
2015-11-07 12:19:04 +02:00
Torsten Ruger
b1939e9828
rename helper
2015-11-07 12:18:08 +02:00
Torsten Ruger
fd7e4afb2f
small meta related changes
2015-11-07 00:14:10 +02:00
Torsten Ruger
42c404802d
more class function testing
2015-11-07 00:13:57 +02:00
Torsten Ruger
46e1a112ab
metaclass moves down to object
2015-11-07 00:12:17 +02:00
Torsten Ruger
204200b92a
metaclass is back
...
this time with a real purpose and implementation as the intermediary
As the interface to the layout and for replacing an edited layout
2015-11-07 00:11:56 +02:00
Torsten Ruger
ebcc15d314
testing fibo
2015-11-06 14:24:57 +02:00
Torsten Ruger
eae5cac4b5
check returns on tests
2015-11-05 17:00:41 +02:00
Torsten Ruger
4eb3d9029a
use logger
2015-11-05 16:50:00 +02:00
Torsten Ruger
13d0747b45
test the log_level too
2015-11-05 14:05:12 +02:00
Torsten Ruger
1309ea37de
fibonacci while works just as well now
...
surprisingly much faster though,
2015-11-05 13:37:08 +02:00
Torsten Ruger
aad50021fe
more messages for recursive fibs
2015-11-05 12:23:11 +02:00
Torsten Ruger
4014ad27fe
fix and test return
...
return was in the wrong message
better tests now
2015-11-05 12:22:48 +02:00
Torsten Ruger
ff759bf0c1
increase message size
...
message size is somewhat like stack size,
but 1-1 related to how deep it can be, now 50 calls
2015-11-05 12:12:15 +02:00
Torsten Ruger
8310bc4985
fix while tests now that while is fixed
2015-11-04 20:28:02 +02:00
Torsten Ruger
32275f4d48
fix interpreter test
2015-11-04 20:27:48 +02:00
Torsten Ruger
642dcb065a
fix while statement
...
logic was broken, or inversed
had to lay the code out a bit funny, but it works and makes sense
2015-11-04 20:23:26 +02:00
Torsten Ruger
ab2c73f42c
right name for return label makes interpreter work
2015-11-04 20:22:28 +02:00
Torsten Ruger
691ae96d71
fix names of branch codes
...
also store objects in register, avoid the whole object_id thing which
just lead to unclarity about class
2015-11-04 20:22:03 +02:00
Torsten Ruger
428faad25f
opal fix for indexes
2015-11-04 16:11:25 +02:00
Torsten Ruger
b5e733cd11
finally simple logging
...
instead of commenting puts
2015-11-04 11:48:51 +02:00
Torsten Ruger
9519196a98
update arm
2015-11-04 10:35:30 +02:00
Torsten Ruger
2236065d02
position filling after the padding changes, works again
2015-11-04 10:34:58 +02:00
Torsten Ruger
c87682b77f
fix padding
...
used to be that type and layout were hidden
now type is gone and layout is an explicit instance, so 0 overhead
2015-11-04 10:34:03 +02:00
Torsten Ruger
5bddbfbb62
rename word_length to padded length
...
with word_length i was never sure if it was the padded version or not
2015-11-04 10:33:10 +02:00
Torsten Ruger
6ada815735
first stab at fixing the assembly
...
lots of length fiddling
wip
2015-11-03 16:24:12 +02:00
Torsten Ruger
0f8f0a681c
fix padding to only consider layout (1 word)
2015-11-03 16:22:50 +02:00
Torsten Ruger
ca1dc36e3d
method marking for labels
2015-11-03 16:22:24 +02:00
Torsten Ruger
6882f39645
fixing lengths
2015-11-03 16:21:50 +02:00
Torsten Ruger
c15445a958
let labels be constants
2015-11-03 16:20:25 +02:00
Torsten Ruger
14f8b42015
fix instruction order, now with the save
...
and finally formatted in statements too
2015-11-03 11:25:02 +02:00
Torsten Ruger
dae12c532c
fix fragment tests
...
they mostly got longer due to the added store instruction + label
2015-11-03 11:23:58 +02:00
Torsten Ruger
5a8d7d313f
little more tests
2015-11-03 11:23:15 +02:00