about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 6049Kartik Agaram2020-02-231-11/+11
|
* 6048Kartik Agaram2020-02-212-28/+9
|
* 6047Kartik Agaram2020-02-212-2/+2
|
* 6046Kartik Agaram2020-02-212-45/+42
| | | | One more error condition when desugaring function calls in SubX.
* 6045Kartik Agaram2020-02-211-16/+16
|
* 6044Kartik Agaram2020-02-212-68/+68
|
* 6043Kartik Agaram2020-02-212-0/+52
| | | | Test for 'index'.
* 6042Kartik Agaram2020-02-212-8415/+8477
|
* 6041 - array indexing starting to workKartik Agaram2020-02-215-10/+124
| | | | | | | | | | | | | And we're using it now in factorial.mu! In the process I had to fix a couple of bugs in pointer dereferencing. There are still some limitations: a) Indexing by a literal doesn't work yet. b) Only arrays of ints supported so far. Looking ahead, I'm not sure how I can support indexing arrays by non-literals (variables in registers) unless the element size is a power of 2.
* 6040Kartik Agaram2020-02-211-3/+20
|
* 6039Kartik Agaram2020-02-212-0/+22
|
* 6038Kartik Agaram2020-02-201-8112/+8313
|
* 6037 - first passing test for pointer lookupKartik Agaram2020-02-202-67/+192
|
* 6036Kartik Agaram2020-02-202-5/+6
|
* 6035Kartik Agaram2020-02-202-18/+18
|
* 6034Kartik Agaram2020-02-202-20/+20
|
* 6033 - save pointer lookup state while parsingKartik Agaram2020-02-202-30/+37
|
* 6032 - make room for '*' pointer lookups in stmtsKartik Agaram2020-02-202-31/+89
|
* 6031 - bugfix in selecting codegen patternKartik Agaram2020-02-202-6/+23
|
* 6030Kartik Agaram2020-02-202-11/+9
|
* 6029Kartik Agaram2020-02-202-4/+4
|
* 6028Kartik Agaram2020-02-201-4/+4
|
* 6027Kartik Agaram2020-02-201-1/+0
| | | | | | Changing `switchbuf` globally is too heavyweight a change just to do the right thing when hitting `:T`. I don't even use it anymore since I got `<Leader>t`; why was I hitting `:T` just to navigate to `last_run`, again?
* 6026Kartik Agaram2020-02-182-20/+20
|
* 6025Kartik Agaram2020-02-182-6715/+7029
|
* 6024 - finally, commandline parsing in MuKartik Agaram2020-02-181-4/+22
|
* 6023 - bug: vars with both stack-offset and regKartik Agaram2020-02-182-10/+20
| | | | | This was initially disquieting; was I writing enough tests? Then I noticed I had TODOs for some missing checks.
* 6022 - initial sketch of array lengthKartik Agaram2020-02-182-0/+75
| | | | | This is a particularly large abstraction leak: SubX arrays track their lengths in bytes, and therefore Mu as well.
* 6022Kartik Agaram2020-02-182-1/+4
| | | | Forgot to actually use the new type-dispatch in commit 6017.
* 6021Kartik Agaram2020-02-182-0/+22
|
* 6020Kartik Agaram2020-02-182-55/+47
| | | | Some deduplication, though this may be a premature abstraction.
* 6019 - finish supporting all branch primitivesKartik Agaram2020-02-184-10/+238
| | | | | | | | I'd been thinking I didn't need unconditional `break` instructions, but I just realized that non-local unconditional breaks have a use. Stop over-thinking this, just support everything. The code is quite duplicated.
* 6018Kartik Agaram2020-02-171-3935/+3975
|
* 6017 - simplify type-dispatch for primitivesKartik Agaram2020-02-172-26/+66
| | | | | | | | | | | | We'll be doing type-checking in a separate phase in future. For now we need only to distinguish between literals and non-literals for x86 primitive instructions. I was tempted to support x86 set__ instructions for this change: https://c9x.me/x86/html/file_module_x86_id_288.html That will happen at some point. And I'll simplify a bunch of branches for results of predicate functions when it happens.
* 6016Kartik Agaram2020-02-172-10/+10
|
* 6015Kartik Agaram2020-02-1727-236/+317
|
* 6014Kartik Agaram2020-02-1711-75/+75
|
* 6013Kartik Agaram2020-02-161-2/+2
|
* 6012Kartik Agaram2020-02-161-6330/+6264
|
* 6011Kartik Agaram2020-02-162-5/+3
|
* 6010 - starting to flesh out run-testsKartik Agaram2020-02-161-1/+1
|
* 6009 - significantly cleaner lexingKartik Agaram2020-02-163-135/+34
| | | | | | | | | This cleans up a bunch of little warts that had historically accumulated because of my bull-headedness in not designing a grammar up front. Let's see if the lack of a grammar comes up again. We now require that there be no space in variable declarations between the name and the colon separating it from its type.
* 6008Kartik Agaram2020-02-163-19/+20
| | | | | | | | Allow comments at the end of all kinds of statements. To do this I replaced all calls to next-word with next-mu-token.. except one. I'm not seeing any bugs yet, any places where comments break things. But this exception makes me nervous.
* 6007Kartik Agaram2020-02-141-2/+2
|
* 6006Kartik Agaram2020-02-142-4/+4
|
* 6005Kartik Agaram2020-02-143-4/+47
| | | | | | | | Support calling SubX code from Mu. I have _zero_ idea how to make this safe. Now we can start writing tests. We can't use commandline args yet. That requires support for kernel strings.
* 6004Kartik Agaram2020-02-141-0/+11
|
* 6003Kartik Agaram2020-02-092-7/+18
|
* 6002Kartik Agaram2020-02-091-3/+4
|
* 6001Kartik Agaram2020-02-0918-7154/+7393
|