Commit Graph
100 Commits
Author SHA1 Message Date
Torsten Ruger 87e0f297e3 rename extra to right in logic inst 2014-05-16 11:27:30 +03:00
Torsten Ruger ccafb09224 rename first hash argument from right to left in logic inst 2014-05-16 10:54:56 +03:00
Torsten Ruger ef17bbf9dd rename left to first in instruction and started on logic instruction cleanup 2014-05-16 10:42:25 +03:00
Torsten Ruger 009c0895f4 change right syntax to 1.9 style, looks a little nicer 2014-05-15 21:35:45 +03:00
Torsten Ruger a0f0d08e81 named the first intruction constructor argument 2014-05-15 19:41:51 +03:00
Torsten Ruger b4c79d218f work on Integer.to_s , not a simple task as it turns out 2014-05-15 16:54:23 +03:00
Torsten Ruger 918ede1c02 arm program to generate optimal devision code for constants 2014-05-15 16:53:47 +03:00
Torsten Ruger 054f94d68b add some comment and tests (but small bugs still there) 2014-05-14 22:34:53 +03:00
Torsten Ruger c9ffb78e82 allowing comments instead of newlines and not capturing comments (leave that for later as it messes the output) 2014-05-14 22:19:20 +03:00
Torsten Ruger 3912e0cd31 fix register issues, some typos 2014-05-14 22:04:03 +03:00
Torsten Ruger e10f4863ee exporting labels to elf for (a lot) better readability 2014-05-14 16:15:47 +03:00
Torsten Ruger d8d536aa2c while assembles, now for some nice assmbler reading 2014-05-14 12:54:23 +03:00
Torsten Ruger a5b4f3d9ad remove NumLiteral, replace with IntegerConstant 2014-05-14 12:08:06 +03:00
Torsten Ruger d6b5d46165 while compiles. jo 2014-05-14 12:02:54 +03:00
Torsten Ruger d50c38f5ad add more functionality to get while to work (not there yet) 2014-05-14 11:33:23 +03:00
Torsten Ruger 2230a4f25e clean up intruction instantiation and fix tests 2014-05-14 10:47:30 +03:00
Torsten Ruger 46ea1df51e rename function_call to call_site in all levels to avoid confusion 2014-05-13 21:15:02 +03:00
Torsten Ruger 04af367bc0 coming together, more and more each day 2014-05-13 21:06:12 +03:00
Torsten Ruger f6711ea49c checkpointing on the mad road to register allocation 2014-05-13 18:21:24 +03:00
Torsten Ruger b0302948dd rename machine to c_machine 2014-05-13 17:06:42 +03:00
Torsten Ruger d7f31e7f39 introduce constant class and add block to compile signature(wip, work in progress) 2014-05-13 16:24:19 +03:00
Torsten Ruger dd05b30230 ads to_s to ast for better readability 2014-05-13 10:49:26 +03:00
Torsten Ruger 140d33b167 c fibs (need to loop a lot to use time on it) 2014-05-13 10:36:44 +03:00
Torsten Ruger cd67589f3e life must go on, compunds must go (for now) 2014-05-13 08:35:49 +03:00
Torsten Ruger 61d72a74ad fixes array test for previous rename 2014-05-13 08:35:17 +03:00
Torsten Ruger 72de0089b2 small renames 2014-05-13 08:24:55 +03:00
Torsten Ruger ff612446be using hash_key and value rules 2014-05-12 21:44:51 +03:00
Torsten Ruger fdb5dd4f67 a good stab at array anf hash constants 2014-05-12 21:36:38 +03:00
Torsten Ruger 25a7c3ea68 fixed fibonacci example 2014-05-12 14:24:36 +03:00
Torsten Ruger 1170b0798b make condition brackets optional 2014-05-12 13:57:24 +03:00
Torsten Ruger 956d1eb135 newline fiddling in the parser yields goods results 2014-05-12 13:47:47 +03:00
Torsten Ruger ee4d8033af redid while with brackets and just one condition expression 2014-05-12 12:26:38 +03:00
Torsten Ruger e2fb0a5f34 rename conditional to control in parser 2014-05-12 12:20:31 +03:00
Torsten Ruger 7940efc64d still trying that while loop. Check as everything else works 2014-05-12 12:14:04 +03:00
Torsten Ruger 4a27314533 fix the tests for oprerators. Also naming keywords demands change 2014-05-11 18:38:02 +03:00
Torsten Ruger cc5915135a add lots of operators. Assignment becomes operator. fix the mess 2014-05-11 18:37:26 +03:00
Torsten Ruger 3974f2516d llvm example 2014-05-11 17:06:13 +03:00
Torsten Ruger b4af123c9e operator docs 2014-05-11 17:05:21 +03:00
Torsten Ruger be4825579d finally remove kaspers example from which the oprerator stuff is copied 2014-05-10 21:43:03 +03:00
Torsten Ruger 2d389d2e00 adds basic math operators, thanks to kasper associative and prioritised 2014-05-10 21:41:46 +03:00
Torsten Ruger 6378209f33 leave assignee as name_expression in assignment, fix tests accordingly 2014-05-10 19:11:32 +03:00
Torsten Ruger 47f1608685 start to add while loop 2014-05-10 19:02:51 +03:00
Torsten Ruger e600911fe8 adds variable, something compliles , but... 2014-05-10 17:55:02 +03:00
Torsten Ruger 5b002c0ff6 little more attribute filing 2014-05-10 16:08:53 +03:00
Torsten Ruger 9e5b60dfab moving many attributes into the attributes hash, but not nearly all 2014-05-10 15:59:46 +03:00
Torsten Ruger 8faf0ba17f phase 1- get rid of the pesty args in structions 2014-05-10 15:47:27 +03:00
Torsten Ruger 3f88fe15b4 some reagganging on my way to retire logic_helper 2014-05-10 15:34:05 +03:00
Torsten Ruger cba171cc7d remove the old asm (that is now arm) 2014-05-10 15:27:10 +03:00
Torsten Ruger 79a28ac5fa trying to get function calls to work (but will have to rework regeister handling) 2014-05-10 15:24:56 +03:00
Torsten Ruger 7d69132d90 first root test 2014-05-10 12:57:10 +03:00
Torsten Ruger 94e8a947d9 debug helper 2014-05-10 12:55:22 +03:00
Torsten Ruger e69decee90 slight shuffling 2014-05-10 12:54:31 +03:00
Torsten Ruger 20128627c7 implements inspect for copy paste into tests 2014-05-10 12:54:10 +03:00
Torsten Ruger 051b0ea7dc remove the double transform rules (as not using maybe anymore) 2014-05-10 12:02:11 +03:00
Torsten Ruger b66b5ceff7 fix the runner to handle list of expressiosn 2014-05-10 11:23:45 +03:00
Torsten Ruger 8f2a22d12f add a repeat to the root parser rule (need to test the root more) 2014-05-10 11:18:39 +03:00
Torsten Ruger b266bb84ba splitting the parser up more 2014-05-10 11:14:34 +03:00
Torsten Ruger af1df1a104 renamed root parser class to Crystal 2014-05-10 11:03:23 +03:00
Torsten Ruger 31aa9c8768 actually ads a value to Value 2014-05-10 10:59:56 +03:00
Torsten Ruger db22966de9 hacking to get list of expressions to work (shudder) 2014-05-10 10:59:36 +03:00
Torsten Ruger 7341586d15 more expressions compile 2014-05-10 10:58:25 +03:00
Torsten Ruger 8e6297dcff improving the string according to kasper 2014-05-09 13:51:47 +03:00
Torsten Ruger e4dce2394c one test slipped through 2014-05-08 21:14:26 +03:00
Torsten Ruger 6ee290e0bb fixes all existing parser tests 2014-05-08 21:09:07 +03:00
Torsten Ruger 53a8efaa59 get the conditionals to work again 2014-05-08 19:49:15 +03:00
Torsten Ruger b82c2241b7 get parameter lists to work again (no more ifs as function arguments:-) 2014-05-08 19:41:27 +03:00
Torsten Ruger eaf097752a use debug when parsing 2014-05-08 19:31:36 +03:00
Torsten Ruger 9c609ee299 make machine init default to the running one with ruby config 2014-05-08 19:30:46 +03:00
Torsten Ruger 500bc36a29 testing escaped input is awkward 2014-05-08 19:29:35 +03:00
Torsten Ruger 9c2dfe79da at least basic tests work again 2014-05-08 18:42:24 +03:00
Torsten Ruger 034ae4f7ca add comment and remove newline from space (starting a long whitespace battle) 2014-05-08 18:38:49 +03:00
Torsten Ruger 4c585e415b output debug for failed parses 2014-05-08 18:38:10 +03:00
Torsten Ruger 5436e6bfc9 testing comments 2014-05-08 18:37:52 +03:00
Torsten Ruger f0ad11bf8c resistance was useless, wilson is now part of the collective (as intel) 2014-05-08 15:09:56 +03:00
Torsten Ruger f7f0eee31a adjust program tests to new syntax, hello world works there too -) 2014-05-08 14:14:15 +03:00
Torsten Ruger c7d203f523 update the readme a bit, since there is actual progress 2014-05-07 15:20:25 +03:00
Torsten Ruger ee864fc602 fixed arm tests to use ArmMachine 2014-05-07 14:58:38 +03:00
Torsten Ruger 4135c4d2dc crystal says Hello. 2014-05-06 21:36:28 +03:00
Torsten Ruger fa123e0354 move kernel to core and apply the classmethod pattern to all core classes 2014-05-06 12:47:07 +03:00
Torsten Ruger 12b6800efe work on function entry and exit. fix stack instructions 2014-05-06 12:42:43 +03:00
Torsten Ruger 22b5117c8b getting a _start and _exit, just missing the actual code 2014-05-06 00:12:04 +03:00
Torsten Ruger 7d20b5e2df at least its in shape to start debugging again (that must count as half full) 2014-05-05 22:21:11 +03:00
Torsten Ruger 69b04d930f cleanup 2014-05-05 15:59:29 +03:00
Torsten Ruger de66238a9e moved all compile to ast, vm does link and assemble. Getting there 2014-05-05 11:03:43 +03:00
Torsten Ruger 99da6f5be3 gets rid of conversion approach, ast compiles 2014-05-05 10:13:49 +03:00
Torsten Ruger c67ee7f6f3 extracted ast classes to own files 2014-05-05 10:02:02 +03:00
Torsten Ruger 7c7e58ea62 upgrades ast to first class 2014-05-05 09:51:16 +03:00
Torsten Ruger 7c0aa8ae7d getting better, but somethings off 2014-05-05 09:35:40 +03:00
Torsten Ruger a61170942f so close i can smell it, checkpoint 2014-05-03 22:18:04 +03:00
Torsten Ruger 5608c411bf rename 2014-05-03 18:57:43 +03:00
Torsten Ruger 968556a03e get the tests to work 2014-05-03 18:56:56 +03:00
Torsten Ruger 04e4dc872e check 2014-05-03 18:51:47 +03:00
Torsten Ruger 845a8cab8b more semi random code, a checkpoint 2014-05-03 15:13:44 +03:00
Torsten Ruger 1c86ecb84e copied asm here so that stays working while i break (an) arm 2014-05-03 15:13:15 +03:00
Torsten Ruger fae0c1ab8c renamed program to assembler (to avoid clashes in vm) 2014-05-02 08:14:38 +03:00
Torsten Ruger 990b4726ba more random code 2014-05-02 08:02:25 +03:00
Torsten Ruger e019f10e19 a features draft 2014-05-02 08:01:45 +03:00
Torsten Ruger 1954ca562c move non working fibos out of the way 2014-04-29 17:14:26 +03:00
Torsten Ruger 58c53c3b41 move to markdown ending 2014-04-29 17:11:36 +03:00
Torsten Ruger 98a907e8e6 with the new framework there are 16 more tests, just doing it thorough 2014-04-29 17:02:38 +03:00