List of all parse tree nodes
ERROR
error node
VCONSTANT
vector constant
- Arg<CVector*>(0): Pointer to vector
RCONSTANT
real constant
- Arg<char*>(0): Pointer to string
COMMENT
comment
- Arg<const char*>(0): Pointer to string
VRQ
vrq comment
- Arg<const char*>(0): Pointer to string
PRAGMA
program pragma
- Arg<const char*>(0): Pointer to string
ELIST
expression list
- Arg<CNode*>(0): expression1
- Arg<CNode*>(1): expression2
WIDTH
expression width change
- Arg<CNode*>(0): width expression
- Arg<CNode*>(1): expression
NOP
no operation
SUB
subtract
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
MUL
multiply
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
DIV
divide
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
POW
exponent
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
ADD
addition
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
LSH
logical left shift
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
RSH
logical right shift
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
LSHA
arithmetic left shift
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
RSHA
arithmetic right shift
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
MOD
modulus
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
OR
bitwise or
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
AND
bitwise and
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
ANDANDAND
triple and
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
XOR
bitwise xor
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
XNOR
bitwise xnor
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
INSTANCE_REF
instance reference
- Arg<CInstance*>(0): Pointer to a instance
GATE_REF
gate instance
- Arg<CGate*>(0): Pointer to a gate
TASK_ENABLE
call to a task
- Arg<CSymbol*>(0): Pointer to symbol for task to call
- Arg<CNode*>(1): Argument expression list
SYSTASK_CALL
call to enable a systask
- Arg<CSymbol*>(0): Pointer to symbol for systask to call
- Arg<CNode*>(1): Argument expression list
TIMING_CALL
call to a timing task
- Arg<CSymbol*>(0): Pointer to symbol of timing task
- Arg<CNode*>(1): Argument expression list
FUNCTION_CALL
call to a function
- Arg<CSymbol*>(0): Pointer to symbol of the function
- Arg<CNode*>(1): Argument expression list
- Arg<CScope*>(2): Scope containing expression
ARRAY
dimensioned reference (array/bit select)
- Arg<CNode*>(0): Reference to variable
- Arg<CNode*>(1): List of index expressions
NET_REF
reference to net
- Arg<CNet*>(0): Pointer to net
VAR_REF
reference to variable
- Arg<CVar*>(0): Pointer to variable
PARAM_REF
reference to parameter
- Arg<CParam*>(0): Pointer to parameter
PORT_REF
reference to port
- Arg<CPortDir*>(0): Pointer to port
FWD_REF
reference to a forward declared variable
- Arg<CFref*>(0): Pointer to forward declared variable
GENVAR_REF
reference to a genvar
- Arg<CGenvar*>(0): Pointer to a genvar
ENUM_REF
reference to a enum
- Arg<CEnum*>(0): Pointer to a enum
TYPE_REF
reference to a type
- Arg<CTypedef*>(0): Pointer to a typedef
NET_DECL
net declaration
- Arg<CNet*>(0): Pointer to a net
- Arg<CNode*>(1): continous assignment (optional)
VAR_DECL
variable declaration
- Arg<CVar*>(0): Pointer to a variable
- Arg<CNode*>(1): procedural assignment (optional)
PARAM_DECL
parameter declaration
- Arg<CParam*>(0): Pointer to a parameter
SPECPARAM_DECL
specify parameter declaration
- Arg<CParam*>(0): Pointer to a specify parameter
PORT_DECL
port declaration
- Arg<CPortDir*>(0): Pointer to a port
GENVAR_DECL
genvar declaration
- Arg<CGenvar*>(0): Pointer to a genvar
TYPEDEF_DECL
type declaration
- Arg<CTypedef*>(0): Pointer to a typedef
LIST
list of nodes
- Arg<CNode*>(0): node 1
- Arg<CNode*>(1): node 2
RANGE
vector decl range specification
- Arg<CNode*>(0): msb expression, if lsb is null range is msb-1:0
- Arg<CNode*>(1): lsb expression, if NULL range is msb-1:0
SLICE
vector subrange
- Arg<CNode*>(0): msb expression
- Arg<CNode*>(1): lsb expression
PSLICE
vector subrange with ascending index select
- Arg<CNode*>(0): index expression
- Arg<CNode*>(1): width expression
MSLICE
vector subrange with descending index select
- Arg<CNode*>(0): index expression
- Arg<CNode*>(1): width expression
CVRI
convert real to integer
- Arg<CNode*>(0): expression
CVIR
convert integer to real
- Arg<CNode*>(0): expression
REP
replication operator
- Arg<CNode*>(0): replication expression
- Arg<CNode*>(1): expression to replicate
CAT
concatenation operator
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
UCAT
unary concat
- Arg<CNode*>(0): expression
COM
bitwise complement
- Arg<CNode*>(0): expression
NEG
negation
- Arg<CNode*>(0): expression
PLUS
unary plus
- Arg<CNode*>(0): expression
NOT
logical complement
- Arg<CNode*>(0): expression
GT
greater than
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
GE
greater than or equal
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
LT
less than
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
LE
less than or equal
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
LAND
logical and
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
LOR
logical or
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
CEQ
case equal
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
CNE
case not equal
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
EQ
equal
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
NE
not equal
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
RAND
reduction and
- Arg<CNode*>(0): expression
RNAND
reduction nand
- Arg<CNode*>(0): expression
ROR
reduction or
- Arg<CNode*>(0): expression
RNOR
reduction nor
- Arg<CNode*>(0): expression
RXOR
reduction xor
- Arg<CNode*>(0): expression
RXNOR
reduction xnor
- Arg<CNode*>(0): expression
HOOK
condition expression operator
- Arg<CNode*>(0): condition expression
- Arg<CNode*>(1): true expression
- Arg<CNode*>(2): false expression
INIT
initial block
ALWAYS
always block
ALWAYS_LATCH
always latch block
ALWAYS_FF
always flip-flop block
ALWAYS_COMB
always combinational logic block
EVENT
event statement
- Arg<CNode*>(0): event expression (NULL for @*)
- Arg<CNode*>(1): statement
BLOCK_REF
statement block
- Arg<CBlock*>(0): pointer to block
- Arg<CNode*>(1): list of statements
SPECIFY_REF
specify block
- Arg<CSpecify*>(0): pointer to specify structure
- Arg<CNode*>(1): list of statements
ASSIGN
procedural assignment
- Arg<CNode*>(0): event expression
- Arg<CNode*>(1): lval
- Arg<CNode*>(2): rval
ADD_ASSIGN
procedural assignment with add
- Arg<CNode*>(0): event expression
- Arg<CNode*>(1): lval
- Arg<CNode*>(2): rval
SUB_ASSIGN
procedural assignment with subtract
- Arg<CNode*>(0): event expression
- Arg<CNode*>(1): lval
- Arg<CNode*>(2): rval
MUL_ASSIGN
procedural assignment with mul
- Arg<CNode*>(0): event expression
- Arg<CNode*>(1): lval
- Arg<CNode*>(2): rval
DIV_ASSIGN
procedural assignment with div
- Arg<CNode*>(0): event expression
- Arg<CNode*>(1): lval
- Arg<CNode*>(2): rval
MOD_ASSIGN
procedural assignment with mod
- Arg<CNode*>(0): event expression
- Arg<CNode*>(1): lval
- Arg<CNode*>(2): rval
AND_ASSIGN
procedural assignment with bitwise and
- Arg<CNode*>(0): event expression
- Arg<CNode*>(1): lval
- Arg<CNode*>(2): rval
OR_ASSIGN
procedural assignment with bitwise or
- Arg<CNode*>(0): event expression
- Arg<CNode*>(1): lval
- Arg<CNode*>(2): rval
XOR_ASSIGN
procedural assignment with bitwise xor
- Arg<CNode*>(0): event expression
- Arg<CNode*>(1): lval
- Arg<CNode*>(2): rval
LSH_ASSIGN
procedural assignment with left shift
- Arg<CNode*>(0): event expression
- Arg<CNode*>(1): lval
- Arg<CNode*>(2): rval
RSH_ASSIGN
procedural assignment with right shift
- Arg<CNode*>(0): event expression
- Arg<CNode*>(1): lval
- Arg<CNode*>(2): rval
LSHA_ASSIGN
procedural assignment with left arithmetic shift
- Arg<CNode*>(0): event expression
- Arg<CNode*>(1): lval
- Arg<CNode*>(2): rval
RSHA_ASSIGN
procedural assignment with right arithmetic shift
- Arg<CNode*>(0): event expression
- Arg<CNode*>(1): lval
- Arg<CNode*>(2): rval
FORCE
force statement
- Arg<CNode*>(0): lval
- Arg<CNode*>(1): expression
RELEASE
release statement
NBASSIGN
nonblocking assignment
- Arg<CNode*>(0): event expression
- Arg<CNode*>(1): lval
- Arg<CNode*>(2): rval
POSEDGE
positive event qualifier
- Arg<CNode*>(0): expression
NEGEDGE
negative event qualifier
- Arg<CNode*>(0): expression
EDGE
edge qualifier
- Arg<CNode*>(0):
- Arg<Edge_t>(1): edge specification
EVOR
event or
- Arg<CNode*>(0): expression 1
- Arg<CNode*>(1): expression 2
DELAY
delay statement
- Arg<CNode*>(0): delay expression
- Arg<CNode*>(1): statements
MTM
min/typ/max expression
- Arg<CNode*>(0): minimum expression
- Arg<CNode*>(1): typical expression
- Arg<CNode*>(2): maximum expression
IF
if statement
- Arg<CNode*>(0): condition
- Arg<CNode*>(1): true statements
- Arg<CNode*>(2): false statements
FOREVER
forever statement
- Arg<CNode*>(0): statements
REPEAT
repeat statement
- Arg<CNode*>(0): condition
- Arg<CNode*>(1): statements
WHILE
while statement
- Arg<CNode*>(0): condition
- Arg<CNode*>(1): statements
WAIT
wait statement
- Arg<CNode*>(0): condition
- Arg<CNode*>(1): statements
FOR
for statement
- Arg<CNode*>(0): initial statement
- Arg<CNode*>(1): condition
- Arg<CNode*>(2): assignment statement
- Arg<CNode*>(3): statements
CASE
case statement
- Arg<CNode*>(0): condition
- Arg<CNode*>(1): list of case items
CASEX
casex statement
- Arg<CNode*>(0): condition
- Arg<CNode*>(1): list of case items
CASEZ
casez statement
- Arg<CNode*>(0): condition
- Arg<CNode*>(1): list of case items
CASEITEM
case item
- Arg<CNode*>(0): list of expressions (NULL for default)
- Arg<CNode*>(1): statement
CASSIGN
continious assignment
- Arg<StrengthPair_t*>(0): assignment strength
- Arg<CNode*>(1): delay expression
- Arg<CNode*>(2): lval
- Arg<CNode*>(3): rval expression
ARG
port connection
- Arg<CSymbol*>(0): port name
- Arg<CNode*>(1): port expression
FUNCTION_DEF
function definition
MODULE_DEF
module definition
REPEAT_CONTROL
repeat control
- Arg<CNode*>(0): expression
- Arg<CNode*>(1): event control
DELAY_CONTROL
delay control
- Arg<CNode*>(0): expression
EVENT_CONTROL
event control
- Arg<CNode*>(0): event expression (NULL for @*)
EXTERNAL_REF
external reference
- Arg<CSymbol*>(0): pointer to symbol
PORT_DEF
port definition
- Arg<CPort*>(0): pointer to port
DEFPARAM
defparam statement
- Arg<CNode*>(0): external reference
- Arg<CNode*>(1): expression
PATH
path statement
- Arg<int>(0):
- Arg<CNode*>(1): edge int[-1,0,1]
- Arg<int>(2): Input list
- Arg<int>(3): Left polarity int[-1,0,1]
- Arg<CNode*>(4): Operation type int [0 = *>, 1 = =>]
- Arg<int>(5): Output list
- Arg<CNode*>(6): Right polarity int[-1,0,1]
PATH_ASSIGN
path assignment statement
- Arg<CNode*>(0): condition
- Arg<CNode*>(1): path
- Arg<CNode*>(2): expression
IFNONE_PATH_ASSIGN
ifnone path assignment statement
- Arg<CNode*>(0): path
- Arg<CNode*>(1): expression
TRIGGER
event trigger
- Arg<CNode*>(0): event reference
PASSIGN
procedural assignment
- Arg<CNode*>(0): lval
- Arg<CNode*>(1): expression
DEASSIGN
deassign statement
DISABLE
disable statement
- Arg<CSymbol*>(0): pointer to symbol
ATTRIBUTE
attribute specification
- Arg<CAttr*>(0): pointer to attribute
GIF
structural if statement
- Arg<CNode*>(0): condition
- Arg<CNode*>(1): true statement
- Arg<CNode*>(2): false statement
GFOR
structural for statement
- Arg<CNode*>(0): initial statement
- Arg<CNode*>(1): condition
- Arg<CNode*>(2): assignment statement
- Arg<CNode*>(3): statement
GCASE
structural case statement
- Arg<CNode*>(0): condition
- Arg<CNode*>(1): list of case items
TABLE
udp table
- Arg<CNode*>(0): list of table entries
TABLE_ENTRY
udp table entry
- Arg<CNode*>(0): list of table symbols
TABLE_SYMBOL
udp table symbol
- Arg<char*>(0): string of udp characters
PORTLIST_END
sentinal at end of port list
MACRO_EXPR
expression represented by a macro
- Arg<const char*>(0): alternate expression, may be NULL
- Arg<CNode*>(1):
ENUM_SPEC
enum specification
- Arg<CSymbol*>(0): Pointer to enum base symbol
- Arg<CNode*>(1): range expression
- Arg<CNode*>(2): starting expression value
MEMBER
member reference (structure, class or external
- Arg<CNode*>(0): Reference to variable
- Arg<CSymbol*>(1): member symbol
RETURN
return
PREINC
preincrement
- Arg<CNode*>(0): expression
POSTINC
postincrement
- Arg<CNode*>(0): expression
PREDEC
predecrement
- Arg<CNode*>(0): expression
POSTDEC
postdecrement
- Arg<CNode*>(0): expression
CAST
data type change
- Arg<CNode*>(0): type reference or width expression
- Arg<CNode*>(1): expression