uk.ac.man.cs.rainbow.rapa
Class RegDef

java.lang.Object
  |
  +--uk.ac.man.cs.rainbow.rapa.ProcessTerm
        |
        +--uk.ac.man.cs.rainbow.rapa.RegDef
All Implemented Interfaces:
Serializable

public class RegDef
extends ProcessTerm

RAPA register binding construct. The given register is only valid for use within the contained process term.

See Also:
Assign, Serialized Form

Constructor Summary
RegDef(Register reg, Type type, ProcessTerm proc)
           
 
Method Summary
 boolean equals(Object o)
           
protected  GINRet getGCL(ProgramCounterFactory factory, int i, int n, int t, Value[] c)
          Get a (g,i,n) triple representing the GCL rules for this process term.
 ProcessTerm getProc()
           
 Register getReg()
           
protected  ProcessTerm getSequenceHead()
          Get the process term at the head of the sequence.
 Type getType()
           
 ProcessTerm subst(GeneralSubstitution s)
          Apply a substitution to all arguments in the process term.
 ProcessTerm subst(Substitution s)
          Apply a substitution to all expressions in the process term.
 String toString()
           
 
Methods inherited from class uk.ac.man.cs.rainbow.rapa.ProcessTerm
getGCL, getGCL
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RegDef

public RegDef(Register reg,
              Type type,
              ProcessTerm proc)
Method Detail

getReg

public Register getReg()

getType

public Type getType()

getProc

public ProcessTerm getProc()

toString

public String toString()
Overrides:
toString in class ProcessTerm

equals

public boolean equals(Object o)
Overrides:
equals in class ProcessTerm

subst

public ProcessTerm subst(Substitution s)
Description copied from class: ProcessTerm
Apply a substitution to all expressions in the process term.
Overrides:
subst in class ProcessTerm

subst

public ProcessTerm subst(GeneralSubstitution s)
Description copied from class: ProcessTerm
Apply a substitution to all arguments in the process term.
Overrides:
subst in class ProcessTerm
Following copied from class: uk.ac.man.cs.rainbow.rapa.ProcessTerm
See Also:
Argument

getSequenceHead

protected ProcessTerm getSequenceHead()
Description copied from class: ProcessTerm
Get the process term at the head of the sequence. Note that it is necessary to recurse inside only some process terms to get this information. It all depends on exactly what sort of GCL rules are produced by the term itself...
Overrides:
getSequenceHead in class ProcessTerm

getGCL

protected GINRet getGCL(ProgramCounterFactory factory,
                        int i,
                        int n,
                        int t,
                        Value[] c)
Description copied from class: ProcessTerm
Get a (g,i,n) triple representing the GCL rules for this process term.
Overrides:
getGCL in class ProcessTerm
Following copied from class: uk.ac.man.cs.rainbow.rapa.ProcessTerm
Parameters:
factory - Generator for new program counters.
i - Current thread number.
n - Current PC value.
t - Terminating PC value (-1 for sequence and loop stitching, 0 for thread-end.)
c - Superthread context vector.