Torsten Ruger
0fa7f54bcc
found and fixed hashing bug
2016-12-31 14:04:04 +02:00
Torsten Ruger
d6c503ecf4
inlined indexed into list
...
which was the only one using it.
A whole lot simpler, considering it will have to be bootstrapped someday
2016-12-30 21:00:18 +02:00
Torsten Ruger
7f06e00ccd
making types private in space
...
turned out to be unnecessary, but still better
2016-12-30 20:47:28 +02:00
Torsten Ruger
ef66a87527
fixed silly dictionary bug
...
also finally duplicating keys and values and not handing them out
2016-12-30 20:46:18 +02:00
Torsten Ruger
a7935db107
cleaner way to generate argument types
...
possibly more correct
2016-12-30 19:17:59 +02:00
Torsten Ruger
83b6628f1a
whitespace and code style
2016-12-30 19:17:15 +02:00
Torsten Ruger
db798d1a4a
no default arg on init
...
also making sure the type is in the hash
but also that the order of type does not matter
2016-12-30 18:41:36 +02:00
Torsten Ruger
a82c9e8fb1
minor whitespace and renaming
2016-12-30 18:39:49 +02:00
Torsten Ruger
f0350601a7
Move the space instance to the parfait module
...
A better fit, maybe even a pattern for singletons
2016-12-30 14:10:49 +02:00
Torsten Ruger
a00f6be3ba
remove the space instance from register machine
...
bad design, probably from the booting
2016-12-30 14:04:59 +02:00
Torsten Ruger
ef872edd7a
rename instance_methods to just methods
2016-12-30 13:33:07 +02:00
Torsten Ruger
631038dfbd
add another test (still failing)
2016-12-30 13:15:08 +02:00
Torsten Ruger
8aae8f7425
disabling failing test for now
...
have to add more test and code climate will show where
2016-12-29 21:24:11 +02:00
Torsten Ruger
4b5c590afe
rework the boot process
...
Using a BootSpace mock to use more of the ruby new as before
Still some allocating and mucking about, but less
2016-12-29 18:53:24 +02:00
Torsten Ruger
e69d9a492e
mostly moving to ruby instance variables
2016-12-29 18:51:24 +02:00
Torsten Ruger
25f44949e4
removing the fake memory form object
...
just in word and list now
2016-12-29 18:49:03 +02:00
Torsten Ruger
6214040888
changing to ruby instance variables
...
from the fake memory
2016-12-29 18:47:45 +02:00
Torsten Ruger
b5f04ec718
mostly renames from the type change
...
also making setters as explicit set_xx methods
2016-12-29 18:45:32 +02:00
Torsten Ruger
f4b3c645e5
rework type with separate arrays for names and types
...
Means no more indexed
also using ruby instances
small rename for names
2016-12-29 18:42:38 +02:00
Torsten Ruger
4c3007e6c0
removing meta class (for now)
2016-12-29 18:39:59 +02:00
Torsten Ruger
80237e5033
rename position accessor
...
for future
2016-12-28 21:40:06 +02:00
Torsten Ruger
c60949fe24
small refactor on arg loading
2016-12-28 21:10:14 +02:00
Torsten Ruger
e551732f18
tighter integration with factory methods for adding code
...
define methods to collapse the code Register.
in add_code Register.factory_method
most instructions done, except op and branch that are rare
2016-12-28 20:37:54 +02:00
Torsten Ruger
af31774074
implement assignment type check
2016-12-28 19:20:16 +02:00
Torsten Ruger
9cf56b3aa6
use factory functions consistently to create instructions
2016-12-28 19:01:58 +02:00
Torsten Ruger
4cf732d395
use transfer factory
2016-12-28 18:37:15 +02:00
Torsten Ruger
57c038f13b
use load_constant factory method
2016-12-28 18:31:29 +02:00
Torsten Ruger
7d29a85187
remove legacy :int type
2016-12-28 18:25:14 +02:00
Torsten Ruger
a3585870b9
remove unused code
2016-12-28 18:17:52 +02:00
Torsten Ruger
4412eda105
small refactor and rename
2016-12-28 18:16:39 +02:00
Torsten Ruger
184f129107
dead comment removal
2016-12-28 18:10:33 +02:00
Torsten Ruger
25ae6e3d26
remove next_list from NamedList
...
Was legacy from the days of (linked) Frames
Now only messages are linked
2016-12-28 18:08:07 +02:00
Torsten Ruger
8867b13240
yep, opal != OPAL
...
engine has to be in small letters it seems
OPAL came from the original commit in 2013, but alas
2016-12-28 14:35:07 +02:00
Torsten Ruger
9226de4502
testing to_s
2016-12-28 14:11:05 +02:00
Torsten Ruger
266764be06
testing to_s on Code
2016-12-28 13:59:02 +02:00
Torsten Ruger
a8f3d5a634
had to fix the string hash for opal
2016-12-28 13:53:57 +02:00
Torsten Ruger
4940bc41a3
keep positions globally, not in the object
...
hopefully cleaner switch after bootstrapping
2016-12-28 12:51:18 +02:00
Torsten Ruger
903fc3e4cf
much ripples from changing the calling convention
...
See previous commit
Now args and locals are arrays in the Message
2016-12-27 20:39:39 +02:00
Torsten Ruger
f1cfd3c379
change calling convention
...
Message carries arrays for arguments and locals
This means an extra load for any access
Also fix silly bug: using the wrong method (the one we’re in, not the
one we’re calling)
2016-12-27 20:37:53 +02:00
Torsten Ruger
3c3dedadd1
remove indexed_length from NamedList
2016-12-27 20:34:47 +02:00
Torsten Ruger
aaa94f0743
small fixes
2016-12-27 20:34:11 +02:00
Torsten Ruger
a5946cb644
same renames for bytes (set/get_byte)
2016-12-25 18:11:58 +02:00
Torsten Ruger
f648bf7bd5
rename also get_slot, to slot_to_reg
...
makes source and target clear
2016-12-25 18:05:39 +02:00
Torsten Ruger
35adf9a5e6
rename set_slot
...
set_slot was clear about the target, but not the source.
Better with reg_to_slot (and soon it’s inverse slot_to_reg)
2016-12-25 18:02:39 +02:00
Torsten Ruger
1b8d6149dd
adding to_s to code for debugging
2016-12-23 21:31:31 +02:00
Torsten Ruger
6c9bd7e476
remove unused code
...
also just came through opal
2016-12-22 21:16:56 +02:00
Torsten Ruger
3b888b203d
crude rework of the hashing to work in opal
2016-12-22 21:16:36 +02:00
Torsten Ruger
2adec3226c
opal gods require explicit requires
2016-12-22 21:15:20 +02:00
Torsten Ruger
c3c52d36b8
seperate args from message (just like frame)
2016-12-21 22:35:36 +02:00
Torsten Ruger
ed12108425
rename locals from type to role in message
2016-12-21 19:01:42 +02:00