Commit Graph

138 Commits

Author SHA1 Message Date
Torsten Ruger e237bc625a remove unused methods
and a whole lot more index fixes
2018-05-14 20:50:52 +03:00
Torsten Ruger 5d3c70da89 fix type api
tests were using methods that were only used in tests.
2018-05-14 16:13:50 +03:00
Torsten Ruger 3c00239f36 another million index fixes 2018-05-14 15:17:04 +03:00
Torsten Ruger 4a88f342d3 random checkin
still suffering -1 trauma
2018-05-14 12:38:44 +03:00
Torsten Ruger ab01fa3862 switch to 0 based indexing
the world rocked for a moment (and more fixes to follow)
also the crumbling of idealism was heard
2018-05-14 11:55:01 +03:00
Torsten Ruger 866467ee5e change binary labels 2018-05-13 17:21:48 +03:00
Torsten Ruger 7ad36380c2 add next_value for dictionary
also next for list
and add types attributes to space
2018-05-13 13:03:04 +03:00
Torsten Ruger 06f51da8f1 rename get_all_methods 2018-05-01 19:19:37 +03:00
Torsten Ruger 1acd231a33 debugging binaries, initial jump issues 2018-04-30 13:28:55 +03:00
Torsten Ruger a7207a9984 wrap parfait tests in module and boot 2018-04-26 12:31:37 +03:00
Torsten Ruger 30ba626cf9 fix knock ons 2018-04-24 20:16:50 +03:00
Torsten Ruger 04359546b7 implement greater than 2018-04-19 22:57:31 +03:00
Torsten Ruger 9e21719aeb generalise the operator handling
ie passing them through
implementing more
2018-04-19 22:13:52 +03:00
Torsten Ruger 33ffcf1d88 move resolve_method code from word to mom
rather make resolve an instruction.
Since it was coded in risc anyway, we not only save the setup and call
But also makes the mom instruction flow clearer
The method really came from not wanting to code it in risc, but with
the Builder, that is now surprisingly painless
2018-04-08 18:55:17 +03:00
Torsten Ruger ee0a1ca823 renaming methods args and frame
to arguments_type and frame_type, because that is what they are
In honour of setup bug, where the types of those types were loaded,
instead of just them types
2018-04-05 12:22:14 +03:00
Torsten Ruger b9f85f9d2e use instance_variable_set/get instead of eval
opal doesn’t like eval anymore
2018-04-03 19:33:36 +03:00
Torsten Ruger 52d389cdbf auto extend binary code
final solution will need repositioning
2018-04-03 15:07:36 +03:00
Torsten Ruger 9fafbe4e96 remove Kernel class for clarification
since it was a class it was fake anyway
moved methods to object
2018-04-02 17:06:31 +03:00
Torsten Ruger 87eee0b66e add object method missing as sys exit
functions get added twice and thus removed once
remove restriction for now
2018-04-02 16:49:30 +03:00
Torsten Ruger fb29fb6431 linked list of methods instead of list of methods
api changes slightly, especially for each, but mostly sama sama
2018-04-02 16:36:43 +03:00
Torsten Ruger 3a9539a071 adds multiplication
without overflow testing, like the others
2018-04-01 21:18:08 +03:00
Torsten Ruger b1376e83bd add integer minus
rework plus to make that easy
2018-04-01 15:26:53 +03:00
Torsten Ruger 5c89884df9 fix binary code mixup
mixed get_word with get_internal_word
2018-04-01 12:13:14 +03:00
Torsten Ruger 15d2b585e6 fix integer and data object get/set word
instance variables first, then raw data
keep value reader for now
2018-04-01 11:56:04 +03:00
Torsten Ruger 4725b81270 get those integers crated and used 2018-03-31 20:21:27 +03:00
Torsten Ruger cb9f6973d9 fix true false and nil constant
going from mom to parfait
basics in place, more ripples to fix
2018-03-31 13:47:02 +03:00
Torsten Ruger 1956f18faa add an integer plus
not correctly handling integer objects yet
2018-03-30 17:09:02 +03:00
Torsten Ruger e012f16d7f fix positioning and the assembly works 2018-03-29 18:03:21 +03:00
Torsten Ruger 00be522419 each word for binary 2018-03-29 17:38:59 +03:00
Torsten Ruger 85ddf53429 create methods with binaries and extend them later
Binary is new jump target for function call
2018-03-28 12:49:17 +03:00
Torsten Ruger 3fcb4b74c7 fix binary code set_char bug 2018-03-26 19:41:30 +03:00
Torsten Ruger a9d5e144ca get/set word for binary code 2018-03-26 18:14:52 +03:00
Torsten Ruger 1e21177b35 just keep binary code payload at 13 for now
there is an extra in there at the last of the last, but ok
2018-03-26 14:37:55 +03:00
Torsten Ruger 60617ca632 some binary code tests 2018-03-26 14:04:13 +03:00
Torsten Ruger 2c6ea7ea46 finish truth check (green again)
some (basic) if tests
2018-03-20 13:30:38 +05:30
Torsten Ruger 8c53b4ab67 fix more api ripples from typed method 2018-03-18 22:37:43 +05:30
Torsten Ruger 559a797100 rename locals to frame 2018-03-14 20:24:47 +05:30
Torsten Ruger 2aa7d37a83 rename locals to frame
includes temps and tradition
2018-03-14 17:39:04 +05:30
Torsten Ruger d6a2ea4cfc fix dynamic resolve
patch more like, real resolve method will have to be written
and put in there
2018-03-10 19:01:38 +05:30
Torsten Ruger 47683817ee implements resolve_method on parfait type
with associated changes to class
adds note about the not being the final version
2017-04-25 09:06:49 +03:00
Torsten Ruger e387bdb5f2 fixes parfait/type tests place and guard file accordingly
test were in old directory and guard file broken accordingly
2017-04-23 18:43:32 +03:00
Torsten Ruger 21b436c476 update parfait message according to boot
most of the attributes are not used at compile time ,
so they did not get updated. But the compiler uses the attribute
names (which are correct as they are set in boot), so it’s nice
to actually see them in ruby too.
2017-04-14 11:13:47 +03:00
Torsten Ruger 73b7e2b22f remove all test_all
Stop manually creating the list of tests (and searching missing).
Main level test_all does a search for all test_*
also possible to run by command line with starts
2017-04-13 17:00:56 +03:00
Torsten Ruger ffbe39d571 order test requires
easier to spot missed tests (when guard and cmd-line differ)
2017-04-02 22:42:51 +03:00
Torsten Ruger aa79e41d1c rename register to risc
seems to fit the layer much better as we really have a very reduced
instruction set
2017-01-19 09:02:29 +02:00
Torsten Ruger da5823a1a0 move parfait up one, as per its module structure 2017-01-18 20:09:43 +02:00
Torsten Ruger 18f9ea019e move parfait tests to some
after renaming compiler to soml
it’s where they wanna be
also will allow for unifying test helpers and testing fragments
remotely too
2015-11-18 12:14:31 +02:00
Torsten Ruger 2bc2d4486f move interpreter to register
seems more where it belongs, since it interprets the register machine
instructions
2015-11-18 12:00:30 +02:00
Torsten Ruger aa30864fcb typo 2015-11-18 11:30:39 +02:00
Torsten Ruger ac620f8ea0 unroll loops in tests
to get one executable per test (before they were overwritten)
2015-11-18 11:29:37 +02:00