private static void Main(string[] args) { //var states = new List<State>(); //var initialState = new State("Q0"); //states.Add(initialState); //states.Add(new State("Q1", true)); //states.Add(new State("Q2", true)); ////var seqma = new[] { '0', '1' }; //var seqma = new List<Alphapits>(); //seqma.Add('0'); //seqma.Add('1'); //var Transitions = new List<TransitionFunction>(); //Transitions.Add(new TransitionFunction(states[0], states[1], seqma[0])); // q0 to q1 via 0 //Transitions.Add(new TransitionFunction(states[0], states[0], seqma[1])); // q0 to q0 via 1 //Transitions.Add(new TransitionFunction(states[1], states[0], seqma[0])); // q1 to q0 via 0 //Transitions.Add(new TransitionFunction(states[1], states[2], seqma[1])); // q1 to q0 via 1 //Transitions.Add(new TransitionFunction(states[2], states[0], seqma[0])); // q1 to q0 via 0 //Transitions.Add(new TransitionFunction(states[2], states[0], seqma[1])); // q1 to q0 via 1 //DFA dfa = new DFA(states, seqma, initialState , states[1], Transitions); //dfa.TestInput("010"); try { var states = new List<State>(){ new State("q0"), new State("q1"),new State("q2") }; var symbols = new List<Alphapits>() { 'a', 'b','c' }; var transitionFunctions = new List<TransitionFunction>() { new TransitionFunction(new State("q0"), new State("q1"), symbols[0]), new TransitionFunction(new State("q1"), new State("q2"), symbols[1]) }; var nfa =new NFA(states, symbols, states[0],states[2],transitionFunctions); nfa.TestInput("ab"); var dfa = nfa.ConvertToDfa(); dfa.TestInput("ab"); // Console.WriteLine(dfa.ToString()); //int a = 0; } catch (Exception e) { Console.WriteLine(e); } Console.ReadKey(); }
private void btn_next_Click(object sender, EventArgs e) { if (tabControl1.SelectedIndex < tabControl1.TabCount) tabControl1.SelectedIndex += 1; if (btn_next.Text == Resources.DoneWord) { try { if (MachineType == machineType.Dfa) Machine = new DFA(States, Seqma, InitialState, FinalStates, Transitions); else Machine = new NFA(States, Seqma, InitialState, FinalStates, Transitions); Close(); } catch (Exception exception) { MessageBox.Show(exception.Message, Resources.ErrorWord, MessageBoxButtons.OK, MessageBoxIcon.Error); Console.WriteLine(exception); } } }