Torsten Ruger
|
e3673e579c
|
pass extra info into register init, not just value
extra info may be hash, maybe just type info
|
2018-07-16 11:23:09 +03:00 |
|
Torsten Ruger
|
a71a6d34fb
|
use message reg not message
for upcoming change
|
2018-07-15 15:14:38 +03:00 |
|
Torsten Ruger
|
edea9ac080
|
makeing the method of the compiler more or less private
in preparation for using the same code for bocks
|
2018-07-09 19:32:17 +03:00 |
|
Torsten Ruger
|
91a99b1239
|
let boot_functions return the compilers
methods are still added, but this is a good step to removing the risc/cpu level from the methods
|
2018-06-30 23:16:17 +03:00 |
|
Torsten Ruger
|
86b1edb40c
|
add seperate builders
remove if with polymorphism for different builders
(easier to understand by naming)
|
2018-06-29 13:27:57 +03:00 |
|
Torsten Ruger
|
1c52ab6b67
|
use hex for labels
idea was to be able to compare to positions
(but they are different positions)
|
2018-05-01 19:20:16 +03:00 |
|
Torsten Ruger
|
ec5a7f8a02
|
implement larger/smaller or equal
|
2018-04-24 19:45:58 +03:00 |
|
Torsten Ruger
|
7a2160e9b4
|
fix comparison operator
< implemented <=
|
2018-04-23 19:39:16 +03:00 |
|
Torsten Ruger
|
04359546b7
|
implement greater than
|
2018-04-19 22:57:31 +03:00 |
|
Torsten Ruger
|
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 |
|
Torsten Ruger
|
9e21719aeb
|
generalise the operator handling
ie passing them through
implementing more
|
2018-04-19 22:13:52 +03:00 |
|
Torsten Ruger
|
3a50b7dd0e
|
fix mod4 name
really did div4
|
2018-04-19 10:00:55 +03:00 |
|
Torsten Ruger
|
059ff4a868
|
pass a source into the builder
for debugging
|
2018-04-18 19:12:30 +03:00 |
|
Torsten Ruger
|
8c322329fb
|
fix builtin methods according to last commit
|
2018-04-08 18:52:17 +03:00 |
|
Torsten Ruger
|
3a9539a071
|
adds multiplication
without overflow testing, like the others
|
2018-04-01 21:18:08 +03:00 |
|
Torsten Ruger
|
b1376e83bd
|
add integer minus
rework plus to make that easy
|
2018-04-01 15:26:53 +03:00 |
|
Torsten Ruger
|
972cf47c8b
|
adding returns to all builtins
|
2018-04-01 15:17:16 +03:00 |
|
Torsten Ruger
|
def67205f0
|
fix mod4
which is just shift right by 2 after all
|
2018-04-01 15:13:12 +03:00 |
|
Torsten Ruger
|
10fa61aa9f
|
fix integer plus
mostly forgot the return sequence
|
2018-04-01 14:56:01 +03:00 |
|
Torsten Ruger
|
8acfda457f
|
fix div10
by reducing the incoming integer to fixnum
and then pushing the fixnum result into a new integer
|
2018-04-01 14:50:13 +03:00 |
|
Torsten Ruger
|
5a861d4ed5
|
move some compiler helpers to the compiler itself
|
2018-04-01 14:09:30 +03:00 |
|
Torsten Ruger
|
168c2e862f
|
move wip tests
|
2018-04-01 14:01:17 +03:00 |
|
Torsten Ruger
|
4725b81270
|
get those integers crated and used
|
2018-03-31 20:21:27 +03:00 |
|
Torsten Ruger
|
5b92b6b785
|
get plus (+) working
alas, new integer is not created yet
|
2018-03-31 19:37:24 +03:00 |
|
Torsten Ruger
|
a2173645b3
|
remove the :int shorthand
|
2018-03-31 19:17:55 +03:00 |
|
Torsten Ruger
|
6e941ebcb7
|
introduce load_data instruction
which just loads data to a register (used internally)
as opposed to integers, which are objects
|
2018-03-31 12:38:30 +03:00 |
|
Torsten Ruger
|
e68b28d66d
|
fix helper
and start on arg test
|
2018-03-30 18:05:38 +03:00 |
|
Torsten Ruger
|
1956f18faa
|
add an integer plus
not correctly handling integer objects yet
|
2018-03-30 17:09:02 +03:00 |
|
Torsten Ruger
|
793fa313a5
|
change operators to symbols
|
2018-03-24 17:53:27 +02:00 |
|
Torsten Ruger
|
3ceb2c2f69
|
fix div10 return sequence
did not return at all before
|
2018-03-24 16:51:26 +02:00 |
|
Torsten Ruger
|
0813312ddc
|
using compiler_for to create all building compilers
unify api, create defaults and especially pass the right types into the
typed method creation
|
2018-03-18 22:08:35 +05:30 |
|
Torsten Ruger
|
03a4e04f7e
|
rename self to receiver
just because it is a keyword and can’t be used
|
2018-03-14 20:26:13 +05:30 |
|
Torsten Ruger
|
5fe0ba06ab
|
stash old vm
moving on to getting mom to work and can’t have both
interpreter and elf broke, about 100 tests went
|
2018-03-11 17:02:42 +05:30 |
|
Torsten Ruger
|
aa79e41d1c
|
rename register to risc
seems to fit the layer much better as we really have a very reduced
instruction set
|
2017-01-19 09:02:29 +02:00 |
|