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

STILSigRefExpr Class Reference

STILSigRefExpr Class Interface. More...

#include <stilsigrefexpr.h>

Inheritance diagram for STILSigRefExpr:

STILEntity List of all members.

Public Types

enum  Operator {
  UndefinedOperator,
  Plus,
  Minus,
  LeftParen,
  RightParen
}
enum  NodeType {
  UndefinedNodeType,
  Id,
  Op
}

Public Member Functions

 STILSigRefExpr ()
 STILSigRefExpr (const STILSigRefExpr &)
virtual ~STILSigRefExpr ()
STILSigRefExproperator= (const STILSigRefExpr &)
void init ()
virtual void write (FILE *pOutFile, LONG indentation=0) const
void addOp (Operator op)
void addId (const sstring &id, LONG idx1=-1, LONG idx2=-1)
const sstringgetText () const
void printTree (const STILSigRefExpr_Node *p_tree=NULL) const
void clearTree (STILSigRefExpr_Node *p_tree=NULL)
void copyTree (STILSigRefExpr_Node *&, const STILSigRefExpr_Node *)
STILSignalList eval (const STILEvalEngine *, const STILSigRefExpr_Node *p_tree=NULL)

Friends

struct STILSigRefExpr_Data

Detailed Description

STILSigRefExpr Class Interface.

The class to represent STIL Signal Reference Expressions


Member Enumeration Documentation

enum STILSigRefExpr::NodeType
 

Enumeration values:
UndefinedNodeType  Never set.
Id  A text name identifier reference (signal, sigref, etc).
Op  An operator (+,-,(,), etc).

enum STILSigRefExpr::Operator
 

Enumeration values:
UndefinedOperator  Never set.
Plus  +
Minus 
LeftParen  (
RightParen  )


Constructor & Destructor Documentation

STILSigRefExpr::STILSigRefExpr  ) 
 

Default Constructor for a STILSigRefExpr object.

Parameters:
 
Returns:

STILSigRefExpr::STILSigRefExpr const STILSigRefExpr s  ) 
 

Constructor a STILSigRefExpr object from another STILSigRefExpr.

Parameters:
s STILSigRefExpr object to construct from
Returns:

STILSigRefExpr::~STILSigRefExpr  )  [virtual]
 

Destructor for a STILSigRefExpr object.

Parameters:
 
Returns:


Member Function Documentation

void STILSigRefExpr::addId const sstring id,
LONG  idx1 = -1,
LONG  idx2 = -1
 

Add an identifier (with optional indexing) to this expression.

Parameters:
id Identifier name to be added
idx1 First index (-1 if not specified)
idx2 Second index (-1 if not specified)
Returns:
(void)

void STILSigRefExpr::addOp Operator  op  ) 
 

Add an operator to this expression.

Parameters:
op Operator to be added
Returns:
(void)

void STILSigRefExpr::clearTree STILSigRefExpr_Node p_tree = NULL  ) 
 

Clear out all storage associated with this expression.

Parameters:
p_tree Pointer to tree to be cleared
Returns:
(void)

void STILSigRefExpr::copyTree STILSigRefExpr_Node *&  p_target,
const STILSigRefExpr_Node p_source
 

Copy (recursivly) the expression tree.

Parameters:
p_target Pointer to target node
p_source Pointer to source node
Returns:
(void)

STILSignalList STILSigRefExpr::eval const STILEvalEngine eval_eng,
const STILSigRefExpr_Node p_tree = NULL
 

Evaluate the SigRefExpr into it's component signals.

Parameters:
eval_engine The loaded evaluation engine
p_tree Pointer to sre node in tree
Returns:
STILSignalList

const sstring & STILSigRefExpr::getText  )  const [inline]
 

Parameters:
 
Returns:

void STILSigRefExpr::init void   ) 
 

Initialize the STILSigRefExpr object.

Parameters:
 
Returns:
(void)

STILSigRefExpr & STILSigRefExpr::operator= const STILSigRefExpr s  ) 
 

Assignment operator.

Parameters:
s Source object to assign this object from
Returns:
(STILSigRefExpr &)

void STILSigRefExpr::printTree const STILSigRefExpr_Node p_tree = NULL  )  const
 

Print the underlying expression tree (used for debug).

Parameters:
p_tree Pointer to tree to be printed
Returns:
(void)

void STILSigRefExpr::write FILE *  pOutFile,
LONG  indentation = 0
const [virtual]
 

Write the STILSigRefExpr object to a FILE.

Parameters:
pOutFile FILE * of output file
Returns:
(void)

Reimplemented from STILEntity.


Friends And Related Function Documentation

friend struct STILSigRefExpr_Data [friend]
 


The documentation for this class was generated from the following files:
This page last updated on 6 Jul 2007

SourceForge.net Logo