00bf38a0e6
updating benchmarks
...
on the new machine, consistent
not rubyx yet
2019-07-23 20:14:28 +03:00
861fa3203f
updated qemu wuth buster
...
Also updated website
2019-07-23 12:08:06 +03:00
27fc66a8ca
adapted scripts for linux
2019-07-23 12:07:24 +03:00
fdb940e43f
stashing
2019-07-22 15:21:16 +03:00
1c4882c40d
update parser
...
to get rid of warning
bundling (locally) to vendor
remove dead file
2019-06-01 21:01:11 +03:00
Torsten Ruger
1391667f6c
still doing attr_reader, but closing #25
...
cattr still missing, but only one occurence. Later.
2019-03-07 11:00:18 +02:00
Torsten Ruger
5ed6a07083
better test for attr
...
still #25
2019-03-07 10:47:48 +02:00
Torsten Ruger
04720d4950
implement attr setter correctly
...
part of #25
still need to do for list and attr_reader
2019-03-06 11:21:09 +02:00
Torsten Ruger
b4b1e6e13b
start rewriting for parfait #25
...
just some infrastructure for now.
2019-03-05 20:36:40 +02:00
Torsten Ruger
11c5389e24
Fix if logic error
...
ifs may have an empty true block
Especially for unlesses thet is normal, so allow
2019-03-05 20:30:24 +02:00
Torsten Ruger
9bd2195a15
use cattr instead of metaclass
...
so we can catch it in the compiler, like also attr
define cattr in adapter, no change in tests !
2019-03-04 19:56:53 +02:00
Torsten Ruger
8d4eab72bf
update parser to use 2.6
...
was choking on &. syntax
improved error reporting slightly
2019-03-04 19:00:47 +02:00
Torsten Ruger
fb89c01681
clean up test option handling
2019-03-04 10:24:08 +02:00
Torsten Ruger
0a75e8c3ba
update parser since not we run 2.4+
...
also update the statistics gatherer
2019-02-27 10:13:38 +02:00
Torsten Ruger
eec72a9fca
Successfully interpret class methods
...
just about closes #24
2019-02-27 09:48:21 +02:00
Torsten Ruger
461a6933c6
better tests for class sending
...
still #24
2019-02-23 18:17:26 +02:00
Torsten Ruger
0ebb8e31c6
to_s for parfait list
2019-02-17 18:16:19 +02:00
Torsten Ruger
e430701645
Using MetaClass to compile class methods into
...
still #24 , still wip
2019-02-17 14:37:50 +02:00
Torsten Ruger
3db7707614
Get a basic MetaClass going
...
Does get created in new, but not in boot.
Also not yet used in compiling
2019-02-16 23:24:16 +02:00
Torsten Ruger
2fbea82039
bring class methods down to mom
...
not functionally correct, still compiling into class, not metaclass
part of #24
2019-02-16 17:54:45 +02:00
Torsten Ruger
40581494de
class Methods down to vool #24
2019-02-14 19:24:12 +02:00
Torsten Ruger
86e3103543
More or less a stash
2019-02-12 22:41:42 +02:00
Torsten Ruger
37571a0ff9
Add ruby class methods
...
Ruby parser and ruby level for #24
2019-02-12 22:36:37 +02:00
Torsten Ruger
403540b3ca
slightly better messages for unsupported ruby
...
Very slightly unfortunately, just just enought to find the error.
Also testing what is unsupported, so it's documented.
2019-02-10 21:02:16 +02:00
Torsten Ruger
d24b6ee153
start writing parfait witout the module
...
Parfait classes must be unscoped. Now we start parsing Parfait, it must be without the module.
Luckily module_eval makes this a breeze.
Also remove string interpolation that is not yet processed
2019-02-10 21:00:25 +02:00
Torsten Ruger
a89301d623
finally creating less objects in the test
...
basic still #23 , now applied
Basic size of 20, interpreter gets 50 and the full set is 1024
Tests run more than twice as fast!!
2019-02-09 12:44:35 +02:00
Torsten Ruger
37eeb81f45
fix all tests for previous commit
2019-02-08 23:03:23 +02:00
Torsten Ruger
74b790250a
use class variables instead of globals
...
and set page size from new argument
This closes #23 , though ripples will follow
2019-02-08 23:03:08 +02:00
Torsten Ruger
d777b4fa88
fix travis (try 1)
2019-02-07 19:05:06 +02:00
Torsten Ruger
8d3a1954fa
close #21
...
Mostly replaced Fixnum with integer
also in the rx-file dependency
all travis and testing with 2.4+
2019-02-07 18:24:35 +02:00
Torsten Ruger
51eff62931
Very basic cli to compile ruby files
...
Off course this is basically a cross compiler and the files
have to be transferred to an arm machine (and fixed as per note)
close #22
2019-02-07 11:07:57 +02:00
Torsten Ruger
e634781d6c
upgrade ruby and include thor in general
2019-02-07 11:05:40 +02:00
Torsten Ruger
4d30727811
test and last fixes for previous commits (allocalte ints)
...
mostly just fixing the additional instructions
close #20
2018-11-24 22:40:22 +02:00
Torsten Ruger
e6615d0a6a
remove the old add_new_int and calls
...
last orrurences in syscalls replaced, 2 variants
- exit does not actually need the int
- all else, preallocate the int beforehand and in syscall assume the reg name (integer_tmp)
test missing
2018-11-22 09:16:56 +02:00
Torsten Ruger
a8d1f070f1
replace add_new_int in most builtins
...
in integer and word mainly, replaced with allocate_int
(tests pending as syscalls are undone)
2018-11-21 20:29:22 +02:00
Torsten Ruger
bbb7dbef75
First part of int allocation
...
implemented allocate_int
instead of add_new_int
2018-11-21 11:12:39 +02:00
Torsten Ruger
5015a11108
function docs improvements
2018-11-14 12:41:13 +02:00
Torsten Ruger
fb6a1a0e01
fix the statement moming
2018-11-02 17:27:46 -07:00
Torsten Ruger
4ff84133d2
add append to MomCompiler
...
also lazy init boot_function, so that compilers can be added up
before going to translate, where the boot_compilers are used
2018-11-02 15:54:30 -07:00
Torsten Ruger
1377bda641
combining sources at vool level
...
using ScopeStatements
(those unfortunately don't go to_mom)
2018-11-02 12:36:23 -07:00
Torsten Ruger
52f6f1eaa8
cleaner interfaces for rubyXcompiler
...
store the vool
seperate api for ruby -> X and stored vool -> X
2018-11-02 12:19:13 -07:00
Torsten Ruger
87fc91cd5c
start to integrate sources
2018-11-02 11:57:54 -07:00
Torsten Ruger
6606593169
add parallel testing possibility
...
3 time speedup on 8 cores, 2,5 on 4. with
NCPU=8 RUBYOPT=-rminitest/parallel_fork ruby test/test_all.rb
2018-09-07 16:08:53 +03:00
Torsten Ruger
7fc104a019
Use minitest-profile to find long tests
...
Only found one big fibo
All else due to large amount of objects
(now with factories it jumped from hundreds to thousands)
2018-09-02 13:58:42 +03:00
Torsten Ruger
8a81d41d5e
Move booting to RubyXCompiler init
...
Also pass the source into the compile method.
This way compiler can be reused for subsequent compile.
Does remove some double boots, but no major time save
2018-09-02 13:57:19 +03:00
Torsten Ruger
d73e1526cd
Some docs and to_s testing
...
somewhat code_climate inspired
2018-09-01 15:54:25 +03:00
Torsten Ruger
2bb6ad5f61
remove unused code
...
Arrays and Hashes have to resolve to object creation calls
Not to constants. In the future off course
2018-09-01 15:14:07 +03:00
Torsten Ruger
f798173a09
change to_risc and builtin code according to last commit
...
Wherever space was loaded to get to the next_message
we now load the Message factory.
Otherwise much the same, only the attribute is next_object, not next_message
The binary is growing with 1k objects per factory, so i had to fix (hack) arm to handle bigger constants
close #14
2018-09-01 11:28:53 +03:00
Torsten Ruger
d964e9ea9d
let spce keep the messages in a factory #14
...
Like Integers and addresses before, messages are now in a factory
Factories keep allocated (uninitialised) objects, had to make init public to call it
2018-09-01 11:24:16 +03:00
Torsten Ruger
0a390cc5a9
shaves an instruction off resolve_method
...
by loading nil directly, not space first
2018-09-01 11:20:59 +03:00