Main Page   Packages   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

TransSequence Class Reference

List of all members.

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

Detailed Description

A simple linked list representing a sequence of Transformations.

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.


Member Function Documentation

ActionVector TransSequence::actions   [inline]
 

Actions of sequence.

Definition at line 76 of file TransSequence.java.

TransSequence TransSequence::add Transformation   newTrans [inline]
 

Add transformation to end of sequence.

Definition at line 91 of file TransSequence.java.

Referenced by Reducer::reduce().

boolean TransSequence::containsLoc Location   loc [inline]
 

Does sequence contain location?

Definition at line 101 of file TransSequence.java.

Referenced by Reducer::reduce().

Location TransSequence::fromLoc   [inline]
 

From location of sequence.

Definition at line 113 of file TransSequence.java.

Expr TransSequence::guard   [inline]
 

Guard of sequence (must be computed from variable bindings).

Definition at line 122 of file TransSequence.java.

int TransSequence::size   [inline]
 

Number of transformations in sequence

Definition at line 143 of file TransSequence.java.

Location TransSequence::toLoc   [inline]
 

To location of sequence.

Definition at line 153 of file TransSequence.java.


Member Data Documentation

BindingSubstituter TransSequence::substituter [static, private]
 

Initial value:

 
    new BindingSubstituter(variableBindings)

Definition at line 69 of file TransSequence.java.


The documentation for this class was generated from the following file:
Generated at Thu Feb 7 07:22:33 2002 for Bandera by doxygen1.2.10 written by Dimitri van Heesch, © 1997-2001