![]() |
![]() |
Definitions for parse tree nodes. More...
Go to the source code of this file.
Classes | |
struct | LabelBitsInfo |
Enumerations | |
enum | NodeOp_t { eERROR, eVCONSTANT, eRCONSTANT, eCOMMENT, eVRQ, ePRAGMA, eELIST, eWIDTH, eNOP, eSUB, eMUL, eDIV, ePOW, eADD, eLSH, eRSH, eLSHA, eRSHA, eMOD, eOR, eAND, eANDANDAND, eXOR, eXNOR, eINSTANCE_REF, eGATE_REF, eTASK_ENABLE, eSYSTASK_CALL, eTIMING_CALL, eFUNCTION_CALL, eARRAY, eNET_REF, eVAR_REF, ePARAM_REF, ePORT_REF, eFWD_REF, eGENVAR_REF, eNET_DECL, eVAR_DECL, ePARAM_DECL, eSPECPARAM_DECL, ePORT_DECL, eGENVAR_DECL, eLIST, eRANGE, eSLICE, ePSLICE, eMSLICE, eCVRI, eCVIR, eREP, eCAT, eUCAT, eCOM, eNEG, ePLUS, eNOT, eGT, eGE, eLT, eLE, eLAND, eLOR, eCEQ, eCNE, eEQ, eNE, eRAND, eRNAND, eROR, eRNOR, eRXOR, eRXNOR, eHOOK, eINIT, eALWAYS, eEVENT, eBLOCK_REF, eSPECIFY_REF, eASSIGN, eFORCE, eRELEASE, eNBASSIGN, ePOSEDGE, eNEGEDGE, eEDGE, eEVOR, eDELAY, eMTM, eIF, eFOREVER, eREPEAT, eWHILE, eWAIT, eFOR, eCASE, eCASEX, eCASEZ, eCASEITEM, eCASSIGN, eARG, eFUNCTION_DEF, eMODULE_DEF, eREPEAT_CONTROL, eDELAY_CONTROL, eEVENT_CONTROL, eEXTERNAL_REF, ePORT_DEF, eDEFPARAM, ePATH, ePATH_ASSIGN, eIFNONE_PATH_ASSIGN, eTRIGGER, ePASSIGN, eDEASSIGN, eDISABLE, eATTRIBUTE, eGIF, eGFOR, eGCASE, eTABLE, eTABLE_ENTRY, eTABLE_SYMBOL, ePORTLIST_END, eMACRO_EXPR } |
Parse tree opcodes. More... | |
Functions | |
CNode * | cERROR (Coord_t *loc=NULL) |
Node construction shortcut for ERROR error node. | |
CNode * | cVCONSTANT (CVector *a0, Coord_t *loc=NULL) |
Node construction shortcut for VCONSTANT vector constant. | |
CNode * | cRCONSTANT (char *a0, Coord_t *loc=NULL) |
Node construction shortcut for RCONSTANT real constant. | |
CNode * | cCOMMENT (const char *a0, Coord_t *loc=NULL) |
Node construction shortcut for COMMENT comment. | |
CNode * | cVRQ (const char *a0, Coord_t *loc=NULL) |
Node construction shortcut for VRQ vrq comment. | |
CNode * | cPRAGMA (const char *a0, Coord_t *loc=NULL) |
Node construction shortcut for PRAGMA program pragma. | |
CNode * | cELIST (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for ELIST expression list. | |
CNode * | cWIDTH (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for WIDTH expression width change. | |
CNode * | cNOP (Coord_t *loc=NULL) |
Node construction shortcut for NOP no operation. | |
CNode * | cSUB (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for SUB subtract. | |
CNode * | cMUL (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for MUL multiply. | |
CNode * | cDIV (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for DIV divide. | |
CNode * | cPOW (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for POW exponent. | |
CNode * | cADD (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for ADD addition. | |
CNode * | cLSH (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for LSH logical left shift. | |
CNode * | cRSH (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for RSH logical right shift. | |
CNode * | cLSHA (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for LSHA arithmetic left shift. | |
CNode * | cRSHA (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for RSHA arithmetic right shift. | |
CNode * | cMOD (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for MOD modulus. | |
CNode * | cOR (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for OR bitwise or. | |
CNode * | cAND (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for AND bitwise and. | |
CNode * | cANDANDAND (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for ANDANDAND triple and. | |
CNode * | cXOR (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for XOR bitwise xor. | |
CNode * | cXNOR (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for XNOR bitwise xnor. | |
CNode * | cINSTANCE_REF (CInstance *a0, Coord_t *loc=NULL) |
Node construction shortcut for INSTANCE_REF instance reference. | |
CNode * | cGATE_REF (CGate *a0, Coord_t *loc=NULL) |
Node construction shortcut for GATE_REF gate instance. | |
CNode * | cTASK_ENABLE (CSymbol *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for TASK_ENABLE call to a task. | |
CNode * | cSYSTASK_CALL (CSymbol *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for SYSTASK_CALL call to enable a systask. | |
CNode * | cTIMING_CALL (CSymbol *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for TIMING_CALL call to a timing task. | |
CNode * | cFUNCTION_CALL (CSymbol *a0, CNode *a1, CScope *a2, Coord_t *loc=NULL) |
Node construction shortcut for FUNCTION_CALL call to a function. | |
CNode * | cARRAY (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for ARRAY dimensioned reference (array/bit select). | |
CNode * | cNET_REF (CNet *a0, Coord_t *loc=NULL) |
Node construction shortcut for NET_REF reference to net. | |
CNode * | cVAR_REF (CVar *a0, Coord_t *loc=NULL) |
Node construction shortcut for VAR_REF reference to variable. | |
CNode * | cPARAM_REF (CParam *a0, Coord_t *loc=NULL) |
Node construction shortcut for PARAM_REF reference to parameter. | |
CNode * | cPORT_REF (CPortDir *a0, Coord_t *loc=NULL) |
Node construction shortcut for PORT_REF reference to port. | |
CNode * | cFWD_REF (CFref *a0, Coord_t *loc=NULL) |
Node construction shortcut for FWD_REF reference to a forward declared variable. | |
CNode * | cGENVAR_REF (CGenvar *a0, Coord_t *loc=NULL) |
Node construction shortcut for GENVAR_REF reference to a genvar. | |
CNode * | cNET_DECL (CNet *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for NET_DECL net declaration. | |
CNode * | cVAR_DECL (CVar *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for VAR_DECL variable declaration. | |
CNode * | cPARAM_DECL (CParam *a0, Coord_t *loc=NULL) |
Node construction shortcut for PARAM_DECL parameter declaration. | |
CNode * | cSPECPARAM_DECL (CParam *a0, Coord_t *loc=NULL) |
Node construction shortcut for SPECPARAM_DECL specify parameter declaration. | |
CNode * | cPORT_DECL (CPortDir *a0, Coord_t *loc=NULL) |
Node construction shortcut for PORT_DECL port declaration. | |
CNode * | cGENVAR_DECL (CGenvar *a0, Coord_t *loc=NULL) |
Node construction shortcut for GENVAR_DECL genvar declaration. | |
CNode * | cLIST (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for LIST list of nodes. | |
CNode * | cRANGE (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for RANGE vector decl range specification. | |
CNode * | cSLICE (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for SLICE vector subrange. | |
CNode * | cPSLICE (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for PSLICE vector subrange with ascending index select. | |
CNode * | cMSLICE (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for MSLICE vector subrange with descending index select. | |
CNode * | cCVRI (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for CVRI convert real to integer. | |
CNode * | cCVIR (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for CVIR convert integer to real. | |
CNode * | cREP (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for REP replication operator. | |
CNode * | cCAT (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for CAT concatenation operator. | |
CNode * | cUCAT (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for UCAT unary concat. | |
CNode * | cCOM (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for COM bitwise complement. | |
CNode * | cNEG (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for NEG negation. | |
CNode * | cPLUS (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for PLUS unary plus. | |
CNode * | cNOT (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for NOT logical complement. | |
CNode * | cGT (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for GT greater than. | |
CNode * | cGE (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for GE greater than or equal. | |
CNode * | cLT (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for LT less than. | |
CNode * | cLE (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for LE less than or equal. | |
CNode * | cLAND (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for LAND logical and. | |
CNode * | cLOR (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for LOR logical or. | |
CNode * | cCEQ (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for CEQ case equal. | |
CNode * | cCNE (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for CNE case not equal. | |
CNode * | cEQ (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for EQ equal. | |
CNode * | cNE (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for NE not equal. | |
CNode * | cRAND (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for RAND reduction and. | |
CNode * | cRNAND (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for RNAND reduction nand. | |
CNode * | cROR (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for ROR reduction or. | |
CNode * | cRNOR (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for RNOR reduction nor. | |
CNode * | cRXOR (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for RXOR reduction xor. | |
CNode * | cRXNOR (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for RXNOR reduction xnor. | |
CNode * | cHOOK (CNode *a0, CNode *a1, CNode *a2, Coord_t *loc=NULL) |
Node construction shortcut for HOOK condition expression operator. | |
CNode * | cINIT (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for INIT initial block. | |
CNode * | cALWAYS (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for ALWAYS always block. | |
CNode * | cEVENT (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for EVENT event statement. | |
CNode * | cBLOCK_REF (CBlock *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for BLOCK_REF statement block. | |
CNode * | cSPECIFY_REF (CSpecify *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for SPECIFY_REF specify block. | |
CNode * | cASSIGN (CNode *a0, CNode *a1, CNode *a2, Coord_t *loc=NULL) |
Node construction shortcut for ASSIGN procedural assignment. | |
CNode * | cFORCE (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for FORCE force statement. | |
CNode * | cRELEASE (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for RELEASE release statement. | |
CNode * | cNBASSIGN (CNode *a0, CNode *a1, CNode *a2, Coord_t *loc=NULL) |
Node construction shortcut for NBASSIGN nonblocking assignment. | |
CNode * | cPOSEDGE (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for POSEDGE positive event qualifier. | |
CNode * | cNEGEDGE (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for NEGEDGE negative event qualifier. | |
CNode * | cEDGE (CNode *a0, Edge_t a1, Coord_t *loc=NULL) |
Node construction shortcut for EDGE edge qualifier. | |
CNode * | cEVOR (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for EVOR event or. | |
CNode * | cDELAY (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for DELAY delay statement. | |
CNode * | cMTM (CNode *a0, CNode *a1, CNode *a2, Coord_t *loc=NULL) |
Node construction shortcut for MTM min/typ/max expression. | |
CNode * | cIF (CNode *a0, CNode *a1, CNode *a2, Coord_t *loc=NULL) |
Node construction shortcut for IF if statement. | |
CNode * | cFOREVER (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for FOREVER forever statement. | |
CNode * | cREPEAT (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for REPEAT repeat statement. | |
CNode * | cWHILE (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for WHILE while statement. | |
CNode * | cWAIT (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for WAIT wait statement. | |
CNode * | cFOR (CNode *a0, CNode *a1, CNode *a2, CNode *a3, Coord_t *loc=NULL) |
Node construction shortcut for FOR for statement. | |
CNode * | cCASE (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for CASE case statement. | |
CNode * | cCASEX (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for CASEX casex statement. | |
CNode * | cCASEZ (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for CASEZ casez statement. | |
CNode * | cCASEITEM (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for CASEITEM case item. | |
CNode * | cCASSIGN (StrengthPair_t *a0, CNode *a1, CNode *a2, CNode *a3, Coord_t *loc=NULL) |
Node construction shortcut for CASSIGN continious assignment. | |
CNode * | cARG (CSymbol *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for ARG port connection. | |
CNode * | cFUNCTION_DEF (CFunction *a0, Coord_t *loc=NULL) |
Node construction shortcut for FUNCTION_DEF function definition. | |
CNode * | cMODULE_DEF (CModule *a0, Coord_t *loc=NULL) |
Node construction shortcut for MODULE_DEF module definition. | |
CNode * | cREPEAT_CONTROL (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for REPEAT_CONTROL repeat control. | |
CNode * | cDELAY_CONTROL (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for DELAY_CONTROL delay control. | |
CNode * | cEVENT_CONTROL (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for EVENT_CONTROL event control. | |
CNode * | cEXTERNAL_REF (CSymbol *a0, Coord_t *loc=NULL) |
Node construction shortcut for EXTERNAL_REF external reference. | |
CNode * | cPORT_DEF (CPort *a0, Coord_t *loc=NULL) |
Node construction shortcut for PORT_DEF port definition. | |
CNode * | cDEFPARAM (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for DEFPARAM defparam statement. | |
CNode * | cPATH (int a0, CNode *a1, int a2, int a3, CNode *a4, int a5, CNode *a6, Coord_t *loc=NULL) |
Node construction shortcut for PATH path statement. | |
CNode * | cPATH_ASSIGN (CNode *a0, CNode *a1, CNode *a2, Coord_t *loc=NULL) |
Node construction shortcut for PATH_ASSIGN path assignment statement. | |
CNode * | cIFNONE_PATH_ASSIGN (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for IFNONE_PATH_ASSIGN ifnone path assignment statement. | |
CNode * | cTRIGGER (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for TRIGGER event trigger. | |
CNode * | cPASSIGN (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for PASSIGN procedural assignment. | |
CNode * | cDEASSIGN (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for DEASSIGN deassign statement. | |
CNode * | cDISABLE (CSymbol *a0, Coord_t *loc=NULL) |
Node construction shortcut for DISABLE disable statement. | |
CNode * | cATTRIBUTE (CAttr *a0, Coord_t *loc=NULL) |
Node construction shortcut for ATTRIBUTE attribute specification. | |
CNode * | cGIF (CNode *a0, CNode *a1, CNode *a2, Coord_t *loc=NULL) |
Node construction shortcut for GIF structural if statement. | |
CNode * | cGFOR (CNode *a0, CNode *a1, CNode *a2, CNode *a3, Coord_t *loc=NULL) |
Node construction shortcut for GFOR structural for statement. | |
CNode * | cGCASE (CNode *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for GCASE structural case statement. | |
CNode * | cTABLE (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for TABLE udp table. | |
CNode * | cTABLE_ENTRY (CNode *a0, Coord_t *loc=NULL) |
Node construction shortcut for TABLE_ENTRY udp table entry. | |
CNode * | cTABLE_SYMBOL (char *a0, Coord_t *loc=NULL) |
Node construction shortcut for TABLE_SYMBOL udp table symbol. | |
CNode * | cPORTLIST_END (Coord_t *loc=NULL) |
Node construction shortcut for PORTLIST_END sentinal at end of port list. | |
CNode * | cMACRO_EXPR (const char *a0, CNode *a1, Coord_t *loc=NULL) |
Node construction shortcut for MACRO_EXPR expression represented by a macro. | |
int | Equivalent (CNode *a, CNode *b) |
void | CNodeTestHarness () |
Variables | |
const char * | nodeOpName [] |
const char * | nodeOpDescription [] |
Definitions for parse tree nodes.
enum NodeOp_t |
Parse tree opcodes.
void CNodeTestHarness | ( | ) |
const char * nodeOpDescription |
const char * nodeOpName |