Commit Graph

1914 Commits

Author SHA1 Message Date
Torsten Ruger 6d4347c7ba finish assignment tests
and related code fixes
2016-12-10 18:48:18 +02:00
Torsten Ruger f49b0c7356 fix assignment
tests paying off
2016-12-10 18:08:21 +02:00
Torsten Ruger 87693112d4 small fix 2016-12-10 18:07:38 +02:00
Torsten Ruger 4054b61752 fix more expression tests 2016-12-10 15:18:37 +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 29fb2a50f5 refactor while statement 2016-12-09 14:29:06 +02:00
Torsten Ruger da4a1af074 modulize return and list 2016-12-09 14:19:22 +02:00
Torsten Ruger 99132a92b6 modulize operator_expression 2016-12-09 14:17:01 +02:00
Torsten Ruger 037fd722df clean up function definition, now function statement 2016-12-09 14:12:41 +02:00
Torsten Ruger 059fb38f08 modulize field_access and field_def 2016-12-09 14:04:06 +02:00
Torsten Ruger 4da13c3867 move ast to tree, remove seperate helper file 2016-12-09 13:56:13 +02:00
Torsten Ruger bab2fe32df modulize class_field and class_statement 2016-12-09 13:46:26 +02:00
Torsten Ruger 2b008dd3da modulize basic_value 2016-12-09 13:40:10 +02:00
Torsten Ruger fa14e35a50 refactor if_statement 2016-12-09 13:38:07 +02:00
Torsten Ruger 1e7093c63f remodel assignment a bit 2016-12-09 13:20:48 +02:00
Torsten Ruger 395fd2d701 refoactor call site some 2016-12-09 12:22:37 +02:00
Torsten Ruger 224670e449 refactor name expression for compiler 2016-12-09 12:13:33 +02:00
Torsten Ruger ca4bdcc528 gets rid of soml-parser completely 2016-12-08 20:13:08 +02:00
Torsten Ruger e2236cf703 move soml ast here, now called type as the language is going 2016-12-08 19:38:50 +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 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 bcba3ed3b2 move parfait to new module 2016-12-06 16:50:54 +02:00
Torsten Ruger 3ed0c4829a log test 2016-12-06 16:44:04 +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 4b05b48197 some docs 2016-12-06 11:38:09 +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 d7b210d63a update parser 2016-03-06 10:48:14 +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 3480b97eaa rename variable type to value_type
in preparation for next rename
2016-02-25 11:41:03 -08:00
Torsten Ruger afe16868b5 more some tests 2015-11-30 16:10:08 +02:00
Torsten Ruger dc560aaa5e move main to space 2015-11-30 16:09:12 +02:00
Torsten Ruger d0b655d05f implement the div10 as assembler
easy after the some version worked
because it’s not arm it probably twice as long as need be
better (any?) optimisation would take care of that
still, nice to see it works
2015-11-21 14:20:25 +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 91a0365c2e fix register shortcuts 2015-11-21 14:17:54 +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 da4003c30a ruby fibs versions and tests for them 2015-11-20 19:12:58 +02:00
Torsten Ruger 02d9a063b0 fix both parfait words to have same indexing 2015-11-20 13:25:49 +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 a8453c126d use arm shift at runtime
arm indexes are in bytes (x4) at compile time
but at runtime we only have the array indexes, iw word indexes
arm has the nice barrel shifter to save us an extra instruction
2015-11-19 12:48:13 +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