Commit Graph

962 Commits

Author SHA1 Message Date
Torsten Ruger
b6fa8261e6 first stab at moms if 2017-08-30 17:21:13 +03:00
Torsten Ruger
ffd7a32ae3 fixed test name 2017-08-29 19:31:42 +03:00
Torsten Ruger
670ebd06cc remove traces of salama 2017-08-29 18:38:51 +03:00
Torsten Ruger
e40346b246 one more send mom test 2017-08-29 18:28:25 +03:00
Torsten Ruger
bbc13946ed implements self sent
with explicit and implicit self
2017-04-25 09:40:09 +03:00
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
dda2ddd9fb rename test to avoid clashes 2017-04-23 17:50:06 +03:00
Torsten Ruger
3e282c083d introduces compile time type (ct_type)
to determine whether we can call directly
2017-04-19 20:59:13 +03:00
Torsten Ruger
d2fba19b95 fixes simple argument passing 2017-04-16 11:39:21 +03:00
Torsten Ruger
0d43987005 start to compile send
still very hacked version of simple call, but a start
2017-04-15 20:58:39 +03:00
Torsten Ruger
265b25d5f4 introduce return_sequence instruction to mom 2017-04-14 21:01:50 +03:00
Torsten Ruger
68944a0168 restrict tests to test dir 2017-04-14 20:37:47 +03:00
Torsten Ruger
d0df1a2e28 more remote debugging 2017-04-14 14:38:23 +03:00
Torsten Ruger
d2c64020fc conditionally start simple_cov
slightly mixed messages from the travis and local output.
Also cc docs unclear, trying around
2017-04-14 13:42:50 +03:00
Torsten Ruger
d3f79a1220 use bundler to run tests on travis 2017-04-14 13:32:11 +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
c885888f4a start implementing return for constant 2017-04-14 10:52:23 +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
9dd4409009 implements argument assignment 2017-04-13 14:14:43 +03:00
Torsten Ruger
d2d845266e remove code that was moved to support helper 2017-04-12 20:58:40 +03:00
Torsten Ruger
be10e8c6af set up ivar_assignment correctly
for statement tests
and write mom tests
also implement to_mom
and fix local (self) bug
2017-04-12 20:29:45 +03:00
Torsten Ruger
87133722b3 get guard to run several test on one change by setting up names accordingly 2017-04-12 20:18:41 +03:00
Torsten Ruger
21e426be71 finishes local assignments to_mom 2017-04-12 14:45:02 +03:00
Torsten Ruger
9c499c7a19 actually start doing something in to_mom
though still dummy
2017-04-12 11:53:02 +03:00
Torsten Ruger
1deca34c23 adds basic to_mom machinery for class and method statement 2017-04-12 11:52:23 +03:00
Torsten Ruger
a4b0666c8c makes method_statements body always a scope_statement 2017-04-12 11:51:29 +03:00
Torsten Ruger
0d96f5e35f rearranges test helper modules 2017-04-10 16:12:15 +03:00
Torsten Ruger
0233e91355 basic mom directory structure and a readme 2017-04-10 11:47:18 +03:00
Torsten Ruger
b2775455e1 more class creation tests 2017-04-09 10:14:28 +03:00
Torsten Ruger
397eca541a fix class statements to always have Statements as body
not sometimes an array, which sits badly in the tree of statements
2017-04-09 09:59:21 +03:00
Torsten Ruger
af196c17d3 test correct instance_type creation
so ivar collection happens
and a type is created from the names
2017-04-08 19:20:11 +03:00
Torsten Ruger
c7978c22d4 improves method compiler tests 2017-04-08 17:29:53 +03:00
Torsten Ruger
f8b3fa1877 creates methods from method statement 2017-04-08 17:22:53 +03:00
Torsten Ruger
b0e3978b15 starts on local variable collection
500 tests (in under 2 seconds), yippie
2017-04-08 12:28:31 +03:00
Torsten Ruger
ea41f9cae9 fixes ivar collection 2017-04-08 12:18:10 +03:00
Torsten Ruger
d00fbb233e adds ivar collection with tests 2017-04-08 12:11:52 +03:00
Torsten Ruger
8942f42310 adds collect for the statements 2017-04-08 12:10:42 +03:00
Torsten Ruger
db8f99409b move vool statements into own directory
also tests for guard to work
2017-04-06 19:11:11 +03:00
Torsten Ruger
b9caad937a rename bools compiler to ruby_compiler
as that is what is does, compile ruby strings into vool st
2017-04-06 15:36:41 +03:00
Torsten Ruger
3683aa8976 vool method fix 2017-04-06 14:02:18 +03:00
Torsten Ruger
bc0b71d0cd test local variables
need the assignenment first in the same scope so parser knows its a lvar
2017-04-05 14:03:36 +03:00
Torsten Ruger
de8b48975b adds logical statements to vool 2017-04-04 18:35:15 +03:00
Torsten Ruger
d6e346d9c0 adds instance assignment to vool 2017-04-04 18:10:28 +03:00
Torsten Ruger
73964aeb6e adds modules to vool 2017-04-04 18:00:21 +03:00
Torsten Ruger
5f70067fa0 adds instance and class variables to vool 2017-04-04 14:04:35 +03:00
Torsten Ruger
83ab197d03 fix and test vool return statement 2017-04-04 10:42:20 +03:00
Torsten Ruger
c545bfdfc6 adds while statement to vool 2017-04-03 11:49:21 +03:00
Torsten Ruger
5335d08408 more condition tests 2017-04-02 22:52:31 +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
16a55d9f95 include same directory helpers
(not one above as falsely was)
2017-04-02 19:13:14 +03:00
Torsten Ruger
f343ad934c a start on conditionals 2017-04-02 19:12:42 +03:00
Torsten Ruger
443fd13980 adds super
with and without args
current thinking is to fill the name of the method later as we carry no
context currently, but this may change
2017-04-02 18:42:52 +03:00
Torsten Ruger
ac7b9138ff bit of cleaning 2017-04-02 18:25:30 +03:00
Torsten Ruger
539ab692a3 add scope and kwbegin
scope is just a list of statements
2017-04-02 13:24:09 +03:00
Torsten Ruger
27e4e9f501 add assignment and self 2017-04-02 12:59:07 +03:00
Torsten Ruger
d62e996f7c add send statement 2017-04-02 12:57:05 +03:00
Torsten Ruger
93f9d16209 add vool hashes 2017-04-02 10:57:39 +03:00
Torsten Ruger
d5af6dad42 adds arrays to vool
also symbols and some cleanup
2017-04-02 10:43:22 +03:00
Torsten Ruger
8f03d98330 adds basic values (bools ints strings) 2017-04-02 09:44:56 +03:00
Torsten Ruger
34fdf7b2cd adds method_statement to vool 2017-04-01 16:27:32 +03:00
Torsten Ruger
295782d9e6 start on vool, the virtual oo language
start with syntax tree, not linked into existing code until finished
2017-04-01 15:57:39 +03:00
Torsten Ruger
b756d275e4 update collector to estimate bootstrap size 2017-01-19 09:08:59 +02: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
7abd777d05 rename melon to rubyx
melon was still from the salama days and rubyx describes it much better
2017-01-18 00:05:36 +02:00
Torsten Ruger
48d32a2b8e hello world in ruby works
doesnt do much dynamic things though
2017-01-17 21:27:20 +02:00
Torsten Ruger
10d75e136f defining constants in melon to match classes in vm 2017-01-17 21:26:28 +02:00
Torsten Ruger
9c83423e50 bug hunting for class recreation 2017-01-17 21:25:58 +02:00
Torsten Ruger
cd211f970f make method creation class methods in MethodCompiler
and pass the wish to use main explicitly, which is really a test
feature
2017-01-17 21:23:58 +02:00
Torsten Ruger
0c64e367d5 rename compiler test accrding to convention 2017-01-17 21:22:53 +02:00
Torsten Ruger
7223ca9a1c clean and refactor 2017-01-16 17:44:34 +02:00
Torsten Ruger
091900ef1c move test helpers up, so they can be used in Melon too 2017-01-16 17:43:39 +02:00
Torsten Ruger
4ba182a822 rename compilers to passses 2017-01-16 17:24:32 +02:00
Torsten Ruger
8dbbffd58e fix tests for NameExpression split
also necessitates giving method name without the wrapping expression
which is simpler anyway
2017-01-16 09:34:47 +02:00
Torsten Ruger
96f19d18c0 starting on ruby send 2017-01-15 20:30:47 +02:00
Torsten Ruger
cf0a123866 boot_function test 2017-01-15 20:04:52 +02:00
Torsten Ruger
fc96f1d2da checking classes don't get created twice 2017-01-15 16:59:29 +02:00
Torsten Ruger
83f2459a8a implement ivar assignment 2017-01-15 14:44:23 +02:00
Torsten Ruger
85eec2f3cb adding instance variables to class 2017-01-15 14:21:57 +02:00
Torsten Ruger
8b364eb566 fixing tests for assignment split 2017-01-15 13:01:44 +02:00
Torsten Ruger
a0cf5bffc0 small rename to align has_locals and has_arguments
for semantic and code unification
2017-01-15 12:59:03 +02:00
Torsten Ruger
4095bb397f starting to create vm_method from ruby_method
issues galore though
2017-01-15 12:10:37 +02:00
Torsten Ruger
9eeb9f65f3 add normalizing and method compilation phases (empty) 2017-01-14 20:30:19 +02:00
Torsten Ruger
1c2b6d103c move one more test file 2017-01-14 20:10:34 +02:00
Torsten Ruger
2e62c5bbb6 create compilers directory, found and renamed salama.rb 2017-01-14 20:05:58 +02:00
Torsten Ruger
01fe3b4b04 small rename 2017-01-14 19:52:16 +02:00
Torsten Ruger
bd78a2d555 renames Typed to Vm 2017-01-14 19:28:44 +02:00
Torsten Ruger
75c7ca950e bit more method collector/creation testing 2017-01-13 22:16:06 +02:00
Torsten Ruger
3f6c1bc3a3 manage to create ruby methods 2017-01-12 20:38:04 +02:00
Torsten Ruger
89f5badc16 putting melon tests into module and splitting to one per file 2017-01-11 19:18:04 +02:00
Torsten Ruger
83d943afa5 Fix for call changes and helper changes 2017-01-04 21:38:38 +02:00
Torsten Ruger
0084406cfd let check return and assert in main test
so one can better locale the error
(the assert in the helper does not give stack trace)
a shot at keeping the calling handshake out of the asserts failed
2017-01-04 21:38:03 +02:00
Torsten Ruger
49da77f996 fix interpreter tests to use classes (not strings)
and fix for the change in call sequence
2017-01-04 21:36:46 +02:00
Torsten Ruger
3f24409093 us the actual classes for expected results
If i remember strings were only used to shorten the names
Now in register module this is not neccessary
2017-01-04 21:35:50 +02:00
Torsten Ruger
f2c4e542ac rename to to array function to to_arr 2017-01-04 21:32:09 +02:00
Torsten Ruger
88eae0e6f0 add colour output to tests 2017-01-04 21:31:03 +02:00
Torsten Ruger
8aee761b73 putting tests into module 2017-01-03 22:42:40 +02:00
Torsten Ruger
da58ce30e3 put arm tests in arm module 2017-01-03 22:37:55 +02:00
Torsten Ruger
a14a0de9d1 put everything into register module (avoid clashes) 2017-01-03 22:37:25 +02:00