[antlr-interest] Question about Composite grammar

Jim Idle jimi at temporal-wave.com
Tue Jul 28 10:35:42 PDT 2009


This is a bug but it happens when you reference a token somewhere that  
has no definition. You have to manually work out what the token is and  
define it or do what I do and debug it. We have talked about the fix  
but it is a bit tricky foe other reasons and has not been done yet.

It could be a side effect of multiple lexer files but if you need to  
spilt your lexer then there is likely a design issue I would think.

Jim

On Jul 27, 2009, at 10:22 PM, Duy Tho Nguyen <tho at catglobe.com> wrote:

> Currently , i have a problem with my grammar file ( Code too big )  
> so that i decide to split my grammar file in to some 2 smaller ones.  
> It seemed to me that import function does not support more than 1  
> lexer grammar file
> If i put like this :
> import lexer_file_1,lexer_file_2;
> it raise an error when generate code :
>
>
> java.lang.ArrayIndexOutOfBoundsException: 3
>     at org.antlr.tool.Rule.trackRuleReferenceInAlt(Rule.java:283)
>     at org.antlr.tool.Grammar.altReferencesRule(Grammar.java:1867)
>     at org.antlr.grammar.v2.DefineGrammarItemsWalker.atom 
> (DefineGrammarItemsWalker.java:2096)
>     at org.antlr.grammar.v2.DefineGrammarItemsWalker.element 
> (DefineGrammarItemsWalker.java:1717)
>     at org.antlr.grammar.v2.DefineGrammarItemsWalker.alternative 
> (DefineGrammarItemsWalker.java:1571)
>     at org.antlr.grammar.v2.DefineGrammarItemsWalker.block 
> (DefineGrammarItemsWalker.java:1201)
>     at org.antlr.grammar.v2.DefineGrammarItemsWalker.rule 
> (DefineGrammarItemsWalker.java:924)
>     at org.antlr.grammar.v2.DefineGrammarItemsWalker.rules 
> (DefineGrammarItemsWalker.java:576)
>     at org.antlr.grammar.v2.DefineGrammarItemsWalker.grammarSpec 
> (DefineGrammarItemsWalker.java:361)
>     at org.antlr.grammar.v2.DefineGrammarItemsWalker.grammar 
> (DefineGrammarItemsWalker.java:148)
>     at org.antlr.tool.Grammar.defineGrammarSymbols(Grammar.java:665)
>     at org.antlr.tool.CompositeGrammar.defineGrammarSymbols 
> (CompositeGrammar.java:351)
>     at org.antlr.tool.Grammar.setGrammarContent(Grammar.java:578)
>     at  
> org.antlr.works.grammar.antlr.ANTLRGrammarEngineImpl.createNewGrammar 
> (Unknown Source)
>     at  
> org.antlr.works.grammar.antlr.ANTLRGrammarEngineImpl.createLexerGrammar( 
> Unknown Source)
>     at  
> org.antlr.works.grammar.antlr.ANTLRGrammarEngineImpl.createGrammars 
> (Unknown Source)
>     at org.antlr.works.grammar.antlr.ANTLRGrammarEngineImpl.analyze 
> (Unknown Source)
>     at org.antlr.works.grammar.engine.GrammarEngineImpl.analyze 
> (Unknown Source)
>     at org.antlr.works.debugger.local.DBLocal.analyzeGrammar(Unknown  
> Source)
>     at  
> org.antlr.works.debugger.local.DBLocal.generateAndCompileGrammar 
> (Unknown Source)
>     at org.antlr.works.debugger.local.DBLocal.run(Unknown Source)
>     at java.lang.Thread.run(Unknown Source)
>
> Does anyone get this problem before ? Please help me with it . If  
> you need some more detail , please ask me .
>
> Kinds regard
>
>
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20090728/e598c40b/attachment.html 


More information about the antlr-interest mailing list