Commit Graph

288 Commits

Author SHA1 Message Date
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
75c43d1b03 add fixnum as constant (was buggy) 2015-08-06 18:28:09 +03:00
8560f15c87 plus function, indentation 2015-08-05 18:49:37 +03:00
21b0702154 fix tests (just using local gem) 2015-08-04 22:01:20 +03:00