public virtual void ExamineRuleMemoization(IIntStream input,
int ruleIndex,
int stopIndex, // index or MEMO_RULE_UNKNOWN...
string ruleName)
{
if (dump)
Console.WriteLine("examine memo " + ruleName + " at " + input.Index + ": " + stopIndex);
if (stopIndex == BaseRecognizer.MemoRuleUnknown)
{
//System.out.println("rule "+ruleIndex+" missed @ "+input.index());
stats.numMemoizationCacheMisses++;
stats.numGuessingRuleInvocations++; // we'll have to enter
CurrentDecision().numMemoizationCacheMisses++;
}
else
{
// regardless of rule success/failure, if in cache, we have a cache hit
//System.out.println("rule "+ruleIndex+" hit @ "+input.index());
stats.numMemoizationCacheHits++;
CurrentDecision().numMemoizationCacheHits++;
}
}