RCC Feature List
RCC is a LALR(1) compiler compiler, written in Ruby, and supporting (theoretically) any output language.
Declarative grammar:
- grammar is purely declarative and is therefore output-language-independent
- parser is generated as a class, and action code is added by subclassing and defining “event handler” methods
Generated components include:
- lexer
- parser
- AST classes
- AST construction code
- error recovery system
- grammar help system
Additional features:
- optional backtracking support, for dynamic resolution of ambiguous grammars
- error recovery system in generated parser that engages when a syntax error is detected:
- allows parsing to continue beyond the first error
- provides user with higher-quality error messages, that are more likely to identify the cause of an error, and not just its effect
- error report includes suggested repairs for the error
Debugging tools:
- a grammar interpreter that explains how your grammar actually works on a particular source file, including clear descriptions of why it is making the choices it is making