public virtual bool AlreadyParsedRule( IIntStream input, int ruleIndex )
{
int stopIndex = GetRuleMemoization( ruleIndex, input.Index );
if ( stopIndex == MemoRuleUnknown )
{
return false;
}
if ( stopIndex == MemoRuleFailed )
{
//System.out.println("rule "+ruleIndex+" will never succeed");
state.failed = true;
}
else
{
//System.out.println("seen rule "+ruleIndex+" before; skipping ahead to @"+(stopIndex+1)+" failed="+state.failed);
input.Seek( stopIndex + 1 ); // jump to one past stop token
}
return true;
}