summaryrefslogtreecommitdiff
path: root/src/parser/context-defs.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Support function contexts in IRBuilder (#5967)Thomas Lively2023-09-221-3/+0
| | | | | | Add a `visitFunctionStart` function to IRBuilder and make it responsible for setting the function's body when the context is closed. This will simplify outlining, will be necessary to support branches to function scope properly, and removes an extra block around function bodies in the new wat parser.
* [NFC][Parser] Simplify instruction handling (#5964)Thomas Lively2023-09-211-1/+0
| | | | | | | | | | | The new wat parser previously returned InstrT types when parsing individual instructions and collected InstrsT types when parsing sequences of instructions. However, instructions were always actually tracked in the internal state of the parsing context, so these types never held any interesting or necessary data. Simplify the parser by removing these types and leaning into the pattern that the parser context will keep track of parsed instructions. This allows for a much cleaner separation between the `instrs` and `foldedinstrs` parser functions.
* [NFC] Split the new wat parser into multiple files (#5960)Thomas Lively2023-09-191-0/+98
And put the new files in a new source directory, "parser". This is a rough split and is not yet expected to dramatically improve compile times. The exact organization of the new files is subject to change, but this splitting should be enough to make further parser development more pleasant.