public override string Run(string input) { DFAMachineBroker broker = new DFAMachineBroker(this); broker.InitializeMachine(); return(broker.Run(input)); }
private void StartMachineButton_Click(object sender, RoutedEventArgs e) { string input = InputTextBox.Text; if (InputTextBox.Text == "") { MessageBox.Show("No input is given to the machine.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } DFAMachineBroker broker = new DFAMachineBroker(ContainingMachine); try { broker.InitializeMachine(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } Vertex TempVertex = null; for (int i = 0; i < input.Length; i++) { try { TempVertex = broker.Step(input[i], TempVertex); if (TempVertex == null) { SetNotificationText("Cursor stopped on condition " + input[i]); return; } input = TempVertex.RunVertex(input); SetNotificationText("Cursor Went to " + TempVertex.Name); } catch (Exception ex) { SetNotificationText("Error: " + ex.Message); return; } } if (!TempVertex.IsFinishState) { SetNotificationText("INPUT NOT ACCEPTED"); } else { SetNotificationText("INPUT ACCEPTED"); } }