| always_construct |
'always' |
| binary_base |
"'B"
"'b" |
| binary_digit |
'0'
'1'
'X'
'Z'
'x'
'z' |
| binary_number |
"'B"
"'SB"
"'Sb"
"'b"
"'sB"
"'sb"
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9' |
| binary_operator |
'!='
'!=='
'%'
'&&'
'&'
'*'
'**'
'+'
'-'
'/'
'<'
'<<'
'<<<'
'<='
'=='
'==='
'>'
'>='
'>>'
'>>>'
'^'
'^~'
'|'
'||'
'~^' |
| block_item_declaration |
'event'
'integer'
'localparam'
'parameter'
'real'
'realtime'
'reg'
'time' |
| blocking_assignment |
'\'
'{'
ALPHA |
| case_item |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'$'
'&'
'('
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'default'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| case_statement |
'case'
'casex'
'casez' |
| charge_strength |
'(' |
| cmos_switch_instance |
'('
'\'
ALPHA |
| cmos_switchtype |
'cmos'
'rcmos' |
| combinational_body |
'table' |
| combinational_entry |
'0'
'1'
'?'
'B'
'X'
'b'
'x' |
| comment |
'/*'
'//' |
| concatenation |
'{' |
| conditional_statement |
'if' |
| constant_expression |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'&'
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| constant_mintypmax_expression |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'&'
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| constant_primary |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'{'
ALPHA |
| continuous_assign |
'assign' |
| controlled_timing_check_event |
'edge'
'negedge'
'posedge' |
| current_state |
'0'
'1'
'?'
'B'
'X'
'b'
'x' |
| data_source_expression |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'$'
'&'
'('
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| decimal_base |
"'D"
"'d" |
| decimal_digit |
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9' |
| decimal_number |
"'D"
"'SD"
"'Sd"
"'d"
"'sD"
"'sd"
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9' |
| delay2 |
'#' |
| delay3 |
'#' |
| delay_control |
'#' |
| delay_or_event_control |
'#'
'@'
'repeat' |
| delay_value |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'&'
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| description |
'macromodule'
'module'
'primitive' |
| disable_statement |
'disable' |
| drive_strength |
'(' |
| edge_control_specifier |
'edge' |
| edge_descriptor |
'01'
'0x'
'10'
'1x'
'x0'
'x1' |
| edge_identifier |
'negedge'
'posedge' |
| edge_indicator |
'('
'*'
'F'
'N'
'P'
'R'
'f'
'n'
'p'
'r' |
| edge_input_list |
'('
'*'
'0'
'1'
'?'
'B'
'F'
'N'
'P'
'R'
'X'
'b'
'f'
'n'
'p'
'r'
'x' |
| edge_sensitive_path_declaration |
'(' |
| edge_symbol |
'*'
'F'
'N'
'P'
'R'
'f'
'n'
'p'
'r' |
| enable_gate_instance |
'('
'\'
ALPHA |
| enable_gatetype |
'bufif0'
'bufif1'
'notif0'
'notif1' |
| enable_terminal |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'$'
'&'
'('
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| escaped_identifier |
'\' |
| event_control |
'@' |
| event_declaration |
'event' |
| event_expression |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'$'
'&'
'('
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'negedge'
'posedge'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| event_trigger |
'->' |
| expression |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'$'
'&'
'('
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| full_edge_sensitive_path_description |
'(' |
| full_path_description |
'(' |
| function_call |
'$'
'\'
ALPHA |
| function_declaration |
'function' |
| function_item_declaration |
'event'
'input'
'integer'
'localparam'
'parameter'
'real'
'realtime'
'reg'
'time' |
| gate_instantiation |
'and'
'buf'
'bufif0'
'bufif1'
'cmos'
'nand'
'nmos'
'nor'
'not'
'notif0'
'notif1'
'or'
'pmos'
'pulldown'
'pullup'
'rcmos'
'rnmos'
'rpmos'
'rtran'
'rtranif0'
'rtranif1'
'tran'
'tranif0'
'tranif1'
'xnor'
'xor' |
| hex_base |
"'H"
"'h" |
| hex_digit |
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'A'
'B'
'C'
'D'
'E'
'F'
'X'
'Z'
'a'
'b'
'c'
'd'
'e'
'f'
'x'
'z' |
| hex_number |
"'H"
"'SH"
"'Sh"
"'h"
"'sH"
"'sh"
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9' |
| identifier |
'\'
ALPHA |
| init_val |
"1'B0"
"1'B1"
"1'BX"
"1'Bx"
"1'b0"
"1'b1"
"1'bX"
"1'bx"
'0'
'1' |
| initial_construct |
'initial' |
| inout_declaration |
'inout' |
| inout_terminal |
'\'
ALPHA |
| input_declaration |
'input' |
| input_identifier |
'\'
ALPHA |
| input_terminal |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'$'
'&'
'('
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| integer_declaration |
'integer' |
| level_input_list |
'0'
'1'
'?'
'B'
'X'
'b'
'x' |
| level_symbol |
'0'
'1'
'?'
'B'
'X'
'b'
'x' |
| limit_value |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'&'
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| list_of_module_connections |
ø
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'$'
'&'
'('
'+'
','
'-'
'.'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| list_of_net_assignments |
'\'
'{'
ALPHA |
| list_of_net_decl_assignments |
'\'
ALPHA |
| list_of_net_identifiers |
'\'
ALPHA |
| list_of_param_assignments |
'\'
ALPHA |
| list_of_path_delay_expressions |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'&'
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| list_of_path_inputs |
'\'
ALPHA |
| list_of_path_outputs |
'\'
ALPHA |
| list_of_port_identifiers |
'\'
ALPHA |
| list_of_ports |
'(' |
| list_of_real_identifiers |
'\'
ALPHA |
| list_of_register_identifiers |
'\'
ALPHA |
| list_of_specparam_assignments |
'PATHPULSE$'
'\'
ALPHA |
| long_comment |
'/*' |
| loop_statement |
'for'
'forever'
'repeat'
'while' |
| mintypmax_expression |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'$'
'&'
'('
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| module_declaration |
'macromodule'
'module' |
| module_instance |
'\'
ALPHA |
| module_instantiation |
'\'
ALPHA |
| module_item |
'\'
'always'
'and'
'assign'
'buf'
'bufif0'
'bufif1'
'cmos'
'defparam'
'event'
'function'
'initial'
'inout'
'input'
'integer'
'localparam'
'nand'
'nmos'
'nor'
'not'
'notif0'
'notif1'
'or'
'output'
'parameter'
'pmos'
'pulldown'
'pullup'
'rcmos'
'real'
'realtime'
'reg'
'rnmos'
'rpmos'
'rtran'
'rtranif0'
'rtranif1'
'specify'
'supply0'
'supply1'
'task'
'time'
'tran'
'tranif0'
'tranif1'
'tri'
'tri0'
'tri1'
'triand'
'trior'
'trireg'
'wand'
'wire'
'wor'
'xnor'
'xor'
ALPHA |
| module_item_declaration |
'event'
'function'
'inout'
'input'
'integer'
'localparam'
'output'
'parameter'
'real'
'realtime'
'reg'
'supply0'
'supply1'
'task'
'time'
'tri'
'tri0'
'tri1'
'triand'
'trior'
'trireg'
'wand'
'wire'
'wor' |
| module_keyword |
'macromodule'
'module' |
| mos_switch_instance |
'('
'\'
ALPHA |
| mos_switchtype |
'nmos'
'pmos'
'rnmos'
'rpmos' |
| multiple_concatenation |
'{' |
| n_input_gate_instance |
'('
'\'
ALPHA |
| n_input_gatetype |
'and'
'nand'
'nor'
'or'
'xnor'
'xor' |
| n_output_gate_instance |
'('
'\'
ALPHA |
| n_output_gatetype |
'buf'
'not' |
| name_of_gate_instance |
'\'
ALPHA |
| name_of_instance |
'\'
ALPHA |
| name_of_system_function |
'$' |
| name_of_udp_instance |
'\'
ALPHA |
| named_port_connection |
'.' |
| ncontrol_terminal |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'$'
'&'
'('
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| net_assignment |
'\'
'{'
ALPHA |
| net_decl_assignment |
'\'
ALPHA |
| net_declaration |
'supply0'
'supply1'
'tri'
'tri0'
'tri1'
'triand'
'trior'
'trireg'
'wand'
'wire'
'wor' |
| net_lvalue |
'\'
'{'
ALPHA |
| net_type |
'supply0'
'supply1'
'tri'
'tri0'
'tri1'
'triand'
'trior'
'wand'
'wire'
'wor' |
| next_state |
'-'
'0'
'1'
'X'
'x' |
| non_blocking_assignment |
'\'
'{'
ALPHA |
| notify_register |
'\'
ALPHA |
| number |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9' |
| octal_base |
"'O"
"'o" |
| octal_digit |
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'X'
'Z'
'x'
'z' |
| octal_number |
"'O"
"'SO"
"'So"
"'o"
"'sO"
"'so"
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9' |
| ordered_port_connection |
ø
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'$'
'&'
'('
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| output_declaration |
'output' |
| output_identifier |
'\'
ALPHA |
| output_symbol |
'0'
'1'
'X'
'x' |
| output_terminal |
'\'
ALPHA |
| par_block |
'fork' |
| parallel_edge_sensitive_path_description |
'(' |
| parallel_path_description |
'(' |
| param_assignment |
'\'
ALPHA |
| parameter_declaration |
'localparam'
'parameter' |
| parameter_override |
'defparam' |
| parameter_value_assignment |
'#' |
| pass_en_switch_instance |
'('
'\'
ALPHA |
| pass_en_switchtype |
'rtranif0'
'rtranif1'
'tranif0'
'tranif1' |
| pass_switch_instance |
'('
'\'
ALPHA |
| pass_switchtype |
'rtran'
'tran' |
| path_declaration |
'('
'if'
'ifnone' |
| path_delay_expression |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'&'
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| path_delay_value |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'&'
'('
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| pcontrol_terminal |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'$'
'&'
'('
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| polarity_operator |
'+'
'-' |
| port |
ø
'.'
'\'
'{'
ALPHA |
| port_direction |
'inout'
'input'
'output' |
| port_expression |
'\'
'{'
ALPHA |
| port_reference |
'\'
ALPHA |
| primary |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'$'
'('
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'{'
ALPHA |
| procedural_continuous_assignment |
'assign'
'deassign'
'force'
'release' |
| procedural_timing_control_statement |
'#'
'@'
'repeat' |
| pull_gate_instance |
'('
'\'
ALPHA |
| pulldown_strength |
'(' |
| pullup_strength |
'(' |
| pulse_control_specparam |
'PATHPULSE$' |
| range |
'[' |
| range_or_type |
'['
'integer'
'real'
'realtime'
'time' |
| real_declaration |
'real' |
| real_number |
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9' |
| realtime_declaration |
'realtime' |
| reg_assignment |
'\'
'{'
ALPHA |
| reg_declaration |
'reg' |
| reg_lvalue |
'\'
'{'
ALPHA |
| register_name |
'\'
ALPHA |
| scalar_constant |
"'B0"
"'B1"
"'b0"
"'b1"
"1'B0"
"1'B1"
"1'b0"
"1'b1"
'0'
'1' |
| scalar_timing_check_condition |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'$'
'&'
'('
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| seq_block |
'begin' |
| seq_input_list |
'('
'*'
'0'
'1'
'?'
'B'
'F'
'N'
'P'
'R'
'X'
'b'
'f'
'n'
'p'
'r'
'x' |
| sequencial_body |
'initial'
'table' |
| sequencial_entry |
'('
'*'
'0'
'1'
'?'
'B'
'F'
'N'
'P'
'R'
'X'
'b'
'f'
'n'
'p'
'r'
'x' |
| short_comment |
'//' |
| sign |
'+'
'-' |
| signed_binary_base |
"'SB"
"'Sb"
"'sB"
"'sb" |
| signed_decimal_base |
"'SD"
"'Sd"
"'sD"
"'sd" |
| signed_hex_base |
"'SH"
"'Sh"
"'sH"
"'sh" |
| signed_octal_base |
"'SO"
"'So"
"'sO"
"'so" |
| simple_identifier |
ALPHA |
| simple_path_declaration |
'(' |
| single_identifier |
'\'
ALPHA |
| size |
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9' |
| source_text |
ø
'macromodule'
'module'
'primitive' |
| specify_block |
'specify' |
| specify_input_terminal_descriptor |
'\'
ALPHA |
| specify_item |
'$hold'
'$period'
'$recovery'
'$setup'
'$setuphold'
'$skew'
'$width'
'('
'if'
'ifnone'
'specparam' |
| specify_output_terminal_descriptor |
'\'
ALPHA |
| specify_terminal_descriptor |
'\'
ALPHA |
| specparam_assignment |
'PATHPULSE$'
'\'
ALPHA |
| specparam_declaration |
'specparam' |
| state_dependent_path_declaration |
'if'
'ifnone' |
| statement |
'#'
'$'
'->'
'@'
'\'
'assign'
'begin'
'case'
'casex'
'casez'
'deassign'
'disable'
'for'
'force'
'forever'
'fork'
'if'
'release'
'repeat'
'wait'
'while'
'{'
ALPHA |
| statement_or_null |
'#'
'$'
'->'
';'
'@'
'\'
'assign'
'begin'
'case'
'casex'
'casez'
'deassign'
'disable'
'for'
'force'
'forever'
'fork'
'if'
'release'
'repeat'
'wait'
'while'
'{'
ALPHA |
| strength0 |
'pull0'
'strong0'
'supply0'
'weak0' |
| strength1 |
'pull1'
'strong1'
'supply1'
'weak1' |
| string |
'"' |
| system_task_enable |
'$' |
| system_task_name |
'$' |
| system_timing_check |
'$hold'
'$period'
'$recovery'
'$setup'
'$setuphold'
'$skew'
'$width' |
| task_declaration |
'task' |
| task_enable |
'\'
ALPHA |
| task_item_declaration |
'event'
'inout'
'input'
'integer'
'localparam'
'output'
'parameter'
'real'
'realtime'
'reg'
'time' |
| time_declaration |
'time' |
| timing_check_condition |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'$'
'&'
'('
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| timing_check_event |
'\'
'edge'
'negedge'
'posedge'
ALPHA |
| timing_check_event_control |
'edge'
'negedge'
'posedge' |
| timing_check_limit |
"'B"
"'D"
"'H"
"'O"
"'SB"
"'SD"
"'SH"
"'SO"
"'Sb"
"'Sd"
"'Sh"
"'So"
"'b"
"'d"
"'h"
"'o"
"'sB"
"'sD"
"'sH"
"'sO"
"'sb"
"'sd"
"'sh"
"'so"
'!'
'"'
'$'
'&'
'('
'+'
'-'
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\'
'^'
'^~'
'{'
'|'
'~&'
'~'
'~^'
'~|'
ALPHA |
| udp_body |
'initial'
'table' |
| udp_declaration |
'primitive' |
| udp_initial_statement |
'initial' |
| udp_instance |
'('
'\'
ALPHA |
| udp_instantiation |
'\'
ALPHA |
| udp_port_declaration |
'input'
'output'
'reg' |
| udp_port_list |
'\'
ALPHA |
| unary_operator |
'!'
'&'
'+'
'-'
'^'
'^~'
'|'
'~&'
'~'
'~^'
'~|' |
| unsigned_number |
'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9' |
| wait_statement |
'wait' |