aboutsummaryrefslogtreecommitdiff
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* Add RecursionLimit parser errorTolmachev Igor2026-05-092-0/+12
| | | | | Returns error after 256 levels of nesting to avoid stack overflow. The limit is hardcoded now, but will become a compiler flag later.
* Reserve inf, +inf, -inf, nan as keywordsTolmachev Igor2026-05-091-1/+5
| | | | Needed to represent literals as f64::INFINITY, f64::NEG_INFINITY and f64::NAN.
* Fix lexer processing [+-].\d as symbol instead of numberTolmachev Igor2026-05-092-3/+15
| | | | | | | Extended lookahead in the number branch to 3 chars. Added tests for "-.5", "+.5", "-.0" in test_numbers and for "-.", "+.", ".", "+.a", "-.a" in test_ambiguous.
* Replace todo!() in parser with errorsTolmachev Igor2026-05-092-53/+67
|
* Rename Parser.cursor to Parser.last_token_endTolmachev Igor2026-05-091-9/+11
| | | | `cursor` sounds like the current position, but the field stores the end of the last consumed token.
* Add AST parser skeletonTolmachev Igor2026-05-093-0/+221
|
* Add test for span positions after quote tokenTolmachev Igor2026-05-091-0/+14
|
* Split Spanned<T> from Span and expose fieldsTolmachev Igor2026-05-083-45/+34
| | | | | Spanned<T> wraps a value with a Span. Public fields enable destructuring in pattern matches.
* Fold unclosed string error into Token variantTolmachev Igor2026-05-083-62/+36
| | | | | UnclosedString was the only error variant, making lexer::Error redundant. Also removes Result from the Iterator impl.
* Add lexerTolmachev Igor2026-05-075-0/+617
|
* Initial commitHEADmainTolmachev Igor2026-05-062-0/+9