Commit Graph

42 Commits

Author SHA1 Message Date
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
9cf56b3aa6 use factory functions consistently to create instructions 2016-12-28 19:01:58 +02:00
aaa94f0743 small fixes 2016-12-27 20:34:11 +02:00
f648bf7bd5 rename also get_slot, to slot_to_reg
makes source and target clear
2016-12-25 18:05:39 +02:00
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
c3c52d36b8 seperate args from message (just like frame) 2016-12-21 22:35:36 +02:00
dc56274940 refactor also building word
obviously created by copy/paste, more refactoring possible
2016-12-15 19:31:39 +02:00
5ea6bfed27 refactor builtin object, some machine too 2016-12-15 19:20:54 +02:00
224670e449 refactor name expression for compiler 2016-12-09 12:13:33 +02:00
ca4bdcc528 gets rid of soml-parser completely 2016-12-08 20:13:08 +02:00
da553f996f move compiler to typed
starting to get rid of soml, bit by bit
2016-12-08 15:25:20 +02:00
4b05b48197 some docs 2016-12-06 11:38:09 +02:00
229f5896c6 update to use new ast
soml was updated to have a typed ast layer to make programatic creation
easier
this brings LOTS of syntax change with it, that does not really mean
anything at all
All tests pass again so back to the same
2016-03-07 11:55:28 +02:00
dc560aaa5e move main to space 2015-11-30 16:09:12 +02:00
4871a52d37 better error reporting for parser 2015-11-19 10:10:13 +02:00
5369dc3d52 rename get/set internal
to _word , because _byte versions are coming
2015-11-18 15:36:43 +02:00
6137833140 change args argument to create method to be hash
was array and didn’t carry types and names
2015-11-11 20:41:02 +02:00
c38775e933 add set_internal
and the set_slot with register
very much like the get_slot for get_internal
2015-11-08 17:10:36 +02:00
708cdace17 implement indexed object access
one of the few functions that can’t be coded
(or the design specifically is such that it can’t, in c it would be
self[index],
or, worse *(self + index) )
2015-11-07 17:36:28 +02:00
191be8d2f6 use compiler to generate methods and their instructions 2015-10-28 21:37:42 +02:00
7e0778dc70 remove return_type
soon to be obsolete with multi returns
2015-10-28 12:19:10 +02:00
6754518daf prune builtin
will need much less, many more things can be expressed in soml
2015-10-23 15:13:05 +03:00
dcbd3c7091 fold last of the virtual into register 2015-10-22 18:16:29 +03:00
1141ed9c99 type now means class name
update reader (with new type definition)
remove type class (now symbol)
update all types to class name symbols
2015-10-14 16:16:03 +03:00
dd3381e38b move type to phial and add type to reg_ref 2015-10-10 19:14:27 +03:00
9fe01c7b31 remove unknown type 2015-09-23 18:35:37 +03:00
2f409ea4e1 more dead code goes 2015-07-21 20:24:31 +03:00
e3577d18af fix that silly mistake that made the percentage plummet
mostly due to the fact that object is a hash now,
not array. Took a while though
2015-07-21 19:41:30 +03:00
b61c73acdd renamed info to MethodSource 2015-07-03 20:13:03 +03:00
7136450bde move put string to string where it belongs 2015-07-01 21:45:41 +03:00
0f2c8e4201 finally scoping builtin to register
had put this off because it breaks history
but now the references to register stuff which
builtin is off course full of, become much shorter
2015-06-29 21:03:58 +03:00
5726d2c181 move machine to module level
makes for shorter, more concise, access
also remove one more bug possibility
(reinitiation)
2015-06-01 08:40:17 +03:00
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
079306dbf8 move main to object (from kernel) 2015-05-30 14:49:10 +03:00
e651b57d08 homing in on line length 100 2015-05-30 12:20:39 +03:00
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
bee269f7a8 just renaming 2015-05-16 12:54:11 +03:00
9d711e7766 moving string to parfait
using parfait::word
also rename builtins string to word
2015-05-13 16:17:10 +03:00
f92e5cf475 fix all tests again 2015-05-13 12:15:14 +03:00
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
e4c799ecb6 first tests comping through after ast/compile change 2015-05-04 23:03:52 +03:00
92bbd70c77 move builtin to register, where it belongs 2015-05-04 11:12:31 +03:00