internal virtual ENFA_Transition NewGrammarTransition(GrammarTransitionType transitionType, ENFA_Base nextState) { if (Controller.ParserType == ParserType.Regex) { throw new ENFA_RegexBuild_Exception(ErrorText.TryingToCreateNewGrammarTransitionInRegex); } foreach (ENFA_Transition transition in GetTransitions) { ENFA_Base state = transition.Transition(); if ((transition as ENFA_Grammar_Transition).TransitionType == transitionType && state.Equals(nextState)) { return(transition); } } return((Controller.Factory as ENFA_Grammar_Factory).CreateGrammarTransition(transitionType, nextState)); }
public ENFA_Grammar_Transition(GrammarTransitionType transitionType, ENFA_Base nextState) : base(nextState) { _transitionType = transitionType; }
public ENFA_Grammar_Transition CreateGrammarTransition(GrammarTransitionType transitionType, ENFA_Base nextState) { return(new ENFA_Grammar_Transition(transitionType, nextState)); }