Commit Graph

306 Commits

Author SHA1 Message Date
7e0778dc70 remove return_type
soon to be obsolete with multi returns
2015-10-28 12:19:10 +02:00
79cf59c4e2 still finding index errors 2015-10-27 18:45:56 +02:00
50029711ff make frame and message indexed
also auto generate a replacement for previous offset class method (dry)
2015-10-27 16:04:36 +02:00
624699f8ed minor 2015-10-26 15:14:38 +02:00
885aa765d6 still fixing index bugs
the indexed_length got written wrong
which is why the layout methods didn’t work
Now all indexes are 1 based, even fake men, where we just ignore 0
2015-10-26 14:33:36 +02:00
9f4952b5ac create behavior module
behavior handles instance methods (add/remove/find)
and shall be included in layout later too
2015-10-26 13:27:56 +02:00
dc58dbe2fe little clean 2015-10-26 13:02:08 +02:00
4cadfc9ea9 shortening some methods, removing object prefix 2015-10-26 12:58:38 +02:00
1a236aa50e make binary code indexed (not derive from word)
still some work to be done there, as we should really have a byte buffer
2015-10-26 12:24:47 +02:00
96f43dcfda also giving word it's length
still hacked as char per word, but should be easy enough to fix when…
2015-10-26 12:23:52 +02:00
df62b75c6f adding an instance for the length of lists 2015-10-25 20:44:03 +02:00
c1ee67038c internally objects stop changing size 2015-10-25 20:43:13 +02:00
60098257e9 use include so we can test with is_a
using the well documented included/extend trick
2015-10-25 19:16:12 +02:00
0d001ec0fc rename super_clsas to super_class_name
as it should have been
2015-10-25 15:32:38 +02:00
f22eca053d split create method
to allow class methods to use the other half
2015-10-25 15:04:40 +02:00
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