envgen.codegen
Class REDriverGenerator

java.lang.Object
  |
  +--envgen.codegen.AbstractDriverGenerator
        |
        +--envgen.codegen.JavaDriverGenerator
              |
              +--envgen.codegen.REDriverGenerator
All Implemented Interfaces:
ICodeGenerator

public class REDriverGenerator
extends JavaDriverGenerator

Generates drivers based on user-supplied regular expression assumptions.


Field Summary
(package private)  int debug
          Set to print debugging messages.
 
Fields inherited from class envgen.codegen.JavaDriverGenerator
atomicStepsMode, defaultInstantiations, defaultPropositions
 
Fields inherited from class envgen.codegen.AbstractDriverGenerator
envTable, unitInterface, unitTable, userSpec
 
Constructor Summary
REDriverGenerator(java.util.HashMap unitTable, java.util.HashMap envTable, UnitInterface unitInterface)
           
 
Method Summary
 soot.Body createSynthesizedRunMethod(RENode formula)
           
 void genMainFromSpec(soot.util.Chain mainUnits)
           
protected  soot.SootClass genThread(RENode formula, java.lang.String threadName)
          Constructs a soot class that represents a thread synthesized from a regular expression specification.
 void genThreads()
          Reads thread specifications one by one and synthesizes threads from them.
protected  JavaStmt getRegStmt(RENode formula, soot.util.Chain units, int c1, int c2)
          Creates a run method for a synthesized thread given a regular expression specification.
 
Methods inherited from class envgen.codegen.JavaDriverGenerator
genAssignmentStmt, genAtomicPropStmt, genMainRunBody, genMainThread, genMethodStmt, genPropositionStmt, genThreadBasics, genThreadConstructorBody, genTryCatchStmt
 
Methods inherited from class envgen.codegen.AbstractDriverGenerator
genCode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

debug

int debug
Set to print debugging messages.

Constructor Detail

REDriverGenerator

public REDriverGenerator(java.util.HashMap unitTable,
                         java.util.HashMap envTable,
                         UnitInterface unitInterface)
Method Detail

genThreads

public void genThreads()
Reads thread specifications one by one and synthesizes threads from them.

Specified by:
genThreads in class AbstractDriverGenerator

genThread

protected soot.SootClass genThread(RENode formula,
                                   java.lang.String threadName)
Constructs a soot class that represents a thread synthesized from a regular expression specification.


genMainFromSpec

public void genMainFromSpec(soot.util.Chain mainUnits)
Specified by:
genMainFromSpec in class JavaDriverGenerator

createSynthesizedRunMethod

public soot.Body createSynthesizedRunMethod(RENode formula)

getRegStmt

protected JavaStmt getRegStmt(RENode formula,
                              soot.util.Chain units,
                              int c1,
                              int c2)
Creates a run method for a synthesized thread given a regular expression specification.