private void SetFinalStateAndCreateAcceptAction() { //Find final state: find final shift from initial state over grammar root; create accept action in final state on EOF var lastShiftAction = Data.InitialState.Actions[_grammar.Root]; Data.FinalState = lastShiftAction.NewState; Data.FinalState.Actions[_grammar.Eof] = ParserAction.CreateAccept(); }