[antlr-interest] rewrites to capture tree structure and original text

David Wood dawood at us.ibm.com
Fri Oct 7 12:55:43 PDT 2011


I am writing a translator and would like to capture the original text that 
I'm translating.  I've tried something like this in AW

declarationStatement
        :        tableType id tupleDeclList ';' (LINE_COMMENT)? -> 
                        ^(TABLEDECL tableType id tupleDeclList ^(TEXT 
$declarationStatement.text)) 
        ;

In addition, this causes a NPE (see below).   I'm sure I'm making this 
harder and/or have missed something somewhere.  Can someone point in the 
right direction?  Thanks.

[15:54:27] java.lang.NullPointerException
        at 
org.antlr.grammar.v3.DefineGrammarItemsWalker.countAltsForRule(DefineGrammarItemsWalker.java:153)
        at 
org.antlr.grammar.v3.DefineGrammarItemsWalker.rule(DefineGrammarItemsWalker.java:1546)
        at 
org.antlr.grammar.v3.DefineGrammarItemsWalker.rules(DefineGrammarItemsWalker.java:1190)
        at 
org.antlr.grammar.v3.DefineGrammarItemsWalker.grammarSpec(DefineGrammarItemsWalker.java:623)
        at 
org.antlr.grammar.v3.DefineGrammarItemsWalker.grammar_(DefineGrammarItemsWalker.java:315)
        at org.antlr.tool.Grammar.defineGrammarSymbols(Grammar.java:748)
        at 
org.antlr.tool.CompositeGrammar.defineGrammarSymbols(CompositeGrammar.java:369)
        at org.antlr.tool.Grammar.setGrammarContent(Grammar.java:606)
        at 
org.antlr.works.grammar.antlr.ANTLRGrammarEngineImpl.createNewGrammar(ANTLRGrammarEngineImpl.java:192)
        at 
org.antlr.works.grammar.antlr.ANTLRGrammarEngineImpl.createParserGrammar(ANTLRGrammarEngineImpl.java:225)
        at 
org.antlr.works.grammar.antlr.ANTLRGrammarEngineImpl.createCombinedGrammar(ANTLRGrammarEngineImpl.java:203)
        at 
org.antlr.works.grammar.antlr.ANTLRGrammarEngineImpl.createGrammars(ANTLRGrammarEngineImpl.java:165)
        at 
org.antlr.works.grammar.engine.GrammarEngineImpl.getGrammarLanguage(GrammarEngineImpl.java:115)
        at 
org.antlr.works.components.GrammarWindowMenu.getEditTestRigTitle(GrammarWindowMenu.java:244)
        ...

David Wood 
Computing Systems for Wireless Networks
IBM TJ Watson Research Center
dawood at us.ibm.com
914-784-5123 (office), 914-396-6515 (mobile)


More information about the antlr-interest mailing list