ubc.cs.JLog.Builtins
Class jSort

java.lang.Object
  extended by ubc.cs.JLog.Foundation.jType
      extended by ubc.cs.JLog.Terms.jTerm
          extended by ubc.cs.JLog.Terms.iPredicate
              extended by ubc.cs.JLog.Terms.jBuiltinPredicate
                  extended by ubc.cs.JLog.Terms.jBinaryBuiltinPredicate
                      extended by ubc.cs.JLog.Builtins.jSort
All Implemented Interfaces:
iType, iUnifiable, iConsultable, iName, iNameArity, iTerm, iValue
Direct Known Subclasses:
jKeysort

public class jSort
extends jBinaryBuiltinPredicate


Field Summary
protected  boolean var_equal
           
 
Fields inherited from class ubc.cs.JLog.Terms.jBinaryBuiltinPredicate
lhs, rhs
 
Fields inherited from class ubc.cs.JLog.Foundation.jType
type
 
Fields inherited from interface ubc.cs.JLog.Terms.iTerm
EQUAL, GREATER_THAN, LESS_THAN
 
Fields inherited from interface ubc.cs.JLog.Foundation.iType
TYPE_ARITHMETIC, TYPE_ATOM, TYPE_BUILTINPREDICATE, TYPE_COMMAND, TYPE_COMPARE, TYPE_COMPOUND, TYPE_CONS, TYPE_IF, TYPE_INTEGER, TYPE_LIST, TYPE_NULLLIST, TYPE_NUMERICCOMPARE, TYPE_OBJECT, TYPE_OPERATOR, TYPE_OR, TYPE_ORPREDICATE, TYPE_PREDICATE, TYPE_PREDICATETERMS, TYPE_REAL, TYPE_TYPE, TYPE_UNARYARITHMETIC, TYPE_UNARYOPERATOR, TYPE_UNDEFINED, TYPE_VARIABLE
 
Constructor Summary
jSort(jTerm l, jTerm r)
           
jSort(jTerm l, jTerm r, boolean ve)
           
 
Method Summary
 void addGoals(jGoal g, iGoalStack goals)
          Adds goal to prove this predicate onto goal stack.
 void addGoals(jGoal g, jVariable[] vars, iGoalStack goals)
          Adds goal to prove this predicate onto goal stack.
 jBinaryBuiltinPredicate duplicate(jTerm l, jTerm r)
           
 java.lang.String getName()
          Returns the name of this instance.
 boolean prove(jSortGoal sg)
           
protected  int sort_compare(jTerm l, jTerm r, boolean ve)
           
protected  void sort_insert(jTerm t, java.util.Vector v, boolean ve)
           
protected  jList sort_makelist(java.util.Vector dest)
           
protected  jList sort(jTerm src, boolean ve)
           
 
Methods inherited from class ubc.cs.JLog.Terms.jBinaryBuiltinPredicate
compareArguments, consult, consultReset, copy, duplicate, enumerateVariables, equivalenceArguments, getArguments, getArity, getLHS, getRHS, isConsultNeeded, prove, registerUnboundVariables, registerVariables, toString, unifyArguments
 
Methods inherited from class ubc.cs.JLog.Terms.jBuiltinPredicate
equivalence, unify
 
Methods inherited from class ubc.cs.JLog.Terms.iPredicate
compare
 
Methods inherited from class ubc.cs.JLog.Terms.jTerm
compare, copy, getTerm, getValue, requiresCompleteVariableState, toString
 
Methods inherited from class ubc.cs.JLog.Foundation.jType
getType, objectToString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

var_equal

protected boolean var_equal
Constructor Detail

jSort

public jSort(jTerm l,
             jTerm r)

jSort

public jSort(jTerm l,
             jTerm r,
             boolean ve)
Method Detail

getName

public java.lang.String getName()
Description copied from interface: iName
Returns the name of this instance.

Specified by:
getName in interface iName
Specified by:
getName in interface iTerm
Overrides:
getName in class jTerm
Returns:
String containing name of this instance.

prove

public boolean prove(jSortGoal sg)

sort

protected jList sort(jTerm src,
                     boolean ve)

sort_makelist

protected jList sort_makelist(java.util.Vector dest)

sort_compare

protected int sort_compare(jTerm l,
                           jTerm r,
                           boolean ve)

sort_insert

protected void sort_insert(jTerm t,
                           java.util.Vector v,
                           boolean ve)

addGoals

public void addGoals(jGoal g,
                     jVariable[] vars,
                     iGoalStack goals)
Description copied from class: iPredicate
Adds goal to prove this predicate onto goal stack. This version is called when the original predicate must duplicate itself (or its arguments). Add goals in the reverse order you want them evaluated.

Overrides:
addGoals in class jBinaryBuiltinPredicate
Parameters:
g - The super-goal jGoal for the sub-goal that this function will add.
vars - The vector of duplicate variables produced from the previous call to registerVariables. Needed for call to duplicate.
goals - The iGoalStack to add the goal to.

addGoals

public void addGoals(jGoal g,
                     iGoalStack goals)
Description copied from class: iPredicate
Adds goal to prove this predicate onto goal stack. This version is called when the original predicate is already duplicated (usually as part of an argument for another predicate). Add goals in the reverse order you want them evaluated.

Overrides:
addGoals in class jBinaryBuiltinPredicate
Parameters:
g - The super-goal jGoal for the sub-goal that this function will add.
goals - The iGoalStack to add the goal to.

duplicate

public jBinaryBuiltinPredicate duplicate(jTerm l,
                                         jTerm r)
Specified by:
duplicate in class jBinaryBuiltinPredicate