com.veromodo.tempo.filters
Interface Stage

All Superinterfaces:
java.lang.Comparable<Stage>, Connectable
All Known Implementing Classes:
BasicStage, OutputStage

public interface Stage
extends Connectable, java.lang.Comparable<Stage>

Represents a Connectable module that is not a filter. Stages of the Tempo front-end include the semantic analysis, the simulator, the PVS translator, the model checker and the LaTeX translator. A stage has a rank to indicate when it will execute within the pipeline. A Stage can also define a set of semantic rules to alter the behavior of the semantic analysis and filter/eliminate constructions that do not meet the restriction of the stage.


Method Summary
 int getRank()
           
 SemanticRules getSemanticChecks()
          Retrieves the set of semantic rules that must be applied to the AST.
 java.util.Collection<java.lang.String> getUsage()
          Produces a vector of strings that ought to be added to the default usage string.
 
Methods inherited from interface com.veromodo.tempo.filters.Connectable
setInput, setOutput, transfer
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Method Detail

getRank

int getRank()
Returns:
the rank of the stage. The stages are connected according to their rank Stage with rank 0 is first, 1 is next, etc. TODO: what about conflicts?

getSemanticChecks

SemanticRules getSemanticChecks()
Retrieves the set of semantic rules that must be applied to the AST. Failure to satisfy any rule in the set leads to the rejection of the AST.

Returns:
a set of semantic rules

getUsage

java.util.Collection<java.lang.String> getUsage()
Produces a vector of strings that ought to be added to the default usage string. With this method, a plugin can indicate to the user which additional options the front-end can respond to.