Commit Graph

  • 525f9d45c5 rename Torsten Ruger 2014-06-26 17:52:15 +03:00
  • 33c62a7db1 update reader Torsten Ruger 2014-06-26 17:48:33 +03:00
  • 9d0d5aa431 update reader Torsten Ruger 2014-06-26 11:34:48 +03:00
  • b9ddd75a33 rewrote with ternary operator for conciseness Torsten Ruger 2014-06-25 16:03:39 +03:00
  • d28df7671d add the simplest possible hash replacement with tests Torsten Ruger 2014-06-25 16:00:24 +03:00
  • 5c887846f0 updates Torsten Ruger 2014-06-25 15:59:22 +03:00
  • fe337fad79 rename and a tiny start Torsten Ruger 2014-06-25 15:20:46 +03:00
  • e41bb8027d copies of the old code to start the new layer Torsten Ruger 2014-06-25 02:47:59 +03:00
  • 9b39a3a816 renaming, making space for extra layer Torsten Ruger 2014-06-25 02:33:44 +03:00
  • 2044a3e994 update reader Torsten Ruger 2014-06-25 01:41:17 +03:00
  • 3771f44e62 just moving code around Torsten Ruger 2014-06-24 19:34:36 +03:00
  • 98de7404ef named syscall register Torsten Ruger 2014-06-24 12:40:49 +03:00
  • 17904d8e02 rename blocks do_add to be the same as sunctions add_code to blur the difference Torsten Ruger 2014-06-24 12:36:32 +03:00
  • 43a2649635 new list test and debugs Torsten Ruger 2014-06-24 12:25:03 +03:00
  • b8b1d98a7c towards rubys true definition Torsten Ruger 2014-06-24 12:24:36 +03:00
  • bc89da0bc1 instance setter Torsten Ruger 2014-06-24 12:23:58 +03:00
  • 07b98d684a more on method lookup Torsten Ruger 2014-06-24 12:23:39 +03:00
  • 98e25abf8e broaden ifs possibilities Torsten Ruger 2014-06-24 12:22:32 +03:00
  • 25c5b2da6e more setter work Torsten Ruger 2014-06-24 12:20:59 +03:00
  • dc198ac79f more setter work Torsten Ruger 2014-06-24 12:20:38 +03:00
  • 9251bab507 add setter and remove debug Torsten Ruger 2014-06-24 12:20:10 +03:00
  • 1290663789 get parser updates Torsten Ruger 2014-06-19 22:54:34 +02:00
  • a859951a8f slight cleanup and rename test case Torsten Ruger 2014-06-17 14:25:33 +02:00
  • 7d05b7c42f adds plocks (Proc Block) as descibed in posts. Usage also described, but not coded yet Torsten Ruger 2014-06-17 01:01:00 +02:00
  • a68d84a781 introducing references Torsten Ruger 2014-06-14 23:48:12 +03:00
  • 4db54a760e gives values their own directory and seperate files Torsten Ruger 2014-06-14 21:29:57 +03:00
  • 87fa71277a some inlining and renaming Torsten Ruger 2014-06-14 11:12:53 +03:00
  • 0dbaebf647 fix all tests and a little cleaning Torsten Ruger 2014-06-14 10:59:25 +03:00
  • 2c26415de7 transformations according to todays post Torsten Ruger 2014-06-14 00:19:12 +03:00
  • 12a92e4db0 move boot* classes to boot directory Torsten Ruger 2014-06-13 23:51:53 +03:00
  • a7551ea8b6 still working on the method dispatch Torsten Ruger 2014-06-13 23:41:45 +03:00
  • ebf117a63a update tests, all green Torsten Ruger 2014-06-12 21:43:06 +03:00
  • 017d93d929 add to_asm debug output functions Torsten Ruger 2014-06-12 21:40:25 +03:00
  • dcd691fe00 minor Torsten Ruger 2014-06-12 21:27:47 +03:00
  • 6d6c7ddb68 register assignment fix (was not taking subsequent calls into account) Torsten Ruger 2014-06-12 21:27:30 +03:00
  • 200da192b4 improve output Torsten Ruger 2014-06-12 21:04:15 +03:00
  • ea0572c836 fixed while compilation (block order) and fixed and improved fibo Torsten Ruger 2014-06-12 16:23:57 +03:00
  • 8da1bc4645 fix putint (too eager optimization broke it) Torsten Ruger 2014-06-12 13:47:06 +03:00
  • 506f98da5a fixed foo and hello, next putint Torsten Ruger 2014-06-12 09:07:03 +03:00
  • eef6744827 fixes the if test (regs again) Torsten Ruger 2014-06-12 08:34:46 +03:00
  • b125a7c5c7 fix passes, add noop reduction, remove the wretched value operators Torsten Ruger 2014-06-11 21:36:22 +03:00
  • 4e6319b753 inrtoduce block passes. move the allocation there and implement those simple optimisations Torsten Ruger 2014-06-11 11:41:50 +03:00
  • 7cca50cd3a still recoving from previous block - function change. no more exceptions at least Torsten Ruger 2014-06-11 00:38:46 +03:00
  • e9519d4f05 move the code insertion functionality up to function. makes more sense. block still carries code though Torsten Ruger 2014-06-10 23:57:56 +03:00
  • e9fc8ac6aa making the third arg of block init explicit (not optional) Torsten Ruger 2014-06-10 18:51:27 +03:00
  • 7ca3207b3e moved registers to machine, changed return to 0 (from 7) and erased all integer references to registers Torsten Ruger 2014-06-10 13:29:01 +03:00
  • d7a60f2803 new register allocation generates good looking push/pop Torsten Ruger 2014-06-09 19:24:09 +03:00
  • b66c4157d5 keep track of used and assigned registers for each block Torsten Ruger 2014-06-08 01:41:56 +03:00
  • fbcfa844de renaming and small fixes Torsten Ruger 2014-06-08 00:56:40 +03:00
  • e7bb774da0 fix block insert ordering with depth > 1 Torsten Ruger 2014-06-08 00:56:15 +03:00
  • 42a840614e adding call counter and splitting block after call Torsten Ruger 2014-06-08 00:55:18 +03:00
  • 0a14cffefb fixing fragment tests, most done Torsten Ruger 2014-06-07 23:22:32 +03:00
  • 6b715bbb1b remoe hash attributes (less magic) and make attributes on context explicit Torsten Ruger 2014-06-07 22:41:02 +03:00
  • 36f237c633 removed the (too) fancy dsl. Also introduce register indirection Torsten Ruger 2014-06-07 17:59:44 +03:00
  • 6433a394e7 adding receiver and a register abstraction Torsten Ruger 2014-06-06 21:49:03 +03:00
  • c59f22f11f first oo program to compile. But no worries, there is still work left to be done Torsten Ruger 2014-06-05 18:17:00 +03:00
  • f523d0946d fix the lasts tests Torsten Ruger 2014-06-05 16:27:25 +03:00
  • f2e8e644bd changes tests to only compare the tested function output, not the whole binary Torsten Ruger 2014-06-05 13:02:36 +03:00
  • e6e969b4e4 a spirited effort to make assembly repeatable Torsten Ruger 2014-06-05 10:46:42 +03:00
  • 41a02a7190 small step to making the assmebly process repeatable (is destructive at the moment) Torsten Ruger 2014-06-05 10:28:53 +03:00
  • 7cc4c6344c remove the parse code and fix the rest to work with the gem (from git for now) Torsten Ruger 2014-06-04 22:03:45 +03:00
  • e9d2724f62 Merge pull request #1 from NigelThorne/master Torsten Rüger 2014-06-04 16:22:28 +03:00
  • 5145d21e37 Merge branch 'master' of https://github.com/ruby-in-ruby/crystal Nigel Thorne 2014-06-04 21:49:06 +10:00
  • 20433e3ad2 Change to NigelThorne fork to detect infinite loops Nigel Thorne 2014-06-04 21:48:32 +10:00
  • 72d4adc7af another step closer to a working oo system Torsten Ruger 2014-06-03 22:16:57 +03:00
  • ca19f5cb16 move to syms for names Torsten Ruger 2014-06-03 20:47:06 +03:00
  • b7c2089046 the further down this goes, the smaller the circles. Soon the point will come. And then back out Torsten Ruger 2014-06-03 14:49:02 +03:00
  • f60bbfa9ca add a fail case, that anoyingly hangs Torsten Ruger 2014-06-03 09:41:39 +03:00
  • 88a26414eb change the debug output to be more readable Torsten Ruger 2014-06-02 15:11:48 +03:00
  • 7c1c5431bc add qualification to function definitions Torsten Ruger 2014-06-02 14:00:30 +03:00
  • 1cff296ab5 small fixes, wown parse for class test Torsten Ruger 2014-06-02 13:45:08 +03:00
  • 83d4ce55ca fix the load memory instruction Torsten Ruger 2014-06-01 22:06:59 +03:00
  • 31a55b07ac makes memory a three operand instruction, like add etc. But 3 regs are still undone Torsten Ruger 2014-06-01 21:20:44 +03:00
  • 08bbad0fdc more on classes, have to work on asm next Torsten Ruger 2014-06-01 21:03:08 +03:00
  • 1d10c2c03e had forgotten calls on instance variables. corrected + tests Torsten Ruger 2014-06-01 14:46:16 +03:00
  • 9ea0acf2e3 first oo steps are wobbly, but a string.plus parses Torsten Ruger 2014-06-01 14:24:54 +03:00
  • 86431120d5 add also calls on classes and more tests for that Torsten Ruger 2014-05-31 17:58:26 +03:00
  • 4038bd331a clean up block names and export of qualified names makes assembler nicer to read Torsten Ruger 2014-05-31 17:02:55 +03:00
  • 5756e0b325 move that test to core (cant be done in compiled code) and focus on string addition instead Torsten Ruger 2014-05-31 16:43:03 +03:00
  • cdfc1ac891 kernel functions are not fixed to be Object functions Torsten Ruger 2014-05-31 16:19:44 +03:00
  • a6f02d6be3 let the BootClasses carry functions, ie one level squeezed between object_space and funtion, the class is coming to life Torsten Ruger 2014-05-31 14:35:33 +03:00
  • 3713d08748 renamed program to boot_space, as in object_space at boot time. thats the way its going Torsten Ruger 2014-05-31 12:52:29 +03:00
  • c9c484f353 change program to inherit stright from code, not block (as it keeps the funcitons anyway) Torsten Ruger 2014-05-31 12:38:15 +03:00
  • 513545f51b updated readme Torsten Ruger 2014-05-30 14:49:34 +03:00
  • 3156887a81 add instance variables and module name as basic types (as name was there already) and add tests Torsten Ruger 2014-05-30 14:25:08 +03:00
  • 497211f027 fix class tests and link them into all. 352 tests Torsten Ruger 2014-05-30 12:24:38 +03:00
  • 806960a4d6 fixing module and class rules to actually use module names. fix all tests Torsten Ruger 2014-05-30 12:17:11 +03:00
  • f03d445f3d add module names and instance variables as parse rules Torsten Ruger 2014-05-30 12:06:42 +03:00
  • 3e93517986 adds class definition with tests Torsten Ruger 2014-05-30 10:59:49 +03:00
  • e7a823bf3e renamed module_def too module_definition and fixed leading space tests Torsten Ruger 2014-05-30 10:42:43 +03:00
  • caec5ee6f0 add module to root parse and tests Torsten Ruger 2014-05-30 10:31:25 +03:00
  • c69a44f316 define modules and tests, no compiling Torsten Ruger 2014-05-29 15:57:33 +03:00
  • d59370bdc7 clean stash a little Torsten Ruger 2014-05-28 21:04:46 +03:00
  • 5e8688c417 small fixes to get all the tests to pass/run Torsten Ruger 2014-05-28 21:00:52 +03:00
  • 25cd80c76b small fix to return gets recursive fibonacchi to work Torsten Ruger 2014-05-28 20:13:03 +03:00
  • 4186c9cafe add <= operator for fibo Torsten Ruger 2014-05-28 20:10:16 +03:00
  • 5c0f62ebb9 upgrade calls with operator argument and chaining. Almost feels like cheating, too easy Torsten Ruger 2014-05-28 15:22:37 +03:00
  • 0f118c591d fix return compilation and use it on the while fibo. worked immediately :-) Torsten Ruger 2014-05-28 15:03:54 +03:00
  • 5a415aed92 fix fragment tests to actually execute on the pi and check the output Torsten Ruger 2014-05-28 14:55:13 +03:00
  • e9720c4c54 padding with space not zero Torsten Ruger 2014-05-28 14:27:37 +03:00