stack = []
push ($) //$: end of file
push (1) // 1: initial statewhile (true)
{
token t = nextToken()
states = stack[top]
if (ACTION[s, t] == 'si')
{
push (t); push(i);
}
elseif (ACTION[s, t] == 'si')
{
pop (the right hand of production 'j': X -> B'')
states = stack[top]
push(X); push(GOTO[s, X])
}
else
{
error(...)
}
}