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 |
|
Torsten Ruger
|
31ee3a62fe
|
rename __send__ for now
|
2014-09-24 18:14:23 +03:00 |
|
Torsten Ruger
|
892f251d18
|
implement how send should work (but parfait doesn't parse yet, so it doesnt)
|
2014-09-23 20:16:05 +03:00 |
|
Torsten Ruger
|
f5ec7f3bdb
|
fixed
|
2014-09-23 19:23:52 +03:00 |
|
Torsten Ruger
|
c5765d4255
|
improve return implementation
|
2014-09-23 19:20:55 +03:00 |
|
Torsten Ruger
|
4e01bc798f
|
add NewMessage / Frame instructions (without actual implementation)
|
2014-09-23 19:06:10 +03:00 |
|
Torsten Ruger
|
3d5eb685a1
|
more constants for slots
|
2014-09-20 17:06:11 +03:00 |
|
Torsten Ruger
|
21177bd7ce
|
add a list of symbols to boot space
|
2014-09-19 19:11:30 +03:00 |
|
Torsten Ruger
|
457b40a7de
|
fix api and implement the big constant move
|
2014-09-18 17:05:59 +03:00 |
|
Torsten Ruger
|
c32ca84861
|
clean
|
2014-09-18 17:05:22 +03:00 |
|
Torsten Ruger
|
f80df69262
|
clean
|
2014-09-18 17:04:54 +03:00 |
|
Torsten Ruger
|
49b6b99ab9
|
more work on large moves, including the notion of linking again
|
2014-09-17 17:00:19 +03:00 |
|
Torsten Ruger
|
4af93493fb
|
class code went
|
2014-09-17 16:32:21 +03:00 |
|
Torsten Ruger
|
e7f7f9c319
|
move fits_u8 to integer constant (from numberic)
|
2014-09-17 16:23:29 +03:00 |
|
Torsten Ruger
|
95c7e44342
|
at least it assembles again
|
2014-09-17 12:11:34 +03:00 |
|
Torsten Ruger
|
e4474e7e2c
|
rename length to mem_length and suffer the consequences
|
2014-09-17 12:04:54 +03:00 |
|
Torsten Ruger
|
79e42003b2
|
collect all add functions at bottom (rename too)
|
2014-09-16 18:50:44 +03:00 |
|
Torsten Ruger
|
8b8a8eea56
|
rename code.length tp mem_length with lots of noise impact
|
2014-09-16 17:16:56 +03:00 |
|
Torsten Ruger
|
cffa7f1953
|
small function naming adjustments
|
2014-09-16 17:16:13 +03:00 |
|
Torsten Ruger
|
db01529b67
|
eol warning
|
2014-09-16 17:15:17 +03:00 |
|
Torsten Ruger
|
45977ecc01
|
move assembly from visitor into objects, part one
|
2014-09-16 16:06:56 +03:00 |
|
Torsten Ruger
|
bbcfef3c43
|
make a little more real
|
2014-09-16 16:05:38 +03:00 |
|
Torsten Ruger
|
dd8e46fd1c
|
move length here
|
2014-09-16 16:05:08 +03:00 |
|
Torsten Ruger
|
56facae658
|
eol signal
|
2014-09-16 16:04:53 +03:00 |
|
Torsten Ruger
|
16b3cacc8d
|
work to move large constants
|
2014-09-16 11:39:08 +03:00 |
|
Torsten Ruger
|
c92b165a3f
|
carry constants through in reference slots. resolve functions with it
|
2014-09-15 12:08:37 +03:00 |
|
Torsten Ruger
|
bdd4a3d6ad
|
just checking which part of unimplemented i hit
|
2014-09-14 21:26:30 +03:00 |
|
Torsten Ruger
|
c51dbf51e1
|
renamed true,false,nil class to constant (from value)
|
2014-09-14 18:15:33 +03:00 |
|
Torsten Ruger
|
6b85054958
|
better, correcter use of return storage
|
2014-09-14 18:14:57 +03:00 |
|
Torsten Ruger
|
b29de4600e
|
use slot constants
|
2014-09-11 21:30:40 +03:00 |
|
Torsten Ruger
|
b7e0d3fba4
|
more on set
|
2014-09-11 21:26:22 +03:00 |
|
Torsten Ruger
|
1d33c03537
|
corrected method enter and return and created those missing constants
|
2014-09-11 19:00:14 +03:00 |
|
Torsten Ruger
|
771eeb7a3d
|
fix block positions for debug
|
2014-09-11 15:19:29 +03:00 |
|
Torsten Ruger
|
98a88ec10e
|
change to module style like other modules in this dir
|
2014-09-11 15:08:56 +03:00 |
|
Torsten Ruger
|
3d66ffcc17
|
start on __init__
|
2014-09-11 15:01:50 +03:00 |
|
Torsten Ruger
|
cb727c658e
|
add inital jump to __init__
|
2014-09-11 10:30:23 +03:00 |
|
Torsten Ruger
|
f44965ef21
|
fix padding bug
|
2014-09-10 21:43:05 +03:00 |
|
Torsten Ruger
|
e53de8ad43
|
fixup names in builtin module
|
2014-09-10 21:35:52 +03:00 |
|
Torsten Ruger
|
5a5e977b8f
|
get some old builtin code backonline and improve imports
|
2014-09-09 18:03:13 +03:00 |
|
Torsten Ruger
|
61e80d4f28
|
had to boot_classes outside constructor (unfortunately) because of recursion
|
2014-09-09 17:51:34 +03:00 |
|
Torsten Ruger
|
7036a87678
|
fix the address for calls to jump past the method object header
|
2014-09-09 17:36:33 +03:00 |
|
Torsten Ruger
|
e3fdbb30a5
|
remove relative positions. have to fix them up somehow
|
2014-09-09 17:29:24 +03:00 |
|
Torsten Ruger
|
97bfd77038
|
implements the type word
|
2014-09-09 13:28:07 +03:00 |
|
Torsten Ruger
|
8040829501
|
moves link slot positions to bytes (from words). easier maths and better for later
|
2014-09-07 17:31:40 +03:00 |
|
Torsten Ruger
|
f00b06bb44
|
move to relative (to self) addressing
|
2014-09-06 23:03:33 +03:00 |
|
Torsten Ruger
|
c6072c683b
|
oops, less said the better
|
2014-09-06 22:48:58 +03:00 |
|
Torsten Ruger
|
64a433fd15
|
move the 2 to pad_to (from each call)
|
2014-09-06 22:38:32 +03:00 |
|
Torsten Ruger
|
bfa3f28e97
|
fix assembly (at least lositions and padding)
|
2014-09-06 19:48:56 +03:00 |
|
Torsten Ruger
|
197ecd576e
|
debugging assembly
|
2014-09-05 20:56:05 +03:00 |
|
Torsten Ruger
|
d94ec6c72c
|
fix parfait test
|
2014-09-04 14:22:28 +03:00 |
|
Torsten Ruger
|
5bb03f2d8b
|
unscoping block names and adding labels to objects (which are off)
|
2014-08-30 20:55:22 +03:00 |
|
Torsten Ruger
|
ccb5b37a3c
|
reinserted arm for now, until dependecy is cleaned up. fixed tests
|
2014-08-30 19:40:37 +03:00 |
|
Torsten Ruger
|
050a8ada9f
|
fix position handling
|
2014-08-30 17:08:30 +03:00 |
|
Torsten Ruger
|
6d67c03cc9
|
make block replace take array or single instruction
|
2014-08-30 16:57:56 +03:00 |
|
Torsten Ruger
|
48b33e5f9d
|
add position to instruction (for relative calculations)
|
2014-08-30 16:57:34 +03:00 |
|
Torsten Ruger
|
18f33770b5
|
fix and use object writer in test
|
2014-08-30 14:17:00 +03:00 |
|
Torsten Ruger
|
b5c39b2749
|
minor debug remove
|
2014-08-30 14:16:41 +03:00 |
|
Torsten Ruger
|
726a514c9e
|
fix assembler recursion
|
2014-08-30 14:01:22 +03:00 |
|
Torsten Ruger
|
50af6a8f41
|
lots of rework on assembly. constant object for layouts, hash implementation.
|
2014-08-30 13:48:52 +03:00 |
|
Torsten Ruger
|
d33077c2b1
|
reworking method and block assembly for new aproach
|
2014-08-30 13:47:51 +03:00 |
|
Torsten Ruger
|
90e5b4584a
|
rework link into two phase
|
2014-08-29 21:00:25 +03:00 |
|
Torsten Ruger
|
cec339890c
|
fold the linker back into assembler. too easy to get the link and assemble functions out off sync
|
2014-08-29 17:20:59 +03:00 |
|
Torsten Ruger
|
3ed1e814ec
|
more towards correct assembly
|
2014-08-29 15:49:59 +03:00 |
|
Torsten Ruger
|
99b4468599
|
fix spelling
|
2014-08-28 22:32:53 +03:00 |
|
Torsten Ruger
|
35b738639b
|
improve readmes
|
2014-08-28 19:12:46 +03:00 |
|
Torsten Ruger
|
1fc3f1fb18
|
renaming ripples
|
2014-08-28 18:53:48 +03:00 |
|
Torsten Ruger
|
09698ec70a
|
moved to consitent md ending
|
2014-08-28 18:52:55 +03:00 |
|