...
- 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
argument, return value attribute issues
- LABEL_CONFLICTS_WITH_RULE_SCOPE_ATTRIBUTE
- LABEL_CONFLICTS_WITH_RULE_ARG_RETVAL
syntax related
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.
- UNDEFINED_TOKEN_REF_IN_REWRITE
- REWRITE_ELEMENT_NOT_PRESENT_ON_LHS
- UNDEFINED_LABEL_REF_IN_REWRITE
Argument, return value, scope attribute issues
- LABEL_CONFLICTS_WITH_RULE_SCOPE_ATTRIBUTE
- LABEL_CONFLICTS_WITH_RULE_ARG_RETVAL
- ...
Actions:
- INVALID_RULE_PARAMETER_REF
- NO_SUCH_RULE_IN_SCOPE
- ...
...