libutap  0.93
Uppaal Timed Automata Parser
UTAP::SystemBuilder Class Reference

This class constructs a TimedAutomataSystem. More...

#include <systembuilder.h>

Inheritance diagram for UTAP::SystemBuilder:
Collaboration diagram for UTAP::SystemBuilder:

Public Member Functions

 SystemBuilder (TimedAutomataSystem *)
 
void ganttDeclStart (const char *name) override
 
void ganttDeclSelect (const char *id) override
 
void ganttDeclEnd () override
 
void ganttEntryStart () override
 
void ganttEntrySelect (const char *id) override
 
void ganttEntryEnd () override
 
void declProgress (bool) override
 Guard progress measure declaration. More...
 
void procBegin (const char *name, const bool isTA=true, const std::string type="", const std::string mode="") override
 
void procEnd () override
 
void procState (const char *name, bool hasInvariant, bool hasER) override
 Add a state to the current template. More...
 
void procStateCommit (const char *name) override
 
void procStateUrgent (const char *name) override
 
void procStateInit (const char *name) override
 
void procBranchpoint (const char *name) override
 
void procEdgeBegin (const char *from, const char *to, const bool control, const char *actname) override
 
void procEdgeEnd (const char *from=0, const char *to=0) override
 
void procSelect (const char *id) override
 
void procGuard () override
 
void procSync (Constants::synchronisation_t type) override
 
void procUpdate () override
 
void procProb () override
 
void instantiationBegin (const char *, size_t, const char *) override
 
void instantiationEnd (const char *, size_t, const char *, size_t) override
 
void process (const char *) override
 
void processListEnd () override
 
void done () override
 
void beforeUpdate () override
 
void afterUpdate () override
 
void beginChanPriority () override
 
void addChanPriority (char separator) override
 
void defaultChanPriority () override
 
void incProcPriority () override
 
void procPriority (const char *) override
 
void procInstanceLine () override
 Adds an instance line to the current template. More...
 
void instanceName (const char *name, bool templ=true) override
 templ is true if the name of the instance contains parameters like "Train(1)". More...
 
void instanceNameBegin (const char *name) override
 
void instanceNameEnd (const char *name, size_t arguments) override
 
void procMessage (const char *from, const char *to, const int loc, const bool pch) override
 Add a message to the current template. More...
 
void procMessage (Constants::synchronisation_t type) override
 
void procCondition (const std::vector< char *> anchors, const int loc, const bool pch, const bool hot) override
 
void procCondition () override
 
void procLscUpdate (const char *anchor, const int loc, const bool pch) override
 Add an update to the current template. More...
 
void procLscUpdate () override
 
void hasPrechart (const bool pch) override
 
void exprSync (Constants::synchronisation_t type) override
 
void declIO (const char *, int, int) override
 
void declDynamicTemplate (const std::string &) override
 Dynamic. More...
 
void queryBegin () override
 Verification queries. More...
 
void queryFormula (const char *formula, const char *location) override
 
void queryComment (const char *comment) override
 
void queryEnd () override
 
- Public Member Functions inherited from UTAP::StatementBuilder
 StatementBuilder (TimedAutomataSystem *)
 
 ~StatementBuilder ()
 
void typeArrayOfSize (size_t) override
 Called to create an array type. More...
 
void typeArrayOfType (size_t) override
 Called to create an array type. More...
 
void typeStruct (PREFIX, uint32_t fields) override
 Used to construct a new struct type, which is then pushed onto the type stack. More...
 
void structField (const char *name) override
 Used to declare the fields of a structure. More...
 
void declTypeDef (const char *name) override
 A type definition. More...
 
void declVar (const char *name, bool init) override
 Declare a new variable of the given name. More...
 
void declInitialiserList (uint32_t num) override
 
void declFieldInit (const char *name) override
 
void declParameter (const char *name, bool) override
 
void declFuncBegin (const char *name) override
 
void declFuncEnd () override
 
void blockBegin () override
 
void blockEnd () override
 
void emptyStatement () override
 
void forBegin () override
 
void forEnd () override
 
void iterationBegin (const char *name) override
 
void iterationEnd (const char *name) override
 
void whileBegin () override
 
void whileEnd () override
 
void doWhileBegin () override
 
void doWhileEnd () override
 
void ifBegin () override
 
void ifCondition () override
 
void ifThen () override
 
void ifEnd (bool) override
 
void exprStatement () override
 
void returnStatement (bool) override
 
void assertStatement () override
 
void exprCallBegin () override
 
- Public Member Functions inherited from UTAP::ExpressionBuilder
 ExpressionBuilder (TimedAutomataSystem *)
 
ExpressionFragmentsgetExpressions ()
 
void addPosition (uint32_t position, uint32_t offset, uint32_t line, const std::string &path) override
 Add mapping from an absolute position to a relative XML element. More...
 
void handleError (const std::string &) override
 
void handleWarning (const std::string &) override
 
void typeDuplicate () override
 Duplicate type at the top of the type stack. More...
 
void typePop () override
 Pop type at the topof the type stack. More...
 
void typeBool (PREFIX) override
 Called whenever a boolean type is parsed. More...
 
void typeInt (PREFIX) override
 Called whenever an integer type is parsed. More...
 
void typeDouble (PREFIX) override
 Called whenever a double type is parsed. More...
 
void typeBoundedInt (PREFIX) override
 Called whenever an integer type with a range is parsed. More...
 
void typeChannel (PREFIX) override
 Called whenever a channel type is parsed. More...
 
void typeClock (PREFIX) override
 Called whenever a clock type is parsed. More...
 
void typeVoid () override
 Called whenever a void type is parsed. More...
 
void typeScalar (PREFIX) override
 Called whenever a scalar type is parsed. More...
 
void typeName (PREFIX, const char *name) override
 Called when a type name has been parsed. More...
 
bool isType (const char *) override
 Must return true if and only if name is registered in the symbol table as a named type, for instance, "int" or "bool" or a user defined type. More...
 
void exprTrue () override
 
void exprFalse () override
 
void exprDouble (double) override
 
void exprId (const char *varName) override
 
void exprNat (int32_t) override
 
void exprCallEnd (uint32_t n) override
 
void exprArray () override
 
void exprPostIncrement () override
 
void exprPreIncrement () override
 
void exprPostDecrement () override
 
void exprPreDecrement () override
 
void exprAssignment (Constants::kind_t op) override
 
void exprUnary (Constants::kind_t unaryop) override
 
void exprBinary (Constants::kind_t binaryop) override
 
void exprNary (Constants::kind_t op, uint32_t num) override
 
void exprScenario (const char *name) override
 
expression_t exprScenario ()
 
void exprTernary (Constants::kind_t ternaryop, bool firstMissing) override
 
void exprInlineIf () override
 
void exprComma () override
 
void exprDot (const char *) override
 
void exprDeadlock () override
 
void exprForAllBegin (const char *name) override
 
void exprForAllEnd (const char *name) override
 
void exprExistsBegin (const char *name) override
 
void exprExistsEnd (const char *name) override
 
void exprSumBegin (const char *name) override
 
void exprSumEnd (const char *name) override
 
void exprBuiltinFunction1 (Constants::kind_t) override
 
void exprBuiltinFunction2 (Constants::kind_t) override
 
void exprBuiltinFunction3 (Constants::kind_t) override
 
void exprSMCControl () override
 
void exprProbaQualitative (Constants::kind_t, Constants::kind_t, double) override
 
void exprProbaQuantitative (Constants::kind_t) override
 
void exprProbaCompare (Constants::kind_t, Constants::kind_t) override
 
void exprProbaExpected (const char *aggregatingOp) override
 
void exprSimulate (int, bool=false, int=0) override
 
void exprMitlFormula () override
 
void exprMitlUntil (int, int) override
 
void exprMitlRelease (int, int) override
 
void exprMitlDisj () override
 
void exprMitlConj () override
 
void exprMitlNext () override
 
void exprMitlAtom () override
 
void exprMitlDiamond (int, int) override
 
void exprMitlBox (int, int) override
 
void exprSpawn (int params) override
 
void exprExit () override
 
void exprNumOf () override
 
void exprForAllDynamicBegin (const char *, const char *) override
 
void exprForAllDynamicEnd (const char *name) override
 
void exprExistsDynamicBegin (const char *, const char *) override
 
void exprExistsDynamicEnd (const char *) override
 
void exprSumDynamicBegin (const char *, const char *) override
 
void exprSumDynamicEnd (const char *name) override
 
void exprForeachDynamicBegin (const char *, const char *) override
 
void exprForeachDynamicEnd (const char *name) override
 
void pushDynamicFrameOf (template_t *t, const std::string &name)
 
void popDynamicFrameOf (const std::string &name)
 
- Public Member Functions inherited from UTAP::AbstractBuilder
 AbstractBuilder ()
 
void setPosition (uint32_t, uint32_t) override
 Sets the current position. More...
 
void breakStatement () override
 
void continueStatement () override
 
void switchBegin () override
 
void switchEnd () override
 
void caseBegin () override
 
void caseEnd () override
 
void defaultBegin () override
 
void defaultEnd () override
 
void handleExpect (const char *text) override
 
void property () override
 
void scenario (const char *) override
 
void parse (const char *) override
 
void exprDynamicProcessExpr (const char *) override
 
void exprMITLForAllDynamicBegin (const char *, const char *) override
 
void exprMITLForAllDynamicEnd (const char *name) override
 
void exprMITLExistsDynamicBegin (const char *, const char *) override
 
void exprMITLExistsDynamicEnd (const char *name) override
 
- Public Member Functions inherited from UTAP::ParserBuilder
virtual ~ParserBuilder ()
 
void handleWarning (const char *msg,...)
 
void handleError (const char *msg,...)
 

Protected Member Functions

declarations_tgetCurrentDeclarationBlock ()
 
variable_taddVariable (type_t type, const char *name, expression_t init) override
 
bool addFunction (type_t type, const char *name) override
 
void addSelectSymbolToFrame (const char *name, frame_t &)
 
void declHybridRec (expression_t)
 
- Protected Member Functions inherited from UTAP::ExpressionBuilder
void pushFrame (frame_t)
 Push a new frame. More...
 
void popFrame ()
 Pop the topmost frame. More...
 
bool resolve (const std::string &, symbol_t &)
 
expression_t makeConstant (int value)
 
expression_t makeConstant (double value)
 
type_t applyPrefix (PREFIX, type_t type)
 Given a prefix and a type, this method creates a new type by applying the prefix. More...
 
virtual bool allowProcessReferences ()
 If this method returns true, it is allowed to access the private identifiers of a process by prefixing the identifier with the process name. More...
 

Protected Attributes

int32_t currentProcPriority
 The current process priority level. More...
 
edge_tcurrentEdge
 The edge under construction. More...
 
gantt_tcurrentGantt
 The gantt map under construction. More...
 
condition_tcurrentCondition
 The condition under construction. More...
 
update_tcurrentUpdate
 The update under construction. More...
 
message_tcurrentMessage
 The message under construction. More...
 
instanceLine_tcurrentInstanceLine
 The instance line under construction. More...
 
iodecl_tcurrentIODecl
 
query_tcurrentQuery
 
- Protected Attributes inherited from UTAP::StatementBuilder
frame_t params
 The params frame is used temporarily during parameter parsing. More...
 
function_tcurrentFun
 The function currently being parsed. More...
 
std::vector< BlockStatement * > blocks
 Stack of nested statement blocks. More...
 
std::vector< type_tfields
 The types of a struct. More...
 
std::vector< std::string > labels
 The labels of a struct. More...
 
- Protected Attributes inherited from UTAP::ExpressionBuilder
ExpressionFragments fragments
 Expression stack. More...
 
TypeFragments typeFragments
 Type stack. More...
 
std::stack< frame_tframes
 Frame stack. More...
 
TimedAutomataSystemsystem
 Pointer to the system under construction. More...
 
template_tcurrentTemplate
 The template currently being parsed. More...
 
int32_t scalar_count
 Counter for creating unique scalarset names. More...
 
std::map< std::string, frame_tdynamicFrames
 
- Protected Attributes inherited from UTAP::AbstractBuilder
position_t position
 

Additional Inherited Members

- Public Types inherited from UTAP::ParserBuilder
enum  PREFIX {
  PREFIX_NONE = 0, PREFIX_CONST = 1, PREFIX_URGENT = 2, PREFIX_BROADCAST = 4,
  PREFIX_URGENT_BROADCAST = 6, PREFIX_SYSTEM_META = 8, PREFIX_HYBRID = 16
}
 
- Public Attributes inherited from UTAP::ParserBuilder
std::vector< std::string > lscTemplateNames
 
- Static Protected Member Functions inherited from UTAP::StatementBuilder
static void collectDependencies (std::set< symbol_t > &, expression_t)
 
static void collectDependencies (std::set< symbol_t > &, type_t)
 

Detailed Description

This class constructs a TimedAutomataSystem.

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:

  • states are not both committed and urgent
  • the source and target of an edge is a state
  • the dot operator is applied to a process or a structure (StatementBuilder)
  • functions are not recursive (StatementBuilder)
  • only declared functions are called (ExpressionBuilder)
  • functions are called with the correct number of arguments (StatementBuilder)
  • the initial state of a template is actually declared as a state
  • templates in instantiations have been declared
  • identifiers are not declared twice in the same scope (StatementBuilder)
  • type names do exist and are declared as types (StatementBuilder)
  • processes in the system line have been declared

Left hand side expressions are assigned the correct type by SystemBuilder; if not it would be difficult to represent dot-expressions.

SystemBuilder does not

  • check the correctness of variable initialisers, nor does it complete variable initialisers
  • type check expressions
  • check if arguments to functions or templates match the formal parameters
  • check if something is a proper left hand side value
  • check if things are assignment compatible
  • check conflicting use of synchronisations and guards on edge
  • handle properties

Use TypeChecker for these things.

Definition at line 69 of file systembuilder.h.

Constructor & Destructor Documentation

◆ SystemBuilder()

Member Function Documentation

◆ addChanPriority()

void SystemBuilder::addChanPriority ( char  separator)
overridevirtual

◆ addFunction()

bool SystemBuilder::addFunction ( type_t  type,
const char *  name 
)
overrideprotectedvirtual

Implements UTAP::StatementBuilder.

Definition at line 75 of file systembuilder.cpp.

References UTAP::declarations_t::addFunction(), UTAP::StatementBuilder::currentFun, and getCurrentDeclarationBlock().

Here is the call graph for this function:

◆ addSelectSymbolToFrame()

◆ addVariable()

variable_t * SystemBuilder::addVariable ( type_t  type,
const char *  name,
expression_t  init 
)
overrideprotectedvirtual

◆ afterUpdate()

void SystemBuilder::afterUpdate ( )
overridevirtual

◆ beforeUpdate()

void SystemBuilder::beforeUpdate ( )
overridevirtual

◆ beginChanPriority()

void SystemBuilder::beginChanPriority ( )
overridevirtual

◆ declDynamicTemplate()

◆ declHybridRec()

void UTAP::SystemBuilder::declHybridRec ( expression_t  )
protected

◆ declIO()

void SystemBuilder::declIO ( const char *  name,
int  nbParam,
int  nbSync 
)
overridevirtual

◆ declProgress()

void SystemBuilder::declProgress ( bool  hasGuard)
overridevirtual

Guard progress measure declaration.

Requires two expressions if hasGuard is true, otherwise one.

Reimplemented from UTAP::AbstractBuilder.

Definition at line 163 of file systembuilder.cpp.

References UTAP::TimedAutomataSystem::addProgressMeasure(), UTAP::ExpressionBuilder::fragments, getCurrentDeclarationBlock(), UTAP::ExpressionBuilder::ExpressionFragments::pop(), and UTAP::ExpressionBuilder::system.

Here is the call graph for this function:

◆ defaultChanPriority()

void SystemBuilder::defaultChanPriority ( )
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 527 of file systembuilder.cpp.

References UTAP::ExpressionBuilder::fragments, and UTAP::ExpressionBuilder::ExpressionFragments::push().

Here is the call graph for this function:

◆ done()

void SystemBuilder::done ( )
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 495 of file systembuilder.cpp.

◆ exprSync()

◆ ganttDeclEnd()

void SystemBuilder::ganttDeclEnd ( )
overridevirtual

◆ ganttDeclSelect()

void SystemBuilder::ganttDeclSelect ( const char *  id)
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 125 of file systembuilder.cpp.

References addSelectSymbolToFrame(), and UTAP::ExpressionBuilder::frames.

Here is the call graph for this function:

◆ ganttDeclStart()

void SystemBuilder::ganttDeclStart ( const char *  name)
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 119 of file systembuilder.cpp.

References UTAP::frame_t::createFrame(), currentGantt, UTAP::ExpressionBuilder::frames, and UTAP::ExpressionBuilder::pushFrame().

Here is the call graph for this function:

◆ ganttEntryEnd()

◆ ganttEntrySelect()

void SystemBuilder::ganttEntrySelect ( const char *  id)
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 144 of file systembuilder.cpp.

References addSelectSymbolToFrame(), and UTAP::ExpressionBuilder::frames.

Here is the call graph for this function:

◆ ganttEntryStart()

void SystemBuilder::ganttEntryStart ( )
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 139 of file systembuilder.cpp.

References UTAP::frame_t::createFrame(), UTAP::ExpressionBuilder::frames, and UTAP::ExpressionBuilder::pushFrame().

Here is the call graph for this function:

◆ getCurrentDeclarationBlock()

declarations_t * SystemBuilder::getCurrentDeclarationBlock ( )
protected

Definition at line 80 of file systembuilder.cpp.

References UTAP::ExpressionBuilder::currentTemplate, UTAP::TimedAutomataSystem::getGlobals(), and UTAP::ExpressionBuilder::system.

Referenced by addFunction(), addVariable(), declProgress(), and ganttDeclEnd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasPrechart()

void SystemBuilder::hasPrechart ( const bool  pch)
overridevirtual

◆ incProcPriority()

void SystemBuilder::incProcPriority ( )
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 532 of file systembuilder.cpp.

References currentProcPriority.

◆ instanceName()

void SystemBuilder::instanceName ( const char *  name,
bool  templ = true 
)
overridevirtual

templ is true if the name of the instance contains parameters like "Train(1)".

Here, "Train" is the name of a template.

Otherwise the name of the instance can be for example "Train1", where "Train1" is a process that has been instantiated "Train1 = Train(1)". In this case, we cannot check that "Train1" exists yet, because the system declarations have not yet been parsed.

Reimplemented from UTAP::AbstractBuilder.

Definition at line 567 of file systembuilder.cpp.

References UTAP::frame_t::addSymbol(), UTAP::type_t::createPrimitive(), currentInstanceLine, UTAP::ExpressionBuilder::currentTemplate, UTAP::declarations_t::frame, UTAP::symbol_t::getData(), UTAP::type_t::getKind(), UTAP::frame_t::getSize(), UTAP::symbol_t::getType(), UTAP::ExpressionBuilder::handleError(), UTAP::Constants::INSTANCE, UTAP::Constants::INSTANCELINE, UTAP::instance_t::parameters, UTAP::ExpressionBuilder::resolve(), and UTAP::instance_t::uid.

Referenced by instanceNameEnd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ instanceNameBegin()

void SystemBuilder::instanceNameBegin ( const char *  name)
overridevirtual

◆ instanceNameEnd()

◆ instantiationBegin()

void SystemBuilder::instantiationBegin ( const char *  name,
size_t  parameters,
const char *  templ_name 
)
overridevirtual

◆ instantiationEnd()

◆ procBegin()

◆ procBranchpoint()

void SystemBuilder::procBranchpoint ( const char *  name)
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 287 of file systembuilder.cpp.

References UTAP::template_t::addBranchpoint(), and UTAP::ExpressionBuilder::currentTemplate.

Here is the call graph for this function:

◆ procCondition() [1/2]

void UTAP::SystemBuilder::procCondition ( const std::vector< char *>  anchors,
const int  loc,
const bool  pch,
const bool  hot 
)
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

◆ procCondition() [2/2]

void SystemBuilder::procCondition ( )
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 740 of file systembuilder.cpp.

References currentCondition, UTAP::ExpressionBuilder::fragments, UTAP::condition_t::label, and UTAP::ExpressionBuilder::ExpressionFragments::pop().

Referenced by procMessage().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ procEdgeBegin()

◆ procEdgeEnd()

void SystemBuilder::procEdgeEnd ( const char *  from = 0,
const char *  to = 0 
)
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 332 of file systembuilder.cpp.

References UTAP::ExpressionBuilder::popFrame().

Here is the call graph for this function:

◆ procEnd()

void SystemBuilder::procEnd ( )
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 225 of file systembuilder.cpp.

References UTAP::ExpressionBuilder::currentTemplate, and UTAP::ExpressionBuilder::popFrame().

Here is the call graph for this function:

◆ process()

◆ processListEnd()

void SystemBuilder::processListEnd ( )
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 491 of file systembuilder.cpp.

◆ procGuard()

void SystemBuilder::procGuard ( )
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 342 of file systembuilder.cpp.

References currentEdge, UTAP::ExpressionBuilder::fragments, UTAP::edge_t::guard, and UTAP::ExpressionBuilder::ExpressionFragments::pop().

Here is the call graph for this function:

◆ procInstanceLine()

void SystemBuilder::procInstanceLine ( )
overridevirtual

Adds an instance line to the current template.

Reimplemented from UTAP::AbstractBuilder.

Definition at line 554 of file systembuilder.cpp.

References UTAP::template_t::addInstanceLine(), currentInstanceLine, and UTAP::ExpressionBuilder::currentTemplate.

Here is the call graph for this function:

◆ procLscUpdate() [1/2]

void SystemBuilder::procLscUpdate ( const char *  anchor,
const int  loc,
const bool  pch 
)
overridevirtual

◆ procLscUpdate() [2/2]

void SystemBuilder::procLscUpdate ( )
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 765 of file systembuilder.cpp.

References currentUpdate, UTAP::ExpressionBuilder::fragments, UTAP::update_t::label, and UTAP::ExpressionBuilder::ExpressionFragments::pop().

Here is the call graph for this function:

◆ procMessage() [1/2]

void SystemBuilder::procMessage ( const char *  from,
const char *  to,
const int  loc,
const bool  pch 
)
overridevirtual

◆ procMessage() [2/2]

◆ procPriority()

void SystemBuilder::procPriority ( const char *  name)
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 537 of file systembuilder.cpp.

References currentProcPriority, UTAP::ExpressionBuilder::handleError(), UTAP::ExpressionBuilder::resolve(), UTAP::TimedAutomataSystem::setProcPriority(), UTAP::symbol(), and UTAP::ExpressionBuilder::system.

Referenced by process().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ procProb()

void SystemBuilder::procProb ( )
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 361 of file systembuilder.cpp.

References currentEdge, UTAP::ExpressionBuilder::fragments, and UTAP::ExpressionBuilder::ExpressionFragments::pop().

Here is the call graph for this function:

◆ procSelect()

void SystemBuilder::procSelect ( const char *  id)
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 337 of file systembuilder.cpp.

References addSelectSymbolToFrame(), currentEdge, and UTAP::edge_t::select.

Here is the call graph for this function:

◆ procState()

void SystemBuilder::procState ( const char *  name,
bool  hasInvariant,
bool  hasER 
)
overridevirtual

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.

Definition at line 236 of file systembuilder.cpp.

References UTAP::template_t::addLocation(), UTAP::ExpressionBuilder::currentTemplate, UTAP::ExpressionBuilder::fragments, and UTAP::ExpressionBuilder::ExpressionFragments::pop().

Here is the call graph for this function:

◆ procStateCommit()

◆ procStateInit()

void SystemBuilder::procStateInit ( const char *  name)
overridevirtual

◆ procStateUrgent()

◆ procSync()

void SystemBuilder::procSync ( Constants::synchronisation_t  type)
overridevirtual

◆ procUpdate()

void SystemBuilder::procUpdate ( )
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 354 of file systembuilder.cpp.

References UTAP::edge_t::assign, currentEdge, UTAP::ExpressionBuilder::fragments, and UTAP::ExpressionBuilder::ExpressionFragments::pop().

Here is the call graph for this function:

◆ queryBegin()

void SystemBuilder::queryBegin ( )
overridevirtual

Verification queries.

Reimplemented from UTAP::AbstractBuilder.

Definition at line 837 of file systembuilder.cpp.

References currentQuery.

◆ queryComment()

void SystemBuilder::queryComment ( const char *  comment)
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 851 of file systembuilder.cpp.

References UTAP::query_t::comment, comment, and currentQuery.

◆ queryEnd()

void SystemBuilder::queryEnd ( )
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 857 of file systembuilder.cpp.

References UTAP::TimedAutomataSystem::addQuery(), currentQuery, and UTAP::ExpressionBuilder::system.

Here is the call graph for this function:

◆ queryFormula()

void SystemBuilder::queryFormula ( const char *  formula,
const char *  location 
)
overridevirtual

Reimplemented from UTAP::AbstractBuilder.

Definition at line 841 of file systembuilder.cpp.

References currentQuery, UTAP::query_t::formula, and UTAP::query_t::location.

Member Data Documentation

◆ currentCondition

condition_t* UTAP::SystemBuilder::currentCondition
protected

The condition under construction.

Definition at line 82 of file systembuilder.h.

Referenced by procCondition(), procMessage(), and SystemBuilder().

◆ currentEdge

edge_t* UTAP::SystemBuilder::currentEdge
protected

The edge under construction.

Definition at line 76 of file systembuilder.h.

Referenced by procEdgeBegin(), procGuard(), procProb(), procSelect(), procSync(), procUpdate(), and SystemBuilder().

◆ currentGantt

gantt_t* UTAP::SystemBuilder::currentGantt
protected

The gantt map under construction.

Definition at line 79 of file systembuilder.h.

Referenced by ganttDeclEnd(), ganttDeclStart(), ganttEntryEnd(), and SystemBuilder().

◆ currentInstanceLine

instanceLine_t* UTAP::SystemBuilder::currentInstanceLine
protected

The instance line under construction.

Definition at line 91 of file systembuilder.h.

Referenced by instanceName(), instanceNameEnd(), procInstanceLine(), and SystemBuilder().

◆ currentIODecl

iodecl_t* UTAP::SystemBuilder::currentIODecl
protected

Definition at line 93 of file systembuilder.h.

Referenced by declIO(), exprSync(), and SystemBuilder().

◆ currentMessage

message_t* UTAP::SystemBuilder::currentMessage
protected

The message under construction.

Definition at line 88 of file systembuilder.h.

Referenced by procMessage(), and SystemBuilder().

◆ currentProcPriority

int32_t UTAP::SystemBuilder::currentProcPriority
protected

The current process priority level.

Definition at line 73 of file systembuilder.h.

Referenced by incProcPriority(), procPriority(), and SystemBuilder().

◆ currentQuery

query_t* UTAP::SystemBuilder::currentQuery
protected

Definition at line 95 of file systembuilder.h.

Referenced by queryBegin(), queryComment(), queryEnd(), queryFormula(), and SystemBuilder().

◆ currentUpdate

update_t* UTAP::SystemBuilder::currentUpdate
protected

The update under construction.

Definition at line 85 of file systembuilder.h.

Referenced by procLscUpdate(), and SystemBuilder().


The documentation for this class was generated from the following files: