Public Methods | |
ActionVector | actions () |
TransSequence | add (Transformation newTrans) |
boolean | containsLoc (Location loc) |
boolean | empty () |
Location | fromLoc () |
Expr | guard () |
int | size () |
Location | toLoc () |
Private Methods | |
void | updateBindings (Transformation trans) |
Private Attributes | |
Transformation | trans |
TransSequence | next |
Static Private Attributes | |
Hashtable | variableBindings = new Hashtable() |
BindingSubstituter | substituter |
Note: there is always a dummy cell on the end of the list (thus the expression 'new TransSequence()' represents an empty sequence).
This class was designed to handle collapsing sequences of nontrivial transformations with guards, so it can record the values of variables that appear in guards and update them in the guard expression. For example, collapsing:
when true do { x := x + 1; } when x > 10 do { y := y * 2; } when x > y do { z := 1; }would have to produce:
when x + 1 > 10 and x + 1 > y * 2 do { x := x + 1; y := y * 2; z := 1; }Now that nontrivial transitions are no longer collapsed, this functionality is unused.
Definition at line 63 of file TransSequence.java.
|
Actions of sequence. Definition at line 76 of file TransSequence.java. |
|
Add transformation to end of sequence. Definition at line 91 of file TransSequence.java. Referenced by Reducer::reduce().
|
|
Does sequence contain location? Definition at line 101 of file TransSequence.java. Referenced by Reducer::reduce().
|
|
From location of sequence. Definition at line 113 of file TransSequence.java. |
|
Guard of sequence (must be computed from variable bindings). Definition at line 122 of file TransSequence.java. |
|
Number of transformations in sequence Definition at line 143 of file TransSequence.java. |
|
To location of sequence. Definition at line 153 of file TransSequence.java. |
|
Initial value: new BindingSubstituter(variableBindings) Definition at line 69 of file TransSequence.java. |