summaryrefslogtreecommitdiff
path: root/src/parse/parser.rs
AgeCommit message (Collapse)Author
2021-09-30No hashtag before else anymoreLaurenz
2021-08-21Prune derivesLaurenz
2021-08-13Add file information to spansLaurenz
2021-08-10Minor refactoringsLaurenz
- Reorder parser methods and use `Pos` everywhere - Remove tab special handling for columns and adapt heading/list/enum indent handling - Don't panic when a file has an empty path
2021-08-09New source loading architectureLaurenz
2021-08-01Pretty-printed diagnostics with tracebackLaurenz
2021-07-30Fatal errorsLaurenz
- Makes errors fatal, so that a phase is only reached when all previous phases were error-free - Parsing still recovers and can produce multiple errors - Evaluation fails fast and can thus produce only a single error (except for parse errors due to an import) - The single error that could occur during execution is removed for now - Removes Value::Error variant
2021-07-16Use array's IntoIterator impl and nested or patternsLaurenz
*yay*
2021-07-10Remove warnings from parsing and castingLaurenz
2021-07-08Replace using with fromLaurenz
2021-06-11Basic enumsLaurenz
2021-06-09Lists with indent-based parsingLaurenz
- Unordered lists with indent-based parsing and basic layout using stacks - Headings are now also indent based - Removes syntax functions since they will be superseded by select & transform
2021-05-31Parse import and include expressionsMartin Haug
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-05-21Refactor parser a bitLaurenz
2021-02-18Refresh parser ๐ŸŒŠLaurenz
2021-02-11Move span directly into diagnostics ๐ŸššLaurenz
2021-02-09Split evaluation and execution ๐Ÿ”ชLaurenz
2021-02-03Tidy up raw blocks ๐ŸงนLaurenz
- Better trimming (only trim at the end if necessary) - Fixed block-level layouting - Improved pretty printing - Flip inline variable to block - Flip inline variable to display for math formulas
2021-01-31Refresh tests ๐Ÿ”„Laurenz
2021-01-30New syntax ๐Ÿ’ŽLaurenz
- Everything everywhere! - Blocks with curly braces: {} - Templates with brackets: [] - Function templates with hashtag: `#[f]` - Headings with equals sign: `= Introduction`
2021-01-26Multi-expression blocks ๐Ÿ›๏ธLaurenz
2021-01-20If expressions ๐Ÿ”€Laurenz
2021-01-17Assertions with [eq] + better tests ๐ŸฉบLaurenz
2021-01-13Basic let bindings ๐ŸŽžLaurenz
2021-01-10Rename token modes โœLaurenz
2021-01-07Remove star-slash token โŒLaurenz
2021-01-01A few small improvements โ™ปLaurenz
2021-01-01Better parser testing โœ…Laurenz
2020-12-31Parsing improvements ๐ŸงฝLaurenz
- Simplified scanner code - Peek eagerly - Skip whitespace and comments automatically in header mode - Parse simple block expressions - Move literal definitions into expression module - Raw resolving tests
2020-12-27Refresh function call and dictionary syntaxLaurenz
- No colon between function name and arguments, just whitespace - "Named" arguments (previously "keyword" arguments) use colon instead of equals sign
2020-12-16Tweak parser error messages ๐Ÿ”ฎLaurenz
2020-10-12Naming and grammar โœ”Laurenz
2020-10-07Move deco, pass and feedback into diagnostics module โ†ฉLaurenz
2020-10-04Shorten some names โ†”Laurenz
2020-10-02Small improvements ๐ŸงบLaurenz
2020-10-02Remove spans from token iterator ๐ŸงฝLaurenz
2020-10-02Optimize parser by remembering peeked token โšกLaurenz
2020-10-02Refactor parser ๐ŸžLaurenz
2020-09-30Restructure parser files ๐Ÿ”Laurenz
2020-09-30Refactor raw blocks ๐Ÿ’ฑLaurenz
2020-09-30SpanWith trait โ†”Laurenz
2020-09-30Reorganize syntax types into two modules ๐Ÿ“ฆLaurenz