public IAutomaton Next(int i) { var n1 = State1.Next(i); var n2 = State2.Next(i); return(Create(n1, n2)); }
public IAutomaton Next(int i) { var s1 = State1.Next(i); if (State1.Empty) { var s2 = State2.Next(i); return(OrState.Create(s2, SeqState.Create(s1, State2))); } else { return(SeqState.Create(s1, State2)); } }
public IAutomaton Next(int i) => unpacked.Next(i);