[antlr-interest] Allow empty file/input

Rui Vilão rpvilao at gmail.com
Mon Nov 22 11:02:53 PST 2010


Hi there,

I implemented a simple grammar and I want to add support to allow empty
input. Empty input can be for example comments too. So I defined it this way

eat: (bananas)+
    |
    ;

bananas: <lots of stuff here>

LINE_COMMENT   : '//' ~('\r' | '\n')*   {skip(); };

ETC...

The thing is if I put anything that does not match the grammar, i.e. empty
string, comment, whatever I get the following error when I try to get the
object that will represent my DSL:

java.lang.NullPointerException: null
        at
org.antlr.runtime.tree.BaseTreeAdaptor.isNil(BaseTreeAdaptor.java:70)
~[antlr-runtime-3.2.jar:na]
        at
org.antlr.runtime.tree.CommonTreeNodeStream.nextElement(CommonTreeNodeStream.java:93)
~[antlr-runtime-3.2.jar:na]
        at
org.antlr.runtime.misc.LookaheadStream.fill(LookaheadStream.java:94)
~[antlr-runtime-3.2.jar:na]
        at
org.antlr.runtime.misc.LookaheadStream.sync(LookaheadStream.java:88)
~[antlr-runtime-3.2.jar:na]
        at org.antlr.runtime.misc.LookaheadStream.LT(LookaheadStream.java:119)
~[antlr-runtime-3.2.jar:na]
        at org.antlr.runtime.tree.CommonTreeNodeStream.LA(CommonTreeNodeStream.java:116)
~[antlr-runtime-3.2.jar:na]
        at
com.feedzai.pulse.service.kpi.parser.KpiTree.script(KpiTree.java:85)
~[classes/:na]

Does anyone know how can I achieve this?

Thank you in advance,

Rui Vilao


More information about the antlr-interest mailing list