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

UTAP::ParserBuilder Class Reference

The ParserBuilder interface is used by the parser to output the parsed system. More...

#include <builder.hh>

Inheritance diagram for UTAP::ParserBuilder:

UTAP::SystemBuilder List of all members.

Public Member Functions

virtual ~ParserBuilder ()
virtual void setErrorHandler (ErrorHandler *)=0
 Set the error handler to the given handler.

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

virtual bool isType (const char *)=0
 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 void typeName (int32_t prefix, const char *name, bool range)=0
 Called when a type name has been parsed.

virtual void typeStruct (int32_t prefix, uint32_t fields)=0
 Called when a struct-type has been parsed.

virtual void structField (const char *name, uint32_t dim)=0
 Called to declare a field of a structure.

virtual void structFieldEnd ()=0
 Called at the end of a series of field declarations of the same type.

virtual void declTypeDef (const char *name, uint32_t dim)=0
 Used when a typedef declaration was parsed.

virtual void declTypeDefEnd ()=0
 Called at the end of a series of type name declarations of the same type.

virtual void declVar (const char *name, uint32_t dim, bool init)=0
 Called to when a variable declaration has been parsed.

virtual void declVarEnd ()=0
 Called at the end of a series of variable declarations of the same type.

virtual void declInitialiserList (uint32_t num)=0
virtual void declFieldInit (const char *name)=0
virtual void declParameter (const char *name, bool reference, uint32_t dim)=0
virtual void declParameterEnd ()=0
virtual void declFuncBegin (const char *name, uint32_t n)=0
virtual void declFuncEnd ()=0
virtual void procBegin (const char *name, uint32_t n)=0
virtual void procEnd ()=0
virtual void procState (const char *name, bool hasInvariant)=0
virtual void procStateCommit (const char *name)=0
virtual void procStateUrgent (const char *name)=0
virtual void procStateInit (const char *name)=0
virtual void procTransition (const char *from, const char *to)=0
virtual void procGuard ()=0
virtual void procSync (Constants::synchronisation_t type)=0
virtual void procUpdate ()=0
virtual void blockBegin ()=0
virtual void blockEnd ()=0
virtual void emptyStatement ()=0
virtual void forBegin ()=0
virtual void forEnd ()=0
virtual void whileBegin ()=0
virtual void whileEnd ()=0
virtual void doWhileBegin ()=0
virtual void doWhileEnd ()=0
virtual void ifBegin ()=0
virtual void ifElse ()=0
virtual void ifEnd (bool)=0
virtual void breakStatement ()=0
virtual void continueStatement ()=0
virtual void switchBegin ()=0
virtual void switchEnd ()=0
virtual void caseBegin ()=0
virtual void caseEnd ()=0
virtual void defaultBegin ()=0
virtual void defaultEnd ()=0
virtual void exprStatement ()=0
virtual void returnStatement (bool)=0
virtual void exprFalse ()=0
virtual void exprTrue ()=0
virtual void exprId (const char *varName)=0
virtual void exprNat (int32_t)=0
virtual void exprCallBegin (const char *functionName)=0
virtual void exprCallEnd (uint32_t n)=0
virtual void exprArg (uint32_t n)=0
virtual void exprArray ()=0
virtual void exprPostIncrement ()=0
virtual void exprPreIncrement ()=0
virtual void exprPostDecrement ()=0
virtual void exprPreDecrement ()=0
virtual void exprAssignment (Constants::kind_t op)=0
virtual void exprUnary (Constants::kind_t unaryop)=0
virtual void exprBinary (Constants::kind_t binaryop)=0
virtual void exprInlineIf ()=0
virtual void exprComma ()=0
virtual void exprDot (const char *)=0
virtual void exprDeadlock ()=0
virtual void instantiationBegin (const char *id, const char *templ)=0
virtual void instantiationEnd (const char *id, const char *templ, uint32_t n)=0
virtual void process (const char *)=0
virtual void done ()=0
virtual void quit ()
virtual void property (Constants::kind_t kind, int line)
virtual void beforeUpdate ()=0
virtual void afterUpdate ()=0

Static Public Attributes

const int32_t PREFIX_NONE = 0
const int32_t PREFIX_CONST = 1
const int32_t PREFIX_URGENT = 2
const int32_t PREFIX_BROADCAST = 4
const int32_t PREFIX_URGENT_BROADCAST

Detailed Description

The ParserBuilder interface is used by the parser to output the parsed system.

The parser itself will only parse the system - it will not actually store or otherwise process the input. Instead, the parser is configured with an implementation of the ParserBuilder interface. Productions in the BNF implemented by the parser correspond to methods in the ParserBuilder interface.

Errors (such as type errors) can be reported back to the parser by either throwing a TypeException or by calling an error method in the ErrorHandler that has been set by a call to setErrorHandler().

Expressions

Expressions are reported in reverse polish notation using the exprXXX methods.

Declarations

The proper protocol for declaring a new type name is to

The proper protocol for declaring a variable is to


Constructor & Destructor Documentation

virtual UTAP::ParserBuilder::~ParserBuilder  )  [inline, virtual]
 


Member Function Documentation

virtual void UTAP::ParserBuilder::afterUpdate  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::beforeUpdate  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::blockBegin  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::blockEnd  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::breakStatement  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::caseBegin  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::caseEnd  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::continueStatement  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::declFieldInit const char *  name  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::declFuncBegin const char *  name,
uint32_t  n
[pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::declFuncEnd  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::declInitialiserList uint32_t  num  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::declParameter const char *  name,
bool  reference,
uint32_t  dim
[pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::declParameterEnd  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::declTypeDef const char *  name,
uint32_t  dim
[pure virtual]
 

Used when a typedef declaration was parsed.

name is the name of the new type, and dim is the dimension of array types.

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::declTypeDefEnd  )  [pure virtual]
 

Called at the end of a series of type name declarations of the same type.

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::declVar const char *  name,
uint32_t  dim,
bool  init
[pure virtual]
 

Called to when a variable declaration has been parsed.

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::declVarEnd  )  [pure virtual]
 

Called at the end of a series of variable declarations of the same type.

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::defaultBegin  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::defaultEnd  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::done  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::doWhileBegin  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::doWhileEnd  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::emptyStatement  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprArg uint32_t  n  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprArray  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprAssignment Constants::kind_t  op  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprBinary Constants::kind_t  binaryop  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprCallBegin const char *  functionName  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprCallEnd uint32_t  n  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprComma  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprDeadlock  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprDot const char *   )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprFalse  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprId const char *  varName  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprInlineIf  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprNat int32_t   )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprPostDecrement  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprPostIncrement  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprPreDecrement  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprPreIncrement  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprStatement  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprTrue  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::exprUnary Constants::kind_t  unaryop  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::forBegin  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::forEnd  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::ifBegin  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::ifElse  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::ifEnd bool   )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::instantiationBegin const char *  id,
const char *  templ
[pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::instantiationEnd const char *  id,
const char *  templ,
uint32_t  n
[pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual bool UTAP::ParserBuilder::isType const char *   )  [pure 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.

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::procBegin const char *  name,
uint32_t  n
[pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::procEnd  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::process const char *   )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::procGuard  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::procState const char *  name,
bool  hasInvariant
[pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::procStateCommit const char *  name  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::procStateInit const char *  name  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::procStateUrgent const char *  name  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::procSync Constants::synchronisation_t  type  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::procTransition const char *  from,
const char *  to
[pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::procUpdate  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::property Constants::kind_t  kind,
int  line
[inline, virtual]
 

Reimplemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::quit  )  [inline, virtual]
 

virtual void UTAP::ParserBuilder::returnStatement bool   )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::setErrorHandler ErrorHandler  )  [pure virtual]
 

Set the error handler to the given handler.

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

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::setPosition const position_t  )  [pure virtual]
 

Sets the current position.

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

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::structField const char *  name,
uint32_t  dim
[pure virtual]
 

Called to declare a field of a structure.

The type of the field has been reported using a typeXXX method prior to the call of structField(). In case of array fields, 'dim' expressions indicating the array sizes have been reported.

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::structFieldEnd  )  [pure virtual]
 

Called at the end of a series of field declarations of the same type.

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::switchBegin  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::switchEnd  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::typeName int32_t  prefix,
const char *  name,
bool  range
[pure virtual]
 

Called when a type name has been parsed.

Prefix indicates whether the type named was prefixed (e.g. with 'const'). The range argument indicates whether a range was given for the type (in that case two expressions were reported using the exprXXX methods).

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::typeStruct int32_t  prefix,
uint32_t  fields
[pure virtual]
 

Called when a struct-type has been parsed.

Prior to the call 'fields' fields must have been declared using the structXXX methods.

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::whileBegin  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.

virtual void UTAP::ParserBuilder::whileEnd  )  [pure virtual]
 

Implemented in UTAP::SystemBuilder.


Member Data Documentation

const int32_t UTAP::ParserBuilder::PREFIX_BROADCAST = 4 [static]
 

const int32_t UTAP::ParserBuilder::PREFIX_CONST = 1 [static]
 

const int32_t UTAP::ParserBuilder::PREFIX_NONE = 0 [static]
 

const int32_t UTAP::ParserBuilder::PREFIX_URGENT = 2 [static]
 

const int32_t UTAP::ParserBuilder::PREFIX_URGENT_BROADCAST [static]
 

Initial value:


The documentation for this class was generated from the following file:
Generated on Sat May 15 12:33:42 2004 for libutap by doxygen 1.3.7