Overview of SynKit components
masterSynKit is a collection of syntax-related modules within the Yoakke ecosystem designed for grammar analysis, lexer/parser generation, and syntax tooling development. It consists of four primary components:
- Lexing: Declarative lexer definition using regular expression annotations over token types. These are compiled into Deterministic Finite Automata (DFAs) for high performance.
- Parsing: Recursive descent parsing using BNF-like notation via method annotations. It supports automatic transformation of direct left-recursion and precedence tables.
- Syntax trees: Tools for managing Abstract Syntax Trees (ASTs), including automated generation of equality, hash implementations, and visitor patterns for AST nodes.
- Error reporting: A fluent API for generating formatted, colorized, and aligned error messages for console output, including support for custom syntax-highlighters for source lines.