track stats properly

[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9643]
This commit is contained in:
parrt 2011-12-16 16:00:11 -08:00
parent ebd1fbb63d
commit 6b673a3b2e
3 changed files with 12 additions and 10 deletions

View File

@ -599,6 +599,7 @@ public class v2ParserATNSimulator<Symbol> extends ATNSimulator {
int nalts, int nalts,
boolean greedy) boolean greedy)
{ {
retry_with_context++;
if ( debug ) System.out.println("execATNWithFullContext "+s0+", greedy="+greedy); if ( debug ) System.out.println("execATNWithFullContext "+s0+", greedy="+greedy);
ATNConfigSet reach = null; ATNConfigSet reach = null;
ATNConfigSet previous = s0; ATNConfigSet previous = s0;
@ -619,6 +620,7 @@ public class v2ParserATNSimulator<Symbol> extends ATNSimulator {
} }
if ( reach.uniqueAlt != ATN.INVALID_ALT_NUMBER ) { if ( reach.uniqueAlt != ATN.INVALID_ALT_NUMBER ) {
retry_with_context_indicates_no_conflict++;
reportContextSensitivity(dfa, reach, startIndex, input.index()); reportContextSensitivity(dfa, reach, startIndex, input.index());
return reach; return reach;
} }

View File

@ -2,7 +2,7 @@ import org.antlr.runtime.debug.BlankDebugEventListener;
import org.antlr.v4.runtime.ANTLRFileStream; import org.antlr.v4.runtime.ANTLRFileStream;
import org.antlr.v4.runtime.CommonTokenStream; import org.antlr.v4.runtime.CommonTokenStream;
import org.antlr.v4.runtime.atn.LexerATNSimulator; import org.antlr.v4.runtime.atn.LexerATNSimulator;
import org.antlr.v4.runtime.atn.ParserATNSimulator; import org.antlr.v4.runtime.atn.v2ParserATNSimulator;
import java.io.File; import java.io.File;
@ -41,10 +41,10 @@ class TestJava {
System.out.println("finished parsing OK"); System.out.println("finished parsing OK");
System.out.println(LexerATNSimulator.ATN_failover+" lexer failovers"); System.out.println(LexerATNSimulator.ATN_failover+" lexer failovers");
System.out.println(LexerATNSimulator.match_calls+" lexer match calls"); System.out.println(LexerATNSimulator.match_calls+" lexer match calls");
System.out.println(ParserATNSimulator.ATN_failover+" parser failovers"); System.out.println(v2ParserATNSimulator.ATN_failover+" parser failovers");
System.out.println(ParserATNSimulator.predict_calls +" parser predict calls"); System.out.println(v2ParserATNSimulator.predict_calls +" parser predict calls");
System.out.println(ParserATNSimulator.retry_with_context +" retry_with_context after SLL conflict"); System.out.println(v2ParserATNSimulator.retry_with_context +" retry_with_context after SLL conflict");
System.out.println(ParserATNSimulator.retry_with_context_indicates_no_conflict +" retry sees no conflict"); System.out.println(v2ParserATNSimulator.retry_with_context_indicates_no_conflict +" retry sees no conflict");
if ( profile ) { if ( profile ) {
System.out.println("num decisions "+profiler.numDecisions); System.out.println("num decisions "+profiler.numDecisions);
} }

View File

@ -33,7 +33,7 @@ import org.antlr.v4.runtime.CommonTokenStream;
import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.ParserRuleContext;
import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.Token;
import org.antlr.v4.runtime.atn.LexerATNSimulator; import org.antlr.v4.runtime.atn.LexerATNSimulator;
import org.antlr.v4.runtime.atn.ParserATNSimulator; import org.antlr.v4.runtime.atn.v2ParserATNSimulator;
import java.io.File; import java.io.File;
@ -71,10 +71,10 @@ class TestJavaLR {
System.out.println("finished parsing OK"); System.out.println("finished parsing OK");
System.out.println(LexerATNSimulator.ATN_failover+" lexer failovers"); System.out.println(LexerATNSimulator.ATN_failover+" lexer failovers");
System.out.println(LexerATNSimulator.match_calls+" lexer match calls"); System.out.println(LexerATNSimulator.match_calls+" lexer match calls");
System.out.println(ParserATNSimulator.ATN_failover+" parser failovers"); System.out.println(v2ParserATNSimulator.ATN_failover+" parser failovers");
System.out.println(ParserATNSimulator.predict_calls +" parser predict calls"); System.out.println(v2ParserATNSimulator.predict_calls +" parser predict calls");
System.out.println(ParserATNSimulator.retry_with_context +" retry_with_context after SLL conflict"); System.out.println(v2ParserATNSimulator.retry_with_context +" retry_with_context after SLL conflict");
System.out.println(ParserATNSimulator.retry_with_context_indicates_no_conflict +" retry sees no conflict"); System.out.println(v2ParserATNSimulator.retry_with_context_indicates_no_conflict +" retry sees no conflict");
if ( profile ) { if ( profile ) {
System.out.println("num decisions "+profiler.numDecisions); System.out.println("num decisions "+profiler.numDecisions);
} }