!752 !1002813 // gnu prolog import gnu.prolog.vm.*; import gnu.prolog.term.*; import gnu.prolog.database.*; static int query(Interpreter intp, Term term) ctex { try { Interpreter.Goal goal = intp.prepareGoal(term); ret intp.execute(goal); // todo: stop goal? } catch (Exception e) { print("fail " + e); ret 0; } } p { new Environment env; S streamName = "someinput"; Reader reader = new StringReader("here."); new PrologTextLoader(env.getPrologTextLoaderState(), reader, streamName); List errors = env.getLoadingErrors(); for (PrologTextLoaderError error : errors) { printStackTrace(error); } Interpreter interpreter = env.createInterpreter(); env.runInitialization(interpreter); //print(interpreter.runOnce(AtomTerm.get("here"))); //print(interpreter.runOnce(AtomTerm.get("there"))); print(query(interpreter, AtomTerm.get("true"))); print(query(interpreter, AtomTerm.get("there"))); print(query(interpreter, AtomTerm.get("here"))); }