Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | - | 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 | 2 | -33/+26 |
| | |||||
* | 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 | 2 | -34/+56 |
| | |||||
* | 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 | 5 | -72/+96 |
| | | | | | | | | 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 | 12 | -30/+102 |
| | | | | | | | | 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. | ||||
* | no, this doesn't quite work | Kartik Agaram | 2020-05-18 | 1 | -18/+24 |
| | | | | | We need the length to be right for the strings. It currently includes the alloc-id. | ||||
* | support 'fake' handles allocated statically | Kartik Agaram | 2020-05-18 | 10 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | core translator phases now emit identical binaries | Kartik Agaram | 2020-05-18 | 2 | -3/+3 |
| | |||||
* | 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 | 3 | -7/+7 |
| | |||||
* | Rebuild phases of self-hosted SubX translator | Kartik Agaram | 2020-05-18 | 10 | -23/+23 |
| | | | | 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 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -1/+1 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -74/+0 |
| | |||||
* | yet another 'get' variant | Kartik Agaram | 2020-05-18 | 1 | -0/+318 |
| | |||||
* | assort.subx now working | Kartik Agaram | 2020-05-18 | 2 | -42/+197 |
| | |||||
* | dquotes.subx now working | Kartik Agaram | 2020-05-18 | 2 | -7/+22 |
| | |||||
* | tests.subx now working | Kartik Agaram | 2020-05-18 | 2 | -40/+57 |
| | |||||
* | apps that currently work | Kartik Agaram | 2020-05-18 | 1 | -68/+68 |
| | | | | | | | | | | | | | | | | | | | | Here are the obvious dependencies of different apps: allocate: mu slice-to-string: mu survey new-stream: mu assort dquotes tests get-or-insert-slice: mu survey assort get-or-insert: mu survey So we'll get these working in the following order: tests dquotes assort survey It doesn't look like sigils uses any functions with modified signatures, but it doesn't work at the moment. Let's get the core self-hosted passes working first before we look at syntax sugar. examples -> self-hosted passes -> syntax sugar -> mu |