[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