Commit Graph

1395 Commits

Author SHA1 Message Date
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
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
cd474f66f6 stop including positioned 2017-01-01 21:52:35 +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
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
113b349af5 unlinking the objects collection from the machine
passing it around instead
2016-12-31 18:46:17 +02:00
Torsten Ruger
7bb1c361a5 small word test 2016-12-31 15:17:45 +02:00
Torsten Ruger
a2ece04b6d a little more minimal elf tests 2016-12-31 15:08:32 +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
83b6628f1a whitespace and code style 2016-12-30 19:17:15 +02:00
Torsten Ruger
a82c9e8fb1 minor whitespace and renaming 2016-12-30 18:39:49 +02:00
Torsten Ruger
f0350601a7 Move the space instance to the parfait module
A better fit, maybe even a pattern for singletons
2016-12-30 14:10:49 +02:00
Torsten Ruger
a00f6be3ba remove the space instance from register machine
bad design, probably from the booting
2016-12-30 14:04:59 +02:00
Torsten Ruger
ef872edd7a rename instance_methods to just methods 2016-12-30 13:33:07 +02:00
Torsten Ruger
631038dfbd add another test (still failing) 2016-12-30 13:15:08 +02:00
Torsten Ruger
d8289d4fcf try spelling correctly 2016-12-30 11:59:38 +02:00
Torsten Ruger
8aae8f7425 disabling failing test for now
have to add more test and code climate will show where
2016-12-29 21:24:11 +02:00
Torsten Ruger
e69d9a492e mostly moving to ruby instance variables 2016-12-29 18:51:24 +02:00
Torsten Ruger
e3de4efe02 fixing the tests from all the previous changes 2016-12-29 18:50:10 +02:00
Torsten Ruger
b5f04ec718 mostly renames from the type change
also making setters as explicit set_xx methods
2016-12-29 18:45:32 +02:00
Torsten Ruger
4c3007e6c0 removing meta class (for now) 2016-12-29 18:39:59 +02:00
Torsten Ruger
80237e5033 rename position accessor
for future
2016-12-28 21:40:06 +02:00
Torsten Ruger
8cfcb84c8d collect missing tests (and ordering) 2016-12-28 19:31:17 +02:00
Torsten Ruger
af31774074 implement assignment type check 2016-12-28 19:20:16 +02:00
Torsten Ruger
9cf56b3aa6 use factory functions consistently to create instructions 2016-12-28 19:01:58 +02:00
Torsten Ruger
7d29a85187 remove legacy :int type 2016-12-28 18:25:14 +02:00
Torsten Ruger
4412eda105 small refactor and rename 2016-12-28 18:16:39 +02:00
Torsten Ruger
25ae6e3d26 remove next_list from NamedList
Was legacy from the days of (linked) Frames
Now only messages are linked
2016-12-28 18:08:07 +02:00
Torsten Ruger
266764be06 testing to_s on Code 2016-12-28 13:59:02 +02:00
Torsten Ruger
9fb89e09f3 fixes for tighter argument handling 2016-12-27 20:41:01 +02:00
Torsten Ruger
7462d0c486 lots more ripples from changing calling convention 2016-12-27 20:40:37 +02:00
Torsten Ruger
aaa94f0743 small fixes 2016-12-27 20:34:11 +02:00
Torsten Ruger
b9b05378f5 split the if test into a plain and one with call 2016-12-27 20:32:38 +02:00
Torsten Ruger
a5946cb644 same renames for bytes (set/get_byte) 2016-12-25 18:11:58 +02:00
Torsten Ruger
f648bf7bd5 rename also get_slot, to slot_to_reg
makes source and target clear
2016-12-25 18:05:39 +02:00
Torsten Ruger
35adf9a5e6 rename set_slot
set_slot was clear about the target, but not the source.
Better with reg_to_slot (and soon it’s inverse slot_to_reg)
2016-12-25 18:02:39 +02:00
Torsten Ruger
3b888b203d crude rework of the hashing to work in opal 2016-12-22 21:16:36 +02:00
Torsten Ruger
c3c52d36b8 seperate args from message (just like frame) 2016-12-21 22:35:36 +02:00
Torsten Ruger
ed12108425 rename locals from type to role in message 2016-12-21 19:01:42 +02:00
Torsten Ruger
0e99ff33ae use frame type rather than the indexed construct 2016-12-21 18:59:07 +02:00
Torsten Ruger
93ba5543b3 more renaming of frame 2016-12-21 18:51:22 +02:00
Torsten Ruger
0040baae28 rename frame to named_list to be shared soon 2016-12-21 18:45:18 +02:00
Torsten Ruger
b242f9e223 bringing the locals into the ruby method 2016-12-21 11:30:35 +02:00
Torsten Ruger
9ec9ccb9b6 start on collector for local variables 2016-12-21 11:20:36 +02:00
Torsten Ruger
8507bef08b extracting methods for the compiler to handle 2016-12-20 20:02:52 +02:00
Torsten Ruger
9e89306733 rename to get guard matches 2016-12-20 20:01:28 +02:00
Torsten Ruger
aa6685a0cb test collector for ivar assignment 2016-12-20 15:46:23 +02:00
Torsten Ruger
aa5f48e3c6 remove instance_names from class again
and use types names instead. For now assuming Object class
2016-12-19 14:20:47 +02:00
Torsten Ruger
af9fed863f small rename 2016-12-19 14:16:10 +02:00
Torsten Ruger
107e3e6d58 pick up instance variables from the class
Crude first set to creating types
2016-12-18 20:05:11 +02:00
Torsten Ruger
af9987659f create and test derived classes too 2016-12-18 17:17:58 +02:00
Torsten Ruger
170d453a36 start with melon and tests
First step, create a basic class
2016-12-18 17:02:55 +02:00
Torsten Ruger
b8cf72e729 move old tests out of the way 2016-12-18 17:01:30 +02:00
Torsten Ruger
756cb52a98 renames compiler to method_compiler 2016-12-18 14:15:19 +02:00
Torsten Ruger
8845b91529 remove FieldDef
and on_field_def , :field_def and fixed all related tests
local variables will have to be determined outside the typed layer
2016-12-17 13:12:49 +02:00
Torsten Ruger
1a224f904b much less test code (s-exps) needed because compiler defaults to main
but some compilation outside needed, hence clean_compile
2016-12-17 00:19:23 +02:00
Torsten Ruger
681b53cc4c make compiler default to compiling Space.main 2016-12-17 00:17:35 +02:00
Torsten Ruger
ece017fa86 small shuffle of test helpers, also guard helpers 2016-12-17 00:15:27 +02:00
Torsten Ruger
f8cefcde3c retiring ClassField and class_field from typed layer
Creating classes is the responsibility of melon
2016-12-16 19:05:49 +02:00
Torsten Ruger
190a0ffa47 adds set_byte interpreter test 2016-12-16 01:43:54 +02:00
Torsten Ruger
6f9955a726 more auto guard rules
and related renaming of files
2016-12-16 01:14:09 +02:00
Torsten Ruger
516bbd10b7 little fat of meta class
meta is firmly in the ruby world, not implemented in type world
2016-12-16 00:57:10 +02:00
Torsten Ruger
be2b59bd01 locally passed but globally clashed
tests needs modules too :-)
2016-12-15 22:29:17 +02:00
Torsten Ruger
d357b8b928 fix silly scope 2016-12-15 22:28:42 +02:00
Torsten Ruger
bc22c40101 Get Byte interpreter test 2016-12-15 22:15:58 +02:00
Torsten Ruger
193278c8c2 more class tests 2016-12-15 22:15:40 +02:00
Torsten Ruger
36dfc1b1d3 some positioning tests 2016-12-15 22:15:20 +02:00
Torsten Ruger
00987519cc complete log tests 2016-12-15 22:14:24 +02:00
Torsten Ruger
e2c006b5ad minor 2016-12-15 18:08:55 +02:00
Torsten Ruger
884bf23e5f fix elf test 2016-12-15 17:57:45 +02:00
Torsten Ruger
1571c796bb remove unused from type 2016-12-15 14:00:34 +02:00
Torsten Ruger
2b3f9c398e add find method to indexed 2016-12-15 14:00:03 +02:00
Torsten Ruger
b3eeb7db21 memory instruction refactor (small) 2016-12-14 21:05:24 +02:00
Torsten Ruger
b3bf881c49 streamline arm test names and get guard to pick up right tests 2016-12-14 19:06:32 +02:00
Torsten Ruger
0a0f9154e1 use Simpleconv for code_climate 2016-12-14 13:52:44 +02:00
Torsten Ruger
456e9b1ec0 folded salama-arm in 2016-12-14 13:43:13 +02:00
Torsten Ruger
56032c9b08 fix tests because of type changes 2016-12-14 13:25:06 +02:00
Torsten Ruger
021fab31db small things 2016-12-14 13:22:47 +02:00
Torsten Ruger
012b5d683c change method locals to type object too (same as args) 2016-12-13 19:18:17 +02:00
Torsten Ruger
16b3a77350 fixes from the method argument change
Affects
method creation
argument manipulation
compiler / to_code
2016-12-13 18:49:45 +02:00
Torsten Ruger
2c5541fb19 small test improvement 2016-12-13 18:48:42 +02:00
Torsten Ruger
c346260bde change method arguments to be a type instance
where is was a list of variables (half baked)
variables also having values (not applicable)
2016-12-13 18:47:44 +02:00
Torsten Ruger
1c28926c6b improve type tests 2016-12-13 18:46:03 +02:00
Torsten Ruger
17023fdeb1 rename method to typed_method 2016-12-12 23:38:55 +02:00
Torsten Ruger
f3248462cc remove references to soml 2016-12-11 12:55:03 +02:00
Torsten Ruger
472a2d80f6 add interpreter event tests 2016-12-11 12:08:47 +02:00
Torsten Ruger
fa0e279620 whilespace in s-exps 2016-12-10 23:07:04 +02:00
Torsten Ruger
99454b3efe fix conditional tests 2016-12-10 22:49:04 +02:00
Torsten Ruger
5a1a42cd48 fix field access tests 2016-12-10 22:48:55 +02:00
Torsten Ruger
17cb917104 fix while statement tests 2016-12-10 22:42:02 +02:00
Torsten Ruger
e82c86f6c1 fix class def tests and code 2016-12-10 22:41:49 +02:00
Torsten Ruger
aa5641a29b fix call statement tests 2016-12-10 22:41:19 +02:00
Torsten Ruger
5a81ce259e exclude test from coverage (duh) 2016-12-10 18:59:24 +02:00
Torsten Ruger
a3e8d19bb7 small test setup fixes 2016-12-10 18:48:41 +02:00
Torsten Ruger
6d4347c7ba finish assignment tests
and related code fixes
2016-12-10 18:48:18 +02:00
Torsten Ruger
f359e78982 adjust test helper to current s-exp situation
also refrain from hacking the compiler
by using the constructor
2016-12-10 18:09:51 +02:00
Torsten Ruger
87693112d4 small fix 2016-12-10 18:07:38 +02:00
Torsten Ruger
efca5254f4 move stashed tests 2016-12-10 18:06:57 +02:00
Torsten Ruger
f688611416 fix variable expression tests 2016-12-10 16:28:42 +02:00
Torsten Ruger
4f7110ef04 fix call expression tests 2016-12-10 15:26:25 +02:00
Torsten Ruger
4054b61752 fix more expression tests 2016-12-10 15:18:37 +02:00
Torsten Ruger
98bc0f6e40 test to_code 2016-12-10 14:55:23 +02:00
Torsten Ruger
de5d87cde7 add basic compiler expression tests (back) 2016-12-10 04:01:47 +02:00
Torsten Ruger
5c2f545f8e tests for ast to code converter 2016-12-10 03:43:44 +02:00
Torsten Ruger
ca4bdcc528 gets rid of soml-parser completely 2016-12-08 20:13:08 +02:00
Torsten Ruger
4cd979e3e9 remove soml parser from tests 2016-12-08 19:39:16 +02:00
Torsten Ruger
da553f996f move compiler to typed
starting to get rid of soml, bit by bit
2016-12-08 15:25:20 +02:00
Torsten Ruger
c3a28d2abc small collector change 2016-12-08 15:19:37 +02:00
Torsten Ruger
ed6fd91c4e add missing tests (that were not liked to the travis script) 2016-12-08 12:55:16 +02:00
Torsten Ruger
a31f75fe93 basic immutability for type
add_instance_variable now uses global type list to check
adds hash and to_has functions
use backdoor (send) for booting
2016-12-08 12:50:25 +02:00
Torsten Ruger
137d3c9231 add each_with_index to indexed 2016-12-08 12:48:39 +02:00
Torsten Ruger
ad91c0a4bf add inspect method to dictionary 2016-12-08 12:48:08 +02:00
Torsten Ruger
2741f35380 add a each_pair to indexed and use in types 2016-12-07 23:35:51 +02:00
Torsten Ruger
266a04040b add types hash to space 2016-12-07 23:34:45 +02:00
Torsten Ruger
fe195df10e split existing type tests 2016-12-06 17:03:15 +02:00
Torsten Ruger
3b4dbd052d Move type tests around 2016-12-06 16:58:19 +02:00
Torsten Ruger
3bfccc3efe move tests to equivalent place 2016-12-06 16:54:26 +02:00
Torsten Ruger
412e03ae7d fix rename 2016-12-06 16:45:16 +02:00
Torsten Ruger
3ed0c4829a log test 2016-12-06 16:44:04 +02:00
Torsten Ruger
fe203b55f1 fix codeclimate braking changes 2016-12-06 15:22:22 +02:00
Torsten Ruger
adca8b21c1 move soml tests out, small cleanup 2016-12-06 15:08:29 +02:00
Torsten Ruger
5ac14ddccc update gems and fix tests 2016-12-06 12:08:18 +02:00
Torsten Ruger
229f5896c6 update to use new ast
soml was updated to have a typed ast layer to make programatic creation
easier
this brings LOTS of syntax change with it, that does not really mean
anything at all
All tests pass again so back to the same
2016-03-07 11:55:28 +02:00
Torsten Ruger
a8b815117f rename object_type to instance_type
for better distinction that it is not every object
but only instances of the class
2016-02-25 12:16:13 -08:00
Torsten Ruger
278d71b56c fix docs for rename 2016-02-25 12:03:11 -08:00
Torsten Ruger
d32b51c67b rename layout to type
this one goes to caleb for pointing it out.
Much better word
2016-02-25 11:50:10 -08:00
Torsten Ruger
6d900f384b little tool to check code needed
get an idea of the amount of files, classes etc needed to bootstrap
2015-12-01 19:17:45 +02:00
Torsten Ruger
27a7657842 add parser and basic test framework
that doesnt actually do anything. but WILL, great things, off course
2015-12-01 11:55:33 +02:00
Torsten Ruger
c7d1f9ec99 fix all tests to use space.main 2015-11-30 16:20:39 +02:00
Torsten Ruger
afe16868b5 more some tests 2015-11-30 16:10:08 +02:00
Torsten Ruger
19dd7b96d6 fix benches interfering with testing 2015-11-30 16:09:55 +02:00
Torsten Ruger
dc560aaa5e move main to space 2015-11-30 16:09:12 +02:00
Torsten Ruger
707c180cab add go results, just cause I'm learning it 2015-11-27 19:54:43 +02:00
Torsten Ruger
fa63c6db6a add ruby bench programs and numbers 2015-11-24 15:33:16 +02:00
Torsten Ruger
535757fa98 did the ratios
i think percentages with +/- is best otherwise it becomes an issue of
which way you look at it.
1,33 or inverse 0.75 looks like a third one way and a quarter the other
2015-11-21 17:04:20 +02:00
Torsten Ruger
0cbf346519 redid the test, snapped variance
yesterday i had stray processes skewing the results
also figured out c was buffering prints
looking good
2015-11-21 16:35:30 +02:00
Torsten Ruger
1e2b784583 moved all the ruby benches out of the tests
here into bench dir and a little frame
2015-11-21 16:33:43 +02:00
Torsten Ruger
f865486f1e tweeks to the c tests
also figured out hello was caching stopped that to make results
comparable
even wrote a hello assembler version which is just 10% faster than soml
:-)
2015-11-21 16:33:07 +02:00
Torsten Ruger
a589df7bf9 take the benchmark tests out from the soml
they just run soon long if accidentally invoked
2015-11-21 14:33:52 +02:00
Torsten Ruger
9eab4b7f67 move c benchmarks to own directory 2015-11-21 14:22:53 +02:00
Torsten Ruger
ffc69fd2a5 add the hackers delight version of div10
better test too
remove remnants of 64bit multiplication
2015-11-21 14:19:07 +02:00
Torsten Ruger
96972dab29 thats most of the benchmarking
strange about the puts in soml, hard to see where a factor of 10 would
come from
2015-11-20 23:51:58 +02:00
Torsten Ruger
28836457c5 just let the runner run
and output eery step, gives better idea of variance (trouble)
2015-11-20 20:13:35 +02:00
Torsten Ruger
480e63a6c5 took the loooong test out
the one that was just meant for arm testing.
interpreter is 10000 times slower after all
2015-11-20 20:13:00 +02:00
Torsten Ruger
1bec6f4ca7 simple bench runner to do multiple runs 2015-11-20 19:13:21 +02:00
Torsten Ruger
da4003c30a ruby fibs versions and tests for them 2015-11-20 19:12:58 +02:00
Torsten Ruger
9bcead4c1a small c programs to bench against 2015-11-20 19:12:13 +02:00
Torsten Ruger
22117035e0 fix last failing tests
historic moment: all the test (currently 56) work on the arm too
2015-11-20 14:37:26 +02:00
Torsten Ruger
f9e95d7d1f more tests
good thing, though it seemed to have worked all the time,
just the test framework was broken,
thus reusing already changed object (by the interpreter)
2015-11-20 13:28:49 +02:00
Torsten Ruger
bca0ae1b3b fix remote test framework
was resting machine objects and causing bugs
reboot now and really start from scratch for remote
2015-11-20 13:27:31 +02:00
Torsten Ruger
791cc96a0d fix check function
same stack depth for all calls to get caller / file name
2015-11-20 13:26:35 +02:00
Torsten Ruger
aabde4b9a6 fix word indexes on arm
which affected offsets in the ruby side too
the hidden dead word needed accounting for
2015-11-19 16:40:00 +02:00
Torsten Ruger
4871a52d37 better error reporting for parser 2015-11-19 10:10:13 +02:00
Torsten Ruger
249f43ad34 translate and interpret new instructions 2015-11-19 10:09:55 +02:00
Torsten Ruger
5369dc3d52 rename get/set internal
to _word , because _byte versions are coming
2015-11-18 15:36:43 +02:00
Torsten Ruger
633c1e9a4a fix the fix fix 2015-11-18 15:22:20 +02:00
Torsten Ruger
caaa500cb7 fix return tests 2015-11-18 15:18:56 +02:00
Torsten Ruger
bcc2f019d9 liable remote tests to fix travis 2015-11-18 14:15:57 +02:00
Torsten Ruger
4c71b281c4 3 try to get travis to work
and behave like my machine, remote debugging going on
2015-11-18 13:50:38 +02:00
Torsten Ruger
506c12b6f5 change to REMOTE_PI, REMOTE seems to be set on travis
causing fails that were green at home. the worst kind
2015-11-18 13:42:07 +02:00
Torsten Ruger
08faec40dd fix class test 2015-11-18 13:32:59 +02:00
Torsten Ruger
050179fee4 fix exit code check
did’t know exit codes are restricted to 1 byte (_really_ old stuff)
take a swing at testing by testing low byte
does leave room for error, but still something for this stage
2015-11-18 13:27:20 +02:00
Torsten Ruger
0e89cbe8ff fix remote parsing / setup 2015-11-18 13:17:49 +02:00
Torsten Ruger
7daaec6a0a unify fragment and parfait test code
so that we can test fragments remotely too
2015-11-18 13:04:57 +02:00
Torsten Ruger
18f9ea019e move parfait tests to some
after renaming compiler to soml
it’s where they wanna be
also will allow for unifying test helpers and testing fragments
remotely too
2015-11-18 12:14:31 +02:00
Torsten Ruger
3efdf420a4 move parfait tests to register
that is the ruby parfait, the “adapter”
2015-11-18 12:10:59 +02:00
Torsten Ruger
cab7e61f8b move interpreter tests to register
to shadow the interpreter move / the lib structure
2015-11-18 12:07:37 +02:00
Torsten Ruger
2bc2d4486f move interpreter to register
seems more where it belongs, since it interprets the register machine
instructions
2015-11-18 12:00:30 +02:00
Torsten Ruger
40d81681b5 move parfait adapter into parfait ruby
in the future parfait will be coded in some and translated back into
ruby to “adapt”
until then, all ruby code is the adapter
2015-11-18 11:55:29 +02:00
Torsten Ruger
aa30864fcb typo 2015-11-18 11:30:39 +02:00
Torsten Ruger
ac620f8ea0 unroll loops in tests
to get one executable per test (before they were overwritten)
2015-11-18 11:29:37 +02:00
Torsten Ruger
0643b96641 update arm
and small code changes from the fact that just loading a variable does
not change status flags
2015-11-17 02:28:47 +02:00
Torsten Ruger
bc3042a466 use rye to test remotely
via ssh , no config yet
2015-11-16 23:23:08 +02:00
Torsten Ruger
9a81d4e6a6 fixes from earlier changes 2015-11-16 18:05:57 +02:00
Torsten Ruger
f92ea36fe5 minor fixes 2015-11-16 18:02:13 +02:00
Torsten Ruger
f50d7b57a4 fix the putstring sys call indexing
index 0 is the marker word , so like in some, all indexes 1 based
works :-)
2015-11-15 22:03:06 +02:00
Torsten Ruger
8e82da0b61 fix arm (assembled) indexing
by having a dummy 0 index in salaam. when assembled
2015-11-15 20:42:07 +02:00
Torsten Ruger
278eccbed5 derive binary code form word
long ago hacked the binary code to use integers (thus forsaking correct
arm binaries)
Finally fix by deriving from Word which now has correct binary access
Dumped binary.name in the process, that is available from the method
2015-11-14 15:04:04 +02:00
Torsten Ruger
8fa92515b5 update arm and small arm fixes
constants in arm chunks, needs better solution
2015-11-14 13:05:49 +02:00
Torsten Ruger
39eed43358 some ripples from branch logic change 2015-11-14 00:22:00 +02:00
Torsten Ruger
12e210fdf5 no to slow tests to a halt
also the high low code isn’t even used in the current version, no need
 to test too much
2015-11-13 20:50:33 +02:00
Torsten Ruger
4a8bb32039 serious bit fiddling, div10 using shift magic
forgot that arm has no division (or respectively only later models have)
many magic formulae out there, none seem to work 1000% on the
interpreter. some big 0 ending numbers are 1 off.
2015-11-13 20:46:27 +02:00
Torsten Ruger
c190f718ec fix fibs test to 32 bit maxs 2015-11-13 20:44:18 +02:00
Torsten Ruger
5c862111b9 remove div and add div10
general division is for another day, the 10 version is manageable
also same code produces mod10
wip
2015-11-12 20:03:57 +02:00
Torsten Ruger
a5afca10f6 don't pass machine around, its global 2015-11-12 20:02:44 +02:00
Torsten Ruger
6f0d6d831e update arm and implement most operators
multiplication wasn’t implemented
and division isn’t part if arm
neither is rotate by register
2015-11-12 20:02:14 +02:00
Torsten Ruger
351a747bfd mod and div for int 2015-11-11 20:36:40 +02:00
Torsten Ruger
1e7935bf85 implement byte access for some word
wouldn’t have been possible without the ruby version
2015-11-11 20:36:07 +02:00
Torsten Ruger
8528fae785 add the new tests 2015-11-10 19:12:50 +02:00
Torsten Ruger
c92814440f fix integer to_s and put, with tests 2015-11-10 19:09:17 +02:00
Torsten Ruger
760a4beb86 fix some word with tests 2015-11-10 19:08:48 +02:00
Torsten Ruger
da9dacffb2 shorten fibo test a bit 2015-11-10 11:44:55 +02:00
Torsten Ruger
9ab7b476d5 opal fix and minor 2015-11-09 23:27:15 +02:00
Torsten Ruger
b2de1c6d79 minor fixes 2015-11-08 23:58:54 +02:00
Torsten Ruger
f746218765 reinstate word creation and use for strings
so string constants become words, so we can fiddle with them
2015-11-08 23:58:35 +02:00
Torsten Ruger
6f69995284 stab at inter to string
wip
2015-11-08 17:11:03 +02:00
Torsten Ruger
ede7639861 forgot to link tests in
so code climate complained, oh now
2015-11-08 17:09:28 +02:00
Torsten Ruger
d6108e7b3a fix interpreter overflow issue
flag set for bigness, result reduced
tests for + and *
fixed fibs tests
2015-11-08 15:15:55 +02:00
Torsten Ruger
6ea698d397 save some to_s code 2015-11-08 14:30:42 +02:00
Torsten Ruger
cf05e7553a rework interpreter test framework
remove lots of copy paste
2015-11-08 14:30:28 +02:00
Torsten Ruger
37564d9c2e implement message pseudo variable (like self)
too easy
also simplified some tests
2015-11-08 13:55:38 +02:00
Torsten Ruger
502cfa357d implement and test field access 2015-11-08 13:39:13 +02:00
Torsten Ruger
6cd95ee933 more layout tests, seeing class names on stdout 2015-11-08 00:55:37 +02:00
Torsten Ruger
ab7e517e9e slightly tighter parfait tests 2015-11-07 22:26:06 +02:00
Torsten Ruger
f11e8f0a13 fix all the test
many are off course affected by call sequence changes
2015-11-07 22:20:21 +02:00
Torsten Ruger
8c68ffc7a4 fixing indexes makes test work
forgot my own rule: all parfait works in 1 based lists
2015-11-07 20:10:55 +02:00
Torsten Ruger
7523bac80a add layout and class accessor and test 2015-11-07 19:38:52 +02:00
Torsten Ruger
37928b8591 rename internal get/set functions
mainly because the salaam parser chokes on internal…
2015-11-07 17:40:59 +02:00
Torsten Ruger
8aabff6b37 get layout test
start of copying the ruby parfait tests
lots can be done with string output and return value
2015-11-07 17:39:17 +02:00
Torsten Ruger
d878ce00d8 framework for parfait runtime testing
with interpreter for now
later with arm exec support
2015-11-07 17:37:41 +02:00
Torsten Ruger
c9c0f66d79 rename test/parfait
to then write parfait test on the runtime
2015-11-07 14:04:38 +02:00
Torsten Ruger
b1939e9828 rename helper 2015-11-07 12:18:08 +02:00
Torsten Ruger
42c404802d more class function testing 2015-11-07 00:13:57 +02:00
Torsten Ruger
204200b92a metaclass is back
this time with a real purpose and implementation as the intermediary
As the interface to the layout and for replacing an edited layout
2015-11-07 00:11:56 +02:00
Torsten Ruger
ebcc15d314 testing fibo 2015-11-06 14:24:57 +02:00
Torsten Ruger
eae5cac4b5 check returns on tests 2015-11-05 17:00:41 +02:00
Torsten Ruger
1309ea37de fibonacci while works just as well now
surprisingly much faster though,
2015-11-05 13:37:08 +02:00
Torsten Ruger
aad50021fe more messages for recursive fibs 2015-11-05 12:23:11 +02:00
Torsten Ruger
4014ad27fe fix and test return
return was in the wrong message
better tests now
2015-11-05 12:22:48 +02:00
Torsten Ruger
8310bc4985 fix while tests now that while is fixed 2015-11-04 20:28:02 +02:00
Torsten Ruger
32275f4d48 fix interpreter test 2015-11-04 20:27:48 +02:00
Torsten Ruger
c87682b77f fix padding
used to be that type and layout were hidden
now type is gone and layout is an explicit instance, so 0 overhead
2015-11-04 10:34:03 +02:00
Torsten Ruger
5bddbfbb62 rename word_length to padded length
with word_length i was never sure if it was the padded version or not
2015-11-04 10:33:10 +02:00
Torsten Ruger
0f8f0a681c fix padding to only consider layout (1 word) 2015-11-03 16:22:50 +02:00
Torsten Ruger
ca1dc36e3d method marking for labels 2015-11-03 16:22:24 +02:00
Torsten Ruger
6882f39645 fixing lengths 2015-11-03 16:21:50 +02:00
Torsten Ruger
14f8b42015 fix instruction order, now with the save
and finally formatted in statements too
2015-11-03 11:25:02 +02:00
Torsten Ruger
dae12c532c fix fragment tests
they mostly got longer due to the added store instruction + label
2015-11-03 11:23:58 +02:00
Torsten Ruger
5a8d7d313f little more tests 2015-11-03 11:23:15 +02:00
Torsten Ruger
03979156db fix statements
as they go
2015-11-02 20:12:01 +02:00
Torsten Ruger
7eebc775d6 let helper output correct version in case of error 2015-11-02 20:11:40 +02:00
Torsten Ruger
23e09b7149 more dubious test hacking 2015-11-02 17:32:06 +02:00
Torsten Ruger
0094a89707 fix spurious test
or maybe hack is more correct
2015-11-02 11:34:08 +02:00
Torsten Ruger
7d7b7ca995 adding types to layout
so we can test assignment
2015-10-29 12:45:29 +02:00
Torsten Ruger
e4201143b3 last fixes from source change 2015-10-28 21:40:48 +02:00
Torsten Ruger
5d3aace459 use module compile function 2015-10-28 21:40:22 +02:00
Torsten Ruger
bdb4a40f9c only string and ast allowed as source 2015-10-28 21:38:23 +02:00
Torsten Ruger
ef6cb2a069 use instruction steam from message
had been attached there last week, but was still used mainly through
the source (which i’m trying to remove)
2015-10-28 14:33:38 +02:00
Torsten Ruger
142c36a374 fix return statement to actually return
fix a million tests
2015-10-27 21:04:46 +02:00
Torsten Ruger
79cf59c4e2 still finding index errors 2015-10-27 18:45:56 +02:00
Torsten Ruger
444ad75e1e some message tests, all ok 2015-10-27 18:08:40 +02:00
Torsten Ruger
bb908dcf76 adding arg length to call sequence
and fix all the tests that affects
2015-10-27 16:21:11 +02:00
Torsten Ruger
bd171d091a fix tests for indexed messages and frames
index_length changes index a bit
but from now on changes to layouts should push the index automatically
just have to set the index while calling now
2015-10-27 16:05:50 +02:00
Torsten Ruger
49b25ad971 fixed fragment tests 2015-10-27 11:00:48 +02:00
Torsten Ruger
638c367e00 more class methods 2015-10-26 22:23:06 +02:00
Torsten Ruger
5b7c98f50b order requires 2015-10-26 22:22:38 +02:00
Torsten Ruger
abaa56fbba add create_method for layout too
as for class, same signature
some more test for behavior
2015-10-26 17:24:28 +02:00
Torsten Ruger
9d0b264b79 minors 2015-10-26 17:23:35 +02:00
Torsten Ruger
55dd5f74fc fixed layout inspect bug 2015-10-26 15:07:59 +02:00
Torsten Ruger
885aa765d6 still fixing index bugs
the indexed_length got written wrong
which is why the layout methods didn’t work
Now all indexes are 1 based, even fake men, where we just ignore 0
2015-10-26 14:33:36 +02:00
Torsten Ruger
9f4952b5ac create behavior module
behavior handles instance methods (add/remove/find)
and shall be included in layout later too
2015-10-26 13:27:56 +02:00
Torsten Ruger
b76c140d32 some class field tests 2015-10-26 13:08:40 +02:00
Torsten Ruger
4cadfc9ea9 shortening some methods, removing object prefix 2015-10-26 12:58:38 +02:00
Torsten Ruger
d2c670b31a fixing offset bug
found by tests that overwrite the attribute
2015-10-26 12:57:54 +02:00
Torsten Ruger
96f43dcfda also giving word it's length
still hacked as char per word, but should be easy enough to fix when…
2015-10-26 12:23:52 +02:00
Torsten Ruger
979ebb7612 fixing indexed stuff
layout returns layout as first name (offsets indexes)
object internal length is gone  into layouts functionality
2015-10-26 12:22:32 +02:00
Torsten Ruger
df62b75c6f adding an instance for the length of lists 2015-10-25 20:44:03 +02:00
Torsten Ruger
c1ee67038c internally objects stop changing size 2015-10-25 20:43:13 +02:00
Torsten Ruger
60098257e9 use include so we can test with is_a
using the well documented included/extend trick
2015-10-25 19:16:12 +02:00
Torsten Ruger
b7d0ee8f99 wit metaclass and class functions
needs to go back to arrays first
2015-10-25 15:40:12 +02:00
Torsten Ruger
0d001ec0fc rename super_clsas to super_class_name
as it should have been
2015-10-25 15:32:38 +02:00
Torsten Ruger
99870c92d8 linking new tests in 2015-10-25 14:03:47 +02:00
Torsten Ruger
7de2f913a0 more class tests 2015-10-25 13:19:18 +02:00
Torsten Ruger
12e31f28c2 fix and test class definition 2015-10-25 12:31:35 +02:00
Torsten Ruger
7a690cd38d fix to_s 2015-10-25 12:10:56 +02:00
Torsten Ruger
405a6935d4 lots of stuff to move to linked lists
and remove the blocks
more position stuff coming, but the list part should be ok
2015-10-24 17:12:36 +03:00
Torsten Ruger
a871f96630 remove passes and achieve the same by translating 2015-10-24 11:42:36 +03:00
Torsten Ruger
57f37ec023 removed blocks and moved to labels
somewhat easier to understand the code as a linked list
relatively painless change, considering
2015-10-23 21:27:36 +03:00
Torsten Ruger
6754518daf prune builtin
will need much less, many more things can be expressed in soml
2015-10-23 15:13:05 +03:00
Torsten Ruger
147a77f4e4 fix arm test by fixing arm 2015-10-23 14:46:27 +03:00
Torsten Ruger
897e11ce80 store three versions of the code in method
source, instructions and binary
2015-10-23 14:41:47 +03:00
Torsten Ruger
e0c5bc4c11 rename phisol to soml 2015-10-23 14:22:55 +03:00
Torsten Ruger
dcbd3c7091 fold last of the virtual into register 2015-10-22 18:16:29 +03:00
Torsten Ruger
c68577c3f4 fixed more cases of empty block syndrome 2015-10-22 15:37:02 +03:00
Torsten Ruger
6ac339d998 catching empty blocks
should really clean those away
2015-10-22 15:34:47 +03:00
Torsten Ruger
b932f67da0 fixing tests
because interpreter was fixed
2015-10-22 14:51:20 +03:00
Torsten Ruger
3895ac624c fix offsets, debugging revealed them to be 1 off 2015-10-22 11:48:03 +03:00
Torsten Ruger
4ca15449be test and fix arg passing offset too 2015-10-22 11:32:37 +03:00
Torsten Ruger
13b8d0645f tests for offset fix 2015-10-22 11:02:57 +03:00
Torsten Ruger
db5c37bc55 fix while syntax and test 2015-10-19 16:37:12 +03:00
Torsten Ruger
99cff3aa32 fix the if syntax and branches 2015-10-19 16:22:24 +03:00
Torsten Ruger
1fd937927c adjust branch names
IsXXX  with xxx as condition, same as after if_xxx
AlwaysBranch is back to Branch
2015-10-19 16:08:00 +03:00
Torsten Ruger
50379a1fea update to new syntax and patch tests
basic semantics remain, but have to improve test for new functionality
that has to be written for new branch types
2015-10-19 15:31:48 +03:00
Torsten Ruger
bdcd0f297d first interpreted tests, fix branch issues
whole branch logic wobbly
better syntax needed, but working(ish) for now
2015-10-19 14:46:12 +03:00
Torsten Ruger
d767caf479 remove MethodCall and thus all virtual instructions 2015-10-18 19:27:46 +03:00
Torsten Ruger
15b570f5cf removing passes (before arm)
collector becomes a function
minimizer unused
2015-10-18 19:27:02 +03:00
Torsten Ruger
fa4949fc80 remove MethodEnter Instructions
only resolved to SaveReturn anyway
also Halt instruction wasn’t used, gone
passes changed to start at register
2015-10-18 17:39:35 +03:00
Torsten Ruger
8bf1337043 Remove MethodReturn instruction
and pass
and fix all tests
move towards removing all vm instructions
2015-10-18 17:32:32 +03:00
Torsten Ruger
6c7e4c0fe2 stop pinning self and frame
before: r0-message , r1-self , r2-frame , r3-new_message , r4 + tmps
now: r0-message , r1-new_message , r2 + tmps
programs got smaller, less fuss
also fix in return implementation that got the address from the wrong
message
2015-10-18 17:20:19 +03:00
Torsten Ruger
da5502e301 minor 2015-10-17 19:36:00 +03:00
Torsten Ruger
4ce4775902 fix layout
amazing at this stage, but yet another index error
the strange (and wonderful) thing is that changing the return
of the one function just shifts the variables and everything else
stays intact. Thus are the wonders of object orientation
2015-10-17 10:03:39 +03:00
Torsten Ruger
17545d1525 fix add test 2015-10-16 21:42:11 +03:00
Torsten Ruger
3e79e5cf8e fix code duplication 2015-10-16 19:18:37 +03:00
Torsten Ruger
5131e5d050 formatted interpreter tests
little helper to output the classes
2015-10-16 19:04:17 +03:00
Torsten Ruger
dc3920580b bit more cleaning of testing 2015-10-16 18:34:54 +03:00
Torsten Ruger
3b07f625a7 fix another order dependant issue 2015-10-16 17:58:07 +03:00
Torsten Ruger
5e04ee7212 bitten by test order, fixed 2015-10-16 17:17:39 +03:00
Torsten Ruger
bd2bf612ac fixed last test
back in the green
2015-10-16 17:13:08 +03:00
Torsten Ruger
a6712fc4f9 add call statement tests 2015-10-16 13:20:21 +03:00
Torsten Ruger
84eb516a01 add while statement tests 2015-10-16 13:17:02 +03:00
Torsten Ruger
349352faa9 minor 2015-10-16 13:12:52 +03:00
Torsten Ruger
6f856315d7 fix and test assign
also fix field def and
externalized assign
2015-10-15 13:08:53 +03:00
Torsten Ruger
398ec513f4 wrap in register module for shorter result names 2015-10-15 10:24:10 +03:00
Torsten Ruger
90ed4dd73b test return statement 2015-10-15 10:21:07 +03:00
Torsten Ruger
f8efdd910c basic if statement tests 2015-10-15 09:47:11 +03:00
Torsten Ruger
3d83f203ca fixing and testing operators 2015-10-15 09:32:47 +03:00
Torsten Ruger
e436581ce8 adds value to used regs and test for it 2015-10-15 09:07:47 +03:00
Torsten Ruger
300ce24739 remove function test from here and use setup
function definition is a statement, goes there
2015-10-14 21:57:37 +03:00
Torsten Ruger
2094101bb2 clearer organization for compiler tests
was slightly messy with small/large
now needed different test for expression and statements
2015-10-14 21:49:05 +03:00
Torsten Ruger
0c8be466df fix parfait test 2015-10-14 21:36:51 +03:00
Torsten Ruger
f105b1eb3c fix name expression 2015-10-14 21:34:18 +03:00
Torsten Ruger
1141ed9c99 type now means class name
update reader (with new type definition)
remove type class (now symbol)
update all types to class name symbols
2015-10-14 16:16:03 +03:00
Torsten Ruger
d8a5dc147b new function test and scoping fix 2015-10-14 15:17:33 +03:00
Torsten Ruger
1ea34481c1 define putting dummy to fix test 2015-10-14 15:08:42 +03:00
Torsten Ruger
e33a20dd41 minor housekeeping 2015-10-14 13:48:42 +03:00
Torsten Ruger
5b95319191 almost rewritten the call site
statements resolve to nothing and use all registers
expressions return register and allocate those with use_reg
2015-10-14 13:48:21 +03:00
Torsten Ruger
5122137a33 start new elf testing category (and minors) 2015-10-13 17:30:39 +03:00
Torsten Ruger
f506f95cbf fixing basic and field access to return register
as that is the new way, drop a layer, code to registers
2015-10-13 16:42:53 +03:00
Torsten Ruger
80d58ee03c fixed simple layout offset bug in layout 2015-10-13 14:46:07 +03:00
Torsten Ruger
3c7c8dea92 add basic compiler tests 2015-10-10 12:29:52 +03:00
Torsten Ruger
3d342f7d88 remove new_message instruction 2015-10-10 12:04:34 +03:00
Torsten Ruger
c3eb295f4e remove set optimization
will become obsolete soon anyway
2015-10-10 11:52:54 +03:00
Torsten Ruger
c20ab21bbd improve tests 2015-10-10 10:02:28 +03:00
Torsten Ruger
530537de1a improve fragment checks 2015-10-09 21:53:22 +03:00
Torsten Ruger
024e6cb389 ion out last changes from grammar update
surprisingly painless, considering it was more or less a rewrite
2015-10-09 18:06:00 +03:00
Torsten Ruger
4c17ed2e6e update the reader rewrite and reflect name changes 2015-10-09 17:51:14 +03:00
Torsten Ruger
99098951ca rename bosl to phisol 2015-10-07 15:22:47 +03:00
Torsten Ruger
e669489419 went over the various readmes 2015-10-07 11:32:48 +03:00
Torsten Ruger
88fc4c0e47 clean up more tests 2015-10-07 10:53:45 +03:00
Torsten Ruger
c1d31a541d improve method test
mostly by actually testing main, which is what is checked
2015-10-07 10:43:08 +03:00
Torsten Ruger
cd96e78e2d small fix 2015-10-07 10:22:45 +03:00
Torsten Ruger
513bc8d7cf fix more disabled tests 2015-10-07 10:19:25 +03:00
Torsten Ruger
83ef902b55 better calcite and operator to expand the interpreter test 2015-10-07 10:05:34 +03:00
Torsten Ruger
af6366f2d1 small fixes to make tests pass again 2015-10-07 10:04:55 +03:00
Torsten Ruger
4e26166dff fix type in call issue 2015-10-06 15:26:57 +03:00
Torsten Ruger
f4a4ccb98e several larger changes came together, bit of cleaning too
- all code must be in functions (which must be in classes).
— changes a fair few tests
— also changes api, as method is not recursive, not passed around
- all state in instance vars in compiler (no accessors)
- class is another such variable, surely more coming
all green again
2015-10-06 00:27:13 +03:00
Torsten Ruger
4186405930 new i_to_s test 2015-09-27 22:39:10 +03:00
Torsten Ruger
259b0afa96 improve tests 2015-09-27 20:28:34 +03:00
Torsten Ruger
eb57eb4d41 minor send fixes 2015-09-27 19:07:56 +03:00
Torsten Ruger
252c0ccdca finish typing variables 2015-09-27 16:06:48 +03:00
Torsten Ruger
94c08f7129 small clean 2015-09-27 14:07:02 +03:00
Torsten Ruger
5a2a857485 finish the field access
now that fields can be defined
2015-09-27 12:59:50 +03:00
Torsten Ruger
b99b392481 new field access code and test. wip as field def broken 2015-09-27 11:28:06 +03:00
Torsten Ruger
c4f89441e2 cleaning 2015-09-27 11:27:30 +03:00
Torsten Ruger
9fe01c7b31 remove unknown type 2015-09-23 18:35:37 +03:00
Torsten Ruger
4b613fb632 virtual tests back 2015-09-21 00:14:47 +03:00
Torsten Ruger
a5b09ab059 fixed interpreter tests 2015-09-21 00:09:11 +03:00
Torsten Ruger
b1cab4f395 compiler test back up 2015-09-20 17:33:05 +03:00
Torsten Ruger
5f628744d6 more test working
operator wip
2015-09-20 16:52:26 +03:00
Torsten Ruger
f2fc9c5f89 new field def compiles, fix test 2015-09-20 16:30:07 +03:00
Torsten Ruger
bc70c1efe5 temporarily disabling test that haven't been fixed yet 2015-09-19 22:24:57 +03:00
Torsten Ruger
775bca50ac switching to ast::processor
using instance methods instead of context
2015-09-19 18:56:18 +03:00
Torsten Ruger
3a885a8e46 more expressions and if test 2015-09-19 17:57:44 +03:00
Torsten Ruger
2061097e88 move compiler to bosl and get first test working (adjusting syntax as i go) 2015-09-19 16:28:41 +03:00
Torsten Ruger
8689633bbf new short test 2015-08-20 16:06:44 +02:00
Torsten Ruger
f15f7800b3 disable failing test 2015-08-11 17:22:04 +03:00
Torsten Ruger
4e56056b62 better test for add 2015-08-09 00:53:04 +03:00
Torsten Ruger
5d838056fa small rename and new test for layout 2015-08-08 18:08:47 +03:00
Torsten Ruger
0a54d030b5 add guard 2015-08-08 18:08:15 +03:00
Torsten Ruger
ca14ef8914 fix test result, but not test yet 2015-08-07 16:46:55 +03:00
Torsten Ruger
4afd7f78ca fix the plus method that sneaked into arm 2015-08-06 18:55:08 +03:00
Torsten Ruger
c0071c947d bit more testing 2015-08-06 18:26:59 +03:00
Torsten Ruger
21b0702154 fix tests (just using local gem) 2015-08-04 22:01:20 +03:00
Torsten Ruger
9680ff2a71 fxes for add test 2015-08-04 21:46:33 +03:00
Torsten Ruger
8ab9a417aa minors 2015-07-30 19:18:41 +03:00
Torsten Ruger
7216300452 add interpreter here (moved from debugger) 2015-07-30 19:18:12 +03:00
Torsten Ruger
3fb08acf3f better tests to find sneaky module bug 2015-07-28 16:19:10 +03:00
Torsten Ruger
e3577d18af fix that silly mistake that made the percentage plummet
mostly due to the fact that object is a hash now,
not array. Took a while though
2015-07-21 19:41:30 +03:00
Torsten Ruger
2d0424a370 turned out to be a rewrite of boot process
and also attribute handling and fake_memory
luckily there are tests and all is green again
2015-07-21 15:40:25 +03:00
Torsten Ruger
f8cb33ec5e test ivar name list 2015-07-20 13:20:43 +03:00
Torsten Ruger
2c1c38716b move from new_object to normal new 2015-07-20 13:01:15 +03:00
Torsten Ruger
08e1852e5f test get class 2015-07-19 21:22:29 +03:00
Torsten Ruger
d7c9245bb3 more fragment tests 2015-07-19 13:31:13 +03:00
Torsten Ruger
31d825df7b fix and test basic and name expressions 2015-07-19 13:20:34 +03:00
Torsten Ruger
48d090f19c test return. remove some dead code 2015-07-19 13:03:21 +03:00
Torsten Ruger
6da1c69b87 minor 2015-07-19 12:33:33 +03:00
Torsten Ruger
1f95d8994c start testing that compile returns slot 2015-07-19 12:31:57 +03:00
Torsten Ruger
7ddee1c055 test binary creation 2015-07-19 11:52:43 +03:00
Torsten Ruger
cbff41b61d test name expr 2015-07-19 11:15:38 +03:00
Torsten Ruger
7451493193 rearranging tests a little 2015-07-19 10:54:36 +03:00
Torsten Ruger
ac9d5eaf5a fix tests by reordering (hmm) 2015-07-19 10:45:12 +03:00
Torsten Ruger
0a09477dc6 fix and test compiling classes 2015-07-19 10:36:06 +03:00
Torsten Ruger
a554762da8 fix the compile while test 2015-07-18 19:02:54 +03:00
Torsten Ruger
b83f50c57c rebooting tests for small compiles 2015-07-18 15:28:57 +03:00
Torsten Ruger
7b1e89effb get fragment tests back online
the 58%  REALLY doesn’t look good
and things have settle down, so no more excuses
2015-07-18 14:33:09 +03:00
Torsten Ruger
f4f703975b removed arm and use as gem 2015-07-18 14:12:20 +03:00
Torsten Ruger
bae476657a add coverage and badges 2015-07-18 13:06:42 +03:00
Torsten Ruger
e1c19dee80 remove old to_asm
very strange that is was called in 1.9 but not 2.0
2.0 seems to delay interpolating strings
2015-07-18 12:15:07 +03:00
Torsten Ruger
998d5f8b90 removed ref to simple cov 2015-07-18 12:06:20 +03:00
Torsten Ruger
46de0f278e fix the boot
was broken for unknown reason really
2015-07-18 11:53:04 +03:00
Torsten Ruger
4f2f56fff8 minors 2015-07-02 13:49:33 +03:00
Torsten Ruger
caa4ae1cf0 new tests for space
finds the bug in message creation!
2015-07-02 11:09:23 +03:00
Torsten Ruger
185f4b4697 start of an idea 2015-07-02 10:44:44 +03:00
Torsten Ruger
9ca5ddf7c0 fix all tests
some had to be disabled
since stability is coming back more test are coming too
2015-07-02 10:26:48 +03:00
Torsten Ruger
3195d800e9 fix putstring file descriptor 2015-07-02 09:49:52 +03:00
Torsten Ruger
11997ef354 had to revert name method change
method is not known when message is created
2015-07-02 09:48:41 +03:00
Torsten Ruger
6a23ef8b26 storing method, not just name in message
goes with a rename and other admin
2015-07-01 19:39:23 +03:00
Torsten Ruger
b9e2d4dd21 remove some debug 2015-06-30 10:22:54 +03:00
Torsten Ruger
218fafca05 renames 2015-06-29 20:55:45 +03:00
Torsten Ruger
a00a49ecdb fix frame indexes 2015-06-28 10:50:47 +03:00
Torsten Ruger
37403f1139 fix misunderstood mov usage
When moving a reference (pointer) to a register
one needs to ADD to the pc
i.e. one needs an add, not mov instruction
2015-06-26 20:00:33 +03:00
Torsten Ruger
2aba926f1f start on reworking sys calls 2015-06-22 22:48:42 +03:00
Torsten Ruger
f3ee11fca5 simple set optimisation
the price of having simple code (generation) is that
it is sometimes stupid code that gets generated
Filter some of the really daft stuff out
2015-06-21 17:25:27 +03:00
Torsten Ruger
6867175bd1 slot docs and rename 2015-06-21 00:21:42 +03:00
Torsten Ruger
87143091ca moved sod write method to module 2015-06-19 12:29:41 +03:00
Torsten Ruger
1baece99c7 split the pass runs to debug 2015-06-12 18:52:06 +03:00
Torsten Ruger
9b89f6cb16 move the pass running out of elf
and leave it up to user
later partial running planned
2015-06-11 07:04:55 +02:00
Torsten Ruger
ee6f9d733b rename Mystery
just unknown, mystery should be more difficult to find out.
After all we keep run time info, so just need unknown at compile time
2015-06-11 07:04:14 +02:00
Torsten Ruger
1c29fcfd43 mem_length to word/byte length
be more specific, and don’t include padding
2015-06-05 09:20:43 +03:00
Torsten Ruger
30d9aaf61b extract padding functions to module
and finally TEST them
its especially the brain bending stuff that needs tests
2015-06-04 08:22:38 +03:00
Torsten Ruger
aea8f20be5 more symbol related fixes 2015-06-01 17:31:35 +03:00
Torsten Ruger
f08d9659fc getting the symbols to work 2015-06-01 08:33:23 +03:00
Torsten Ruger
bee73801eb revert to symbols
Parfait::Words were nice, but endless problems with the fact that when
you write “String” you get a string.
Symbols take care of uniqueness at the same time
2015-05-31 18:34:18 +03:00
Torsten Ruger
db5c958d2e fix lists first 2015-05-31 13:26:47 +03:00
Torsten Ruger
079306dbf8 move main to object (from kernel) 2015-05-30 14:49:10 +03:00
Torsten Ruger
96a20ff554 add delete to list 2015-05-30 14:22:33 +03:00
Torsten Ruger
3e9e650764 fix arm tests 2015-05-29 12:47:49 +03:00
Torsten Ruger
2ccbea04b9 fixing assembly
position code changed and linking too
passes not working
2015-05-24 18:05:20 +03:00
Torsten Ruger
95ac024421 fix old tests again 2015-05-24 16:55:03 +03:00
Torsten Ruger
1170761922 fix classic index bug 2015-05-24 15:05:58 +03:00
Torsten Ruger
47abdffd1a minor 2015-05-24 13:54:17 +03:00
Torsten Ruger
1a499a1de9 fix method seperation
Since Compiled method split into Method and
CompiledMethodInfo (parfait/vm) lots of call
syntax changes
2015-05-24 13:31:33 +03:00
Torsten Ruger
b4eb14e639 found bug and more tests 2015-05-21 21:50:39 +03:00
Torsten Ruger
422ec64105 all green
That fixes all existing tests. Operation successful

Off course there is tests missing :-(
2015-05-20 17:29:08 +03:00
Torsten Ruger
d71547ea01 copy and other improvements for word
more tests reveal a bug (fixed) and more docs
2015-05-20 13:50:25 +03:00
Torsten Ruger
c983b1cba5 bit of test cleaning 2015-05-18 10:51:37 +03:00
Torsten Ruger
cfc2c474b2 test compatibility layer
test from and to std/parfait objects
for list and word for now
moved some of that code to virtual, out of parfait
2015-05-18 10:47:29 +03:00
Torsten Ruger
d348e7afe7 more parfait ripples
changes due to previous changes in parfait api
2015-05-18 10:10:31 +03:00
Torsten Ruger
cff827ad42 final word fix
that does the parfait
2015-05-17 15:34:45 +03:00
Torsten Ruger
e70bfb9f7a many minor parfait fixes 2015-05-17 15:34:29 +03:00
Torsten Ruger
3bdba119c8 fix the list after object fixes
start index at 1, but don’t overwrite layout,
so add one
2015-05-17 14:56:06 +03:00
Torsten Ruger
3b268df920 init with nil layout
making the default length 1 (the nil layout)
2015-05-17 14:55:10 +03:00
Torsten Ruger
701b0bc011 fix object grow
and write a test (and another one …)
2015-05-17 14:44:48 +03:00
Torsten Ruger
1114f06921 rename old layout()
new is called get_layout, but keep old around for
checking
2015-05-17 14:41:18 +03:00
Torsten Ruger
8fa501fb91 fix object compiletime
and write some tests for it
2015-05-17 14:38:25 +03:00
Torsten Ruger
fe2be323d8 improve boot
also move to superclass not superclass_name in class
Makes ripples
2015-05-16 20:16:49 +03:00
Torsten Ruger
bee269f7a8 just renaming 2015-05-16 12:54:11 +03:00
Torsten Ruger
9376b8bc16 work on ObjectWriter
Back to the root! but lots of adjusting
ObjectWriter takes machine, machine has space
Virtual constants become Parfait::Objects etc
2015-05-16 12:53:10 +03:00
Torsten Ruger
9d8dc68bf4 fixing all tests 2015-05-15 21:11:44 +03:00
Torsten Ruger
a46dd9f6bf more word tests 2015-05-15 20:31:43 +03:00
Torsten Ruger
0731a6061a fix word implementation and tests
much better, though wasteful implementation
breaks a few tests, but ploughing on first
2015-05-15 16:45:36 +03:00
Torsten Ruger
9d711e7766 moving string to parfait
using parfait::word
also rename builtins string to word
2015-05-13 16:17:10 +03:00
Torsten Ruger
dd41758dea renamed array and hash to list and dictionary
Since these are not the ruby classes, we don’t need
the old names. They are misleading.
An Array is a military term, we mean list
And a Hash is an implementation of a Dictionary,
or LookupTable
2015-05-12 19:10:45 +03:00
Torsten Ruger
a94ce51c58 also test array
minor (ahm) fixes to array logic
2015-05-12 19:03:14 +03:00
Torsten Ruger
398516a596 fixes parfaits hash by implementing array
basic concept holds up as parfaits hash is now
working on parfaits own array
2015-05-12 18:52:01 +03:00
Torsten Ruger
b980def84e move space to parfait
Also make the machine the singleton
and space hang off it

Many repercussions, not all fixed in this commit
2015-05-12 15:36:44 +03:00
Torsten Ruger
6f2affaf36 fix name expression and test
plus various cleaning and rename off call_site
2015-05-08 14:34:46 +03:00
Torsten Ruger
2fde50c27a some more tests fixed 2015-05-06 15:15:53 +03:00
Torsten Ruger
4f1508ca61 moved slots to own directory 2015-05-06 08:38:29 +03:00
Torsten Ruger
cdea4915f9 bit more cleanup after compiler 2015-05-05 15:11:09 +03:00
Torsten Ruger
001af3f8b6 reviving more tests 2015-05-05 14:04:37 +03:00
Torsten Ruger
e4c799ecb6 first tests comping through after ast/compile change 2015-05-04 23:03:52 +03:00
Torsten Ruger
8180c67d48 move sof to own repo 2015-05-03 20:38:13 +03:00
Torsten Ruger
2a0dc7242a better test doc 2015-04-06 10:28:44 +03:00
Torsten Ruger
5b10f09ea1 fix test 2015-03-28 21:12:03 +02:00
Torsten Ruger
e2e692e25d test readme and test sof 2015-03-25 18:31:18 +02:00
Torsten Ruger
451b1c409c update read me 2015-03-15 11:58:17 +00:00
Torsten Ruger
6e6dd257e4 rename 2014-10-18 13:53:01 +03:00
Torsten Ruger
7968cadaf9 remove singleton in arm machine and use class methods 2014-10-04 17:34:51 +03:00
Torsten Ruger
fba66371c0 (semi) proper fix for large moves, integers or virtual constants(was buggy) 2014-09-30 12:07:21 +03:00
Torsten Ruger
527e591e75 fix add instruction and test 2014-09-29 21:04:38 +03:00
Torsten Ruger
ae65952d0a more precise tests 2014-09-29 20:28:24 +03:00
Torsten Ruger
45adf7173c naming, clean 2014-09-29 20:28:05 +03:00
Torsten Ruger
e0c479f778 split some tests, create more and especially big move 2014-09-18 17:06:30 +03:00
Torsten Ruger
914d8af8c6 move object equality here 2014-09-16 16:06:11 +03:00
Torsten Ruger
c51dbf51e1 renamed true,false,nil class to constant (from value) 2014-09-14 18:15:33 +03:00
Torsten Ruger
5a5e977b8f get some old builtin code backonline and improve imports 2014-09-09 18:03:13 +03:00
Torsten Ruger
d94ec6c72c fix parfait test 2014-09-04 14:22:28 +03:00
Torsten Ruger
0271045ff4 corrected unit name 2014-08-30 20:46:38 +03:00
Torsten Ruger
be8284efd9 list all working tests in test_all 2014-08-30 19:47:03 +03:00
Torsten Ruger
ccb5b37a3c reinserted arm for now, until dependecy is cleaned up. fixed tests 2014-08-30 19:40:37 +03:00
Torsten Ruger
18f33770b5 fix and use object writer in test 2014-08-30 14:17:00 +03:00
Torsten Ruger
da3cd69a5c fixed the old list tests for hash, and fixed hash to pass them 2014-08-28 16:28:25 +03:00
Torsten Ruger
7d35732923 renamed method definition to compiled method 2014-08-28 08:10:33 +03:00
Torsten Ruger
fc9615a649 short hash, inline like for array. with curly braces off course 2014-08-27 14:46:34 +03:00
Torsten Ruger
97f68a1a54 basic assembly frame 2014-08-26 22:35:56 +03:00
Torsten Ruger
b4419fc438 start on linking and assembly (again, hurra) 2014-08-25 17:03:39 +03:00
Torsten Ruger
0b65e5840e move space accesor to boot_space 2014-08-24 21:32:21 +03:00
Torsten Ruger
a7bfb6e6ee rename (corrected) method def to instance methods in class 2014-08-23 23:57:47 +03:00
Torsten Ruger
a63e37fc50 scaffold for instance variable get implementation 2014-08-23 10:59:35 +03:00
Torsten Ruger
4783e6c326 more renaming ripples 2014-08-22 18:00:23 +03:00
Torsten Ruger
91ce05364a add FunctionCall instruction and the missing puts (stub) 2014-08-22 15:08:46 +03:00
Torsten Ruger
e19b7be111 getting to where where the puts should be, but it aint there 2014-08-22 10:21:12 +03:00
Torsten Ruger
b305a56576 more work on send 2014-08-22 09:21:59 +03:00
Torsten Ruger
5b1e86da49 more work on send, remove yaml hack in test 2014-08-21 22:57:20 +03:00
Torsten Ruger
2260c680b2 getting the passes back and starting on send 2014-08-21 17:46:12 +03:00
Torsten Ruger
b5792c155c added a test for class refs 2014-08-21 15:40:13 +03:00
Torsten Ruger
9608e5f626 supressing nil attributes on objects 2014-08-20 22:33:08 +03:00
Torsten Ruger
1371d395ec pretty much redid the variable idea (now slot) 2014-08-20 17:14:52 +03:00
Torsten Ruger
ba71e568ef made a test for short object feature 2014-08-19 23:23:03 +03:00
Torsten Ruger
52ca7110c3 ad a preliminary syntax for class objects, which is just the class name 2014-08-19 23:01:19 +03:00
Torsten Ruger
e13801c764 moving (back) to 1.9 style hash, clearer that it is an association. didnt like the double colon 2014-08-18 17:19:34 +03:00
Torsten Ruger
81f8f0f3a2 actually using volotile attributes and outputting sof in test. very readable 2014-08-18 17:16:18 +03:00
Torsten Ruger
a594b716bc inlining references into objects as simple data 2014-08-18 14:54:03 +03:00
Torsten Ruger
a874bd49d2 short version for array 2014-08-18 14:28:28 +03:00
Torsten Ruger
1dee9a4bd1 adding the actual references for referenced objects 2014-08-18 13:53:05 +03:00
Torsten Ruger
67c3fb6cb0 recursive object test 2014-08-18 13:37:35 +03:00
Torsten Ruger
338c669a00 fix level bug that became obvous with recursion 2014-08-18 13:33:40 +03:00
Torsten Ruger
ad4aaaff8a fix recursive arrays 2014-08-18 13:22:03 +03:00
Torsten Ruger
9f292ba618 fix weird object bug 2014-08-18 12:49:38 +03:00
Torsten Ruger
a3c9ab7e29 simpler but more verbose node model fixes everything but one 2014-08-18 08:19:48 +03:00
Torsten Ruger
b0472753f4 fixing arrays/hashs and starting complex objects 2014-08-17 21:44:34 +03:00
Torsten Ruger
9669831f78 fix all existing (hash) tests 2014-08-16 15:16:07 +03:00
Torsten Ruger
90e4837b2e broaden the node hierachy 2014-08-16 12:34:25 +03:00
Torsten Ruger
2f84c0dfa6 fixing array tests, seperated nodes into different types 2014-08-16 11:43:41 +03:00
Torsten Ruger
7f7a174554 fixes object 2014-08-16 09:56:11 +03:00
Torsten Ruger
b0a54cb8c2 working up 2014-08-15 18:27:32 +03:00
Torsten Ruger
0a7814a07b add hash with object 2014-08-15 17:18:15 +03:00
Torsten Ruger
16261f96b0 adds simple hash and test 2014-08-15 17:14:49 +03:00
Torsten Ruger
2d6a43cf0e array with object 2014-08-15 15:13:36 +03:00
Torsten Ruger
1415079659 test with array in array in array 2014-08-15 15:08:45 +03:00
Torsten Ruger
716bc93e4a test for array with array 2014-08-15 15:04:13 +03:00
Torsten Ruger
198e70b6bd fix array with object 2014-08-15 14:59:38 +03:00
Torsten Ruger
85dad14cc8 fix simple array 2014-08-14 20:24:26 +03:00
Torsten Ruger
6b19b915a1 rewrote write to use known attributes or instance variables, simple values inline 2014-08-14 19:49:20 +03:00
Torsten Ruger
0a33f940cf moving away from the attributes aproach, tests fixed 2014-08-14 19:24:18 +03:00
Torsten Ruger
2c2ae14928 getting some sof output and adding some tests. issues though. abound 2014-08-14 17:40:56 +03:00
Torsten Ruger
7e60827dd3 redoing the ifs with new (old) block structure 2014-08-13 20:05:32 +03:00
Torsten Ruger
200228a33d adding the blocks to virtual machine and store instructions in array not list 2014-08-13 11:59:51 +03:00
Torsten Ruger
c2ae184e6e simple test for get type 2014-08-07 15:41:13 +03:00
Torsten Ruger
a9ab3ca13e forgot to add compiled methods to the class, fixed 2014-08-07 15:37:32 +03:00
Torsten Ruger
b9e259e11a first ginger parfait test 2014-08-06 18:49:20 +03:00
Torsten Ruger
629c6e56e0 adds test before functionality (deres a good boy) 2014-07-31 21:38:01 +03:00
Torsten Ruger
8effcc866a more machinery to the machine 2014-07-30 21:43:12 +03:00
Torsten Ruger
5add9c42f2 juggle into the machine 2014-07-30 21:07:48 +03:00
Torsten Ruger
7b6f364ba8 namechange 2014-07-29 18:33:11 +03:00
Torsten Ruger
8718ebf476 last inherited test 2014-07-27 10:09:31 +03:00
Torsten Ruger
1a95835442 adds message get and set instructions 2014-07-25 20:28:38 +03:00
Torsten Ruger
7df1490da8 mostly comments 2014-07-25 11:48:06 +03:00
Torsten Ruger
e427bcef43 change method and frame around in calling, easier to understand static first 2014-07-24 14:56:27 +03:00
Torsten Ruger
e408b0e4b9 fixed while instruciton linking after change in method add 2014-07-22 23:27:13 +03:00
Torsten Ruger
25e26f613d fix one more test 2014-07-22 11:57:56 +03:00
Torsten Ruger
a6e78ec837 fixed the yaml output order for much better readability of failed tests 2014-07-19 21:56:17 +03:00
Torsten Ruger
eb44011177 fixed that branch numbering bug 2014-07-19 21:15:27 +03:00
Torsten Ruger
c03c4f9cc9 add return instruction and fix the tests 2014-07-18 11:56:46 +03:00
Torsten Ruger
cf00a6e490 changed marker 2014-07-18 11:16:56 +03:00
Torsten Ruger
23e1b2519e fix all the test data to be yaml 2014-07-18 00:30:47 +03:00
Torsten Ruger
2e79caa791 using yaml as the storage format of the result as it handles graphs out of the box 2014-07-18 00:30:36 +03:00
Torsten Ruger
e02c6ed082 codes the while, but the testing throws stack too deep because loop detection is missing 2014-07-17 16:46:17 +03:00
Torsten Ruger
337b1a8ee0 renamed to kide(crystal) 2014-07-17 02:26:13 +03:00
Torsten Ruger
fb105cb895 had to let go of crystal (sniff) as the name was taken 2014-07-17 01:00:15 +03:00
Torsten Ruger
efeb910843 move branch counter to branch instruction (from if) in preperation of while 2014-07-16 22:28:28 +03:00
Torsten Ruger
7534626d87 fix the if test by naming branch and label and stitching them in constructor 2014-07-16 21:16:08 +03:00
Torsten Ruger
4185758532 slight rename tremours 2014-07-16 20:16:10 +03:00
Torsten Ruger
1ff7ae2b0a rename method 2014-07-16 19:24:41 +03:00
Torsten Ruger
55cb6bd2d6 working on if 2014-07-16 13:20:47 +03:00
Torsten Ruger
4d725ea1ae adds explicit load_self instruction 2014-07-15 18:27:13 +03:00
Torsten Ruger
930740e1db fixes the tests after fixing hierarchy 2014-07-15 10:35:29 +03:00
Torsten Ruger
9891da88a4 fix all tests 2014-07-15 00:00:00 +03:00
Torsten Ruger
b59a9da34e reduce method return type to type and introduce a single instruction for instance get 2014-07-14 21:28:21 +03:00
Torsten Ruger
b1893482ff adds an all test, uncomment not implemented 2014-07-14 21:25:53 +03:00
Torsten Ruger
16a378e3da fix class function test 2014-07-14 17:08:52 +03:00
Torsten Ruger
93bdd8a243 removing exceptions 2014-07-14 16:19:47 +03:00
Torsten Ruger
c7c4387e16 adds self reference and improve methods a little 2014-07-14 14:29:33 +03:00
Torsten Ruger
db8b1488d0 function test, slow but steady 2014-07-14 14:06:09 +03:00
Torsten Ruger
122452c21b patch another test 2014-07-14 11:31:46 +03:00