This program (is meant to) generate Inference code which is both syntactically correct (it can be parsed with the Inference tree-sitter grammar) and semantically correct (the resulting code type-checks and compiles.) You can find the Inference language spec here.
The main branch will have a stable, working version. Features will be developed in the other branch and periodically pushed here.
- Constant definitions
- A subset of struct definitions which contain no methods
- External function definitions
- Enum definitions
- Tracking identifier names, types, and the scope they are in. This should mean that every reference is valid and of the appropriate type.
- This has not been tested rigorously and may not fully be in sync with the tree-sitter grammar. I will prioritize testing after a sufficiently large subset of the language has been implemented.