[antlr-interest] Another update to Honey Badger

Peter Boughton boughtonp at gmail.com
Sat Jan 21 17:47:04 PST 2012


These native commands definitely help readability.

Unfortunately, it seems popMode isn't working - trying to use it
results in an NPE:

 Exception in thread "main" java.lang.NullPointerException
 	at org.antlr.v4.automata.LexerATNFactory.lexerCommand(LexerATNFactory.java:143)
 	at org.antlr.v4.parse.ATNBuilder.lexerCommand(ATNBuilder.java:762)
 	at org.antlr.v4.parse.ATNBuilder.lexerCommands(ATNBuilder.java:665)
 	at org.antlr.v4.parse.ATNBuilder.alternative(ATNBuilder.java:540)
 	at org.antlr.v4.parse.ATNBuilder.ruleBlock(ATNBuilder.java:292)
 	at org.antlr.v4.automata.ParserATNFactory._createATN(ParserATNFactory.java:127)
 	at org.antlr.v4.automata.LexerATNFactory.createATN(LexerATNFactory.java:83)
 	at org.antlr.v4.Tool.processNonCombinedGrammar(Tool.java:303)
 	at org.antlr.v4.Tool.process(Tool.java:284)
 	at org.antlr.v4.Tool.processGrammarsOnCommandLine(Tool.java:248)
 	at org.antlr.v4.Tool.main(Tool.java:146)
 Java Result: 1

The old style still works, and both pushMode(MODENAME) and skip are working.

The error above is the same you get with an invalid command, for
example by adding "->purple;" to a rule.

Possible cause in org/antlr/v4/tool/templates/codegen/Java/Java.stg -
line 441 has LexerPopMode instead of LexerPopModeCommand ?


More information about the antlr-interest mailing list