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

UTAP::SystemBuilder Class Reference

This class constructs a TimedAutomataSystem. More...

#include <systembuilder.hh>

Inheritance diagram for UTAP::SystemBuilder:

UTAP::ParserBuilder List of all members.

Public Member Functions

 SystemBuilder (TimedAutomataSystem *)
virtual void setErrorHandler (ErrorHandler *)
 Set the error handler to the given handler.

virtual void setPosition (const position_t &)
 Sets the current position.

virtual bool isType (const char *)
 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.

virtual bool isLocation (const char *)
 Returns true if and only if the given name has is a location.

virtual void typeName (int32_t prefix, const char *name, bool 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 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 procTransition (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 exprTrue ()
virtual void exprFalse ()
virtual void exprId (const char *varName)
virtual void exprNat (int32_t)
virtual void exprCallBegin (const char *functionName)
virtual void exprCallEnd (uint32_t n)
virtual void exprArg (uint32_t n)
virtual void exprArray ()
virtual void exprPostIncrement ()
virtual void exprPreIncrement ()
virtual void exprPostDecrement ()
virtual void exprPreDecrement ()
virtual void exprAssignment (Constants::kind_t op)
virtual void exprUnary (Constants::kind_t unaryop)
virtual void exprBinary (Constants::kind_t binaryop)
virtual void exprInlineIf ()
virtual void exprComma ()
virtual void exprDot (const char *)
virtual void exprDeadlock ()
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 property (Constants::kind_t, int line)
virtual void beforeUpdate ()
virtual void afterUpdate ()

Protected Member Functions

virtual bool allowProcessReferences ()
virtual void property (Constants::kind_t, int line, expression_t)

Protected Attributes

bool strict_range
TimedAutomataSystemsystem
ErrorHandlererrorHandler
position_t position

Static Protected Attributes

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

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

Property expressions are constructed, but the SystemBuilder class must be subtyped in order actually get access to the properties as they are not stored otherwise.


Constructor & Destructor Documentation

SystemBuilder::SystemBuilder TimedAutomataSystem  ) 
 


Member Function Documentation

void SystemBuilder::afterUpdate  )  [virtual]
 

Implements UTAP::ParserBuilder.

virtual bool UTAP::SystemBuilder::allowProcessReferences  )  [inline, protected, virtual]
 

void SystemBuilder::beforeUpdate  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::blockBegin  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::blockEnd  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::breakStatement  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::caseBegin  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::caseEnd  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::continueStatement  )  [virtual]
 

Implements UTAP::ParserBuilder.

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

Implements UTAP::ParserBuilder.

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

Implements UTAP::ParserBuilder.

void SystemBuilder::declFuncEnd  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::declInitialiserList uint32_t  num  )  [virtual]
 

Implements UTAP::ParserBuilder.

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

Implements UTAP::ParserBuilder.

void SystemBuilder::declParameterEnd  )  [virtual]
 

Implements UTAP::ParserBuilder.

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.

Implements UTAP::ParserBuilder.

void SystemBuilder::declTypeDefEnd  )  [virtual]
 

End of type definition.

Pop type of type stack.

Implements UTAP::ParserBuilder.

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).

Implements UTAP::ParserBuilder.

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.

Implements UTAP::ParserBuilder.

void SystemBuilder::defaultBegin  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::defaultEnd  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::done  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::doWhileBegin  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::doWhileEnd  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::emptyStatement  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprArg uint32_t  n  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprArray  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprAssignment Constants::kind_t  op  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprBinary Constants::kind_t  binaryop  )  [virtual]
 

Implements UTAP::ParserBuilder.

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

Implements UTAP::ParserBuilder.

void SystemBuilder::exprCallEnd uint32_t  n  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprComma  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprDeadlock  )  [virtual]
 

Implements UTAP::ParserBuilder.

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

Implements UTAP::ParserBuilder.

void SystemBuilder::exprFalse  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprId const char *  varName  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprInlineIf  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprNat int32_t   )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprPostDecrement  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprPostIncrement  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprPreDecrement  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprPreIncrement  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprStatement  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprTrue  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::exprUnary Constants::kind_t  unaryop  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::forBegin  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::forEnd  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::ifBegin  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::ifElse  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::ifEnd bool   )  [virtual]
 

Implements UTAP::ParserBuilder.

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

Implements UTAP::ParserBuilder.

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

Implements UTAP::ParserBuilder.

bool SystemBuilder::isLocation const char *  name  )  [virtual]
 

Returns true if and only if the given name has is a location.

bool SystemBuilder::isType const char *   )  [virtual]
 

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.

Implements UTAP::ParserBuilder.

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

Implements UTAP::ParserBuilder.

void SystemBuilder::procEnd  )  [virtual]
 

Implements UTAP::ParserBuilder.

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

Implements UTAP::ParserBuilder.

void SystemBuilder::procGuard  )  [virtual]
 

Implements UTAP::ParserBuilder.

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

Implements UTAP::ParserBuilder.

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

Implements UTAP::ParserBuilder.

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

Implements UTAP::ParserBuilder.

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

Implements UTAP::ParserBuilder.

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

Implements UTAP::ParserBuilder.

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

Implements UTAP::ParserBuilder.

void SystemBuilder::procUpdate  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::property Constants::kind_t  ,
int  line
[virtual]
 

Reimplemented from UTAP::ParserBuilder.

virtual void UTAP::SystemBuilder::property Constants::kind_t  ,
int  line,
expression_t 
[inline, protected, virtual]
 

void SystemBuilder::returnStatement bool   )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::setErrorHandler ErrorHandler  )  [virtual]
 

Set the error handler to the given handler.

Errors are reported by calling this handler or by throwing a TypeException.

Implements UTAP::ParserBuilder.

void SystemBuilder::setPosition const position_t  )  [virtual]
 

Sets the current position.

The current position indicates where in the input file the current productions can be found.

Implements UTAP::ParserBuilder.

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.

Implements UTAP::ParserBuilder.

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.

Implements UTAP::ParserBuilder.

void SystemBuilder::switchBegin  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::switchEnd  )  [virtual]
 

Implements UTAP::ParserBuilder.

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

Push a new type onto the type stack.

This type might subsequently be used to declare e.g. variables. If range is true, then we expect two expressions on the expression stack encoding the beginning and end of the range. These fragments will be popped from the expression stack.

Implements UTAP::ParserBuilder.

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.

Implements UTAP::ParserBuilder.

void SystemBuilder::whileBegin  )  [virtual]
 

Implements UTAP::ParserBuilder.

void SystemBuilder::whileEnd  )  [virtual]
 

Implements UTAP::ParserBuilder.


Member Data Documentation

ErrorHandler* UTAP::SystemBuilder::errorHandler [protected]
 

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

position_t UTAP::SystemBuilder::position [protected]
 

bool UTAP::SystemBuilder::strict_range [protected]
 

TimedAutomataSystem* UTAP::SystemBuilder::system [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 Sat May 15 12:33:44 2004 for libutap by doxygen 1.3.7