ubc.cs.JLog.Builtins
Class jGetArrayElement
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.Terms.jTrinaryBuiltinPredicate
ubc.cs.JLog.Builtins.jGetArrayElement
- All Implemented Interfaces:
- iType, iUnifiable, iConsultable, iName, iNameArity, iTerm, iValue
public class jGetArrayElement
- extends jTrinaryBuiltinPredicate
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 |
Methods inherited from class ubc.cs.JLog.Terms.jTrinaryBuiltinPredicate |
compareArguments, consult, consultReset, copy, duplicate, enumerateVariables, equivalenceArguments, getArguments, getArity, getTerm1, getTerm2, getTerm3, isConsultNeeded, prove, registerUnboundVariables, registerVariables, toString, unifyArguments |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
jGetArrayElement
public jGetArrayElement(jTerm t1,
jTerm t2,
jTerm t3)
- Constructor for
jGetArrayElement
.
- Parameters:
t1
- The array term (should be bound to a jCompoundTerm).t2
- The term (should be bound to jInteger) specifying the zero-based element index.t3
- The term representing the element at index t2 in array t1.
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 final boolean prove(jGetArrayElementGoal gaeg)
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 jTrinaryBuiltinPredicate
- 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 jTrinaryBuiltinPredicate
- 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 jTrinaryBuiltinPredicate duplicate(jTerm t1,
jTerm t2,
jTerm t3)
- Specified by:
duplicate
in class jTrinaryBuiltinPredicate