|
From: | Suman Roy |
Subject: | [Info-gnuprologjava] FW: Errors encountered while executing query with " runOnce " , " prepareGoal " functionalities . |
Date: | Mon, 4 Jun 2012 18:32:06 +0530 |
Hi, Here are the codes with the execution results, both for runOnce and prepareGoal etc … Regards, --Suman Suman Roy, Ph.D. Infosys Technologies Ltd., Bangalore, India. Mob. +91 98860 23203 For runOnce : package usecase_editr; import gnu.prolog.term.AtomTerm; import gnu.prolog.term.CompoundTerm; import gnu.prolog.term.CompoundTermTag; import gnu.prolog.term.IntegerTerm; import gnu.prolog.term.Term; import gnu.prolog.term.VariableTerm; import gnu.prolog.vm.Environment; import gnu.prolog.vm.Interpreter; import gnu.prolog.vm.Interpreter.Goal; import gnu.prolog.vm.PrologCode; import gnu.prolog.vm.PrologException; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane; public class fresh_07 { public static void main (String []args) throws PrologException{ gnu.prolog.vm.Environment gve = new Environment(); gve.ensureLoaded(AtomTerm.get("D:/jagadish java/usecase_editr/src/usecase_editr/latest-rule_11")); Interpreter in = gve.createInterpreter(); gve.runInitialization(in); VariableTerm vt= new VariableTerm(); int val= 5; IntegerTerm iterm=new IntegerTerm(val); Term t1[]={vt,iterm}; Term t2[]={AtomTerm.get("receiveFreightInvoice1")}; CompoundTerm ct1=new CompoundTerm("limited_history",t1); CompoundTerm ct2=new CompoundTerm("end",t2); VariableTerm dcare= new VariableTerm(); CompoundTerm ct3=new CompoundTerm(CompoundTermTag.get("c",3),ct2,dcare,vt); int chk =in.runOnce(ct3); if (chk == PrologCode.SUCCESS || chk == PrologCode.SUCCESS_LAST) { System.out.println("Succesful execution "); } else { System.out.println("Failed execution "); } } } Error : run: Exception in thread "main" java.lang.IllegalArgumentException: The goal is not currently active at gnu.prolog.vm.Interpreter.stop(Interpreter.java:564) at gnu.prolog.vm.Interpreter.runOnce(Interpreter.java:629) at usecase_editr.fresh_07.main(fresh_07.java:61) Java Result: 1 BUILD SUCCESSFUL (total time: 1 second) For Prepare goal : import gnu.prolog.term.AtomTerm; import gnu.prolog.term.CompoundTerm; import gnu.prolog.term.CompoundTermTag; import gnu.prolog.term.IntegerTerm; import gnu.prolog.term.Term; import gnu.prolog.term.VariableTerm; import gnu.prolog.vm.Environment; import gnu.prolog.vm.Interpreter; import gnu.prolog.vm.Interpreter.Goal; import gnu.prolog.vm.PrologCode; import gnu.prolog.vm.PrologException; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane; public class fresh_07 { public static void main (String []args) throws PrologException{ gnu.prolog.vm.Environment gve = new Environment(); gve.ensureLoaded(AtomTerm.get("D:/jagadish java/usecase_editr/src/usecase_editr/latest-rule_11")); Interpreter in = gve.createInterpreter(); gve.runInitialization(in); VariableTerm vt= new VariableTerm(); int val= 5; IntegerTerm iterm=new IntegerTerm(val); Term t1[]={vt,iterm}; Term t2[]={AtomTerm.get("receiveFreightInvoice1")}; CompoundTerm ct1=new CompoundTerm("limited_history",t1); CompoundTerm ct2=new CompoundTerm("end",t2); VariableTerm dcare= new VariableTerm(); CompoundTerm ct3=new CompoundTerm(CompoundTermTag.get("happens3",3),ct2,dcare,vt); Goal prepareGoal1 = in.prepareGoal(ct3); int chk =in.execute(prepareGoal1); if (chk == PrologCode.SUCCESS || chk == PrologCode.SUCCESS_LAST) { System.out.println("Succesful execution "); } else { System.out.println("Failed execution "); } } } Error : Exception in thread "main" gnu.prolog.vm.PrologException: error(instantiation_error,error) at gnu.prolog.vm.PrologException.getError(PrologException.java:129) at gnu.prolog.vm.PrologException.getError(PrologException.java:118) at gnu.prolog.vm.PrologException.instantiationError(PrologException.java:145) at gnu.prolog.vm.Evaluate.evaluate(Evaluate.java:153) at gnu.prolog.vm.Evaluate.evaluate(Evaluate.java:164) at gnu.prolog.vm.buildins.arithmetics.Predicate_is.execute(Predicate_is.java:35) at gnu.prolog.vm.interpreter.InterpretedByteCode.execute(InterpretedByteCode.java:522) at gnu.prolog.vm.interpreter.InterpretedByteCode.execute(InterpretedByteCode.java:522) at gnu.prolog.vm.interpreter.Predicate_call.staticExecute(Predicate_call.java:144) at gnu.prolog.vm.Interpreter.execute(Interpreter.java:507) at fresh_07.main(fresh_07.java:64) Java Result: 1 BUILD SUCCESSFUL (total time: 0 seconds)
|
[Prev in Thread] | Current Thread | [Next in Thread] |