#include <systembuilder.h>
Inheritance diagram for UTAP::SystemBuilder:
Public Member Functions | |
SystemBuilder (TimedAutomataSystem *) | |
virtual void | typeArrayOfSize (size_t) |
Called to create an array type. | |
virtual void | typeArrayOfType (size_t) |
Called to create an array type. | |
virtual void | typeStruct (PREFIX, uint32_t fields) |
Used to construct a new struct type, which is then pushed onto the type stack. | |
virtual void | structField (const char *name) |
Used to declare the fields of a structure. | |
virtual void | declTypeDef (const char *name) |
A type definition. | |
virtual void | declVar (const char *name, bool init) |
Declare a new variable of the given name. | |
virtual void | declInitialiserList (uint32_t num) |
virtual void | declFieldInit (const char *name) |
virtual void | declProgress (bool) |
Guard progress measure declaration. | |
virtual void | declParameter (const char *name, bool) |
virtual void | declFuncBegin (const char *name) |
virtual void | declFuncEnd () |
virtual void | procBegin (const char *name) |
virtual void | procEnd () |
virtual void | procState (const char *name, bool hasInvariant) |
Add a state to the current template. | |
virtual void | procStateCommit (const char *name) |
virtual void | procStateUrgent (const char *name) |
virtual void | procStateWinning (const char *name) |
virtual void | procStateLosing (const char *name) |
virtual void | procStateInit (const char *name) |
virtual void | procEdgeBegin (const char *from, const char *to, const bool control) |
virtual void | procEdgeEnd (const char *from, const char *to) |
virtual void | procSelect (const char *id) |
virtual void | procGuard () |
virtual void | procSync (Constants::synchronisation_t type) |
virtual void | procUpdate () |
virtual void | blockBegin () |
virtual void | blockEnd () |
virtual void | emptyStatement () |
virtual void | forBegin () |
virtual void | forEnd () |
virtual void | iterationBegin (const char *name) |
virtual void | iterationEnd (const char *name) |
virtual void | whileBegin () |
virtual void | whileEnd () |
virtual void | doWhileBegin () |
virtual void | doWhileEnd () |
virtual void | ifBegin () |
virtual void | ifElse () |
virtual void | ifEnd (bool) |
virtual void | exprStatement () |
virtual void | returnStatement (bool) |
virtual void | exprCallBegin () |
virtual void | instantiationBegin (const char *, size_t, const char *) |
virtual void | instantiationEnd (const char *, size_t, const char *, size_t) |
virtual void | process (const char *) |
virtual void | done () |
virtual void | beforeUpdate () |
virtual void | afterUpdate () |
virtual void | incProcPriority () |
virtual void | incChanPriority () |
virtual void | chanPriority () |
virtual void | procPriority (const char *) |
virtual void | defaultChanPriority () |
Protected Member Functions | |
declarations_t * | getCurrentDeclarationBlock () |
Protected Attributes | |
int32_t | currentChanPriority |
The current channel priority level. | |
int32_t | currentProcPriority |
The current process priority level. | |
frame_t | params |
The params frame is used temporarily during parameter parsing. | |
function_t * | currentFun |
The function currently being parsed. | |
edge_t * | currentEdge |
The edge under construction. | |
std::vector< BlockStatement * > | blocks |
Stack of nested statement blocks. | |
std::vector< type_t > | fields |
The types of a struct. | |
std::vector< std::string > | labels |
The labels of a struct. |
It avoids as much type checking as possible - type checking should be done with the TypeChecker class. However some checks are more convenient to do in SystemBuilder:
Left hand side expressions are assigned the correct type by SystemBuilder; if not it would be difficult to represent dot-expressions.
SystemBuilder does not
Use TypeChecker for these things.
|
|
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Guard progress measure declaration. Requires two expressions if hasGuard is true, otherwise one. Reimplemented from UTAP::AbstractBuilder. |
|
A type definition. Assign the name to the given type on the type fragment stack. In case of array types, dim constant expressions are expected on and popped from the expression stack. Reimplemented from UTAP::AbstractBuilder. |
|
Declare a new variable of the given name. The type is expected to be on the type stack. If the variable has an initialiser (the init parameter is true), then a constant expression is expected at the top of the expression stack. The expressions will be popped of the stack (the type is left untouched). Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::ExpressionBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
|
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Add a state to the current template. An invariant expression is expected on and popped from the expression stack if hasInvariant is true. Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Used to declare the fields of a structure. The type of the field is expected to be on the type fragment stack. Reimplemented from UTAP::AbstractBuilder. |
|
Called to create an array type. The size of the array was previously pushed as an expression. Reimplemented from UTAP::AbstractBuilder. |
|
Called to create an array type. The size of the array was previously pushed as a type. Reimplemented from UTAP::AbstractBuilder. |
|
Used to construct a new struct type, which is then pushed onto the type stack. The type is based on n fields, which are expected to be on and will be popped off the type stack. Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Reimplemented from UTAP::AbstractBuilder. |
|
Stack of nested statement blocks.
|
|
The current channel priority level.
|
|
The edge under construction.
|
|
The function currently being parsed.
|
|
The current process priority level.
|
|
The types of a struct.
|
|
The labels of a struct.
|
|
The params frame is used temporarily during parameter parsing.
|