about summary refs log tree commit diff
path: root/boot/tree.c
AgeCommit message (Collapse)Author
2025-07-18Separate call/construct expression back into partsMel
This makes it easier to decide whether subject should be interpreted as a type of expression. Signed-off-by: Mel <mel@rnrd.eu>
2025-07-10Fix nil-dereference in `parser_node_type_class`Mel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-09Parse unary reference and dereference operatorsMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-06Parse variadic parameters in function definitionsMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-05Try (?) & must (!) expressionsMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-01Parse pragmas as free-standing statements, without attachmentMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-01Remove older non-visit tree printing codeMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-06-30Factor out translation unit includes to seperate headerMel
This allows both the usual build compiler and an LSP server like `clangd` to correctly locate symbols throughout every subunit. Signed-off-by: Mel <mel@rnrd.eu>
2025-06-30License project files under MPL-2.0Mel
Signed-off-by: Mel <mel@rnrd.eu>
2025-06-30Re-format FOR_EACH macros as control structuresMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-06-30Implement Visitor system for syntax tree, with re-written tree printer as ↵Mel
first usage Signed-off-by: Mel <mel@rnrd.eu>
2025-06-24Print member expression correctlyMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-06-24Parse named arguments, thus enabling type constructionsMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-06-15Shift `type` keyword in type declarations to right-hand assign side, for ↵Mel
symmetry with function declaration Signed-off-by: Mel <mel@rnrd.eu>
2025-06-14Bare-declaration parsing and `for` and `while` for loopsMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-06-14Disambiguate variable declaration and call/array access syntax with `var` + ↵Mel
`let` Signed-off-by: Mel <mel@rnrd.eu>
2025-06-12Parse most primitive types into treeMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-06-03Range binary operationMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-06-03Return, break, continue & defer statement parsingMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-06-03Parse and lex ++, --, ** operators, with prefix and postfix handlingMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-06-03Parse all 4 types of for-loopsMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-06-01Function literal expressionsMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-06-01Parse if/else if/else statementsMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-05-31Parse blocks of statements as nodeMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-05-31Keyword-less variable declaration parsingMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-05-24Failure when default case reached in non-optional switch functionsMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-05-24Correctly interpret all assignment operator expression variationsMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-05-21Basic expression parser with operator precedence and associativityMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-05-18Define basic syntax tree (mostly expressions), with simple debug printingMel
Signed-off-by: Mel <mel@rnrd.eu>