Links
To-do
- Lexical analysis
- Rewrite to be more functional and less ugly
- Comprehensive unit tests
- Token position
- Parser (Pratt parsing)
- Remove asserts in favour of an actual error type
- Pretty print the error type
- Integration tests
- Pratt parsing for expressions
- If-else
- If-elif-else
- For
- While
- Symbol declarations
- Errors
- Convert errors to
SemError-style internal::newcalls
- Abstract syntax tree
- Remove asserts for an actual error type
- Printing utility
- Replace usages of
Box<AstNode>where appropriate- Replace
BlockNodein the AST + explicit scope entering in semantic analysis
- Replace
- Visitor trait
- Semantic analysis
- Function table construction
- Error type
- Type checking
- Integration tests
- Intermediate representation
- Printing utility
- Optimisations
- Assembly generation
- CI/CD pipeline (snapshot testing)
- Move tests into separate
testsfolder - Fix release-mode compilation errors so GitHub Actions can actually run
- CD releases
- Move tests into separate
- Language features
- Pointer types
- Struct types
