Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | - | Kartik Agaram | 2020-05-18 | 1 | -2/+2 |
| | | | | Pass everything so far through translate_subx_debug, which has more error-checking. | ||||
* | mu.subx: new-reg-var-def | Kartik Agaram | 2020-05-18 | 1 | -14/+11 |
| | |||||
* | mu.subx: new-var-def | Kartik Agaram | 2020-05-18 | 1 | -8/+15 |
| | |||||
* | mu.subx: parse-mu-var-def tests | Kartik Agaram | 2020-05-18 | 1 | -2/+12 |
| | | | | Still no passing tests; we're just manually translating. | ||||
* | mu.subx: parse-mu-var-def | Kartik Agaram | 2020-05-18 | 1 | -11/+22 |
| | |||||
* | mu.subx: parse-mu-stmt | Kartik Agaram | 2020-05-18 | 1 | -14/+25 |
| | |||||
* | mu.subx: parse-mu-block and parse-mu-named-block | Kartik Agaram | 2020-05-18 | 1 | -28/+70 |
| | |||||
* | mu.subx: more progress on parse-mu-block | Kartik Agaram | 2020-05-18 | 1 | -4/+12 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -60/+77 |
| | | | | | | | | Trying to switch gears a bit and scope out how much is left. Code-generation should be a lot less work since few signatures need to change. Hopefully getting to 55% down mu.subx will really be 90% of the way. In particular, there are 17 signature changes remaining that need to patch their calling functions as well. | ||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -1/+1 |
| | |||||
* | mu.subx: mu-block-name | Kartik Agaram | 2020-05-18 | 1 | -29/+32 |
| | |||||
* | mu.subx: append-to-block | Kartik Agaram | 2020-05-18 | 1 | -3/+6 |
| | | | | | | | | I'm just cleaning up the final call to append-list, and it's internally consistent if `block` can be an `addr`. I don't know yet if that makes sense for callers. I think I also found a bug in append-to-block: it was clobbering eax. | ||||
* | mu.subx: append-list | Kartik Agaram | 2020-05-18 | 1 | -30/+52 |
| | | | | | populate-function-header _almost_ done. I think we just need to fix `push` next. | ||||
* | mu.subx: parse-var-with-type | Kartik Agaram | 2020-05-18 | 1 | -7/+2 |
| | |||||
* | mu.subx: parse-type-tree | Kartik Agaram | 2020-05-18 | 1 | -20/+31 |
| | |||||
* | mu.subx: parse-type | Kartik Agaram | 2020-05-18 | 1 | -30/+21 |
| | |||||
* | mu.subx: add-operation-and-inputs-to-stmt | Kartik Agaram | 2020-05-18 | 1 | -2/+2 |
| | |||||
* | mu.subx: pos-slice, pos-or-insert-slice | Kartik Agaram | 2020-05-18 | 1 | -4/+13 |
| | |||||
* | mu.subx: some calls to slice-to-string | Kartik Agaram | 2020-05-18 | 1 | -5/+5 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -21/+21 |
| | |||||
* | mu.subx: partial parse-var-with-type | Kartik Agaram | 2020-05-18 | 1 | -6/+11 |
| | |||||
* | mu.subx: new-var, new-var-from-slice | Kartik Agaram | 2020-05-18 | 1 | -33/+55 |
| | |||||
* | mu.subx: size of 'vars' stack | Kartik Agaram | 2020-05-18 | 1 | -27/+27 |
| | |||||
* | mu.subx: parse-mu | Kartik Agaram | 2020-05-18 | 1 | -3/+14 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -21/+9 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -29/+28 |
| | |||||
* | mu.subx: new-var, typeinfo entries | Kartik Agaram | 2020-05-18 | 1 | -29/+76 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -3/+3 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -7/+9 |
| | |||||
* | mu.subx: find-or-create-typeinfo | Kartik Agaram | 2020-05-18 | 1 | -29/+65 |
| | |||||
* | mu.subx: offsets for type data structures | Kartik Agaram | 2020-05-18 | 1 | -8/+8 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -6/+0 |
| | |||||
* | mu.subx: uses of Program->functions | Kartik Agaram | 2020-05-18 | 1 | -11/+29 |
| | | | | | This is all very superficial. I'm not going to be able to run tests for a long time. | ||||
* | starting to fix mu.subx | Kartik Agaram | 2020-05-18 | 1 | -37/+42 |
| | | | | | Update offset declarations in function data structures for starters. We still need to go over the entire file to actually use them. | ||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -6/+6 |
| | |||||
* | all syntax sugar now working | Kartik Agaram | 2020-05-18 | 4 | -12/+36 |
| | | | | | | | | I just needed to adjust row-sizes when accessing the Registers table. This commit dedicated to a fun hour on https://hn.town.siempre.io. Thanks Cyrus! (via https://news.ycombinator.com/item?id=22818300) | ||||
* | support 'fake' handles allocated statically | Kartik Agaram | 2020-05-18 | 9 | -0/+0 |
| | | | | | | | | Mystery solved of why the syntax sugar phases don't work even though they don't use any functions whose signatures changed in the migration to handles. The answer: they use the Registers table, and it needs to use handles rather than raw strings. | ||||
* | support 'fake' handles allocated statically | Kartik Agaram | 2020-05-18 | 9 | -0/+0 |
| | | | | | | | | | | | | | | | | | | | | | | Mystery solved of why the syntax sugar phases don't work even though they don't use any functions whose signatures changed in the migration to handles. The answer: they use the Registers table, and it currently doesn't use handles. Rather than create a whole new set of functions that operate on addresses, I'm going to create fake handles that are never intended to be reclaimed. Which raises the question of the best way to do that. I'd like to continue using string syntax, so I'm going to use a prefix in the payload that can also be rendered as a string. But all the printable characters start with 0x20, and we don't currently have escape sequences for null or any other non-printable characters. I _could_ use newlines, but that seems overly clever. So instead I'll once again not worry about some hypothetical problem with running out of alloc-ids, and just carve out half of the id space that can't be used for real alloc ids. Ascii doesn't use the most significant bit of bytes, so it seems like a natural separation. | ||||
* | fix a discrepancy in the generated apps/ex1 binary | Kartik Agaram | 2020-05-18 | 2 | -1/+1 |
| | |||||
* | fix a crash when translating apps/ex1 | Kartik Agaram | 2020-05-18 | 2 | -6/+6 |
| | |||||
* | Rebuild phases of self-hosted SubX translator | Kartik Agaram | 2020-05-18 | 9 | -0/+0 |
| | | | | For this one commit we need to bootstrap ourselves with subx_translate_debug. | ||||
* | survey.subx now working | Kartik Agaram | 2020-05-18 | 1 | -265/+51 |
| | |||||
* | emit-segments in survey.subx now working | Kartik Agaram | 2020-05-18 | 1 | -72/+104 |
| | |||||
* | second test also passing | Kartik Agaram | 2020-05-18 | 1 | -14/+79 |
| | |||||
* | compute-addresses now working? Maybe? | Kartik Agaram | 2020-05-18 | 1 | -92/+375 |
| | |||||
* | compute-offsets in survey.subx now working | Kartik Agaram | 2020-05-18 | 1 | -59/+100 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -4/+13 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -4/+4 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -21/+23 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -45/+0 |
| |