advanced
Custom DSL Parser Construction
Construct a logical framework for a recursive descent parser for a custom Domain Specific Language.
📝 Konten Prompt
Define the grammar rules and parsing logic for a recursive descent parser that interprets a custom Domain Specific Language (DSL) for defining state machines. The DSL should support nested states, parallel regions, and transition guards. Describe the tokenization process (Lexer) and the structure of the Abstract Syntax Tree (AST) nodes. Provide the pseudo-code for the parse functions corresponding to non-terminal symbols, specifically handling syntax error recovery and precedence rules. Explain how you would validate semantic correctness (e.g., no undefined state references) during the parsing phase.