- Fix determinization (NFA->DFA subset construction) in Automata
- Implement RegularAutomata longest-match tokenizer
- Implement ContextFreeCompiler: canonical LR(1) tables with %left/%right precedence
- Implement ContextFreeAutomata shift/reduce DPDA with AST build
- Split regex (RG+CFG) and epsilon transitions in RegularCompiler
- Add UnifiedGrammarFormat (header + source): defines the .g grammar syntax
and the inline regex syntax via the C++ grammar API, and translates a
parsed .g AST into target RE + CFG grammars (bootstrap)
- SimpleParser: bootstrap .g grammar files -> RE + LALR tables -> parse input
- Fix Map iterator off-by-one (last bucket never visited)
- Tests: compile a .g grammar and parse a program to a valid AST