Commit Graph

1729 Commits

Author SHA1 Message Date
ab01fa3862 switch to 0 based indexing
the world rocked for a moment (and more fixes to follow)
also the crumbling of idealism was heard
2018-05-14 11:55:01 +03:00
4856b9891d simplify writing binary
loop as should be, fixes the problem (one problem at least)
2018-05-13 18:01:45 +03:00
866467ee5e change binary labels 2018-05-13 17:21:48 +03:00
39902401b9 positioning code by setting first method code
codes will initial (and on reset) propagate the whole chain
2018-05-13 15:28:10 +03:00
7ad36380c2 add next_value for dictionary
also next for list
and add types attributes to space
2018-05-13 13:03:04 +03:00
2d901bf7b6 not wrapping the cpu initial jump anymore
also introduce padding after cpu_init (wip)
2018-05-12 18:36:59 +03:00
232fe67c09 introduce platform to abstract cpu and load address 2018-05-12 18:32:10 +03:00
776a97986d fix instruction positioning
use at as at and only compute difference when needed (to determine if
there is a jump in binary)
Easier to understand that way
2018-05-11 18:36:45 +03:00
bc1e29e4f6 seperate different Position classes into own files
also tests
and have Position module keep all positions
(singletons should be at module, not class level)
2018-05-10 20:56:12 +03:00
1169fa7220 propagating binary code position on extend 2018-05-09 20:36:49 +03:00
6a1528e75a Fix instruction resetting
which happens on insert of a new instruction
2018-05-08 20:53:48 +03:00
7ca7e92dda remove link exception class 2018-05-08 20:22:04 +03:00
cf06642768 start passing positions along inside the position code 2018-05-08 19:59:43 +03:00
ce3cc72f9e move all position setting into position
Position and subclasses handle the logic, external to
the classes, so it can be swapped out later
(at runtime positions can’t change)
2018-05-07 22:30:43 +03:00
68fb9b1bdc rename Position get/set 2018-05-06 20:04:02 +03:00
415df49199 hand context into position 2018-05-06 00:34:59 +03:00
6b7e1e3932 remove link exception raise
need to fix move logic next
2018-05-05 23:55:50 +03:00
40f4bfc287 change to position objects complete 2018-05-05 20:25:10 +03:00
3244c7d633 add position tests
and refactor padding out
2018-05-05 20:11:08 +03:00
d65a982454 start by moving positioned(module) to position(class) 2018-05-05 19:47:18 +03:00
43d5521cfc debugging positions 2018-05-05 19:32:01 +03:00
d49d2665c5 reinit risc_init
fixes over 100 tests :-)
2018-05-01 22:36:46 +03:00
06f51da8f1 rename get_all_methods 2018-05-01 19:19:37 +03:00
1acd231a33 debugging binaries, initial jump issues 2018-04-30 13:28:55 +03:00
d84d208192 implement assignment normalisation
especially when the value is a send that needs normalising
fixes several broken tests
2018-04-27 21:56:41 +03:00
1685ba5a44 fix send normalisation 2018-04-27 21:55:41 +03:00
672ccb351d fix argument hoisting
arguments in vool must be simple variables
finally did the hoisting to do that
2018-04-27 09:59:01 +03:00
08d0aae79e refactor send vool tests 2018-04-26 20:26:42 +03:00
26fe77ed68 add some multi method tests 2018-04-26 12:33:33 +03:00
a8e7602193 extract setup for mains test 2018-04-26 12:33:19 +03:00
a7207a9984 wrap parfait tests in module and boot 2018-04-26 12:31:37 +03:00
30ba626cf9 fix knock ons 2018-04-24 20:16:50 +03:00
6fc84d2f98 bit of renaming and a string test 2018-04-24 20:12:49 +03:00
ee28d12429 bit more comparison testing 2018-04-24 19:57:14 +03:00
2bd39bd3dd renaming 2018-04-24 19:46:22 +03:00
ec5a7f8a02 implement larger/smaller or equal 2018-04-24 19:45:58 +03:00
7a2160e9b4 fix comparison operator
< implemented <=
2018-04-23 19:39:16 +03:00
ef5854c4df start larger tests 2018-04-23 14:05:37 +03:00
1907574c60 bit of organising 2018-04-23 13:16:46 +03:00
020bce740a more complex while test
that works, but does leave one wondering what is tested apart from the
result (1)
2018-04-20 19:38:33 +03:00
6a8bb90704 test multiple assigns 2018-04-20 13:13:09 +03:00
98f3898acd fix while tests 2018-04-20 10:27:06 +03:00
bf6e0853ce fix while back jump
while normalising the condition had gone before the
jump target accidentally
2018-04-20 09:56:06 +03:00
04359546b7 implement greater than 2018-04-19 22:57:31 +03:00
be3d125b82 implement smaller than comparison
which is NOT an operator in the risc sense
rather a minus and a check for sign
(which _could be more efficient in arm, with conditional execution)
2018-04-19 22:41:40 +03:00
9e21719aeb generalise the operator handling
ie passing them through
implementing more
2018-04-19 22:13:52 +03:00
7d9132ee36 test other int methods
harness for testing compiler in a method (before just in a case)
2018-04-19 19:59:48 +03:00
a98d7630fb start testing builtin seperately
in terms of output only
2018-04-19 19:47:35 +03:00
1741ad540e move test helper code to support
to be reused
2018-04-19 19:33:40 +03:00
13d8a65e07 add while interpreter test 2018-04-19 19:23:12 +03:00