Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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)

...