Commit Graph
100 Commits
Author SHA1 Message Date
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 b341c722fd copied stash over 2017-04-01 21:28:57 +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 f0c0128b38 improve to_code a bit
variable names mainly, some description
2017-01-18 12:24:15 +02:00
Torsten Ruger a39fc76a12 create vm file to require vm parts 2017-01-18 08:45:42 +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 54b8a9f6de minor 2017-01-17 21:25:18 +02:00
Torsten Ruger 2a57a59c8e do not create already existing classes
wrong logic, also messes with parfait
2017-01-17 21:25:02 +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 5f7ea08a43 Splitting NameExpression into three, Known,Local,Argument
The decision which to use can be made higher up, in ruby, and so it
should.
2017-01-16 09:33:49 +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 680fc7ecce minor fixes 2017-01-15 14:44:11 +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 f9824079d6 splitting assignment into three, for args, locals and ivars
The decision on which is moving up to the ruby  compiler, so it can at
the same time emit the correct assignment form.
Just another example of moving away from a language and to an
intermediate form (that has no language equivalent)
2017-01-15 13:01:28 +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 9d36d72ee5 load arg type directly into the object
Was going through the method, but the type is just as constant and
saves 2 instructions 4 every call
2017-01-04 21:34:51 +02:00
Torsten Ruger 78f7420ef7 add locals type into the call preable
calling already sets the argument type
so now we set the locals type too- symmetry
(lots of tests affected)
2017-01-04 21:33:43 +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 0383532cd4 the number keeps changing, but why 2017-01-03 22:56:00 +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
Torsten Ruger d94af2a724 align method compiler test names 2017-01-03 22:32:34 +02:00
Torsten Ruger 66f359a14f move expression tests to standard dir for guard 2017-01-03 22:18:41 +02:00
Torsten Ruger 3b0c5c00ce move tests to correct directory for guard to pick them up 2017-01-03 22:10:58 +02:00
Torsten Ruger 82ff8244cf thougth i'd got that one 2017-01-02 01:02:07 +02:00
Torsten Ruger 7602fd0af4 fix positioned tests
thanks to codeclimate
the broken tests were still raising errors, just the wrong ones, but
coverage shoed it!
2017-01-02 00:53:28 +02:00
Torsten Ruger 23c8f54cd5 change travis test reporting
and badges
2017-01-02 00:47:11 +02:00
Torsten Ruger 0b431a0011 renamed dependencies too 2017-01-02 00:40:42 +02:00
Torsten Ruger 1647b746ea starting to rename to rubyx 2017-01-02 00:29:20 +02:00
Torsten Ruger 0397d4064d fix all positioned uses as helper (not included anymore) 2017-01-01 21:52:55 +02:00
Torsten Ruger cd474f66f6 stop including positioned 2017-01-01 21:52:35 +02:00
Torsten Ruger fafcd15ce8 make positioned a helper module 2017-01-01 21:52:00 +02:00
Torsten Ruger b8b387d498 some extra assembler tests 2017-01-01 21:51:23 +02:00
Torsten Ruger 06cfbdf066 minor 2017-01-01 21:50:54 +02:00
Torsten Ruger adf35ca038 downgrade thor to avoid warnings 2017-01-01 21:49:43 +02:00
Torsten Ruger b7147b3dd4 simple collector test 2016-12-31 21:05:19 +02:00
Torsten Ruger 86dafccb04 stop including padding
use it as a helper module
2016-12-31 20:08:33 +02:00
Torsten Ruger dccd097fef remove collecting from the machine
use as stand alone module
2016-12-31 19:54:18 +02:00
Torsten Ruger 671512b96c avoid fixnum overflow for hashes 2016-12-31 19:53:43 +02:00
Torsten Ruger 113b349af5 unlinking the objects collection from the machine
passing it around instead
2016-12-31 18:46:17 +02:00
Torsten Ruger b094bcc64f rename unit and sint to human readable forms 2016-12-31 18:45:22 +02:00
Torsten Ruger 5f3744d6af remove unused attributes functions 2016-12-31 15:20:02 +02:00
Torsten Ruger 7bb1c361a5 small word test 2016-12-31 15:17:45 +02:00
Torsten Ruger 47c0f62212 error message 2016-12-31 15:10:07 +02:00
Torsten Ruger a2ece04b6d a little more minimal elf tests 2016-12-31 15:08:32 +02:00
Torsten Ruger fb414cecd6 use helper 2016-12-31 14:54:53 +02:00
Torsten Ruger 838aba470d move fix_types in order of usage 2016-12-31 14:54:34 +02:00
Torsten Ruger 853a531578 Move add_object to collector
more changes to come
2016-12-31 14:54:15 +02:00
Torsten Ruger b9073d0c88 redid the type hashing
account for the class the type is for
by adding it to the hash code, so even the ivars are identical the
types are not
2016-12-31 14:51:06 +02:00
Torsten Ruger 0fa7f54bcc found and fixed hashing bug 2016-12-31 14:04:04 +02:00
Torsten Ruger d6c503ecf4 inlined indexed into list
which was the only one using it.
A whole lot simpler, considering it will have to be bootstrapped someday
2016-12-30 21:00:18 +02:00
Torsten Ruger e80d028f7b test to check that types are types
which led to dictionary bug
2016-12-30 20:48:14 +02:00
Torsten Ruger 7f06e00ccd making types private in space
turned out to be unnecessary, but still better
2016-12-30 20:47:28 +02:00
Torsten Ruger ef66a87527 fixed silly dictionary bug
also finally duplicating keys and values and not handing them out
2016-12-30 20:46:18 +02:00
Torsten Ruger a7935db107 cleaner way to generate argument types
possibly more correct
2016-12-30 19:17:59 +02:00
Torsten Ruger 83b6628f1a whitespace and code style 2016-12-30 19:17:15 +02:00
Torsten Ruger db798d1a4a no default arg on init
also making sure the type is in the hash
but also that the order of type does not matter
2016-12-30 18:41:36 +02:00
Torsten Ruger a82c9e8fb1 minor whitespace and renaming 2016-12-30 18:39:49 +02:00
Torsten Ruger 4ef8997854 Spelling 2016-12-30 16:46:12 +02:00