about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* mu.subx: new-blockKartik Agaram2020-05-181-3/+13
|
* mu.subx: find-in-function-outputsKartik Agaram2020-05-181-11/+27
|
* mu.subx: fourth test passingKartik Agaram2020-05-181-16/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our four tests are exercising the following 18 primitives at least a little bit: add-operation-and-inputs-to-stmt append-stmt-var lookup-var lookup-var-helper lookup-var-or-literal new-literal-integer new-reg-var-def new-var new-var-def new-var-from-slice next-mu-token parse-mu-stmt parse-mu-var-def parse-type parse-var-with-type pos-or-insert-slice pos-slice stmt-has-outputs? For comparison, here are the 34 primitives in mu.subx that we've made significant changes to since all tests passed: add-operation-and-inputs-to-stmt append-list append-stmt-var append-to-block convert-mu find-or-create-typeinfo find-or-create-typeinfo-fields find-or-create-typeinfo-output-var find-typeinfo lookup-or-define-var lookup-var lookup-var-helper lookup-var-or-literal new-block-name new-literal new-literal-integer new-reg-var-def new-var new-var-def new-var-from-slice next-mu-token parse-mu parse-mu-block parse-mu-named-block parse-mu-stmt parse-mu-var-def parse-type parse-type-tree parse-var-with-type populate-mu-function-body populate-mu-function-header pos-or-insert-slice pos-slice stmt-has-outputs?
* mu.subx: third test passingKartik Agaram2020-05-181-24/+57
|
* mu.subx: include missing argKartik Agaram2020-05-181-2/+2
| | | | It's not used in these tests, but still confusing.
* mu.subx: lookup-or-define-varKartik Agaram2020-05-181-9/+9
|
* mu.subx: second test passingKartik Agaram2020-05-181-1/+2
|
* mu.subx: add-operation-and-inputs-to-stmtKartik Agaram2020-05-181-27/+46
| | | | ..and append-stmt-var
* mu.subx: lookup-var, lookup-var-or-literalKartik Agaram2020-05-181-20/+31
|
* -Kartik Agaram2020-05-181-18/+14
|
* mu.subx: new-literal-integerKartik Agaram2020-05-181-30/+62
|
* mu.subx: first passing testKartik Agaram2020-05-182-30/+40
| | | | test-parse-mu-var now passing. After I had to extensively fix parse-type.
* -Kartik Agaram2020-05-181-2/+2
| | | | Pass everything so far through translate_subx_debug, which has more error-checking.
* mu.subx: new-reg-var-defKartik Agaram2020-05-181-14/+11
|
* mu.subx: new-var-defKartik Agaram2020-05-181-8/+15
|
* mu.subx: parse-mu-var-def testsKartik Agaram2020-05-181-2/+12
| | | | Still no passing tests; we're just manually translating.
* mu.subx: parse-mu-var-defKartik Agaram2020-05-181-11/+22
|
* mu.subx: parse-mu-stmtKartik Agaram2020-05-181-14/+25
|
* mu.subx: parse-mu-block and parse-mu-named-blockKartik Agaram2020-05-181-28/+70
|
* mu.subx: more progress on parse-mu-blockKartik Agaram2020-05-181-4/+12
|
* -Kartik Agaram2020-05-181-60/+77
| | | | | | | | Trying to switch gears a bit and scope out how much is left. Code-generation should be a lot less work since few signatures need to change. Hopefully getting to 55% down mu.subx will really be 90% of the way. In particular, there are 17 signature changes remaining that need to patch their calling functions as well.
* -Kartik Agaram2020-05-181-1/+1
|
* mu.subx: mu-block-nameKartik Agaram2020-05-181-29/+32
|
* mu.subx: append-to-blockKartik Agaram2020-05-181-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-listKartik Agaram2020-05-181-30/+52
| | | | | populate-function-header _almost_ done. I think we just need to fix `push` next.
* mu.subx: parse-var-with-typeKartik Agaram2020-05-181-7/+2
|
* mu.subx: parse-type-treeKartik Agaram2020-05-181-20/+31
|
* mu.subx: parse-typeKartik Agaram2020-05-182-33/+26
|
* mu.subx: add-operation-and-inputs-to-stmtKartik Agaram2020-05-181-2/+2
|
* mu.subx: pos-slice, pos-or-insert-sliceKartik Agaram2020-05-181-4/+13
|
* mu.subx: some calls to slice-to-stringKartik Agaram2020-05-181-5/+5
|
* -Kartik Agaram2020-05-181-21/+21
|
* mu.subx: partial parse-var-with-typeKartik Agaram2020-05-181-6/+11
|
* mu.subx: new-var, new-var-from-sliceKartik Agaram2020-05-182-34/+56
|
* mu.subx: size of 'vars' stackKartik Agaram2020-05-181-27/+27
|
* mu.subx: parse-muKartik Agaram2020-05-181-3/+14
|
* -Kartik Agaram2020-05-181-21/+9
|
* -Kartik Agaram2020-05-181-29/+28
|
* mu.subx: new-var, typeinfo entriesKartik Agaram2020-05-181-29/+76
|
* -Kartik Agaram2020-05-181-3/+3
|
* -Kartik Agaram2020-05-181-7/+9
|
* mu.subx: find-or-create-typeinfoKartik Agaram2020-05-181-29/+65
|
* mu.subx: offsets for type data structuresKartik Agaram2020-05-181-8/+8
|
* -Kartik Agaram2020-05-181-6/+0
|
* mu.subx: uses of Program->functionsKartik Agaram2020-05-181-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.subxKartik Agaram2020-05-181-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 Agaram2020-05-181-6/+6
|
* all syntax sugar now workingKartik Agaram2020-05-185-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 staticallyKartik Agaram2020-05-1812-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 workKartik Agaram2020-05-181-18/+24
| | | | | We need the length to be right for the strings. It currently includes the alloc-id.