uk.ac.man.cs.rainbow.rapa.data
Class TupleExpression

java.lang.Object
  |
  +--uk.ac.man.cs.rainbow.rapa.data.Expression
        |
        +--uk.ac.man.cs.rainbow.rapa.data.TupleExpression
All Implemented Interfaces:
Argument, Serializable, Value, VariableContainer

public class TupleExpression
extends Expression

See Also:
Serialized Form

Constructor Summary
TupleExpression(Value[] exprs)
           
 
Method Summary
 Value apply(Unifier u)
          Apply a unifier to this value to get a new value.
 boolean equals(Value o)
           
 Type getResultType()
           
 int hashCode()
           
 boolean hasVariable()
           
 boolean occurs(Substitution s, Variable v)
          Check whether the variable occurs in this value under the given substitution.
 Value subst(Substitution s)
          Apply a substitution to this value to get a new value.
 String toString()
           
 Substitution unify(Substitution s, Value ex)
          Get the substitution which unifies this value with the given value, after applying the given substitution.
 
Methods inherited from class uk.ac.man.cs.rainbow.rapa.data.Expression
compatableWith, equals, evaluate, getNodeType, subst
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TupleExpression

public TupleExpression(Value[] exprs)
Method Detail

toString

public String toString()
Overrides:
toString in class Object

apply

public Value apply(Unifier u)
Description copied from interface: Value
Apply a unifier to this value to get a new value.
Overrides:
apply in class Expression

occurs

public boolean occurs(Substitution s,
                      Variable v)
Description copied from interface: Value
Check whether the variable occurs in this value under the given substitution.
Overrides:
occurs in class Expression

unify

public Substitution unify(Substitution s,
                          Value ex)
                   throws NotUnifiable
Description copied from interface: Value
Get the substitution which unifies this value with the given value, after applying the given substitution.
Overrides:
unify in class Expression
Following copied from interface: uk.ac.man.cs.rainbow.rapa.data.Value
Parameters:
subst - The substitution to apply first.
val - The value to unify with this value.
Returns:
The substitution that is the combination of the given substitution and whatever extra substitutions are necessary to unify the two values.
Throws:
NotUnifiable - If the two values cannot be unified.

equals

public boolean equals(Value o)
Overrides:
equals in class Expression

hashCode

public int hashCode()
Overrides:
hashCode in class Object

hasVariable

public boolean hasVariable()

subst

public Value subst(Substitution s)
Description copied from interface: Value
Apply a substitution to this value to get a new value.
Overrides:
subst in class Expression

getResultType

public Type getResultType()
Overrides:
getResultType in class Expression