...
- FILE_AND_GRAMMAR_NAME_DIFFER
- LEXER_RULES_NOT_ALLOWED
- PARSER_RULES_NOT_ALLOWED
- CANNOT_ALIAS_TOKENS_IN_LEXER
- ARGS_ON_TOKEN_REF
- ILLEGAL_OPTION
- NO_RULES
- REWRITE_FOR_MULTI_ELEMENT_ALT
- HETERO_ILLEGAL_IN_REWRITE_ALT
- AST_OP_WITH_NON_AST_OUTPUT_OPTION
- AST_OP_IN_ALT_WITH_REWRITE
- CONFLICTING_OPTION_IN_TREE_FILTER
- WILDCARD_AS_ROOT
- INVALID_IMPORT
- TOKEN_VOCAB_IN_DELEGATE
- IMPORT_NAME_CLASH(arg,arg2) ::= "<arg.typeString> grammar <arg.name> and imported <arg2.typeString> grammar <arg2.name> both generate <arg2.recognizerName>" If we are importing a grammar into a combined grammar C and imported grammar I, I must not be CLexer or CParser
- REWRITE_OR_OP_WITH_NO_OUTPUT_OPTION
- new errors:
- REPEATED_PREQUEL; repeated options or tokens spec (since we allow in any order now)
- TOKEN_NAMES_MUST_START_UPPER
...
- NO_SUCH_GRAMMAR_SCOPE(arg,arg2) ::= "reference to undefined grammar in rule reference: <arg>.<arg2>"
- NO_SUCH_RULE_IN_SCOPE(arg,arg2) ::= "rule <arg2> is not defined in grammar <arg>"IMPORT_NAME_CLASH(arg,arg2) ::= "<arg.typeString> grammar <arg.name> and imported <arg2.typeString> grammar <arg2.name> both generate <arg2.recognizerName>" If we are importing a grammar into a combined grammar C and imported grammar I, I must not be CLexer or CParser
Unsure:
- RULE_INVALID_SET
- TOKEN_ALIAS_CONFLICT (In combined only. Need to compare tokens def in combined with lexer rule in implicit lexer)
- IMPORTED_TOKENS_RULE_EMPTY(arg,arg2) ::= "no lexer rules contributed to <arg> from imported grammar <arg2>" This is for unreachable alts when dfa is Tokens rule. This is more of an LL decision thing.
...