[antlr-interest] NPE when adding @header? (ANTLRWorks 1.4.2, Mac OSX 10.6.6)

Bill Schongar bschonga at cisco.com
Wed Feb 16 06:03:32 PST 2011


Hi folks,

 I¹m just getting started with Antlr, and have a basic grammar working.
However, as soon as I add an @header declaration I get an NPE when I go to
Debug it, almost as if I hadn¹t properly terminated the @header declaration.

 If I remove @header everything works fine, and I can run debug with my
sample text, get my expected output, etc.

 Any thoughts on what I¹m doing wrong? System info, relevant section of the
grammar and NPE are added at the end for reference.

Thanks,
-Bill

----

System info:
* AntlrWorks 1.4.2
    * Compiler preference setting: javac (in /usr/bin/javac, 1.6.0_22)
* Mac OSX 10.6.6

-- Excerpt of the grammar file ---
grammar TestFile;

@header {package com.mycompany.foo;}

options {
    language = Java;
}
    
tokens {
    ...
--------


[08:56:45] error(100): TestFile.g:5:1: syntax error: antlr: TestFile.g:5:1:
unexpected token: options {
[08:56:45] error(150):  grammar file TestFile.g has no rules
[08:56:45] error(100): TestFile.g:0:0: syntax error: assign.types:
<AST>:0:0: unexpected end of subtree
[08:56:45] error(100): TestFile.g:0:0: syntax error: define: <AST>:0:0:
unexpected end of subtree
[08:56:45] java.lang.NullPointerException
    at 
org.antlr.grammar.v2.DefineGrammarItemsWalker.trimGrammar(DefineGrammarItems
Walker.java:94)
    at 
org.antlr.grammar.v2.DefineGrammarItemsWalker.finish(DefineGrammarItemsWalke
r.java:77)
    at 
org.antlr.grammar.v2.DefineGrammarItemsWalker.grammar(DefineGrammarItemsWalk
er.java:206)
    at org.antlr.tool.Grammar.defineGrammarSymbols(Grammar.java:707)
    at 
org.antlr.tool.CompositeGrammar.defineGrammarSymbols(CompositeGrammar.java:3
52)
    at org.antlr.tool.Grammar.setGrammarContent(Grammar.java:584)
    at 
org.antlr.works.grammar.antlr.ANTLRGrammarEngineImpl.createNewGrammar(ANTLRG
rammarEngineImpl.java:192)
    at 
org.antlr.works.grammar.antlr.ANTLRGrammarEngineImpl.createParserGrammar(ANT
LRGrammarEngineImpl.java:225)
    at 
org.antlr.works.grammar.antlr.ANTLRGrammarEngineImpl.createCombinedGrammar(A
NTLRGrammarEngineImpl.java:203)
    at 
org.antlr.works.grammar.antlr.ANTLRGrammarEngineImpl.createGrammars(ANTLRGra
mmarEngineImpl.java:165)
    at 
org.antlr.works.grammar.engine.GrammarEngineImpl.getGrammarLanguage(GrammarE
ngineImpl.java:115)
    at 
org.antlr.works.components.GrammarWindowMenu.getEditTestRigTitle(GrammarWind
owMenu.java:244)
    at 
org.antlr.works.components.GrammarWindowMenu.menuItemState(GrammarWindowMenu
.java:529)
    at 
org.antlr.works.components.GrammarWindow.menuItemState(GrammarWindow.java:44
0)
    at 
org.antlr.xjlib.appkit.menu.XJMainMenuBar.refreshMenuItemState(XJMainMenuBar
.java:175)
    at 
org.antlr.xjlib.appkit.menu.XJMainMenuBar.refreshMenuState(XJMainMenuBar.jav
a:169)
    at 
org.antlr.xjlib.appkit.menu.XJMainMenuBar.refreshState(XJMainMenuBar.java:15
3)
    at 
org.antlr.xjlib.appkit.menu.XJMainMenuBar.refresh(XJMainMenuBar.java:145)
    at 
org.antlr.xjlib.appkit.frame.XJWindow.windowActivated(XJWindow.java:200)
    at 
org.antlr.works.components.GrammarWindow.windowActivated(GrammarWindow.java:
413)
    at 
org.antlr.xjlib.appkit.frame.XJFrame$3.windowActivated(XJFrame.java:161)
    at 
java.awt.AWTEventMulticaster.windowActivated(AWTEventMulticaster.java:372)
    at java.awt.Window.processWindowEvent(Window.java:1877)
    at javax.swing.JFrame.processWindowEvent(JFrame.java:274)
    at java.awt.Window.processEvent(Window.java:1823)
    at java.awt.Component.dispatchEventImpl(Component.java:4714)
    at java.awt.Container.dispatchEventImpl(Container.java:2143)
    at java.awt.Window.dispatchEventImpl(Window.java:2478)
    at java.awt.Component.dispatchEvent(Component.java:4544)
    at 
java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850
)
    at 
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocu
sManager.java:910)
    at 
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag
er.java:409)
    at java.awt.Component.dispatchEventImpl(Component.java:4586)
    at java.awt.Container.dispatchEventImpl(Container.java:2143)
    at java.awt.Window.dispatchEventImpl(Window.java:2478)
    at java.awt.Component.dispatchEvent(Component.java:4544)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
    at java.awt.SentEvent.dispatch(SentEvent.java:55)
    at 
java.awt.DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent.di
spatch(DefaultKeyboardFocusManager.java:183)
    at 
java.awt.DefaultKeyboardFocusManager.sendMessage(DefaultKeyboardFocusManager
.java:210)
    at 
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag
er.java:286)
    at java.awt.Component.dispatchEventImpl(Component.java:4586)
    at java.awt.Container.dispatchEventImpl(Container.java:2143)
    at java.awt.Window.dispatchEventImpl(Window.java:2478)
    at java.awt.Component.dispatchEvent(Component.java:4544)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
    at java.awt.SequencedEvent.dispatch(SequencedEvent.java:101)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:633)
    at 
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java
:296)
    at 
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:21
1)
    at 
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java
:201)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)






More information about the antlr-interest mailing list