Esempio n. 1
0
 public override IReadOnlyCollection <IState> InnerEpsilonTransitions(StateWithBit state)
 {
     if (state.FromRight)
     {
         if (this.Right.IsAccepting(state.InternalState))
         {
             return(new List <IState>()
             {
                 this.Accept
             });
         }
         else
         {
             return(this.Right.EpsilonTransitions(state.InternalState).Select(GetStateWrapper(true)).ToList());
         }
     }
     else
     {
         if (this.Left.IsAccepting(state.InternalState))
         {
             return(new List <IState>()
             {
                 this.Accept
             });
         }
         else
         {
             return(this.Left.EpsilonTransitions(state.InternalState).Select(GetStateWrapper(false)).ToList());
         }
     }
 }
Esempio n. 2
0
 public override IReadOnlyCollection <IState> InnerEpsilonTransitions(StateWithBit state)
 {
     if (this.Inner.IsAccepting(state.InternalState))
     {
         return(new List <IState>()
         {
             this.Accept, new StateWithBit(false, this.Inner.StartingState())
         });
     }
     else
     {
         return(this.Inner.EpsilonTransitions(state.InternalState).Select(GetStateWrapper(false)).ToList());
     }
 }
Esempio n. 3
0
 public virtual IReadOnlyDictionary <Symbol, IReadOnlyCollection <IState> > InnerTransitions(StateWithBit state)
 {
     return(new Dictionary <Symbol, IReadOnlyCollection <IState> >());
 }
Esempio n. 4
0
            public override IReadOnlyDictionary <Symbol, IReadOnlyCollection <IState> > InnerTransitions(StateWithBit state)
            {
                var transitions = state.FromRight ? this.Right.Transitions(state.InternalState) : this.Left.Transitions(state.InternalState);

                return(MapDictionary(transitions, GetStateWrapper(state.FromRight)));
            }
Esempio n. 5
0
 public override IReadOnlyDictionary <Symbol, IReadOnlyCollection <IState> > InnerTransitions(StateWithBit state)
 {
     return(MapDictionary(this.Inner.Transitions(state.InternalState), GetStateWrapper(false)));
 }
Esempio n. 6
0
 public virtual IReadOnlyCollection <IState> InnerEpsilonTransitions(StateWithBit state)
 {
     return(new List <IState>());
 }