[antlr-interest] NullPointerException when referencing result of undefined rule

Mats Behre mb.fgel at ownit.nu
Mon Oct 29 00:25:36 PDT 2007


Hi,

When I run this (totally useless) grammar:

grammar Test;

    dateAddCmd
        @after {
            $p.text;
        }: p=dateAddKeyword;

in ANTLR 3.0.1 it results in:

error(10):  internal error: /Scratch/temp/Test.g : java.lang.NullPointerException
org.antlr.tool.ActionAnalysisLexer.mX_Y(ActionAnalysisLexer.java:133)
org.antlr.tool.ActionAnalysisLexer.mTokens(ActionAnalysisLexer.java:323)
org.antlr.tool.ActionAnalysisLexer.nextToken(ActionAnalysisLexer.java:69)
org.antlr.tool.ActionAnalysisLexer.analyze(ActionAnalysisLexer.java:43)
org.antlr.tool.Grammar.examineAllExecutableActions(Grammar.java:1291)
org.antlr.tool.Grammar.setGrammarContent(Grammar.java:567)
org.antlr.tool.Grammar.<init>(Grammar.java:456)
org.antlr.Tool.getGrammar(Tool.java:331)
org.antlr.Tool.process(Tool.java:267)
org.antlr.Tool.main(Tool.java:70)

If I define the 'dateAddKeyword' rule I get the more expected error reports.
The critical point seems to be the reference of $p in the @after section.

Rgds,
Mats


More information about the antlr-interest mailing list