edu.ksu.cis.projects.bogor.ast.transform
Interface ISystemTransformer

All Known Implementing Classes:
BIRUnitSystemTransformer, HighToLowBIRCompiler

public interface ISystemTransformer

Specification for modules to transform the syntax tree. Implementors of this interface will be invoked successively (in the relative order of their listing in the .bogor-conf file) with a fresh pass of well-formedness checking performed after each ISystemTransformer is invoked.

This module is useful for, e.g., expanding safety property specifications in the form of regular expressions into the BIR function finite-state machines necessary to check the specification.

Version:
CVS $Revision: 1.4 $ $Date: 2005/06/09 00:21:50 $
Author:
Matt Hoosier

Method Summary
 ITransformSystemResult transformSystem(System ast, Properties configuration, IBogorConfiguration bc, SymbolTable st, boolean dryRun)
          Destructively update the syntax tree ast.
 

Method Detail

transformSystem

ITransformSystemResult transformSystem(System ast,
                                       Properties configuration,
                                       IBogorConfiguration bc,
                                       SymbolTable st,
                                       boolean dryRun)
Destructively update the syntax tree ast. Also modify the in-memory represention of the Bogor-configuration file (configuration), to remove old config data useful for the system before this transformation, and insert new configuration directives appropriate to the post-state.

Parameters:
ast - the incoming syntax tree. This should be modified in-place.
configuration - the set of Bogor configuration options. These may be used both the retrieve settings necessary for the transformation, or updated to include new data relevant after the transformation.
bc - the Bogor environment. This should only be used for queries. No destructive updates should ever be performed on it.