f1f56f0d4e
remove parfait module
...
which was only there because ruby has it
the concept is flawed and should be split into namespace and aspect
2015-10-23 15:20:02 +03:00
6754518daf
prune builtin
...
will need much less, many more things can be expressed in soml
2015-10-23 15:13:05 +03:00
147a77f4e4
fix arm test by fixing arm
2015-10-23 14:46:27 +03:00
897e11ce80
store three versions of the code in method
...
source, instructions and binary
2015-10-23 14:41:47 +03:00
e0c5bc4c11
rename phisol to soml
2015-10-23 14:22:55 +03:00
991cc0519f
create add_code helper and some cleaning
2015-10-23 14:08:12 +03:00
dcbd3c7091
fold last of the virtual into register
2015-10-22 18:16:29 +03:00
f658ecf425
bit of cleaning, updated readme
2015-10-22 17:38:49 +03:00
c68577c3f4
fixed more cases of empty block syndrome
2015-10-22 15:37:02 +03:00
6ac339d998
catching empty blocks
...
should really clean those away
2015-10-22 15:34:47 +03:00
b932f67da0
fixing tests
...
because interpreter was fixed
2015-10-22 14:51:20 +03:00
83670079c3
resetting registers to prevent overflow
2015-10-22 14:50:58 +03:00
2842c903e1
fix integers and clock reset
2015-10-22 14:42:23 +03:00
3895ac624c
fix offsets, debugging revealed them to be 1 off
2015-10-22 11:48:03 +03:00
4ca15449be
test and fix arg passing offset too
2015-10-22 11:32:37 +03:00
13b8d0645f
tests for offset fix
2015-10-22 11:02:57 +03:00
ede0fe5f16
fix indexing when accessing locals or args
...
Was missing the offset of object variables
2015-10-22 11:02:46 +03:00
a44b88f570
trigger on state change
...
also make states symbols
2015-10-21 14:07:29 +03:00
db5c37bc55
fix while syntax and test
2015-10-19 16:37:12 +03:00
99cff3aa32
fix the if syntax and branches
2015-10-19 16:22:24 +03:00
1fd937927c
adjust branch names
...
IsXXX with xxx as condition, same as after if_xxx
AlwaysBranch is back to Branch
2015-10-19 16:08:00 +03:00
50379a1fea
update to new syntax and patch tests
...
basic semantics remain, but have to improve test for new functionality
that has to be written for new branch types
2015-10-19 15:31:48 +03:00
bdcd0f297d
first interpreted tests, fix branch issues
...
whole branch logic wobbly
better syntax needed, but working(ish) for now
2015-10-19 14:46:12 +03:00
d767caf479
remove MethodCall and thus all virtual instructions
2015-10-18 19:27:46 +03:00
15b570f5cf
removing passes (before arm)
...
collector becomes a function
minimizer unused
2015-10-18 19:27:02 +03:00
fa4949fc80
remove MethodEnter Instructions
...
only resolved to SaveReturn anyway
also Halt instruction wasn’t used, gone
passes changed to start at register
2015-10-18 17:39:35 +03:00
8bf1337043
Remove MethodReturn instruction
...
and pass
and fix all tests
move towards removing all vm instructions
2015-10-18 17:32:32 +03:00
ae21feb6dc
minor
2015-10-18 17:20:25 +03:00
6c7e4c0fe2
stop pinning self and frame
...
before: r0-message , r1-self , r2-frame , r3-new_message , r4 + tmps
now: r0-message , r1-new_message , r2 + tmps
programs got smaller, less fuss
also fix in return implementation that got the address from the wrong
message
2015-10-18 17:20:19 +03:00
da5502e301
minor
2015-10-17 19:36:00 +03:00
13eb017394
small to_s changes
2015-10-17 10:03:56 +03:00
4ce4775902
fix layout
...
amazing at this stage, but yet another index error
the strange (and wonderful) thing is that changing the return
of the one function just shifts the variables and everything else
stays intact. Thus are the wonders of object orientation
2015-10-17 10:03:39 +03:00
17545d1525
fix add test
2015-10-16 21:42:11 +03:00
3e79e5cf8e
fix code duplication
2015-10-16 19:18:37 +03:00
5131e5d050
formatted interpreter tests
...
little helper to output the classes
2015-10-16 19:04:17 +03:00
dc3920580b
bit more cleaning of testing
2015-10-16 18:34:54 +03:00
aaaef6e3d7
there go the slots
...
addressing them now directly in get/set slot
idea is still valid, but express objects not needed/used anymore
2015-10-16 18:16:39 +03:00
64a92fb9f4
remove dead code
...
was only used by now removed set instruction
2015-10-16 18:07:17 +03:00
3a622efe9a
remove virtual new_frame instruction
...
resolved to one register instruction, not worth the hassle
2015-10-16 17:58:42 +03:00
3b07f625a7
fix another order dependant issue
2015-10-16 17:58:07 +03:00
9ae850e3b2
remove unused set instruction
2015-10-16 17:45:24 +03:00
5e04ee7212
bitten by test order, fixed
2015-10-16 17:17:39 +03:00
bd2bf612ac
fixed last test
...
back in the green
2015-10-16 17:13:08 +03:00
a6712fc4f9
add call statement tests
2015-10-16 13:20:21 +03:00
84eb516a01
add while statement tests
2015-10-16 13:17:02 +03:00
0cf0b35853
remove call_site value dependency
...
Revisit for optimization, now irrelevant
2015-10-16 13:13:56 +03:00
349352faa9
minor
2015-10-16 13:12:52 +03:00
6f856315d7
fix and test assign
...
also fix field def and
externalized assign
2015-10-15 13:08:53 +03:00
0179638f0e
cleaning
2015-10-15 10:27:06 +03:00
398ec513f4
wrap in register module for shorter result names
2015-10-15 10:24:10 +03:00