forge.transform
Interface Transformer

All Known Implementing Classes:
AbstractTransformer, BatchTransformer, InlineTransformer, UnrollTransformer

public interface Transformer

Transforms a cfg, either in place, or by creating a new cfg. - no two source stmts map to the same target - source update statements map only to update statements - only blocks of statements may not be transformed

Author:
Greg Dennis (gdennis@mit.edu)

Field Summary
static Transformer IDENTITY
          The identity transformer.
 
Method Summary
 CFGStmt sourceStmt(CFGStmt targetStmt)
          Returns the source update from which the given target was transformed.
 ForgeCFG transform(ForgeCFG source)
          Performs the transformation and returns the transformed procedure.
 

Field Detail

IDENTITY

static final Transformer IDENTITY
The identity transformer.

Method Detail

transform

ForgeCFG transform(ForgeCFG source)
Performs the transformation and returns the transformed procedure. The returned procedure may be == to the give procedure.


sourceStmt

CFGStmt sourceStmt(CFGStmt targetStmt)
Returns the source update from which the given target was transformed.