ubc.cs.JLog.Builtins
Class jCut

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.Builtins.jCut
All Implemented Interfaces:
iType, iUnifiable, iConsultable, iName, iNameArity, iTerm, iValue

public class jCut
extends jBuiltinPredicate


Field Summary
 
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
jCut()
           
 
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.
 int getArity()
          Returns the arity of this instance.
 java.lang.String getName()
          Returns the name of this instance.
 boolean requiresCompleteVariableState()
          Call to determine if enclosing rule should record all variable states.
 
Methods inherited from class ubc.cs.JLog.Terms.jBuiltinPredicate
compareArguments, copy, duplicate, enumerateVariables, equivalence, equivalenceArguments, isConsultNeeded, registerVariables, toString, unify, unifyArguments
 
Methods inherited from class ubc.cs.JLog.Terms.iPredicate
compare, getArguments
 
Methods inherited from class ubc.cs.JLog.Terms.jTerm
compare, consult, consultReset, copy, getTerm, getValue, registerUnboundVariables, 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
 

Constructor Detail

jCut

public jCut()
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.

getArity

public int getArity()
Description copied from interface: iNameArity
Returns the arity of this instance.

Specified by:
getArity in interface iNameArity
Overrides:
getArity in class jBuiltinPredicate
Returns:
int whose value is the arity of this instance.

requiresCompleteVariableState

public boolean requiresCompleteVariableState()
Description copied from class: jTerm
Call to determine if enclosing rule should record all variable states. A rules goal only tracks variables which were unified, and relies on stack unwinding to unbind all variables. Terms such as cut, which jump back to the containing rules goal require that all variables are restored.

Specified by:
requiresCompleteVariableState in interface iTerm
Overrides:
requiresCompleteVariableState in class jTerm
Returns:
true if all variable bindings must be recorded by the rule containing this term. false otherwise. Normally returns false

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.

Specified by:
addGoals in class iPredicate
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.

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