7a690cd38d
fix to_s
2015-10-25 12:10:56 +02:00
0921073025
remove last block occurrences
...
fixed.
2015-10-25 12:03:31 +02:00
471329917b
most of the length and assembly stuff fixed
2015-10-25 10:54:19 +02:00
405a6935d4
lots of stuff to move to linked lists
...
and remove the blocks
more position stuff coming, but the list part should be ok
2015-10-24 17:12:36 +03:00
3774f8a5a2
use translator and remove passes
...
the only passes that were left were reg -> arm
those are almost completely one to one, so the idea of passes didn’t fit
2015-10-24 17:11:18 +03:00
a871f96630
remove passes and achieve the same by translating
2015-10-24 11:42:36 +03:00
57f37ec023
removed blocks and moved to labels
...
somewhat easier to understand the code as a linked list
relatively painless change, considering
2015-10-23 21:27:36 +03:00
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
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
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
8bf1337043
Remove MethodReturn instruction
...
and pass
and fix all tests
move towards removing all vm instructions
2015-10-18 17:32:32 +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
13eb017394
small to_s changes
2015-10-17 10:03:56 +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
9ae850e3b2
remove unused set instruction
2015-10-16 17:45:24 +03:00
bd2bf612ac
fixed last test
...
back in the green
2015-10-16 17:13:08 +03:00
3d83f203ca
fixing and testing operators
2015-10-15 09:32:47 +03:00
e436581ce8
adds value to used regs and test for it
2015-10-15 09:07:47 +03:00
f105b1eb3c
fix name expression
2015-10-14 21:34:18 +03:00
1141ed9c99
type now means class name
...
update reader (with new type definition)
remove type class (now symbol)
update all types to class name symbols
2015-10-14 16:16:03 +03:00
d899d542a4
checking return type is a type
2015-10-14 14:02:34 +03:00
e33a20dd41
minor housekeeping
2015-10-14 13:48:42 +03:00
82d6ebf392
giving the register_value it's value
...
though not used yet
2015-10-14 13:45:46 +03:00
5122137a33
start new elf testing category (and minors)
2015-10-13 17:30:39 +03:00
aa20f2ca77
renamed reg ref to reg val
...
more appropriate
alas, salaam-arm will break for a sec
2015-10-10 21:38:55 +03:00
dd3381e38b
move type to phial and add type to reg_ref
2015-10-10 19:14:27 +03:00
3d342f7d88
remove new_message instruction
2015-10-10 12:04:34 +03:00
4334b68736
remove virtual main instruction
...
on a quest to remove all virtual instructions
2015-10-10 11:14:31 +03:00
99098951ca
rename bosl to phisol
2015-10-07 15:22:47 +03:00
e669489419
went over the various readmes
2015-10-07 11:32:48 +03:00
83ef902b55
better calcite and operator to expand the interpreter test
2015-10-07 10:05:34 +03:00
f0611e52db
work on branches
...
the concept is different in bosl, move appropriate to virtual
2015-10-07 10:02:51 +03:00
4e26166dff
fix type in call issue
2015-10-06 15:26:57 +03:00
f4a4ccb98e
several larger changes came together, bit of cleaning too
...
- all code must be in functions (which must be in classes).
— changes a fair few tests
— also changes api, as method is not recursive, not passed around
- all state in instance vars in compiler (no accessors)
- class is another such variable, surely more coming
all green again
2015-10-06 00:27:13 +03:00
18935366fe
introducing class variable and typed arguments
2015-09-27 14:30:41 +03:00
9fe01c7b31
remove unknown type
2015-09-23 18:35:37 +03:00
4e56056b62
better test for add
2015-08-09 00:53:04 +03:00
bae7f5dcb1
better to_s for load constant
2015-08-09 00:52:47 +03:00
5d838056fa
small rename and new test for layout
2015-08-08 18:08:47 +03:00
ca14ef8914
fix test result, but not test yet
2015-08-07 16:46:55 +03:00
9ebe6eb5b7
move to clss names as types
...
so as not to mix ruby class names into parfait code
2015-08-06 18:28:40 +03:00