Torsten Ruger
6b9c472bec
refactor load_parfait
...
so debugger can grab and wire it easily
2015-11-08 18:35:10 +02:00
Torsten Ruger
6f69995284
stab at inter to string
...
wip
2015-11-08 17:11:03 +02:00
Torsten Ruger
c38775e933
add set_internal
...
and the set_slot with register
very much like the get_slot for get_internal
2015-11-08 17:10:36 +02:00
Torsten Ruger
ede7639861
forgot to link tests in
...
so code climate complained, oh now
2015-11-08 17:09:28 +02:00
Torsten Ruger
64d99d5e68
didn't need big decimal require
2015-11-08 15:18:39 +02:00
Torsten Ruger
d6108e7b3a
fix interpreter overflow issue
...
flag set for bigness, result reduced
tests for + and *
fixed fibs tests
2015-11-08 15:15:55 +02:00
Torsten Ruger
6ea698d397
save some to_s code
2015-11-08 14:30:42 +02:00
Torsten Ruger
cf05e7553a
rework interpreter test framework
...
remove lots of copy paste
2015-11-08 14:30:28 +02:00
Torsten Ruger
37564d9c2e
implement message pseudo variable (like self)
...
too easy
also simplified some tests
2015-11-08 13:55:38 +02:00
Torsten Ruger
69918c8e88
add some message and remove fields
...
those fields are already present in the classes
(in the future they should be defined in some and integrated to ruby,
but that would mean parsing to boot and parsing doesn’t yet work on
opal)
2015-11-08 13:54:58 +02:00
Torsten Ruger
502cfa357d
implement and test field access
2015-11-08 13:39:13 +02:00
Torsten Ruger
b443103ea4
using class fields
...
instead of internal_get
2015-11-08 01:02:47 +02:00
Torsten Ruger
6cd95ee933
more layout tests, seeing class names on stdout
2015-11-08 00:55:37 +02:00
Torsten Ruger
9fd7c79cfb
mixed up class and meta, fixed
2015-11-08 00:55:10 +02:00
Torsten Ruger
bcc366f8fd
bit more soml
2015-11-08 00:54:47 +02:00
Torsten Ruger
3e4dcd35c7
better no method no super handling
...
also revealed bug in booting
2015-11-08 00:54:24 +02:00
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