Torsten Ruger
b76c140d32
some class field tests
2015-10-26 13:08:40 +02:00
Torsten Ruger
4cadfc9ea9
shortening some methods, removing object prefix
2015-10-26 12:58:38 +02:00
Torsten Ruger
d2c670b31a
fixing offset bug
...
found by tests that overwrite the attribute
2015-10-26 12:57:54 +02:00
Torsten Ruger
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
Torsten Ruger
979ebb7612
fixing indexed stuff
...
layout returns layout as first name (offsets indexes)
object internal length is gone into layouts functionality
2015-10-26 12:22:32 +02:00
Torsten Ruger
df62b75c6f
adding an instance for the length of lists
2015-10-25 20:44:03 +02:00
Torsten Ruger
c1ee67038c
internally objects stop changing size
2015-10-25 20:43:13 +02:00
Torsten Ruger
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
Torsten Ruger
b7d0ee8f99
wit metaclass and class functions
...
needs to go back to arrays first
2015-10-25 15:40:12 +02:00
Torsten Ruger
0d001ec0fc
rename super_clsas to super_class_name
...
as it should have been
2015-10-25 15:32:38 +02:00
Torsten Ruger
99870c92d8
linking new tests in
2015-10-25 14:03:47 +02:00
Torsten Ruger
7de2f913a0
more class tests
2015-10-25 13:19:18 +02:00
Torsten Ruger
12e31f28c2
fix and test class definition
2015-10-25 12:31:35 +02:00
Torsten Ruger
7a690cd38d
fix to_s
2015-10-25 12:10:56 +02:00
Torsten Ruger
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
Torsten Ruger
a871f96630
remove passes and achieve the same by translating
2015-10-24 11:42:36 +03:00
Torsten Ruger
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
Torsten Ruger
6754518daf
prune builtin
...
will need much less, many more things can be expressed in soml
2015-10-23 15:13:05 +03:00
Torsten Ruger
147a77f4e4
fix arm test by fixing arm
2015-10-23 14:46:27 +03:00
Torsten Ruger
897e11ce80
store three versions of the code in method
...
source, instructions and binary
2015-10-23 14:41:47 +03:00
Torsten Ruger
e0c5bc4c11
rename phisol to soml
2015-10-23 14:22:55 +03:00
Torsten Ruger
dcbd3c7091
fold last of the virtual into register
2015-10-22 18:16:29 +03:00
Torsten Ruger
c68577c3f4
fixed more cases of empty block syndrome
2015-10-22 15:37:02 +03:00
Torsten Ruger
6ac339d998
catching empty blocks
...
should really clean those away
2015-10-22 15:34:47 +03:00
Torsten Ruger
b932f67da0
fixing tests
...
because interpreter was fixed
2015-10-22 14:51:20 +03:00
Torsten Ruger
3895ac624c
fix offsets, debugging revealed them to be 1 off
2015-10-22 11:48:03 +03:00
Torsten Ruger
4ca15449be
test and fix arg passing offset too
2015-10-22 11:32:37 +03:00
Torsten Ruger
13b8d0645f
tests for offset fix
2015-10-22 11:02:57 +03:00
Torsten Ruger
db5c37bc55
fix while syntax and test
2015-10-19 16:37:12 +03:00
Torsten Ruger
99cff3aa32
fix the if syntax and branches
2015-10-19 16:22:24 +03:00
Torsten Ruger
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
Torsten Ruger
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
Torsten Ruger
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
Torsten Ruger
d767caf479
remove MethodCall and thus all virtual instructions
2015-10-18 19:27:46 +03:00
Torsten Ruger
15b570f5cf
removing passes (before arm)
...
collector becomes a function
minimizer unused
2015-10-18 19:27:02 +03:00
Torsten Ruger
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
Torsten Ruger
8bf1337043
Remove MethodReturn instruction
...
and pass
and fix all tests
move towards removing all vm instructions
2015-10-18 17:32:32 +03:00
Torsten Ruger
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
Torsten Ruger
da5502e301
minor
2015-10-17 19:36:00 +03:00
Torsten Ruger
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
Torsten Ruger
17545d1525
fix add test
2015-10-16 21:42:11 +03:00
Torsten Ruger
3e79e5cf8e
fix code duplication
2015-10-16 19:18:37 +03:00
Torsten Ruger
5131e5d050
formatted interpreter tests
...
little helper to output the classes
2015-10-16 19:04:17 +03:00
Torsten Ruger
dc3920580b
bit more cleaning of testing
2015-10-16 18:34:54 +03:00
Torsten Ruger
3b07f625a7
fix another order dependant issue
2015-10-16 17:58:07 +03:00
Torsten Ruger
5e04ee7212
bitten by test order, fixed
2015-10-16 17:17:39 +03:00
Torsten Ruger
bd2bf612ac
fixed last test
...
back in the green
2015-10-16 17:13:08 +03:00
Torsten Ruger
a6712fc4f9
add call statement tests
2015-10-16 13:20:21 +03:00
Torsten Ruger
84eb516a01
add while statement tests
2015-10-16 13:17:02 +03:00
Torsten Ruger
349352faa9
minor
2015-10-16 13:12:52 +03:00
Torsten Ruger
6f856315d7
fix and test assign
...
also fix field def and
externalized assign
2015-10-15 13:08:53 +03:00
Torsten Ruger
398ec513f4
wrap in register module for shorter result names
2015-10-15 10:24:10 +03:00
Torsten Ruger
90ed4dd73b
test return statement
2015-10-15 10:21:07 +03:00
Torsten Ruger
f8efdd910c
basic if statement tests
2015-10-15 09:47:11 +03:00
Torsten Ruger
3d83f203ca
fixing and testing operators
2015-10-15 09:32:47 +03:00
Torsten Ruger
e436581ce8
adds value to used regs and test for it
2015-10-15 09:07:47 +03:00
Torsten Ruger
300ce24739
remove function test from here and use setup
...
function definition is a statement, goes there
2015-10-14 21:57:37 +03:00
Torsten Ruger
2094101bb2
clearer organization for compiler tests
...
was slightly messy with small/large
now needed different test for expression and statements
2015-10-14 21:49:05 +03:00
Torsten Ruger
0c8be466df
fix parfait test
2015-10-14 21:36:51 +03:00
Torsten Ruger
f105b1eb3c
fix name expression
2015-10-14 21:34:18 +03:00
Torsten Ruger
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
Torsten Ruger
d8a5dc147b
new function test and scoping fix
2015-10-14 15:17:33 +03:00
Torsten Ruger
1ea34481c1
define putting dummy to fix test
2015-10-14 15:08:42 +03:00
Torsten Ruger
e33a20dd41
minor housekeeping
2015-10-14 13:48:42 +03:00
Torsten Ruger
5b95319191
almost rewritten the call site
...
statements resolve to nothing and use all registers
expressions return register and allocate those with use_reg
2015-10-14 13:48:21 +03:00
Torsten Ruger
5122137a33
start new elf testing category (and minors)
2015-10-13 17:30:39 +03:00
Torsten Ruger
f506f95cbf
fixing basic and field access to return register
...
as that is the new way, drop a layer, code to registers
2015-10-13 16:42:53 +03:00
Torsten Ruger
80d58ee03c
fixed simple layout offset bug in layout
2015-10-13 14:46:07 +03:00
Torsten Ruger
3c7c8dea92
add basic compiler tests
2015-10-10 12:29:52 +03:00
Torsten Ruger
3d342f7d88
remove new_message instruction
2015-10-10 12:04:34 +03:00
Torsten Ruger
c3eb295f4e
remove set optimization
...
will become obsolete soon anyway
2015-10-10 11:52:54 +03:00
Torsten Ruger
c20ab21bbd
improve tests
2015-10-10 10:02:28 +03:00
Torsten Ruger
530537de1a
improve fragment checks
2015-10-09 21:53:22 +03:00
Torsten Ruger
024e6cb389
ion out last changes from grammar update
...
surprisingly painless, considering it was more or less a rewrite
2015-10-09 18:06:00 +03:00
Torsten Ruger
4c17ed2e6e
update the reader rewrite and reflect name changes
2015-10-09 17:51:14 +03:00
Torsten Ruger
99098951ca
rename bosl to phisol
2015-10-07 15:22:47 +03:00
Torsten Ruger
e669489419
went over the various readmes
2015-10-07 11:32:48 +03:00
Torsten Ruger
88fc4c0e47
clean up more tests
2015-10-07 10:53:45 +03:00
Torsten Ruger
c1d31a541d
improve method test
...
mostly by actually testing main, which is what is checked
2015-10-07 10:43:08 +03:00
Torsten Ruger
cd96e78e2d
small fix
2015-10-07 10:22:45 +03:00
Torsten Ruger
513bc8d7cf
fix more disabled tests
2015-10-07 10:19:25 +03:00
Torsten Ruger
83ef902b55
better calcite and operator to expand the interpreter test
2015-10-07 10:05:34 +03:00
Torsten Ruger
af6366f2d1
small fixes to make tests pass again
2015-10-07 10:04:55 +03:00
Torsten Ruger
4e26166dff
fix type in call issue
2015-10-06 15:26:57 +03:00
Torsten Ruger
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
Torsten Ruger
4186405930
new i_to_s test
2015-09-27 22:39:10 +03:00
Torsten Ruger
259b0afa96
improve tests
2015-09-27 20:28:34 +03:00
Torsten Ruger
eb57eb4d41
minor send fixes
2015-09-27 19:07:56 +03:00
Torsten Ruger
252c0ccdca
finish typing variables
2015-09-27 16:06:48 +03:00
Torsten Ruger
94c08f7129
small clean
2015-09-27 14:07:02 +03:00
Torsten Ruger
5a2a857485
finish the field access
...
now that fields can be defined
2015-09-27 12:59:50 +03:00
Torsten Ruger
b99b392481
new field access code and test. wip as field def broken
2015-09-27 11:28:06 +03:00
Torsten Ruger
c4f89441e2
cleaning
2015-09-27 11:27:30 +03:00
Torsten Ruger
9fe01c7b31
remove unknown type
2015-09-23 18:35:37 +03:00
Torsten Ruger
4b613fb632
virtual tests back
2015-09-21 00:14:47 +03:00
Torsten Ruger
a5b09ab059
fixed interpreter tests
2015-09-21 00:09:11 +03:00
Torsten Ruger
b1cab4f395
compiler test back up
2015-09-20 17:33:05 +03:00
Torsten Ruger
5f628744d6
more test working
...
operator wip
2015-09-20 16:52:26 +03:00
Torsten Ruger
f2fc9c5f89
new field def compiles, fix test
2015-09-20 16:30:07 +03:00
Torsten Ruger
bc70c1efe5
temporarily disabling test that haven't been fixed yet
2015-09-19 22:24:57 +03:00