aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn O. Pearce <sop@google.com>2011-06-03 17:36:08 -0700
committerShawn O. Pearce <sop@google.com>2011-06-03 17:36:08 -0700
commitcb388d4d406f5acb352e6a815af6dbe84b13b1a9 (patch)
tree7ec28e751fd0b4deff5791c98b6cc261d7d7b26a
parent3185b3f001356d18004264409d12ba0c03c19200 (diff)
downloadprolog-cafe-cb388d4d406f5acb352e6a815af6dbe84b13b1a9.tar.gz
Define Prolog.BUILTIN constant for the builtin package
This string is used in a number of places, making it a constant in the Prolog class alongside of Nil simplifies some code.
-rw-r--r--src/builtin/PRED_$call_2.java2
-rw-r--r--src/builtin/PRED_$compiled_predicate_or_builtin_3.java2
-rw-r--r--src/lang/Prolog.java3
-rw-r--r--src/lang/PrologControl.java2
-rw-r--r--src/lang/PrologMain.java4
5 files changed, 8 insertions, 5 deletions
diff --git a/src/builtin/PRED_$call_2.java b/src/builtin/PRED_$call_2.java
index 802d8ab..32d3904 100644
--- a/src/builtin/PRED_$call_2.java
+++ b/src/builtin/PRED_$call_2.java
@@ -48,7 +48,7 @@ class PRED_$call_2 extends Predicate.P2 {
return engine.pcl.predicate(((SymbolTerm)a1).name(), functor, cont, args);
} catch (ExistenceException e) {
try {
- return engine.pcl.predicate("com.googlecode.prolog_cafe.builtin", functor, cont, args);
+ return engine.pcl.predicate(Prolog.BUILTIN, functor, cont, args);
} catch (ExistenceException e2) {
if ((engine.getUnknown()).equals("fail"))
return engine.fail();
diff --git a/src/builtin/PRED_$compiled_predicate_or_builtin_3.java b/src/builtin/PRED_$compiled_predicate_or_builtin_3.java
index 21aad62..d220849 100644
--- a/src/builtin/PRED_$compiled_predicate_or_builtin_3.java
+++ b/src/builtin/PRED_$compiled_predicate_or_builtin_3.java
@@ -20,7 +20,7 @@ public final class PRED_$compiled_predicate_or_builtin_3 extends Predicate.P3 {
Term a2 = arg2.dereference();
Term a3 = arg3.dereference();
if(! engine.pcl.definedPredicate(((SymbolTerm)a1).name(), ((SymbolTerm)a2).name(), ((IntegerTerm)a3).intValue())
- && ! engine.pcl.definedPredicate("com.googlecode.prolog_cafe.builtin", ((SymbolTerm)a2).name(), ((IntegerTerm)a3).intValue()))
+ && ! engine.pcl.definedPredicate(Prolog.BUILTIN, ((SymbolTerm)a2).name(), ((IntegerTerm)a3).intValue()))
return engine.fail();
return cont;
}
diff --git a/src/lang/Prolog.java b/src/lang/Prolog.java
index 0c3e029..638703d 100644
--- a/src/lang/Prolog.java
+++ b/src/lang/Prolog.java
@@ -92,6 +92,9 @@ public final class Prolog {
/** Hashtable for managing internal databases. */
protected HashtableOfTerm hashManager;
+ /** Name of the builtin package. */
+ public static final String BUILTIN = "com.googlecode.prolog_cafe.builtin";
+
/** Holds an atom <code>[]<code> (empty list). */
public static final SymbolTerm Nil = SymbolTerm.makeSymbol("[]");
diff --git a/src/lang/PrologControl.java b/src/lang/PrologControl.java
index cf7869b..91b1834 100644
--- a/src/lang/PrologControl.java
+++ b/src/lang/PrologControl.java
@@ -84,7 +84,7 @@ public abstract class PrologControl {
* is set to the <code>cont</code> field of <code>call(t)</code> as continuation.
*/
public void setPredicate(Term t) {
- setPredicate("com.googlecode.prolog_cafe.builtin", "call", t);
+ setPredicate(Prolog.BUILTIN, "call", t);
}
/**
diff --git a/src/lang/PrologMain.java b/src/lang/PrologMain.java
index a791965..bb0229d 100644
--- a/src/lang/PrologMain.java
+++ b/src/lang/PrologMain.java
@@ -41,14 +41,14 @@ public class PrologMain {
}
Term arg1 = Prolog.Nil;
arg1 = new ListTerm(SymbolTerm.makeSymbol("user"), arg1);
- arg1 = new ListTerm(SymbolTerm.makeSymbol("com.googlecode.prolog_cafe.builtin"), arg1);
+ arg1 = new ListTerm(SymbolTerm.makeSymbol(Prolog.BUILTIN), arg1);
Term arg2 = parseAtomicGoal(argv[0]);
if (arg2 == null) {
usage();
System.exit(1);
}
p = new BlockingPrologControl();
- p.setPredicate("com.googlecode.prolog_cafe.builtin", "initialization", arg1, arg2);
+ p.setPredicate(Prolog.BUILTIN, "initialization", arg1, arg2);
for (boolean r = p.call(); r; r = p.redo()) {}
System.exit(0);
} catch (Exception e){