Commit Graph
100 Commits
Author SHA1 Message Date
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 4aca2caa05 using gem version of dependents 2015-05-04 11:10:19 +03:00
Torsten Ruger 8180c67d48 move sof to own repo 2015-05-03 20:38:13 +03:00
Torsten Ruger 91e2ff886c sorted out the domain 2015-05-03 20:33:54 +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 2a0dc7242a better test doc 2015-04-06 10:28:44 +03:00
Torsten Ruger 5b10f09ea1 fix test 2015-03-28 21:12:03 +02: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 e2e692e25d test readme and test sof 2015-03-25 18:31:18 +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 451b1c409c update read me 2015-03-15 11:58:17 +00: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 ae65952d0a more precise tests 2014-09-29 20:28:24 +03:00
Torsten Ruger 45adf7173c naming, clean 2014-09-29 20:28:05 +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 4ad10d3678 update readme 2014-09-19 19:39:08 +03:00
Torsten Ruger 21177bd7ce add a list of symbols to boot space 2014-09-19 19:11:30 +03:00