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 ()
STILSigRefExpr & operator= (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 sstring & getText () 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