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) |