Torsten Ruger
bee73801eb
revert to symbols
...
Parfait::Words were nice, but endless problems with the fact that when
you write “String” you get a string.
Symbols take care of uniqueness at the same time
2015-05-31 18:34:18 +03:00
Torsten Ruger
5d870ef154
got it down to string equality/identity
2015-05-31 17:54:36 +03:00
Torsten Ruger
1509e7ba2f
better assembly
...
but bug is still scuttling around there in
link/assembly process
2015-05-31 14:45:28 +03:00
Torsten Ruger
7a5cf03d73
minor fixes
2015-05-31 14:44:26 +03:00
Torsten Ruger
db5c958d2e
fix lists first
2015-05-31 13:26:47 +03:00
Torsten Ruger
03bdc16810
fixed layouts
...
also moved objects to machine, from space
space has a list of objects, but implicit,
not as an explicit array
2015-05-31 13:02:29 +03:00
Torsten Ruger
aaa206fbca
debugging missing layout
2015-05-31 11:07:49 +03:00
Torsten Ruger
deaa062062
start to minimize
...
filter unused methods
Filter works, need to remove still
2015-05-30 14:49:47 +03:00
Torsten Ruger
079306dbf8
move main to object (from kernel)
2015-05-30 14:49:10 +03:00
Torsten Ruger
24259fa18b
fix method list (was still array)
2015-05-30 14:47:56 +03:00
Torsten Ruger
96a20ff554
add delete to list
2015-05-30 14:22:33 +03:00
Torsten Ruger
e651b57d08
homing in on line length 100
2015-05-30 12:20:39 +03:00
Torsten Ruger
33d464f032
minor
2015-05-30 11:56:47 +03:00
Torsten Ruger
bea10cc560
fix bug where layout wasn't initialized
2015-05-30 11:55:46 +03:00
Torsten Ruger
3e9e650764
fix arm tests
2015-05-29 12:47:49 +03:00
Torsten Ruger
73e5ec550a
small fixes
2015-05-29 12:33:59 +03:00
Torsten Ruger
a46b2d5c56
update to use parfait not virtual
...
more ripples
reverting to integers (not virtual::integer)
2015-05-29 12:33:40 +03:00
Torsten Ruger
c28430698c
get binary code to work
2015-05-28 21:10:27 +03:00
Torsten Ruger
5845bde33a
binary code to its own class
...
makes linking easier
2015-05-26 20:17:43 +03:00
Torsten Ruger
96c59ac144
fixing assembly (wip)
...
main entry is the main problem, still polishing
2015-05-26 20:17:03 +03:00
Torsten Ruger
8413f6b470
smaller clean-ups
2015-05-25 18:48:35 +03:00
Torsten Ruger
4d0773ebae
misc
2015-05-24 20:00:11 +03:00
Torsten Ruger
5670f07eac
bit more on booting of the space
2015-05-24 19:59:19 +03:00
Torsten Ruger
2ccbea04b9
fixing assembly
...
position code changed and linking too
passes not working
2015-05-24 18:05:20 +03:00
Torsten Ruger
95ac024421
fix old tests again
2015-05-24 16:55:03 +03:00
Torsten Ruger
29a34b4d24
no need to keep object list in linker (use space)
2015-05-24 16:25:17 +03:00
Torsten Ruger
3e18694be7
code for method
2015-05-24 16:24:57 +03:00
Torsten Ruger
38cb9f7d3c
get words to compare to strings
2015-05-24 15:31:44 +03:00
Torsten Ruger
b58bba3fc4
register access fixes
...
since the constants moved
2015-05-24 15:31:30 +03:00
Torsten Ruger
6f0ae51dc5
move register constants here
2015-05-24 15:07:07 +03:00
Torsten Ruger
05a7ded7d5
fix space layout and init
2015-05-24 15:06:35 +03:00
Torsten Ruger
1170761922
fix classic index bug
2015-05-24 15:05:58 +03:00
Torsten Ruger
6786855e95
start on passes
...
after all that booting and vm/parfait changes
passes have gone out of sync, start to fix
2015-05-24 13:55:05 +03:00
Torsten Ruger
47abdffd1a
minor
2015-05-24 13:54:17 +03:00
Torsten Ruger
3c0022191b
more booting
2015-05-24 13:53:49 +03:00
Torsten Ruger
e64733d72b
some link for readmes
...
for salama-reader
2015-05-24 13:42:29 +03:00
Torsten Ruger
1a499a1de9
fix method seperation
...
Since Compiled method split into Method and
CompiledMethodInfo (parfait/vm) lots of call
syntax changes
2015-05-24 13:31:33 +03:00
Torsten Ruger
1d9ef6d5c8
boot process 90 percent done
...
Creating the class and layout objects in the
right order was tricky, but now mostly done
2015-05-23 12:15:06 +03:00
Torsten Ruger
94f49bf5c2
much work on boot process
...
fiddly egg and chicken, though a bit clearer with parfait objects now
2015-05-22 22:51:36 +03:00
Torsten Ruger
174afb33fb
catch errrors
2015-05-22 22:50:40 +03:00
Torsten Ruger
b687255976
move to parfait members
2015-05-22 22:50:19 +03:00
Torsten Ruger
b4eb14e639
found bug and more tests
2015-05-21 21:50:39 +03:00
Torsten Ruger
531d3e181a
was missing some super inits
2015-05-21 21:50:17 +03:00
Torsten Ruger
a28b41a5f5
renamed adapter
...
seemed more appropriate as it makes the
parfait work in the vm (i.e. adapts parfait)
2015-05-21 21:49:47 +03:00
Torsten Ruger
422ec64105
all green
...
That fixes all existing tests. Operation successful
Off course there is tests missing :-(
2015-05-20 17:29:08 +03:00
Torsten Ruger
2ec9ee90f9
forgot to init super
...
which caused the fake_mem to be nil
2015-05-20 17:17:11 +03:00
Torsten Ruger
6eba363fb8
more speration
...
Separating vm and parfait
especially in method this is hairy, lots of ripples
bug is back in sod (i hope thats a good thing)
2015-05-20 17:11:13 +03:00
Torsten Ruger
d6d0f4f43a
split compiled_method into method and compiled_method_info
2015-05-20 16:43:26 +03:00
Torsten Ruger
dd2a5e367f
more docs and better read me
2015-05-20 13:50:56 +03:00
Torsten Ruger
d71547ea01
copy and other improvements for word
...
more tests reveal a bug (fixed) and more docs
2015-05-20 13:50:25 +03:00
Torsten Ruger
06cfba7c58
get sod to output lists and dicts
2015-05-20 10:57:20 +03:00
Torsten Ruger
8ec8a519ba
externalize boot process
...
Booting is complicated, make an own file for it
2015-05-19 20:29:33 +03:00
Torsten Ruger
4e3640e432
shift code from class to module
...
as class derives from module, module carries
much of the code that one thinks of as class
class only handles allocation really
2015-05-18 12:35:01 +03:00
Torsten Ruger
cfc2c474b2
test compatibility layer
...
test from and to std/parfait objects
for list and word for now
moved some of that code to virtual, out of parfait
2015-05-18 10:47:29 +03:00
Torsten Ruger
f7eb888c36
refactoring virtual parfait code
2015-05-18 10:21:23 +03:00
Torsten Ruger
d348e7afe7
more parfait ripples
...
changes due to previous changes in parfait api
2015-05-18 10:10:31 +03:00
Torsten Ruger
cff827ad42
final word fix
...
that does the parfait
2015-05-17 15:34:45 +03:00
Torsten Ruger
e70bfb9f7a
many minor parfait fixes
2015-05-17 15:34:29 +03:00
Torsten Ruger
3bdba119c8
fix the list after object fixes
...
start index at 1, but don’t overwrite layout,
so add one
2015-05-17 14:56:06 +03:00
Torsten Ruger
3b268df920
init with nil layout
...
making the default length 1 (the nil layout)
2015-05-17 14:55:10 +03:00
Torsten Ruger
701b0bc011
fix object grow
...
and write a test (and another one …)
2015-05-17 14:44:48 +03:00
Torsten Ruger
1114f06921
rename old layout()
...
new is called get_layout, but keep old around for
checking
2015-05-17 14:41:18 +03:00
Torsten Ruger
350d708fd3
introduce some constants
2015-05-17 14:40:02 +03:00
Torsten Ruger
8fa501fb91
fix object compiletime
...
and write some tests for it
2015-05-17 14:38:25 +03:00
Torsten Ruger
fe2be323d8
improve boot
...
also move to superclass not superclass_name in class
Makes ripples
2015-05-16 20:16:49 +03:00
Torsten Ruger
7085dee510
array to list conversion
...
start on layouts
2015-05-16 14:01:48 +03:00
Torsten Ruger
bee269f7a8
just renaming
2015-05-16 12:54:11 +03:00
Torsten Ruger
9376b8bc16
work on ObjectWriter
...
Back to the root! but lots of adjusting
ObjectWriter takes machine, machine has space
Virtual constants become Parfait::Objects etc
2015-05-16 12:53:10 +03:00
Torsten Ruger
9d8dc68bf4
fixing all tests
2015-05-15 21:11:44 +03:00
Torsten Ruger
f691ba1b20
using sof is_value
2015-05-15 21:11:29 +03:00
Torsten Ruger
a46dd9f6bf
more word tests
2015-05-15 20:31:43 +03:00
Torsten Ruger
0731a6061a
fix word implementation and tests
...
much better, though wasteful implementation
breaks a few tests, but ploughing on first
2015-05-15 16:45:36 +03:00
Torsten Ruger
164816c441
basic word functionality
...
and conversion from string
2015-05-14 20:39:12 +03:00
Torsten Ruger
5e0e8c8364
move index_of to list
...
and give it a sort of basic implementation
2015-05-14 19:54:38 +03:00
Torsten Ruger
c2b84925a4
basic functions for object
2015-05-14 19:53:56 +03:00
Torsten Ruger
9d711e7766
moving string to parfait
...
using parfait::word
also rename builtins string to word
2015-05-13 16:17:10 +03:00
Torsten Ruger
baca6eb4c6
rename string to word
2015-05-13 16:06:38 +03:00
Torsten Ruger
bf5576f805
small clean
2015-05-13 12:22:51 +03:00
Torsten Ruger
f92e5cf475
fix all tests again
2015-05-13 12:15:14 +03:00
Torsten Ruger
dd41758dea
renamed array and hash to list and dictionary
...
Since these are not the ruby classes, we don’t need
the old names. They are misleading.
An Array is a military term, we mean list
And a Hash is an implementation of a Dictionary,
or LookupTable
2015-05-12 19:10:45 +03:00
Torsten Ruger
a94ce51c58
also test array
...
minor (ahm) fixes to array logic
2015-05-12 19:03:14 +03:00
Torsten Ruger
398516a596
fixes parfaits hash by implementing array
...
basic concept holds up as parfaits hash is now
working on parfaits own array
2015-05-12 18:52:01 +03:00
Torsten Ruger
b980def84e
move space to parfait
...
Also make the machine the singleton
and space hang off it
Many repercussions, not all fixed in this commit
2015-05-12 15:36:44 +03:00
Torsten Ruger
2e8b514e9c
start to use parfait classes
...
bit of a bumpy road
2015-05-12 14:58:29 +03:00
Torsten Ruger
73a6a5db39
move meta and boot class to parfait
...
just cosmetic, fixed requires but not code
2015-05-12 09:54:36 +03:00
Torsten Ruger
b804354236
fix requires and some scoping
2015-05-12 09:44:34 +03:00
Torsten Ruger
ab870e3323
moved the whole parfait into its namespace/module
2015-05-11 18:55:49 +03:00
Torsten Ruger
a552e3fbce
remove virtual frame (just using parfait)
2015-05-10 17:12:43 +03:00
Torsten Ruger
d41676fdfd
namespace cleanup
...
remove unnecessary Virtual namespace prefix
which was a large motivation for the move
2015-05-08 15:19:30 +03:00
Torsten Ruger
de8fe46fe0
move compiler into virtual
...
and associated changes in code, requires tests etc
2015-05-08 15:10:30 +03:00
Torsten Ruger
a1b9acce3d
basic name expression code
...
needs fleshing out and tests
2015-05-08 14:57:11 +03:00
Torsten Ruger
c700a3aabe
better compiler docs
2015-05-08 14:55:01 +03:00
Torsten Ruger
6f2affaf36
fix name expression and test
...
plus various cleaning and rename off call_site
2015-05-08 14:34:46 +03:00
Torsten Ruger
2fde50c27a
some more tests fixed
2015-05-06 15:15:53 +03:00
Torsten Ruger
9bf5eb2621
somewhat correct that message at compile-time idea
2015-05-06 15:15:33 +03:00
Torsten Ruger
8a7db6d4f2
remove message as third arg to compile
2015-05-06 15:14:47 +03:00
Torsten Ruger
1feed6af44
create one file per instruction
2015-05-06 08:55:14 +03:00
Torsten Ruger
4f1508ca61
moved slots to own directory
2015-05-06 08:38:29 +03:00
Torsten Ruger
cdea4915f9
bit more cleanup after compiler
2015-05-05 15:11:09 +03:00
Torsten Ruger
001af3f8b6
reviving more tests
2015-05-05 14:04:37 +03:00