Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 5624 | Kartik Agaram | 2019-09-05 | 1 | -1/+69 |
| | | | | Fix a bug in call.subx's tokenizer. | ||||
* | 5623 | Kartik Agaram | 2019-09-04 | 12 | -428/+0 |
| | |||||
* | 5622 | Kartik Agaram | 2019-09-04 | 1 | -0/+1 |
| | |||||
* | 5621 | Kartik Agaram | 2019-09-04 | 1 | -8/+160 |
| | | | | Done with calls.subx's variant of next-word. | ||||
* | 5620 | Kartik Agaram | 2019-09-04 | 3 | -31/+634 |
| | | | | | | Further flesh out next-word variant for calls.subx. All the code is sketched out, and baseline tests pass. No tests yet for new functionality compared to sigils.subx. | ||||
* | 5616 | Kartik Agaram | 2019-09-04 | 12 | -327/+0 |
| | |||||
* | 5615 - long strings in self-hosted translator | Kartik Agaram | 2019-09-04 | 2 | -2/+27 |
| | | | | | | My SubX translator phases assume lines are never longer than 512 bytes. However, dquotes.subx was generating lines longer than that by blowing up string literals by 4-5x. | ||||
* | 5613 | Kartik Agaram | 2019-09-03 | 3 | -17/+200 |
| | | | | | Translating common bits from sigils.subx expression-aware variant of next-word to use sigils in calls.subx. | ||||
* | 5612 | Kartik Agaram | 2019-09-02 | 1 | -1/+1 |
| | |||||
* | 5611 | Kartik Agaram | 2019-09-02 | 1 | -3/+3 |
| | |||||
* | 5607 - start of notation for function calls | Kartik Agaram | 2019-09-02 | 1 | -0/+216 |
| | |||||
* | 5608 - write int to stream | Kartik Agaram | 2019-09-02 | 11 | -0/+0 |
| | |||||
* | 5607 | Kartik Agaram | 2019-09-01 | 10 | -25/+26 |
| | |||||
* | 5606 | Kartik Agaram | 2019-09-01 | 1 | -0/+2 |
| | |||||
* | 5605 - sigils: support *disp32 | Kartik Agaram | 2019-09-01 | 2 | -4/+241 |
| | |||||
* | 5604 | Kartik Agaram | 2019-09-01 | 2 | -7/+7 |
| | |||||
* | 5603 | Kartik Agaram | 2019-09-01 | 2 | -12/+12 |
| | |||||
* | 5602 | Kartik Agaram | 2019-09-01 | 2 | -66/+75 |
| | |||||
* | 5601 | Kartik Agaram | 2019-08-31 | 1 | -68/+68 |
| | |||||
* | 5600 | Kartik Agaram | 2019-08-31 | 21 | -91/+111 |
| | |||||
* | 5599 - sigils: support metadata in %reg and *reg | Kartik Agaram | 2019-08-31 | 2 | -3/+176 |
| | | | | | We already support metadata after *(...) No plans to support metadata _inside_ *(...) | ||||
* | 5598 | Kartik Agaram | 2019-08-31 | 1 | -2/+1 |
| | |||||
* | 5596 | Kartik Agaram | 2019-08-31 | 2 | -8/+12 |
| | |||||
* | 5595 - support ebp and esp in sigils | Kartik Agaram | 2019-08-31 | 2 | -0/+173 |
| | | | | The x86 instruction set carves out exceptions for these registers. | ||||
* | 5594 - rename 'desugar' to 'sigils' | Kartik Agaram | 2019-08-31 | 2 | -15/+16 |
| | | | | There's going to be multiple forms of syntax sugar going forward. | ||||
* | 5592 - switch register names to lowercase | Kartik Agaram | 2019-08-26 | 16 | -7413/+7413 |
| | |||||
* | 5591 | Kartik Agaram | 2019-08-26 | 11 | -0/+0 |
| | |||||
* | 5590 | Kartik Agaram | 2019-08-25 | 3 | -3/+3 |
| | |||||
* | 5589 | Kartik Agaram | 2019-08-25 | 11 | -9/+15 |
| | |||||
* | 5586 - bugfix: no desugar inside string literals | Kartik Agaram | 2019-08-25 | 10 | -434/+578 |
| | |||||
* | 5583 | Kartik Agaram | 2019-08-25 | 2 | -9/+181 |
| | | | | Clean up some missing error messages. | ||||
* | 5581 | Kartik Agaram | 2019-08-25 | 1 | -1/+3 |
| | |||||
* | . | Kartik Agaram | 2019-08-25 | 2 | -1/+183 |
| | |||||
* | Merge branch 'master' into desugar | Kartik Agaram | 2019-08-25 | 2 | -0/+62 |
|\ | |||||
| * | 5522 - example app: random number stream | Kartik Agaram | 2019-08-20 | 2 | -0/+62 |
| | | | | | | | | Turns out Mu's kernel isn't populating /dev/random correctly. | ||||
* | | desugar: more integration tests | Kartik Agaram | 2019-08-25 | 2 | -1/+206 |
| | | |||||
* | | desugar: code-generation seems complete | Kartik Agaram | 2019-08-25 | 2 | -5/+291 |
| | | |||||
* | | desugar: parsing seems complete | Kartik Agaram | 2019-08-25 | 2 | -37/+420 |
| | | |||||
* | | parsing *(reg-disp) | Kartik Agaram | 2019-08-25 | 2 | -0/+66 |
| | | |||||
* | | parsing *(reg+reg) | Kartik Agaram | 2019-08-25 | 2 | -21/+150 |
| | | | | | | | | | | | | | | | | | | Turns out there's an ambiguity even in this simple one-line language: when you see 'base+' you don't know whether the next token is the index or displacement. (Whereas a '-' would be unambiguous but is still not handled.) Fixing this ambiguity adds 15 instructions worth of complexity. | ||||
* | | parsing *(reg+disp) | Kartik Agaram | 2019-08-24 | 3 | -8/+549 |
| | | |||||
* | | . | Kartik Agaram | 2019-08-24 | 1 | -1/+1 |
| | | |||||
* | | integration tests for desugaring indirect mode | Kartik Agaram | 2019-08-24 | 2 | -2/+211 |
| | | | | | | | | They caught a logic error. | ||||
* | | integration tests for desugaring direct mode | Kartik Agaram | 2019-08-24 | 2 | -0/+212 |
| | | |||||
* | | use the results of parsing in emit-indirect-mode | Kartik Agaram | 2019-08-24 | 2 | -60/+33 |
| | | |||||
* | | parsing *(reg) | Kartik Agaram | 2019-08-24 | 2 | -0/+121 |
| | | |||||
* | | build out all variants for skipping whitespace | Kartik Agaram | 2019-08-24 | 11 | -0/+0 |
| | | | | | | | | skip {whitespace, non-whitespace} x {from stream, from slice} | ||||
* | | . | Kartik Agaram | 2019-08-23 | 1 | -0/+68 |
| | | | | | | | | This is pretty complex, but I may not need any more registers. | ||||
* | | . | Kartik Agaram | 2019-08-23 | 2 | -4/+14 |
| | | |||||
* | | . | Kartik Agaram | 2019-08-23 | 2 | -4/+12 |
| | | | | | | | | | | Some reorg as I realize I may have painted myself into a corner in this function. I have no registers left for the actual parsing. |