findRecoveryStateIndex method
int
findRecoveryStateIndex(
- int start_index
)
Implementation
int findRecoveryStateIndex(int start_index) {
int i;
for (i = start_index; i >= 0; i--) {
//
// If the ERROR_SYMBOL is an Action Adjunct in state stateStack[i]
// then chose i as the index of the state to recover on.
//
if (recoverableState(stateStack[i])) break;
}
if (i >= 0) // if a recoverable state, remove null reductions, if any.
{
int k;
for (k = i - 1; k >= 0; k--) {
if (locationStack[k] != locationStack[i]) break;
}
i = k + 1;
}
return i;
}