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

UTAP::ExpressionBuilder Class Reference

#include <expressionbuilder.h>

Inheritance diagram for UTAP::ExpressionBuilder:

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

Public Member Functions

 ExpressionBuilder (TimedAutomataSystem *)
ExpressionFragmentsgetExpressions ()
virtual void typeName (int32_t prefix, const char *name, int range)
 Push a new type onto the type stack.
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 *)
virtual void exprTrue ()
virtual void exprFalse ()
virtual void exprId (const char *varName)
virtual void exprNat (int32_t)
virtual void exprCallBegin ()
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 exprForAllBegin (const char *name)
virtual void exprForAllEnd (const char *name)

Protected Member Functions

void pushFrame (frame_t)
void popFrame ()
bool resolve (std::string, symbol_t &)
expression_t makeConstant (int value)
type_t applyPrefix (int32_t prefix, type_t type)
 Given a prefix and a type, this method creates a new type by applying the prefix.
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.

Protected Attributes

ExpressionFragments fragments
TimedAutomataSystemsystem
UTAP::ExpressionBuilder::TypeFragments typeFragments
std::stack< frame_tframes

Classes

class  ExpressionFragments
class  TypeFragments

Constructor & Destructor Documentation

ExpressionBuilder::ExpressionBuilder TimedAutomataSystem  ) 
 


Member Function Documentation

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

If this method returns true, it is allowed to access the private identifiers of a process by prefixing the identifier with the process name.

This is only interesting when parsing properties. In this case the method should be overridden by a sub class.

type_t ExpressionBuilder::applyPrefix int32_t  prefix,
type_t  type
[protected]
 

Given a prefix and a type, this method creates a new type by applying the prefix.

TypeExceptions might be thrown if the combination of the prefix and the type is illegal.

void ExpressionBuilder::exprArg uint32_t  n  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void ExpressionBuilder::exprArray  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

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

Reimplemented from UTAP::AbstractBuilder.

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

Reimplemented from UTAP::AbstractBuilder.

void ExpressionBuilder::exprCallBegin  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

Reimplemented in UTAP::SystemBuilder.

void ExpressionBuilder::exprCallEnd uint32_t  n  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void ExpressionBuilder::exprComma  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void ExpressionBuilder::exprDeadlock  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

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

Reimplemented from UTAP::AbstractBuilder.

void ExpressionBuilder::exprFalse  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void ExpressionBuilder::exprForAllBegin const char *  name  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void ExpressionBuilder::exprForAllEnd const char *  name  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

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

Reimplemented from UTAP::AbstractBuilder.

void ExpressionBuilder::exprInlineIf  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void ExpressionBuilder::exprNat int32_t   )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void ExpressionBuilder::exprPostDecrement  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void ExpressionBuilder::exprPostIncrement  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void ExpressionBuilder::exprPreDecrement  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void ExpressionBuilder::exprPreIncrement  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

void ExpressionBuilder::exprTrue  )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

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

Reimplemented from UTAP::AbstractBuilder.

ExpressionBuilder::ExpressionFragments & ExpressionBuilder::getExpressions  ) 
 

bool ExpressionBuilder::isLocation const char *   )  [virtual]
 

Reimplemented from UTAP::AbstractBuilder.

bool ExpressionBuilder::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.

Reimplemented from UTAP::AbstractBuilder.

expression_t ExpressionBuilder::makeConstant int  value  )  [protected]
 

void ExpressionBuilder::popFrame  )  [protected]
 

void ExpressionBuilder::pushFrame frame_t   )  [protected]
 

bool ExpressionBuilder::resolve std::string  ,
symbol_t
[protected]
 

void ExpressionBuilder::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.


Member Data Documentation

ExpressionFragments UTAP::ExpressionBuilder::fragments [protected]
 

std::stack<frame_t> UTAP::ExpressionBuilder::frames [protected]
 

TimedAutomataSystem* UTAP::ExpressionBuilder::system [protected]
 

class UTAP::ExpressionBuilder::TypeFragments UTAP::ExpressionBuilder::typeFragments [protected]
 


The documentation for this class was generated from the following files:
Generated on Thu Nov 10 13:16:12 2005 for libutap by  doxygen 1.4.2