Exemple #1
0
 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));
 }
Exemple #2
0
 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));
 }