[antlr-interest] Tree output syntax
Gavin Lambert
antlr at mirality.co.nz
Thu Apr 5 04:41:16 PDT 2007
Yesterday, I wrote:
>I can't quite work out how to do the tree output syntax for an
>optional case.
[...]
>compoundString: STRING (PLUS^ STRING)*;
In fact that syntax as a whole seems to give grief -- for example
when I try to do this:
declaration
: K_CLASS^ classDef
| K_FIELD^ fieldDef
| K_PROP^ propertyDef
;
ANTLR simply spews this out:
error(100): .\Test.g3:0:0: syntax error: assign.types: <AST>:0:0:
unexpected end of subtree
error(10): internal error: .\Test.g3 :
java.lang.ClassCastException: antlr.ASTNULLType
org.antlr.tool.AssignTokenTypesWalker.block(AssignTokenTypesWalker.java:1215)
org.antlr.tool.AssignTokenTypesWalker.rule(AssignTokenTypesWalker.java:1030)
org.antlr.tool.AssignTokenTypesWalker.rules(AssignTokenTypesWalker.java:610)
org.antlr.tool.AssignTokenTypesWalker.grammarSpec(AssignTokenTypesWalker.java:492)
org.antlr.tool.AssignTokenTypesWalker.grammar(AssignTokenTypesWalker.java:363)
org.antlr.tool.Grammar.setGrammarContent(Grammar.java:533)
org.antlr.tool.Grammar.<init>(Grammar.java:443)
org.antlr.Tool.getGrammar(Tool.java:331)
org.antlr.Tool.process(Tool.java:267)
org.antlr.Tool.main(Tool.java:70)
(Note in particular that there's no line information for the
grammar file, which made this *really* hard to track down the
first time I encountered it).
More information about the antlr-interest
mailing list