Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

UTAP::SystemBuilder Class Reference

This class constructs a TimedAutomataSystem. More...

#include <systembuilder.h>

Inheritance diagram for UTAP::SystemBuilder:

UTAP::ExpressionBuilder UTAP::AbstractBuilder UTAP::ParserBuilder List of all members.

Public Member Functions

 SystemBuilder (TimedAutomataSystem *)
virtual void typeName (int32_t prefix, const char *name, int range)
 Push a new type onto the type stack.
virtual void typeStruct (int32_t 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, uint32_t dim)
 Used to declare the fields of a structure.
virtual void structFieldEnd ()
 The end of a number of field declarations of the same type.
virtual void declTypeDef (const char *name, uint32_t dim)
 A type definition.
virtual void declTypeDefEnd ()
 End of type definition.
virtual void declVar (const char *name, uint32_t dim, bool init)
 Declare a new variable of the given name.
virtual void declVarEnd ()
 At the end of a variable declaration, this method is called in order to pop the type from the type stack.
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 reference, uint32_t dim)
virtual void declParameterEnd ()
virtual void declFuncBegin (const char *name, uint32_t n)
virtual void declFuncEnd ()
virtual void procBegin (const char *name, uint32_t n)
virtual void procEnd ()
virtual void procState (const char *name, bool hasInvariant)
virtual void procStateCommit (const char *name)
virtual void procStateUrgent (const char *name)
virtual void procStateInit (const char *name)
virtual void procEdge (const char *from, const char *to)
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 whileBegin ()
virtual void whileEnd ()
virtual void doWhileBegin ()
virtual void doWhileEnd ()
virtual void ifBegin ()
virtual void ifElse ()
virtual void ifEnd (bool)
virtual void breakStatement ()
virtual void continueStatement ()
virtual void switchBegin ()
virtual void switchEnd ()
virtual void caseBegin ()
virtual void caseEnd ()
virtual void defaultBegin ()
virtual void defaultEnd ()
virtual void exprStatement ()
virtual void returnStatement (bool)
virtual void exprCallBegin (const char *)
virtual void instantiationBegin (const char *, const char *)
virtual void instantiationEnd (const char *, const char *, uint32_t n)
virtual void process (const char *)
virtual void done ()
virtual void beforeUpdate ()
virtual void afterUpdate ()
virtual void lowPriority (const char *)
virtual void samePriority (const char *)
virtual void higherPriority (const char *)

Protected Attributes

bool strict_range
int32_t currentPriority

Static Protected Attributes

static const char *const unsupported
static const char *const invalid_type = "Invalid type"

Classes

class  TypeFragments

Detailed Description

This class constructs a TimedAutomataSystem.

It categorizes declarations into clocks, constants, channels, functions, processes, variables, type names, states and templates.

It knows about arrays and structures. It does resolve the scope of identifiers. It knows about named types.

It checks that

It does not


Constructor & Destructor Documentation

SystemBuilder::SystemBuilder TimedAutomataSystem  ) 
 


Member Function Documentation

void SystemBuilder::afterUpdate  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::beforeUpdate  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::blockBegin  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::blockEnd  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::breakStatement  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::caseBegin  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::caseEnd  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::continueStatement  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::declFieldInit const char *  name  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::declFuncBegin const char *  name,
uint32_t  n
[virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::declFuncEnd  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::declInitialiserList uint32_t  num  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::declParameter const char *  name,
bool  reference,
uint32_t  dim
[virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::declParameterEnd  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::declProgress bool   )  [virtual]
 

Guard progress measure declaration.

Requires two expressions if hasGuard is true, otherwise one.

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::declTypeDef const char *  name,
uint32_t  dim
[virtual]
 

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.

void SystemBuilder::declTypeDefEnd  )  [virtual]
 

End of type definition.

Pop type of type stack.

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::declVar const char *  name,
uint32_t  dim,
bool  hasInit
[virtual]
 

Declare a new variable of the given name.

The type is expected to be on the type stack. In case of an array, dim constant expressions are expected on the expression stack. If the variable has an initialiser (the init parameter is true), then an additional 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.

void SystemBuilder::declVarEnd  )  [virtual]
 

At the end of a variable declaration, this method is called in order to pop the type from the type stack.

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::defaultBegin  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::defaultEnd  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::done  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::doWhileBegin  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::doWhileEnd  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::emptyStatement  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::exprCallBegin const char *   )  [virtual]
 

Reimplemented from UTAP::ExpressionBuilder.

void SystemBuilder::exprStatement  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::forBegin  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::forEnd  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::higherPriority const char *   )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::ifBegin  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::ifElse  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::ifEnd bool   )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::instantiationBegin const char *  ,
const char * 
[virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::instantiationEnd const char *  ,
const char *  ,
uint32_t  n
[virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::lowPriority const char *   )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::procBegin const char *  name,
uint32_t  n
[virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::procEdge const char *  from,
const char *  to
[virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::procEnd  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::process const char *   )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::procGuard  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::procState const char *  name,
bool  hasInvariant
[virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::procStateCommit const char *  name  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::procStateInit const char *  name  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::procStateUrgent const char *  name  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::procSync Constants::synchronisation_t  type  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::procUpdate  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::returnStatement bool   )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::samePriority const char *   )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::structField const char *  name,
uint32_t  dim
[virtual]
 

Used to declare the fields of a structure.

The type of the field is expected to be on the type fragment stack, and dim constant expressions are expected on the expression stack (in case of an array field). These will be popped of the stack.

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::structFieldEnd  )  [virtual]
 

The end of a number of field declarations of the same type.

The type must be popped of the type fragment stack.

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::switchBegin  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::switchEnd  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::typeName int32_t  prefix,
const char *  name,
int  range
[virtual]
 

Push a new type onto the type stack.

This type might subsequently be used to declare e.g. variables. Range indicates the number range or rate expressions (currently, it might be 0, 1 or 2). The corresponding number of fragments will be popped from the expression stack.

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::typeStruct int32_t  prefix,
uint32_t  n
[virtual]
 

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.

void SystemBuilder::whileBegin  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void SystemBuilder::whileEnd  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.


Member Data Documentation

int32_t UTAP::SystemBuilder::currentPriority [protected]
 

const char *const SystemBuilder::invalid_type = "Invalid type" [static, protected]
 

bool UTAP::SystemBuilder::strict_range [protected]
 

const char *const SystemBuilder::unsupported [static, protected]
 

Initial value:

"Internal error: Feature not supported in this mode."


The documentation for this class was generated from the following files:
Generated on Thu Feb 17 15:20:59 2005 for libutap by  doxygen 1.4.1