[antlr-interest] Antlr 3.0b5 - possible Bug in NFAToDFAConverter

Terence Parr parrt at cs.usfca.edu
Fri Nov 17 11:44:20 PST 2006


Hi. I removed a failsafe that I thought was not needed.  I will make  
a modification for 3.0b6 that will catch these situations.  The  
problem is a case where you have recursive rule refs in more than one  
alt of a decision.  Use -Xwatchconversion to see which rule is the  
problem.

I added a bug report yesterday.

Ter
On Nov 17, 2006, at 6:56 AM, <alexander.berger at finnova.ch>  
<alexander.berger at finnova.ch> wrote:

> Hi Everybody.
>
> I upgraded from antlr 3.0b4 to 3.0b5 and now the processing of my  
> grammar
> fails with the StackTrace below. Antlr is consuming a lot of memory  
> (up to
> 1GB), so it looks as if there is a serious problem in the NFA to  
> DFA Converter.
>
> So, can anybody please confirm this or am I the only one having  
> this problem. The grammar producing this error is quite big but I  
> will provide
> it if someone wants to have a look at it.
>
>
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
> 	at java.util.HashMap.resize(HashMap.java:462)
> 	at java.util.HashMap.addEntry(HashMap.java:755)
> 	at java.util.HashMap.put(HashMap.java:385)
> 	at java.util.HashSet.add(HashSet.java:200)
> 	at org.antlr.analysis.NFAToDFAConverter.closure 
> (NFAToDFAConverter.java:618)
> 	at org.antlr.analysis.NFAToDFAConverter.closure 
> (NFAToDFAConverter.java:748)
> 	at org.antlr.analysis.NFAToDFAConverter.closure 
> (NFAToDFAConverter.java:748)
> 	at org.antlr.analysis.NFAToDFAConverter.closure 
> (NFAToDFAConverter.java:748)
> 	at org.antlr.analysis.NFAToDFAConverter.closure 
> (NFAToDFAConverter.java:704)
> 	at org.antlr.analysis.NFAToDFAConverter.closure 
> (NFAToDFAConverter.java:669)
> 	at org.antlr.analysis.NFAToDFAConverter.closure 
> (NFAToDFAConverter.java:457)
> 	at  
> org.antlr.analysis.NFAToDFAConverter.findNewDFAStatesAndAddDFATransiti 
> ons(NFAToDFAConverter.java:274)
> 	at org.antlr.analysis.NFAToDFAConverter.convert 
> (NFAToDFAConverter.java:99)
> 	at org.antlr.analysis.DFA.<init>(DFA.java:219)
> 	at org.antlr.tool.Grammar.createLookaheadDFA(Grammar.java:826)
> 	at org.antlr.tool.Grammar.createLookaheadDFAs(Grammar.java:774)
> 	at org.antlr.codegen.Target.performGrammarAnalysis(Target.java:111)
> 	at org.antlr.codegen.CodeGenerator.genRecognizer 
> (CodeGenerator.java:279)
> 	at org.antlr.Tool.processGrammar(Tool.java:329)
> 	at org.antlr.Tool.process(Tool.java:266)
> 	at org.antlr.Tool.main(Tool.java:69)
>
>
>
> By the way. What is the official way to report bugs in antlr 3.0b* ?
>
> Kind Regards
> Alex
> ____________________________________________
>
> finnova AG Bankware
> Alexander Berger
> SR-Peripheral-Team
>
> Sägestrasse 22, CH-5600 Lenzburg
> Tel: +41 62 886 4807 / Fax: +41 62 886 4888  
> mailto:alexander.berger at finnova.ch
> http://www.finnova.ch
>



More information about the antlr-interest mailing list