about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* desugar: code-generation seems completeKartik Agaram2019-08-252-5/+291
|
* desugar: parsing seems completeKartik Agaram2019-08-253-39/+422
|
* skip building apps when running a single testKartik Agaram2019-08-252-4/+4
| | | | Environment variables allow me to have non-local effects inside scripts.
* parsing *(reg-disp)Kartik Agaram2019-08-252-0/+66
|
* parsing *(reg+reg)Kartik Agaram2019-08-252-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 Agaram2019-08-243-8/+549
|
* .Kartik Agaram2019-08-241-1/+1
|
* integration tests for desugaring indirect modeKartik Agaram2019-08-242-2/+211
| | | | They caught a logic error.
* integration tests for desugaring direct modeKartik Agaram2019-08-242-0/+212
|
* use the results of parsing in emit-indirect-modeKartik Agaram2019-08-242-60/+33
|
* parsing *(reg)Kartik Agaram2019-08-242-0/+121
|
* build out all variants for skipping whitespaceKartik Agaram2019-08-2412-0/+270
| | | | skip {whitespace, non-whitespace} x {from stream, from slice}
* .Kartik Agaram2019-08-231-0/+68
| | | | This is pretty complex, but I may not need any more registers.
* .Kartik Agaram2019-08-232-4/+14
|
* .Kartik Agaram2019-08-232-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 *regKartik Agaram2019-08-232-2/+102
| | | | Isn't used yet, but baby steps.
* another error messageKartik Agaram2019-08-232-1/+64
|
* .Kartik Agaram2019-08-231-3/+3
|
* lexing complex expressions inside '*(...)'Kartik Agaram2019-08-233-21/+442
|
* couple of helpers for parsing expressions in parensKartik Agaram2019-08-222-0/+330
|
* .Kartik Agaram2019-08-161-2/+2
|
* sketch of a plan to implement indirect modeKartik Agaram2019-08-162-2/+60
|
* desugar: code-generate *regKartik Agaram2019-08-162-1/+244
|
* plan for supporting indirect modeKartik Agaram2019-08-162-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 CIKartik Agaram2019-08-161-0/+20
|
* .Kartik Agaram2019-08-161-4/+4
|
* .Kartik Agaram2019-08-161-1/+1
|
* Merge branch 'master' into desugarKartik Agaram2019-08-147-38/+4815
|\
| * 5509Kartik Agaram2019-08-112-3/+3
| |
| * 5508Kartik Agaram2019-08-111-1/+1
| |
| * 5507Kartik Agaram2019-08-111-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.
| * 5506Kartik Agaram2019-08-101-3/+2
| |
| * 5505Kartik Agaram2019-08-101-5/+6
| |
| * 5504Kartik Agaram2019-08-101-1/+1
| |
| * 5503 - support latest UbuntuKartik Agaram2019-08-103-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 imageKartik Agaram2019-08-094-29/+150
| | | | | | | | | | Many thanks to John Davidson for Minimal Linux Live (GPLv3), from which I cribbed gen_iso.
| * 5501Kartik Agaram2019-08-011-2/+2
| |
* | add desugar to CIKartik Agaram2019-08-132-0/+5
| |
* | done implementing all variants of 'get'Kartik Agaram2019-08-1312-3/+245
| |
* | done with get-or-stopKartik Agaram2019-08-1312-5/+34
| |
* | half-done testing get-or-stopKartik Agaram2019-08-1311-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 streamsKartik Agaram2019-08-1316-170/+124
| |
* | .Kartik Agaram2019-08-1311-1/+2
| |
* | get desugar working on the commandlineKartik Agaram2019-08-133-7/+54
| |
* | .Kartik Agaram2019-08-131-0/+1
| |
* | .Kartik Agaram2019-08-131-0/+8
| |
* | .Kartik Agaram2019-08-1312-1/+1
| |
* | new variant: maybe-get-sliceKartik Agaram2019-08-1312-0/+165
| |
* | new variant: maybe-get returns null on failureKartik Agaram2019-08-1212-0/+148
| |
* | better error message when get abortsKartik Agaram2019-08-1214-17/+35
| |