about summary refs log tree commit diff
path: root/boot
AgeCommit message (Collapse)Author
2025-08-05Add runtime library for catskill transpiled artifacts, wrapping main ↵Mel
function with correct types Signed-off-by: Mel <mel@rnrd.eu>
2025-08-05Add core library for catskill transpiled source, output defined types in ↵Mel
transpiler Signed-off-by: Mel <mel@rnrd.eu>
2025-08-05Add 'transpile' to test harness targetsMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-23Add rudimentary catskill-to-C transpiler (yay!)Mel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-23Add option to test suite to auto-adjust expected output in definitionMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-22Remove ambiguity from construct expressions and if/for/while blocksMel
Signed-off-by: Mel <mel@rnrd.eu>
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-18Add catboot test for simple typesMel
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-10Display causing tokens lexeme directly from source for error messagesMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-10Expand common string library with `String_View` and format macrosMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-09Parse unary reference and dereference operatorsMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-09Rudimentary semi-recoverable parser panic modeMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-09Add NORETURN to failure functions, add `unreachable`Mel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-09Shorten token_span_to_line_span and reduce edge case errors in itMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-09Multi-error display and fix up finding line boundriesMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-09Display human-readable, informative parser error messages w/ source snippetMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-06Print formatted lex token value next to token typeMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-06Correct handling of empty block nodesMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-06Parse variadic parameters in function definitionsMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-05Correctly recurse over self-containing non-homogenous postfix-type expressionsMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-05Try (?) & must (!) expressionsMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-04Print completed single test resultMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-04Tree printer handle whitespace more consistentlyMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-04Do not remove failed test artifact file for inspectionMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-04Argument parser for catboot tool, different command executionMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-07-04Test suite runner prototype for `catboot`Mel
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-24Parse Maybe (?) typeMel
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-15Fix disambiguation check between no-return function body & function ↵Mel
returning inline struct Signed-off-by: Mel <mel@rnrd.eu>
2025-06-15Fully parse variant & class typesMel
Signed-off-by: Mel <mel@rnrd.eu>
2025-06-15`void` for parameter-less functions (I keep forgetting I'm not writing C++ ↵Mel
anymore.. ^^') Signed-off-by: Mel <mel@rnrd.eu>
2025-06-15Remove confusion between function body and function with inline struct as ↵Mel
return type 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-14Prevent mmap of empty fileMel
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-14Don't choke on \n followed by EOFMel
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-12Fix `failure()` colors + stream flush, define ANSI escape codesMel
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-03Fix wrong token used in `parse_expression_primary_group`Mel
Signed-off-by: Mel <mel@rnrd.eu>