...
- FILE_AND_GRAMMAR_NAME_DIFFER
- LEXER_RULES_NOT_ALLOWED
- PARSER_RULES_NOT_ALLOWED
- CANNOT_ALIAS_TOKENS_IN_LEXER
- ARGS_ON_TOKEN_REF
- ILLEGAL_OPTION
- REWRITE_OR_OP_WITH_NO_OUTPUT_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
- new errors:
- REPEATED_PREQUEL; repeated options or tokens spec (since we allow in any order now)
- TOKEN_NAMES_MUST_START_UPPER
TODO:
- REWRITE_OR_OP_WITH_NO_OUTPUT_OPTION
Symbols:
purely symbol related
...
- RULE_REDEFINITION
- ACTION_REDEFINITION
- RULE_HAS_NO_ARGS
- UNDEFINED_RULE_REF
- MISSING_RULE_ARGS
- SCOPE_REDEFINITION (new)
- TOKEN_ALIAS_REASSIGNMENT
- LABEL_CONFLICTS_WITH_RULE
- LABEL_CONFLICTS_WITH_TOKEN
- SYMBOL_CONFLICTS_WITH_GLOBAL_SCOPE (label v scope, token v scope, rule v scope)
- LABEL_TYPE_CONFLICT
syntax related
DONE 2/8/2010
These need tree pattern matching to find subtrees with the right syntax. They need to check what's on the left-hand side of rewrites, so I also need to track a list of references within each alternative.
DONE 2/8/2010
- REWRITE_ELEMENT_NOT_PRESENT_ON_LHS (merged to include v3 UNDEFINED_LABEL_REF_IN_REWRITE, UNDEFINED_TOKEN_REF_IN_REWRITE)
...
- LABEL_CONFLICTS_WITH_RULE_SCOPE_ATTRIBUTE
- LABEL_CONFLICTS_WITH_RULE_ARG_RETVAL
- ...
...
- ARG_RETVAL_CONFLICT (arg/ret val same name)
- CANNOT_FIND_ATTRIBUTE_NAME_IN_DECL ("int " instead of "int b")
- ATTRIBUTE_CONFLICTS_WITH_RULE, ATTRIBUTE_CONFLICTS_WITH_RULE_ARG_RETVAL (collision of a rule-scope dynamic attribute with arg, return value, rule name itself.)
Attribute refs in actions:
- INVALID_RULE_PARAMETER_REF
- NO_SUCH_RULE_IN_SCOPE
- ATTRIBUTE_REF_NOT_IN_RULE
- INVALID_RULE_SCOPE_ATTRIBUTE_REF
- UNKNOWN_SIMPLE_ATTRIBUTE
- INVALID_RULE_PARAMETER_REF
- UNKNOWN_RULE_ATTRIBUTE
- ISOLATED_RULE_SCOPE
- NONUNIQUE_REF
- FORWARD_ELEMENT_REF
- RULE_REF_AMBIG_WITH_RULE_IN_ALT
- UNKNOWN_DYNAMIC_SCOPE
- ...
Unsure:
- RULE_INVALID_SET
- UNKNOWN_DYNAMIC_SCOPE_ATTRIBUTE
- ISOLATED_RULE_ATTRIBUTE
- WRITE_TO_READONLY_ATTR
- NO_SUCH_RULE_IN_SCOPE
Imported grammars
- IMPORTED_TOKENS_RULE_EMPTY
- NO_SUCH_GRAMMAR_SCOPE
Unsure:
- RULE_INVALID_SET
- TOKEN_ALIAS_CONFLICT (In combined only. Need to compare tokens def in combined with lexer rule in implicit lexer)
...