a4b6f29834
Booting functions again and send test
...
both class and normal sending tests at vool / mom level
2019-08-12 11:57:32 +03:00
2326081161
Now booting all original methods
...
Just need to refactor now
2019-08-12 11:31:47 +03:00
91ddae2251
Start to convert integer operations
...
All apart from operators, which are its own thing
2019-08-12 11:08:09 +03:00
97488c4e5b
Transform builtin word functions
...
according to same schema
2019-08-12 10:45:07 +03:00
3282e0ae06
transformed object builtins
2019-08-11 20:36:10 +03:00
0725f02e9a
starting to fix builtin
...
start at Object get_interna_word
using the pattern to replace the whole risc method with a single mom instruction. Copying the original risc code into the instrucitons to_risc
also adding some very basic tests
2019-08-11 14:31:00 +03:00
0b59c95218
more test fixes and more to do
2019-08-10 21:59:31 +03:00
213938075f
fix most mom and risc apart
...
apart from things involving builtn, which is not yet conceptually solved (as it codes risc, not mom)
2019-08-10 21:30:00 +03:00
d5f89a4979
compile from mom compiler to risc
2019-08-10 12:42:47 +03:00
5994cd3276
starting on mom to risc
...
some docs too
2019-08-08 12:19:27 +03:00
82c9f1d97f
more and better tests
...
especially vool
2019-08-08 12:18:36 +03:00
Torsten Rüger
d5625a70d7
fix a whole bunch of vool to_mom
...
All but those requiring boot functions
2019-08-07 15:09:26 +03:00
Torsten Rüger
1237e079f7
Some vool starting to work again
...
disabling some rubyx compiler tests
2019-08-07 12:06:06 +03:00
Torsten Rüger
5d1d485565
move mom instruction up one
...
just like the risc one, also some basic tests
2019-08-06 20:44:39 +03:00
Torsten Rüger
66c2adda20
Copy risc compiler stuff to mom
...
Start to separate the layers.
wip, just checkin in to see the following changes better
2019-08-06 18:33:27 +03:00
Torsten Rüger
d3ed29520e
Some docs
2019-08-06 17:42:15 +03:00
3c0ba4f2ab
Merge branch 'master' into new_mom
2019-08-01 09:20:34 +03:00
7daf015ed2
small refactor
2019-08-01 09:20:08 +03:00
6b1c316f04
add simple loop bench
...
fiddled with run numbers a bit
recording times with noop removed
results slightly worse than hoped
2019-07-31 21:18:03 +03:00
8eb0ba0d81
fix benchmarks
...
up to 20 recursive fibo
had mixed add and calls for rubyx
2019-07-30 21:16:24 +03:00
6273ab769c
redid the old benchmarks
...
With #26 out of the way, was able to get meaningful rubyx benchmarks. Meaning loops large enough for the exec time to go significantly over the noop.
Did mruby too and as expected got much lower noop
2019-07-30 13:55:29 +03:00
ab87806d08
fixes #26
...
only recurse to 1k
then come up for air an go again.
Should allow for 1M objects on a 2k stack (previously exceptions at 3.6k)
2019-07-28 16:42:40 +03:00
74f3420d45
added execute command and options
...
execute to compile and run
options to pass parfait factory levels in (as no gc)
2019-07-25 22:36:51 +03:00
95af84e752
fixing test to pass
...
and extract own kind of same tests to bench
bench tests will need some loop, but not as large as c
2019-07-25 21:25:15 +03:00
14c965360d
a basic interpret command for cli
...
part of the benchmark effort
determine amount of objects
2019-07-25 21:23:55 +03:00
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