1e2c4d6678
More tests and compiling parfait object
2019-09-19 17:41:26 +03:00
fd46826b9c
Implement class instance variables
...
as they are just the type of the meta_class, that was relatively simple.
I feel this is what oo is meant to be, instance variables and methods for the objects, and since classes are objects, for them too.
Class variables seem like a design mistake, weird scoping rules and no data hiding (left as an exercise to the reader)
2019-09-19 15:48:27 +03:00
b0d1948800
Moving space to object class
...
away from Parfait module, as that gets collapsed
Leaving shortcut outside parfait for now
2019-09-18 22:36:56 +03:00
41617519d9
some class send test changes
...
also ivar, which is still wip
2019-09-18 22:07:58 +03:00
38491d120b
removed unused NamedList
...
args and locals got inlined into message, forgot to delete then
ripples out due to type creation
small type class api change, more ripples, but also more consistent
2019-09-18 22:07:05 +03:00
4b8ff52aa1
forgot to run bundle after removing reporter
2019-09-18 13:40:38 +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
e56db0a3ac
get method name out from method_missing
2019-09-17 20:18:00 +03:00
d58ed8e5e8
remove dead code that was produced
2019-09-17 16:08:49 +03:00
61819b7230
removing old brittle tests
...
that were replaced by instruction and macro tests
2019-09-17 14:28:19 +03:00
92f1921e2f
Last mom instruction test
2019-09-17 14:16:56 +03:00
f7f981dca4
Tests for return instructions
2019-09-17 13:52:20 +03:00
a256cf1e01
detailed method resolve test
...
revealing first bug (non critical, dead code)
2019-09-17 10:18:45 +03:00
830fe2ab2b
More instruction tests
2019-09-17 10:16:59 +03:00
b46512a1b8
tests for mom check instructions
2019-09-15 19:57:15 +03:00
5ab021de5a
Continue testing mom instructions
...
especially with the custom asserts, gadda say
mesa lika disa
2019-09-15 18:31:10 +03:00
6f108f67d7
Starting to build detailed mom to risc test
...
so we can get rid of brittle risc folder tests
All of those tests rely on many many implementation details
should just test result through interpreter, no chain.
2019-09-15 17:44:35 +03:00
d913bb01de
use method missing in resolve method
...
not just exit
try to print name next
2019-09-15 15:13:11 +03:00
7ee57f2b08
generalize get_main and get_init to get_method
...
to get at those know methods that really
__must__ exists, hence the bang, raise if don't
about to add method missing and raise to the list
2019-09-15 12:58:43 +03:00
b36ba42990
Test complied parfait tests
...
this makes it obvious that we need a working raise
and a correct method_missing, so we can diagnose the
resulting errors
2019-09-15 12:18:31 +03:00
56398e1127
Fix load order, travis obviously different
...
support files were loaded different locally than travis
probably time stamp, vs abc
Anyway, don't rely on dir order, make requires explicit
2019-09-13 22:06:18 +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
12b29285d7
Lots of preloading for tests
...
so many relied (implicitly( on some builtin function
after all can't do much in ruby without calling
Now all those dependencies are explicit
Small risc changes come because the macro version has a return label and unreachable label
2019-09-13 14:07:12 +03:00
c9d7539479
rework macro tests, or are they builtin
...
small fixes too
2019-09-13 10:42:20 +03:00
4bf23defc8
fix many tests with preloading
...
preloading, something akin to builtin, loads some very small predefined (macro) methods for the tests to work (ie call)
2019-09-12 22:27:26 +03:00
e33b9f565d
some renames before main fixes commences
2019-09-12 13:10:31 +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
616dd3487c
renaming mom builtin to macro
2019-09-11 20:33:49 +03:00
5ea91df4c1
Integer macros tests and defs
2019-09-11 19:23:56 +03:00
e8bfb9a58c
tests for word macros
2019-09-11 18:53:20 +03:00
f264aec94a
macro tests for all object mom instructions
2019-09-11 18:43:20 +03:00
2c4f040654
starting to move builtin into parfait
...
single object method for now
little framework next
2019-09-10 20:40:41 +03:00
feeb9332a2
cleaning
2019-09-10 16:21:13 +03:00
c216d224ec
Merge branch 'parfait'
2019-09-10 14:49:52 +03:00
72643ebb08
Fix last parfait bug
...
missing return statement (duh)
2019-09-10 14:49:02 +03:00
f6bab0e633
downgrade parser for opal
2019-09-10 14:42:10 +03:00
63323376e4
use more instances in parfait
...
and misc
2019-09-10 12:33:57 +03:00
c3c2ab606c
type attr cleanup
...
and sizes up top
2019-09-10 00:18:20 +03:00
d82cedf4c0
Quite small amount of parfait tests needed changing after that
...
But something is amiss anyway, especially dynamic jumps
2019-09-09 20:29:18 +03:00
81e3c0c270
moving to instance variables in parfait
2019-09-09 20:26:54 +03:00
fc8de10964
remove parfait module magic
...
since we are now ruby sorcerers, not just wizards, we remove the Parfait module in the compiler (Still have to avoid the name clashes)
2019-09-09 11:54:45 +03:00
104f4c5109
Start on parsing parfait tests
...
Hanging on .new currently, but there is surely more
2019-09-09 11:48:29 +03:00
0ae7c5d8aa
hacking method not found
...
was using exit, since raise is not implemented. This was ambiguous as all programs exit.
Using :died as special kernel code and bending it, and reporting it in interpreter.
2019-09-09 11:47:37 +03:00
7334e72458
Weird to be finding Parfait word bugs now
...
but index maths is also much easier 10th time around
2019-09-08 21:14:54 +03:00
6811fc4174
fix interpreter to output symbols
...
which amazingly lets us get at classnames etc
2019-09-08 15:31:03 +03:00
a99abd7ad0
update gems, remove ssh
2019-09-08 13:44:51 +03:00
1a096110a8
basic require_relative (hack)
...
opted to hack require to be getting on
need require for the test helper
and the files in lib/parfait
General require mechanism would still be ok, but require_ralative means implementing file source, which needs to be dragged around. I'll make an issue
2019-09-07 22:13:53 +03:00
b13c19def3
cache booted functions
...
remove more redundant parfait boots
2019-09-07 17:56:06 +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