Classes |
struct | StrengthPair_t |
| Pair of strengths. More...
|
class | CNode_sp< T > |
| Smart pointer for CNode class Creates safe references to CNode arguments Supports assignment, dereference, and equality operations. More...
|
struct | CNode_pr |
| Helper class for building tail recursive binary CNode trees Used by parser. More...
|
struct | CNode_triplet |
| Helper class for building tail recursive binary CNode trees Used by parser. More...
|
class | CNode |
| Primary data structure representing parse tree nodes. More...
|
Typedefs |
typedef CBlock | CScope |
Enumerations |
enum | Edge_t {
eEDGE01 = 0x1,
eEDGE10 = 0x2,
eEDGE0x = 0x4,
eEDGEx1 = 0x8,
eEDGE1x = 0x10,
eEDGEx0 = 0x20
} |
| Edge values.
More...
|
enum | DelayMode_t { eMIN_DELAY,
eTYP_DELAY,
eMAX_DELAY
} |
| Timing mode values.
More...
|
enum | Strength_t {
eUNDEFINED = 0,
eSUPPLY,
eSTRONG,
ePULL,
eLARGE,
eWEAK,
eMEDIUM,
eSMALL,
eHIGHZ
} |
| Strength values.
More...
|
Functions |
char * | d2s (double d, CObstack *heap) |
| Convert double to char string allocating storage on given heap.
|
int | Equivalent (CNode *a, CNode *b) |
void | Add (double *r, double *a, double *b) |
void | Sub (double *r, double *a, double *b) |
void | Mul (double *r, double *a, double *b) |
void | Div (double *r, double *a, double *b) |
void | Neg (double *r, double *a) |
void | Plus (double *r, double *a) |
void | Pow (double *r, double *a, double *b) |
| ILLEGAL_OP2 (Rsh) |
| ILLEGAL_OP2 (Lsh) |
| ILLEGAL_OP2 (Rep) |
| ILLEGAL_OP2 (Mod) |
| ILLEGAL_OP2 (And) |
| ILLEGAL_OP2 (Xor) |
| ILLEGAL_OP2 (Xnor) |
| ILLEGAL_OP2 (Or) |
| ILLEGAL_OP2 (Lor) |
| ILLEGAL_OP2 (Land) |
| ILLEGAL_OP1 (Com) |
| ILLEGAL_OP1 (Rand) |
| ILLEGAL_OP1 (Rnand) |
| ILLEGAL_OP1 (Ror) |
| ILLEGAL_OP1 (Rnor) |
| ILLEGAL_OP1 (Rxor) |
| ILLEGAL_OP1 (Rxnor) |
CNode * | cVECTOR (CVector &vec) |
| Short cut for creating VCONSTANT node with a given vector value.
|
CNode * | cSTRING (const char *s) |
| Short cut for creating VCONSTANT node with a given string value.
|
CNode * | cINT32 (INT32 i) |
| Short cut for creating VCONSTANT node with a given integer value.
|
CNode * | cREAL (double number) |
| Short cut for creating RCONSTANT node with a given double value.
|
CNode * | cELINK (CNode *n1, CNode *n2) |
| Link together two nodes with an ELIST operator.
|
CNode * | cABS (CNode *a) |
| Short cut for creating an subtree that calculates the absolute value of an expression.
|
CNode * | cABSDIFF (CNode *a, CNode *b) |
| Short cut for creating an subtree that calculates the absolute difference between two expressions.
|
CNode * | cLINK (CNode *n1, CNode *n2) |
| Short cut for linking together to nodes with a LIST operator.
|
CNode * | cMAX (CNode *n1, CNode *n2) |
| Short cut for creating a expression tree that calculates the maximum of two expressions.
|
template<class T > |
void | ArgList2Vector (CNode *n, NodeOp_t op, int argNumber, vector< T > &v) |
| Walks a list of nodes and collects the specified augments of a given node type.
|
void | EList2VectorExclude (CNode *n, const set< NodeOp_t > &excludeOps, vector< CNode * > &v) |
| Walks an expression elist of nodes and collects the subtrees that don't match the given node types.
|
void | List2VectorExclude (CNode *n, const set< NodeOp_t > &excludeOps, vector< CNode * > &v) |
| Walks an expression list of nodes and collects the subtrees that don't match the given node types.
|
CNode * | Vector2EList (const vector< CNode * > &v) |
| Converts a vector array of CNode* into a linked ELIST of the elements.
|
CNode * | List2EList (list< CNode * > &v) |
| Converts a list of CNode* into a linked ELIST of the elements.
|
int | ListCount (CNode *n, NodeOp_t op) |
| Walks a list/elist of nodes and counts the number of node with the specified operation.
|
int | ListCount (CNode *n) |
| Walks a list/elist of nodes and counts the number of non-list nodes.
|
double | s2d (char *s) |
| Convert char string to double.
|
CNode * | RebalanceRight (CNode *n) |
void | MeasureDepth (CNode *n, int *count, int *depth) |
CNode_pr | cLINK (CNode_pr pr1, CNode *n2) |
string | HierarchicalReference2String (CNode *ref) |
CNode * | cMAX_N (CNode *first,...) |
CNode * | cADD_N (CNode *first,...) |
CNode * | cMUL_N (CNode *first,...) |
CNode * | cABSDIFFPLUS1_N (CNode *first,...) |
int | cMAX (int a1, int a2) |
int | cMAX (int a1, int a2, int a3) |
int | cADD (int a1, int a2) |
int | cMUL (int a1, int a2) |
int | cABSDIFFPLUS1 (int a1, int a2) |