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
Torsten Ruger
e4c799ecb6
first tests comping through after ast/compile change
2015-05-04 23:03:52 +03:00
Torsten Ruger
ff22c17784
move ast to compiler
...
new compile module does just that: compile
Dispatch with visitor pattern
no more patching into ast
2015-05-04 14:22:22 +03:00
Torsten Ruger
92bbd70c77
move builtin to register, where it belongs
2015-05-04 11:12:31 +03:00
Torsten Ruger
3659cb4b81
make the tests run (and pass) again
2015-05-04 11:10:40 +03:00
Torsten Ruger
8180c67d48
move sof to own repo
2015-05-03 20:38:13 +03:00
Torsten Ruger
618b8d05f8
adding ruby method lists
...
Just for reference (not to copy)
2015-04-15 11:39:12 +03:00
Torsten Ruger
5792fb983b
add module
...
between class and object, as in ruby
2015-04-15 11:38:46 +03:00
Torsten Ruger
c14bacd171
fix inheritance
2015-04-10 14:02:28 +03:00
Torsten Ruger
aaf6da8808
make object derivation explicit
...
in parfait
2015-04-08 20:33:15 +03:00
Torsten Ruger
81e3a98af8
add integer to parfait
2015-04-08 20:32:56 +03:00
Torsten Ruger
fdb3fbc825
Parfait documentation
...
outline of expanded parfait, documented but not coded
2015-04-08 20:24:50 +03:00
Torsten Ruger
4f1e99d744
adding stubs for coming classes
2015-04-06 11:38:11 +03:00
Torsten Ruger
f8fe074af2
change arg to arg_names
...
and a bit of clean up
2015-03-28 20:20:01 +02:00
Torsten Ruger
c0dcf6feb0
add todo comment
2015-03-28 12:29:17 +02:00
Torsten Ruger
e881a5f2ee
separate frames and messages
...
also not using context which was not defined anyway
2015-03-28 12:25:04 +02:00
Torsten Ruger
0c08c335e5
fix the conditional parfait
2015-03-25 18:30:47 +02:00
Torsten Ruger
aee36d9f5f
bit of line wrapping
2015-03-25 17:29:39 +02:00
Torsten Ruger
d758a23eb6
correct parfait module
...
parfait only needs to be in a module when it is used in the vm, not
when it is parsed.
The parsed parfait must be without namespace.
2015-03-25 17:16:20 +02:00
Torsten Ruger
6e6dd257e4
rename
2014-10-18 13:53:01 +03:00
Torsten Ruger
f09a70a65b
correctly jumping to __init and then calling main
2014-10-07 15:35:13 +03:00
Torsten Ruger
30a982be0e
better debug fo the booting parts
2014-10-07 15:34:43 +03:00
Torsten Ruger
c10ef20622
was issuing wrong instruction
2014-10-07 12:23:59 +03:00
Torsten Ruger
9ac165c34c
some checks
2014-10-07 12:23:27 +03:00
Torsten Ruger
cae99f217c
just make sre we really ret registers (some constants were flying about)
2014-10-07 12:23:08 +03:00
Torsten Ruger
e1b29d799a
limit to_s length
2014-10-07 12:21:40 +03:00
Torsten Ruger
b7164b354d
better solution for initial jump
2014-10-07 12:01:33 +03:00
Torsten Ruger
5c90ad83e0
add initial jump instruction
2014-10-06 19:57:44 +03:00
Torsten Ruger
e1aa3fd843
implement the vm call logic
2014-10-05 18:40:47 +03:00
Torsten Ruger
dbbcc738c4
remove walue which was eold
2014-10-05 01:18:11 +03:00
Torsten Ruger
965e5f2a0f
minor
2014-10-05 01:13:57 +03:00
Torsten Ruger
a99e2602ae
introduce method call that includes setup
2014-10-05 01:13:43 +03:00
Torsten Ruger
486580aeb2
fix bad scoping bug
2014-10-05 01:12:44 +03:00
Torsten Ruger
d38097aea4
fixing pass order by require order (easier to track)
2014-10-05 01:12:16 +03:00
Torsten Ruger
8f0fb7e4e2
correct function call to method call (includes vm setup)
2014-10-05 01:10:10 +03:00
Torsten Ruger
3aca3cc33d
making good headway with register machine implementation in arm
2014-10-05 01:05:18 +03:00
Torsten Ruger
7968cadaf9
remove singleton in arm machine and use class methods
2014-10-04 17:34:51 +03:00
Torsten Ruger
d7d2622d7f
use register instructions
2014-10-04 17:22:23 +03:00
Torsten Ruger
9939c6afa0
fix imports and name issues
2014-10-04 12:52:47 +03:00
Torsten Ruger
4f7fefb0ab
using new register instructions
2014-10-04 12:52:28 +03:00
Torsten Ruger
e3c3840bc6
a creative moment, making up instructions
2014-10-04 12:51:08 +03:00
Torsten Ruger
f77d3ea7eb
move to virtual as it leaves vm instructions
2014-10-04 12:50:28 +03:00
Torsten Ruger
c5655b1059
a long string of import order and namespace issues which is not over yet
2014-10-03 14:52:47 +03:00
Torsten Ruger
1347a85eb7
fixing import order
2014-10-03 14:33:06 +03:00
Torsten Ruger
a083c03b1d
move function call instruction to register level and the pass to arm
2014-10-03 14:32:54 +03:00
Torsten Ruger
1af66567fb
fixed the SetImplementation with new register instructions
2014-10-03 11:07:18 +03:00
Torsten Ruger
38a286942e
move the hash access stuff to arm, not sure if needed at all
2014-10-03 11:05:17 +03:00
Torsten Ruger
220d9f6213
moving instrctions into own folders and arm machine out of the way
2014-10-03 10:25:10 +03:00
Torsten Ruger
ad73e320b0
moved unsued code out of the way
2014-10-02 22:34:58 +03:00
Torsten Ruger
277dddeb6a
time was up for the Bassembler
2014-10-02 22:33:09 +03:00
Torsten Ruger
1be71918a5
move all arm instructions to own folder and fold inheritance
2014-10-02 22:28:34 +03:00
Torsten Ruger
9923eb0b07
move passes to own dir
2014-10-02 16:11:45 +03:00
Torsten Ruger
cc08016a0f
fix the logic of move, but really there is a deeper issue (we'd have to add to get pc relative addressing for constants)
2014-10-02 16:08:24 +03:00
Torsten Ruger
0e3e11a699
add more debug (string values)
2014-10-02 16:06:05 +03:00
Torsten Ruger
493b02674c
remove some boiler
2014-09-30 12:08:12 +03:00
Torsten Ruger
fba66371c0
(semi) proper fix for large moves, integers or virtual constants(was buggy)
2014-09-30 12:07:21 +03:00
Torsten Ruger
527e591e75
fix add instruction and test
2014-09-29 21:04:38 +03:00
Torsten Ruger
7d52e71f5c
found and implemented the movw, but not for pi :-(
2014-09-29 20:26:55 +03:00
Torsten Ruger
d8710de590
fix frame more
2014-09-28 11:18:24 +03:00
Torsten Ruger
5a17bf3396
more headway on the (new) frame implementation
2014-09-27 14:59:16 +03:00
Torsten Ruger
2ce17ed5ff
fold messages and frames to save an instance in bootspace
2014-09-25 20:31:21 +03:00
Torsten Ruger
efe39292ae
extract position as module to be included
2014-09-25 20:30:02 +03:00
Torsten Ruger
6c7004688b
bit of namespace cleanup
2014-09-25 20:29:05 +03:00
Torsten Ruger
4d07113429
add register reference where symbols are allowed
2014-09-25 20:28:40 +03:00
Torsten Ruger
df9d6284ae
up to, ut not including, creating frames
2014-09-24 18:25:18 +03:00
Torsten Ruger
363fe5e35f
scaffold for NewMessage and Frame
2014-09-24 18:15:08 +03:00