private void DoShift(TerminalToken token, ShiftAction action) { stateStack.Push(action.State); tokenStack.Push(token); lookahead = null; if (OnShift != null) { OnShift(this, new ShiftEventArgs(token, action.State)); } }
private void Reset() { stateStack = new StateStack(); stateStack.Push(startState); tokenStack = new TokenStack(); lookahead = null; continueParsing = true; accepted = false; }