use of com.googlecode.prolog_cafe.exceptions.HaltException in project gerrit by GerritCodeReview.
the class PrologShell method run.
@Override
public int run() {
banner();
BufferingPrologControl pcl = new BufferingPrologControl();
pcl.setPrologClassLoader(new PrologClassLoader(getClass().getClassLoader()));
pcl.setEnabled(Prolog.Feature.IO, true);
pcl.setEnabled(Prolog.Feature.STATISTICS, true);
pcl.configureUserIO(System.in, System.out, System.err);
pcl.initialize(Prolog.BUILTIN);
for (String file : fileName) {
String path;
try {
path = new File(file).getCanonicalPath();
} catch (IOException e) {
path = new File(file).getAbsolutePath();
}
pcl.execute(Prolog.BUILTIN, "consult", SymbolTerm.create(path));
System.err.println();
System.err.flush();
}
try {
pcl.execute(Prolog.BUILTIN, "cafeteria");
write("% halt\n");
return 0;
} catch (HaltException halt) {
write("% halt(" + halt.getStatus() + ")\n");
return halt.getStatus();
}
}
Aggregations