[antlr-interest] ANTLR v3.3 infinite loop

Rene Vestergaard vester at jaist.ac.jp
Wed Dec 1 17:38:04 PST 2010


 > hi. please turn on [-Xwatchconversion] and see which decision kills 
it. this is rare but not impossible.  Then, add backtrack=true and k=1 
options to that decision to resolve.  or restructure that decision.


I'm not sure I understand the answer.

When running 3.3 with -Xwatchconversion and -Xmx256MB, heap space runs 
out and the output ends with the lines enclosed below. I gather that you 
are saying that there is some way to map that info back into the name 
space of my .g file but the specific means to do this escapes me.

For 3.2, the max DFA state is 575, by the way.

Cheers,
Rene


convert DFA state 39452 (90 nfa states)
convert DFA state 39453 (90 nfa states)
convert DFA state 39454 (50 nfa states)
convert DFA state 39455 (62 nfa states)
convert DFA state 39456 (15 nfa states)
convert DFA state 39467 (92 nfa states)
convert DFA state 39468 (92 nfa states)
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
	at java.util.Arrays.copyOf(Arrays.java:2734)
	at java.util.Vector.ensureCapacityHelper(Vector.java:226)
	at java.util.Vector.setSize(Vector.java:242)
	at org.antlr.analysis.DFA.newState(DFA.java:1076)
	at org.antlr.analysis.NFAToDFAConverter.reach(NFAToDFAConverter.java:850)
	at 
org.antlr.analysis.NFAToDFAConverter.findNewDFAStatesAndAddDFATransitions(NFAToDFAConverter.java:275)
	at org.antlr.analysis.NFAToDFAConverter.convert(NFAToDFAConverter.java:110)
	at org.antlr.analysis.DFA.<init>(DFA.java:237)
	at org.antlr.tool.Grammar.createLookaheadDFA(Grammar.java:1262)
	at org.antlr.tool.Grammar.createLookaheadDFAs(Grammar.java:1026)
	at org.antlr.tool.Grammar.createLookaheadDFAs(Grammar.java:976)
	at org.antlr.codegen.Target.performGrammarAnalysis(Target.java:113)
	at org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:302)
	at org.antlr.Tool.generateRecognizer(Tool.java:642)
	at org.antlr.Tool.process(Tool.java:455)
	at org.antlr.Tool.main(Tool.java:89)




More information about the antlr-interest mailing list