5b27ae7ddf
use env, not class var aas compilation switch
2020-02-08 17:44:35 +07:00
d1f8733623
Rename Vool to Sol
...
Simple is really the descriptive name for the layer
Sure, it is "virtual" but that is not as important as the fact that it is simple (or simplified)
Also objct (based really) is better, since orientated implies it is a little like that, but only orientated, not really it. Sol only has objects, nothing else
Just cause i was renaming anyway
2019-10-04 00:38:47 +03:00
aa9fc8bc81
More rename cleanp
2019-10-03 21:07:55 +03:00
c43436f35a
Change Mom to SlotMachine
...
rather large commit, but essentially a simple rename
Rationale in docs and blogs
2019-10-03 20:55:41 +03:00
dd810cfc49
Make to_mom a 2 stage process
...
First baby baby step on the way to passes
Create all parfait objects in first pass, so methods exist to be resolved in second path
2019-09-24 15:44:33 +03:00
f13e8b3bd7
A little work on test times
...
They have been rising of late, installer reporter to check 8and keep checking)
tweaking of cli parameters
removed redundant interpreter tests
2019-09-18 13:36:29 +03:00
1ee01622c3
Builtin is no more, final conversions done
...
All preloading where it needs to be
(some)tests for the preload
split compiler test
remembered binary tests (usually just run on travis)
2019-09-13 20:34:41 +03:00
8af17a69ea
splitting commpiler commands and adding preload option
2019-09-13 19:08:59 +03:00
dced6b12e6
removing builtin as a concept (wip)
...
the "old" way of generating compilers is now obsolete
we can use ruby code with mom macros to achieve the same
Three step wip
remove old builtin
fix tests (including adding necessary methods)
fixup and inclusion of builtin code to parfait
2019-09-12 13:09:30 +03:00
2c681bf2e5
Add mom boot options
...
and remove a lot of stale parfait boots from tests
(from before using rubyxc)
2019-09-07 16:43:47 +03:00
7d92ee9e6a
add a statistics command to compiler
...
just to see how many objects make up a binary
2019-09-05 13:25:40 +03:00
91995dc1b3
make elf symbols optional
...
and default to false. Smaller executables by at least half
also add option for compiler cli
2019-09-03 02:02:21 +03:00
259edb51e9
adding parfait options to compiler
...
to make smaller binaries with larger integer heaps
also ran some benchmarks to see if it makes a difference
at least the binaries are smaller, calling also faster
2019-08-24 11:44:13 +03:00
064bb2f90f
Fix compilers link
...
link command varies on systems, hmm
2019-08-19 19:13:51 +03:00
c9d77a29b2
Running tests on binary through qemu (system, no ssh)
2019-08-18 12:39:23 +03:00
d6c38d15ba
Fix calling unknown methods
...
Before, when the type was determined, it was assumed that the method can be resolved. But off course tis is not true, as methods may be defined later in the file.
Two solutions for that. One could (and should) define all methods and only then start to compile. Thus having the type safety.
Or (as now) make a dynamic call and let it fail at runtime.
2019-08-14 14:59:54 +03:00
155c042009
Fix forgotten block compiler
...
Especially on the way down to risc
2019-08-13 19:32:17 +03:00
8036b23593
Fixed more disabled tests
2019-08-13 11:14:36 +03:00
aaf169ad8d
Fixed almost all but Interpreter
...
150 only failing, seems only 1 bug though
and one in linker
2019-08-13 00:13:29 +03:00
9474932320
fixing risc collection tests
2019-08-12 16:12:17 +03:00
fa0aa30386
Move builtin wholesale to Mom
...
Since Builtin generates risc, just like mom instructions, it was a design mistake to put builtin into risc in the first place. Now that borders are coming more into focus, it make much more sense to have the builtin in mom.
In fact the instructions should be moved out and a seperate invocation mechanism used , so functions can be parsed, not generated (wip)
2019-08-12 12:38:29 +03:00
0b59c95218
more test fixes and more to do
2019-08-10 21:59:31 +03:00
5994cd3276
starting on mom to risc
...
some docs too
2019-08-08 12:19:27 +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
14c965360d
a basic interpret command for cli
...
part of the benchmark effort
determine amount of objects
2019-07-25 21:23:55 +03:00
Torsten Ruger
5ed6a07083
better test for attr
...
still #25
2019-03-07 10:47:48 +02:00
Torsten Ruger
fb89c01681
clean up test option handling
2019-03-04 10:24:08 +02:00
Torsten Ruger
86e3103543
More or less a stash
2019-02-12 22:41:42 +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
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
fb6a1a0e01
fix the statement moming
2018-11-02 17:27:46 -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
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
ae3d64eb53
moved all the normalize stuff over to the ruby layer
...
Which is how it should have been from the start
2018-07-19 14:47:29 +03:00
Torsten Ruger
38350dd198
start a new ruby layer to do the to_vool conversion
...
the "normalization" is getting more and more complicated and is not tested
And it seems i really don't like working with the untyped ast
2018-07-19 14:46:51 +03:00
Torsten Ruger
16d91f24ce
start to test block_statement
2018-07-04 23:21:11 +03:00
Torsten Ruger
6f936f190d
misc to_s and small fixes
2018-07-04 08:28:29 +03:00
Torsten Ruger
a1197fb70c
interpreter tests working again
2018-07-02 17:29:26 +03:00
Torsten Ruger
22408b86c6
return the linker from mom_compiler
...
linker holds assemblers
assemblers come from method compilation
and so the layers come into focus
2018-07-01 21:51:48 +03:00
Torsten Ruger
5f2a256608
fix platform derivation and some tests
2018-07-01 21:27:27 +03:00
Torsten Ruger
c947c27a14
clean up booting
...
many machine boot became obsolete
or just neede parfait to boot
actual linker functionality pending
2018-07-01 14:12:42 +03:00
Torsten Ruger
22b1fea587
use rubyc_compiler as instance
...
not as before class methods
so we can carry the state around
2018-07-01 11:59:07 +03:00
Torsten Ruger
208b98d709
start to move translate code
2018-06-30 22:53:32 +03:00
Torsten Ruger
46d8f5002f
hoist parfait boot out of the machine boot
2018-06-30 00:39:23 +03:00
Torsten Ruger
8d7a2fe4d6
fix mom tests
...
and always have a list inside a class
2018-06-29 23:29:10 +03:00
Torsten Ruger
c8451d0048
create rubyx dir and move previous vool_compiler there
2018-06-29 22:46:39 +03:00
Torsten Ruger
112ec26bd1
deprecating ruby package
...
to be replaced by vool and mom
2017-08-31 16:18:59 +03:00