ubc.cs.JLog.Builtins
Class jCut
java.lang.Object
ubc.cs.JLog.Foundation.jType
ubc.cs.JLog.Terms.jTerm
ubc.cs.JLog.Terms.iPredicate
ubc.cs.JLog.Terms.jBuiltinPredicate
ubc.cs.JLog.Builtins.jCut
- All Implemented Interfaces:
- iType, iUnifiable, iConsultable, iName, iNameArity, iTerm, iValue
public class jCut
- extends jBuiltinPredicate
| Fields inherited from class ubc.cs.JLog.Foundation.jType |
type |
| 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()
|
| Methods inherited from class ubc.cs.JLog.Terms.jBuiltinPredicate |
compareArguments, copy, duplicate, enumerateVariables, equivalence, equivalenceArguments, isConsultNeeded, registerVariables, toString, unify, unifyArguments |
jCut
public jCut()
getName
public 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.
Copyright © 2011. All Rights Reserved.