Exemple #1
0
 public StateMachine(DeltaFunction <S, A> deltaFunction, IEnumerable <S> startStates)
 {
     this.deltaFunction            = deltaFunction;
     this.startStates              = startStates;
     cursors                       = new LinkedList <S>(startStates);
     retainCursorOnDeadTransitions = false;
 }
 public EventStateMachine(DeltaFunction <S, A> deltaFunction, ICollection <S> startStates) : base(deltaFunction, startStates)
 {
     stateActions             = new StateDictionary <S, ActionInfo>(deltaFunction.States);
     transitionActions        = new TransitionDictionary <S, A, ActionInfo>(deltaFunction.States, deltaFunction.Alphabet);
     invokeEnterActionsOnJump = true;
     invokeExitActionsOnJump  = true;
 }
Exemple #3
0
 public StateMachine(DeltaFunction <S, A> deltaFunction, params S[] startStates) : this(deltaFunction, (IEnumerable <S>)startStates)
 {
 }
 public EventStateMachine(DeltaFunction <S, A> deltaFunction, params S[] startStates) : this(deltaFunction, (ICollection <S>)startStates)
 {
 }
 public static void Add <S, A>(this DeltaFunction <S, A> deltaFunction, ValueTuple <S, A, S> tuple)
 {
     deltaFunction.Define(tuple.Item1, tuple.Item2, tuple.Item3);
 }