private void btnOk_Click(object sender, EventArgs e) { String inputString = inputTextBox.Text; try { Term goal = new Struct("dExpr", Term.createTerm(inputString), new Var("Der")); SolveInfo answer = engine.solve(goal); if (answer.isSuccess()) { Term derivata = answer.getTerm("Der"); lblRes.Text = derivata.toString(); } else { lblRes.Text = "Error: no solution"; } } catch (InvalidTermException e3) { Console.WriteLine("The esxpression is not a valid Prolog Term."); } catch (UnknownVarException e4) { Console.WriteLine("Variable not valid."); } catch (NoSolutionException e5) { Console.WriteLine("No solutions."); } }
private void InputButton_Click(object sender, EventArgs e) { OutputTextBox.Clear(); try { if (prolog == null) { labelError.Text = "Please Select Theory"; return; } if (prolog is Perm) { Term goal = new Struct("perm", Term.createTerm(InputTextBox.Text), new Var("R")); SolveInfo SI = prolog.solve(goal); if (!SI.isSuccess()) { OutputTextBox.AppendText("no"); } while (SI.isSuccess()) { OutputTextBox.AppendText(SI.getTerm("R").toString() + "\n"); if (prolog.hasOpenAlternatives()) { SI = prolog.solveNext(); } else { break; } } } else if (prolog is PrologDerivate) { Term goal = new Struct("dExpr", Term.createTerm(InputTextBox.Text), new Var("DT")); SolveInfo SI = prolog.solve(goal); if (!SI.isSuccess()) { OutputTextBox.AppendText("no"); } else { OutputTextBox.AppendText(SI.getTerm("DT").toString() + "\n"); } } } catch (MalformedGoalException ex) { OutputTextBox.AppendText("Malformed Goal\n"); } }