Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | desugar: code-generation seems complete | Kartik Agaram | 2019-08-25 | 2 | -5/+291 |
| | |||||
* | desugar: parsing seems complete | Kartik Agaram | 2019-08-25 | 3 | -39/+422 |
| | |||||
* | skip building apps when running a single test | Kartik Agaram | 2019-08-25 | 2 | -4/+4 |
| | | | | Environment variables allow me to have non-local effects inside scripts. | ||||
* | 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 | 12 | -0/+270 |
| | | | | 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. | ||||
* | parsing *reg | Kartik Agaram | 2019-08-23 | 2 | -2/+102 |
| | | | | Isn't used yet, but baby steps. | ||||
* | another error message | Kartik Agaram | 2019-08-23 | 2 | -1/+64 |
| | |||||
* | . | Kartik Agaram | 2019-08-23 | 1 | -3/+3 |
| | |||||
* | lexing complex expressions inside '*(...)' | Kartik Agaram | 2019-08-23 | 3 | -21/+442 |
| | |||||
* | couple of helpers for parsing expressions in parens | Kartik Agaram | 2019-08-22 | 2 | -0/+330 |
| | |||||
* | . | Kartik Agaram | 2019-08-16 | 1 | -2/+2 |
| | |||||
* | sketch of a plan to implement indirect mode | Kartik Agaram | 2019-08-16 | 2 | -2/+60 |
| | |||||
* | desugar: code-generate *reg | Kartik Agaram | 2019-08-16 | 2 | -1/+244 |
| | |||||
* | plan for supporting indirect mode | Kartik Agaram | 2019-08-16 | 2 | -22/+28 |
| | | | | | | | | | | | It may superficially seem like there's a simpler approach: - emit '3/mod' or '0/mod' depending on whether the character is '%' or '*' - increment the start of word-slice - look up the register and emit the appropriate /rm32 But that won't work for 1/mod or 2/mod. We're doing a little bit of upfront planning. | ||||
* | fix a missing test of desugar in CI | Kartik Agaram | 2019-08-16 | 1 | -0/+20 |
| | |||||
* | . | Kartik Agaram | 2019-08-16 | 1 | -4/+4 |
| | |||||
* | . | Kartik Agaram | 2019-08-16 | 1 | -1/+1 |
| | |||||
* | Merge branch 'master' into desugar | Kartik Agaram | 2019-08-14 | 7 | -38/+4815 |
|\ | |||||
| * | 5509 | Kartik Agaram | 2019-08-11 | 2 | -3/+3 |
| | | |||||
| * | 5508 | Kartik Agaram | 2019-08-11 | 1 | -1/+1 |
| | | |||||
| * | 5507 | Kartik Agaram | 2019-08-11 | 1 | -4/+12 |
| | | | | | | | | | | | | I'm working out the process for making changes to Mu's fork of the Linux kernel repo. At this point we've deleted all code for non-x86 architectures from kernel/arch. | ||||
| * | 5506 | Kartik Agaram | 2019-08-10 | 1 | -3/+2 |
| | | |||||
| * | 5505 | Kartik Agaram | 2019-08-10 | 1 | -5/+6 |
| | | |||||
| * | 5504 | Kartik Agaram | 2019-08-10 | 1 | -1/+1 |
| | | |||||
| * | 5503 - support latest Ubuntu | Kartik Agaram | 2019-08-10 | 3 | -41/+4689 |
| | | | | | | | | | | I'm now loading my own fork of the Linux kernel. That way I can control incoming patches and also streamline the codebase over time. | ||||
| * | 5502 - package up into a bootable disk image | Kartik Agaram | 2019-08-09 | 4 | -29/+150 |
| | | | | | | | | | | Many thanks to John Davidson for Minimal Linux Live (GPLv3), from which I cribbed gen_iso. | ||||
| * | 5501 | Kartik Agaram | 2019-08-01 | 1 | -2/+2 |
| | | |||||
* | | add desugar to CI | Kartik Agaram | 2019-08-13 | 2 | -0/+5 |
| | | |||||
* | | done implementing all variants of 'get' | Kartik Agaram | 2019-08-13 | 12 | -3/+245 |
| | | |||||
* | | done with get-or-stop | Kartik Agaram | 2019-08-13 | 12 | -5/+34 |
| | | |||||
* | | half-done testing get-or-stop | Kartik Agaram | 2019-08-13 | 11 | -0/+190 |
| | | | | | | | | | | | | Probably not needed for desugar; I'm just working through what we may replace the calls to 'get-slice' with if and when we decide to start focusing error messages and so writing tests for them. | ||||
* | | standardize test input/output/error streams | Kartik Agaram | 2019-08-13 | 16 | -170/+124 |
| | | |||||
* | | . | Kartik Agaram | 2019-08-13 | 11 | -1/+2 |
| | | |||||
* | | get desugar working on the commandline | Kartik Agaram | 2019-08-13 | 3 | -7/+54 |
| | | |||||
* | | . | Kartik Agaram | 2019-08-13 | 1 | -0/+1 |
| | | |||||
* | | . | Kartik Agaram | 2019-08-13 | 1 | -0/+8 |
| | | |||||
* | | . | Kartik Agaram | 2019-08-13 | 12 | -1/+1 |
| | | |||||
* | | new variant: maybe-get-slice | Kartik Agaram | 2019-08-13 | 12 | -0/+165 |
| | | |||||
* | | new variant: maybe-get returns null on failure | Kartik Agaram | 2019-08-12 | 12 | -0/+148 |
| | | |||||
* | | better error message when get aborts | Kartik Agaram | 2019-08-12 | 14 | -17/+35 |
| | |