diff --git a/CMakeLists.txt b/CMakeLists.txt
index 96fd359..b9ec867 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -57,32 +57,6 @@
 set(CMAKE_CXX_FLAGS_DEBUG  "${CMAKE_CXX_FLAGS_DEBUG} -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -O0 -g ${MY_CXX_WARNING_FLAGS}")
 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -O3 -DNDEBUG ${MY_CXX_WARNING_FLAGS}")
 
-# Compiler-specific C++11 activation.
-if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel")
-    execute_process(
-        COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
-    # Just g++-5.0 and greater contain <codecvt> header. (test in ubuntu)
-    if (NOT (GCC_VERSION VERSION_GREATER 5.0 OR GCC_VERSION VERSION_EQUAL 5.0))
-        message(FATAL_ERROR "${PROJECT_NAME} requires g++ 5.0 or greater.")
-    endif ()
-elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND APPLE)
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
-elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
-    execute_process(
-        COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE CLANG_VERSION)
-    if (NOT (CLANG_VERSION VERSION_GREATER 4.2.1 OR CLANG_VERSION VERSION_EQUAL 4.2.1))
-        message(FATAL_ERROR "${PROJECT_NAME} requires clang 4.2.1 or greater.")
-    endif ()
-    # You can use libc++ to compile this project when g++ is NOT greater than or equal to 5.0.
-    if (WITH_LIBCXX)
-        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
-    endif()
-elseif ( MSVC_VERSION GREATER 1800 OR MSVC_VERSION EQUAL 1800 )
-  # Visual Studio 2012+ supports c++11 features
-else ()
-    message(FATAL_ERROR "Your C++ compiler does not support C++11.")
-endif ()
-
 # Flatbuffer
 set(flatbuffer-GENERATED_SRC
   ${PROJECT_SOURCE_DIR}/src/Cache/header_generated.h
diff --git a/grammar/SV3_1aLexer.g4 b/grammar/SV3_1aLexer.g4
new file mode 100644
index 0000000..8dc1183
--- /dev/null
+++ b/grammar/SV3_1aLexer.g4
@@ -0,0 +1,992 @@
+/*
+ Copyright 2019 Alain Dargelas
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+lexer grammar SV3_1aLexer;
+
+// ################################## TOKENS ##################################
+
+channels {
+   WHITESPACES,
+   COMMENTS
+}
+
+QMARK : '?' ;
+
+TICK_b0 : '\'b0' ;
+
+TICK_b1 : '\'b1' ; 
+
+TICK_B0 : '\'B0' ; 
+
+TICK_B1 : '\'B1' ;
+
+TICK_0 : '\'0' ;
+
+TICK_1 : '\'1' ;
+
+ONE_TICK_b0 : '1\'b0' ;
+
+ONE_TICK_b1 : '1\'b1' ;
+
+ONE_TICK_bx : '1\'bx' ;
+
+ONE_TICK_bX : '1\'bX' ;
+
+ONE_TICK_B0 : '1\'B0' ;
+
+ONE_TICK_B1 : '1\'B1' ;
+
+ONE_TICK_Bx : '1\'Bx' ;
+
+ONE_TICK_BX : '1\'BX' ;
+
+Pound_delay : '#' (' ')* [0-9] [0-9_.]* ;
+
+fragment
+Non_zero_unsigned_number : '1'..'9' ( '_' | Decimal_digit )* ;
+
+fragment
+Decimal_number
+    : Unsigned_number
+    | ( Non_zero_unsigned_number ' '* )? Decimal_base ' '* Unsigned_number
+    | ( Non_zero_unsigned_number ' '* )? Decimal_base ' '* X_digit ( '_' )*
+    | ( Non_zero_unsigned_number ' '* )? Decimal_base ' '* Z_digit ( '_' )*
+    ;
+
+/* binary_number ::= [ size ] binary_base binary_value */
+
+fragment
+Binary_number : ( Non_zero_unsigned_number ' '* )? Binary_base ' '* Binary_value ;
+
+/* octal_number ::= [ size ] octal_base octal_value */
+
+fragment
+Octal_number : ( Non_zero_unsigned_number ' '* )? Octal_base ' '* Octal_value ;
+
+/* hex_number ::= [ size ] hex_base hex_value */
+
+fragment
+Hex_number : ( Non_zero_unsigned_number ' '* )? Hex_base ' '* Hex_value ;
+
+Integral_number  
+    :   Decimal_number 
+    |   Octal_number   
+    |   Binary_number  
+    |   Hex_number     
+    ;
+
+/* real_number ::=
+fixed_point_number
+| unsigned_number [ . unsigned_number ] exp [ sign ] unsigned_number */
+
+Real_number
+    :   Fixed_point_number
+    |   Unsigned_number ( '.' Unsigned_number )? ('e'|'E') ( PLUS | MINUS )? Unsigned_number
+    ;
+
+/* fixed_point_number <<1>> ::= unsigned_number . unsigned_number */
+
+fragment
+Fixed_point_number : Unsigned_number DOT Unsigned_number ;
+
+/* unsigned_number <<1>> ::= decimal_digit { _ | decimal_digit } */
+
+fragment
+Unsigned_number : Decimal_digit ( '_' | Decimal_digit )* ;
+
+/* binary_value <<1>> ::= binary_digit { _ | binary_digit } */
+
+fragment
+Binary_value : ('_')* Binary_digit ( '_' | Binary_digit )* ;
+
+/* octal_value <<1>> ::= octal_digit { _ | octal_digit } */
+
+fragment
+Octal_value : ('_')* Octal_digit ( '_' | Octal_digit )* ;
+
+/* hex_value <<1>> ::= hex_digit { _ | hex_digit } */
+
+fragment
+Hex_value : ('_')* Hex_digit ( '_' | Hex_digit )* ;
+
+/* decimal_base <<1>> ::= [s|S]d | [s|S]D */
+
+fragment
+Decimal_base : '\'' ('s' | 'S')? ('d' | 'D') ;
+
+/* binary_base <<1>> ::= [s|S]b | [s|S]B */
+
+fragment
+Binary_base : '\'' ('s' | 'S')? ('b' | 'B') ;
+
+/* octal_base <<1>> ::= [s|S]o | [s|S]O */
+
+fragment
+Octal_base : '\'' ('s' | 'S')? ( 'o' | 'O') ;
+
+/* hex_base <<1>> ::ps [s|S]h | [s|S]H */
+
+fragment
+Hex_base : '\'' ('s' | 'S')?  ('h' | 'H') ;
+
+
+/* decimal_digit ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 */
+
+fragment
+Decimal_digit : '0'..'9' ;
+
+/* binary_digit ::= x_digit | z_digit | 0 | 1 */
+
+fragment
+Binary_digit : X_digit | Z_digit | ('0' | '1') ;
+
+/* octal_digit ::= x_digit | z_digit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 */
+
+fragment
+Octal_digit : X_digit | Z_digit | '0'..'7' ;
+
+/* hex_digit ::= x_digit | z_digit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f | A | B | C | D | E | F */
+
+fragment
+Hex_digit : X_digit | Z_digit | ('0'..'9' | 'a'..'f' | 'A'..'F') ;
+
+/* x_digit ::= x | X */
+
+fragment
+X_digit : ('x'| 'X') ;
+
+/* z_digit ::= z | Z | ? */
+
+fragment
+Z_digit : ('z'| 'Z' | QMARK)  ;
+
+/* edge_descriptor */
+
+/* z_or_x ::= x | X | z | Z */
+
+// A.8.8 Strings
+
+String
+ : '"'                          // a opening quote
+   (                            // start group
+     '\\' ~('\r')        // an escaped char other than a line break char
+     |                          // OR
+     ~('\\' | '"'| '\r' | '\n') // any char other than '"', '\' and line breaks
+   )*                           // end group and repeat zero or more times
+   '"'                          // the closing quote
+ ;
+
+// A.9.2 Comments
+
+/* one_line_comment ::= // comment_text \n */
+
+One_line_comment : '//' Comment_text '\r'? ('\n' | EOF) -> channel(COMMENTS);
+
+// block_comment ::= /* comment_text */ 
+
+Block_comment : '/*' Comment_text '*/' -> channel(COMMENTS);
+
+/* comment_text ::= { Any_ASCII_character } */
+
+fragment Comment_text : .*? ;
+
+SLLINE : 'SLline' ;
+
+ASSOCIATIVE_UNSPECIFIED : '[' [ ]* '*' [ ]* ']' ;
+
+ATSTAR : '@' ' '? '*' ;
+
+AT_PARENS_STAR : '@' ' '? '(' ' '? '*' ' '? ')' ;
+
+// 9.4 White space
+
+White_space : [ \t\n\r]+ -> channel(WHITESPACES) ;
+
+// ######################### LEXER RULES ################################
+
+INCLUDE : 'include';
+    
+LIBRARY : 'library' ;
+
+INCDIR : '-incdir' ;
+ 
+COMMA : ',' ;
+ 
+SEMICOLUMN : ';' ;
+
+COLUMNCOLUMN : '::' ;
+
+COLUMN : ':' ;
+
+DESIGN : 'design' ;
+
+DOT : '.' ;
+
+DEFAULT : 'default' ;
+
+INSTANCE : 'instance' ;
+
+CELL : 'cell' ;
+
+LIBLIST : 'liblist' ;
+
+USE : 'use' ;
+
+MODULE : 'module';
+
+ENDMODULE : 'endmodule' ;
+         
+OPEN_PARENS : '(' ;
+
+CLOSE_PARENS : ')' ;
+
+STAR : '*' ;
+
+EXTERN : 'extern' ;
+
+MACROMODULE : 'macromodule' ;
+
+INTERFACE : 'interface' ;
+
+ENDINTERFACE : 'endinterface' ;
+
+PROGRAM : 'program' ;
+
+ENDPROGRAM : 'endprogram' ;
+
+VIRTUAL : 'virtual' ; 
+
+CLASS : 'class' ; 
+
+ENDCLASS : 'endclass' ;
+
+EXTENDS : 'extends' ;
+
+PACKAGE : 'package' ;
+
+ENDPACKAGE : 'endpackage' ;
+
+TIMEUNIT : 'timeunit' ;
+
+TIMEPRECISION : 'timeprecision' ;
+
+CHECKER : 'checker' ;
+
+ENDCHECKER : 'endchecker' ;
+
+CONFIG : 'config' ;
+
+ENDCONFIG : 'endconfig' ;
+
+TYPE : 'type' ;
+
+UNTYPED : 'untyped' ;
+
+INPUT : 'input' ;
+
+OUTPUT : 'output' ;
+
+INOUT : 'inout' ;
+
+REF : 'ref' ;
+
+CLOCKING : 'clocking' ;
+
+DEFPARAM : 'defparam' ;
+
+BIND : 'bind' ;
+
+FORKJOIN : 'forkjoin' ;
+
+CONST : 'const' ;
+
+FUNCTION : 'function' ;
+
+NEW : 'new' ;
+
+STATIC : 'static' ;
+         
+PROTECTED : 'protected' ;
+
+LOCAL : 'local' ;
+
+RAND : 'rand' ;
+
+RANDC : 'randc' ;
+
+SUPER : 'super' ;
+
+ENDFUNCTION : 'endfunction' ;
+
+CONSTRAINT : 'constraint' ;
+
+OPEN_CURLY : '{' ;
+
+CLOSE_CURLY : '}' ;
+ 
+SOLVE : 'solve' ;
+ 
+BEFORE : 'before' ;
+
+IMPLY : '->' ;
+
+IF : 'if' ;
+
+ELSE : 'else';
+
+FOREACH : 'foreach' ;
+
+ASSIGN_VALUE : ':=' ;
+
+/* Replaced by COLUMN DIV :  ASSIGN_RANGE : ':/' ; */
+
+AUTOMATIC : 'automatic' ;
+
+LOCALPARAM : 'localparam' ;
+
+PARAMETER : 'parameter' ;
+
+SPECPARAM : 'specparam' ;
+
+IMPORT : 'import' ; 
+
+GENVAR : 'genvar' ;
+
+VECTORED : 'vectored' ;
+
+SCALARED : 'scalared' ;
+
+TYPEDEF : 'typedef' ;
+
+ENUM : 'enum';
+
+STRUCT : 'struct' ;
+
+UNION : 'union' ;
+
+PACKED : 'packed' ;
+
+STRING : 'string' ;
+ 
+CHANDLE : 'chandle' ;
+ 
+EVENT : 'event' ;
+
+OPEN_BRACKET : '[' ;
+
+CLOSE_BRACKET : ']' ;
+
+BYTE : 'byte' ;
+
+SHORTINT : 'shortint'; 
+
+INT : 'int' ;
+
+LONGINT : 'longint' ;
+
+INTEGER : 'integer' ;
+
+TIME : 'time' ;
+
+BIT : 'bit' ;
+
+LOGIC : 'logic' ;
+
+REG : 'reg' ;
+       
+SHORTREAL : 'shortreal' ;
+ 
+REAL : 'real' ;
+
+REALTIME : 'realtime' ;
+
+NEXTTIME : 'nexttime' ;
+
+S_NEXTTIME : 's_nexttime' ;
+
+S_ALWAYS : 's_always' ;
+
+UNTIL_WITH : 'until_with' ;
+
+S_UNTIL_WITH : 's_until_with';
+
+ACCEPT_ON      : 'accept_on' ;
+
+REJECT_ON      : 'reject_on' ;
+
+SYNC_ACCEPT_ON : 'sync_accept_on' ;
+
+SYNC_REJECT_ON : 'sync_reject_on' ;
+
+EVENTUALLY : 'eventually' ;
+
+S_EVENTUALLY : 's_eventually' ;
+
+SUPPLY0 : 'supply0' ;
+ 
+SUPPLY1 : 'supply1' ;
+
+TRI : 'tri' ;
+
+TRIAND : 'triand' ;
+
+TRIOR : 'trior' ;
+
+TRI0 : 'tri0' ;
+
+TRI1 : 'tri1' ;
+
+WIRE : 'wire' ;
+
+UWIRE : 'uwire' ;
+
+WAND : 'wand' ;
+
+WOR : 'wor' ;
+
+TRIREG : 'trireg' ;
+
+SIGNED : 'signed' ;
+ 
+UNSIGNED : 'unsigned' ;
+
+INTERCONNECT : 'interconnect' ;
+
+VAR : 'var' ;
+
+VOID : 'void' ;
+
+HIGHZ0 : 'highz0' ;
+    
+HIGHZ1 : 'highz1' ;
+
+STRONG : 'strong' ;
+
+WEAK : 'weak' ;
+
+STRONG0 : 'strong0' ;
+
+PULL0 : 'pull0' ;
+
+WEAK0 : 'weak0' ;
+
+STRONG1 : 'strong1' ;
+
+PULL1 : 'pull1' ;
+
+WEAK1 : 'weak1' ;
+
+SMALL : '(small)';
+
+MEDIUM : '(medium)' ;
+
+LARGE : '(large)' ;
+
+PATHPULSE : 'PATHPULSE' ;
+
+DOLLAR : '$' ;
+
+EXPORT : 'export' ;
+
+CONTEXT : 'context' ;
+
+PURE : 'pure' ;
+
+IMPLEMENTS : 'implements' ;
+
+ENDTASK : 'endtask' ;
+
+PLUSPLUS : '++' ;
+
+PLUS : '+' ;
+
+MINUSMINUS : '--' ;
+
+MINUS : '-' ;
+
+STARCOLUMNCOLUMNSTAR : '*::*' ;
+
+STARSTAR : '**' ;
+
+DIV : '/' ;
+
+PERCENT : '%' ;
+
+EQUIV : '==' ;
+
+NOTEQUAL : '!=' ;
+
+LESS : '<' ;
+
+LESS_EQUAL : '<=' ; 
+
+GREATER : '>' ;
+
+EQUIVALENCE : '<->' ;
+
+GREATER_EQUAL : '>=' ;
+
+MODPORT : 'modport' ;
+
+DOLLAR_UNIT : DOLLAR 'unit' ;
+
+OPEN_PARENS_STAR : '(*' ;
+
+STAR_CLOSE_PARENS : '*)' ;
+
+ASSERT : 'assert' ; 
+
+PROPERTY : 'property' ;
+
+ASSUME : 'assume' ;
+
+COVER : 'cover' ;
+
+EXPECT : 'expect' ;
+
+ENDPROPERTY : 'endproperty' ;
+
+DISABLE : 'disable' ;
+
+IFF : 'iff' ;
+
+OVERLAP_IMPLY : '|->' ;               
+
+NON_OVERLAP_IMPLY : '|=>' ;
+
+NOT : 'not' ;
+ 
+OR : 'or' ;
+
+AND : 'and' ;
+
+SEQUENCE : 'sequence' ;
+
+ENDSEQUENCE : 'endsequence' ;
+
+INTERSECT : 'intersect' ;
+
+FIRST_MATCH : 'first_match' ;
+ 
+THROUGHOUT : 'throughout' ;
+
+WITHIN : 'within' ;
+
+POUNDPOUND : '##' ;
+
+OVERLAPPED : '#-#' ;
+
+NONOVERLAPPED : '#=#' ;
+
+POUND : '#' ;
+
+CONSECUTIVE_REP : '[*' ;
+
+NON_CONSECUTIVE_REP : '[=' ;
+
+GOTO_REP : '[->' ;
+
+DIST : 'dist' ;
+
+COVERGROUP : 'covergroup' ;
+    
+ENDGROUP : 'endgroup' ;
+
+OPTION_DOT : 'option' DOT;
+ 
+TYPE_OPTION_DOT : 'type_option' DOT;
+
+ATAT : '@@' ;
+
+BEGIN : 'begin' ;
+
+END : 'end' ;
+
+WILDCARD : 'wildcard' ;
+
+BINS : 'bins';
+
+ILLEGAL_BINS : 'illegal_bins' ;
+
+IGNORE_BINS : 'ignore_bins' ;
+
+TRANSITION_OP : '=>' ;
+
+BANG : '!' ;
+
+SOFT : 'soft' ;
+
+UNTIL : 'until' ;
+
+S_UNTIL : 's_until' ;
+
+IMPLIES : 'implies' ;
+
+LOGICAL_AND : '&&' ;
+
+LOGICAL_OR : '||' ;
+
+BINSOF : 'binsof' ;
+
+PULLDOWN : 'pulldown' ;
+
+PULLUP : 'pullup' ;
+
+CMOS : 'cmos' ;
+
+RCMOS : 'rcmos' ;
+
+BUFIF0 : 'bufif0' ;
+           
+BUFIF1 : 'bufif1' ;
+
+NOTIF0 : 'notif0' ;
+
+NOTIF1 : 'notif1' ;
+
+NMOS : 'nmos' ; 
+
+PMOS : 'pmos' ; 
+
+RNMOS : 'rnmos' ; 
+
+RPMOS  : 'rpmos' ;
+
+NAND : 'nand' ;
+
+NOR  : 'nor' ;
+
+XOR  : 'xor' ;
+
+XNOR : 'xnor' ;
+
+BUF  : 'buf' ;
+
+TRANIF0  : 'tranif0' ;
+
+TRANIF1  : 'tranif1' ;
+
+RTRANIF1  : 'rtranif1' ;
+
+RTRANIF0  : 'rtranif0' ;
+
+TRAN  : 'tran' ;
+
+RTRAN : 'rtran' ;
+
+DOTSTAR : '.*' ;
+
+GENERATE : 'generate' ;
+ 
+ENDGENERATE : 'endgenerate' ;
+
+CASE : 'case' ;
+
+ENDCASE : 'endcase' ;
+
+FOR : 'for' ;
+
+GLOBAL : 'global' ;
+
+PRIMITIVE : 'primitive' ;
+
+ENDPRIMITIVE : 'endprimitive' ;
+
+TABLE : 'table' ;
+
+ENDTABLE : 'endtable' ;
+
+INITIAL : 'initial' ;
+
+ASSIGN : 'assign' ;
+
+ALIAS : 'alias' ;
+ 
+ALWAYS : 'always' ;
+
+ALWAYS_COMB : 'always_comb' ;
+
+ALWAYS_LATCH : 'always_latch' ;
+
+ALWAYS_FF : 'always_ff' ;
+ 
+ADD_ASSIGN : '+=' ;
+
+SUB_ASSIGN : '-=' ;
+
+MULT_ASSIGN : '*=' ;
+
+DIV_ASSIGN : '/=' ;
+
+MODULO_ASSIGN : '%=' ;
+
+BITW_AND_ASSIGN : '&=' ;
+
+BITW_OR_ASSIGN : '|=' ;
+
+BITW_XOR_ASSIGN : '^=' ;
+
+BITW_LEFT_SHIFT_ASSIGN : '<<=' ;
+
+BITW_RIGHT_SHIFT_ASSIGN : '>>=' ;
+
+DEASSIGN : 'deassign' ;
+
+FORCE : 'force' ;
+
+RELEASE : 'release' ;
+
+FORK : 'fork' ;
+
+JOIN : 'join' ;
+
+JOIN_ANY : 'join_any' ;
+
+JOIN_NONE : 'join_none' ;
+
+REPEAT : 'repeat' ;
+
+AT : '@' ;
+
+RETURN : 'return' ;
+
+BREAK : 'break' ;
+
+CONTINUE : 'continue' ;
+
+WAIT : 'wait' ;
+
+WAIT_ORDER : 'wait_order' ;
+
+UNIQUE : 'unique' ; 
+
+UNIQUE0 : 'unique0' ; 
+
+PRIORITY : 'priority' ;
+
+MATCHES : 'matches' ;
+
+CASEZ : 'casez' ;
+
+CASEX : 'casex' ;
+
+RANDCASE : 'randcase' ;
+
+TAGGED : 'tagged' ;
+
+FOREVER : 'forever' ;
+
+WHILE : 'while' ;
+
+DO : 'do' ;
+
+RESTRICT : 'restrict' ;
+
+LET : 'let' ;
+
+TICK : '\'';
+
+ENDCLOCKING : 'endclocking' ;
+
+RANDSEQUENCE : 'randsequence' ;
+
+SHIFT_RIGHT : '>>' ;
+
+SHIFT_LEFT : '<<' ;
+
+WITH : 'with' ;
+
+INC_PART_SELECT_OP : '+:' ;
+
+DEC_PART_SELECT_OP : '-:' ;
+
+INSIDE : 'inside' ;
+
+NULL_KEYWORD : 'null' ;
+
+THIS : 'this' ;
+          
+DOLLAR_ROOT : DOLLAR 'root' ;
+
+RANDOMIZE : 'randomize' ;
+
+FINAL : 'final' ;
+
+TASK : 'task' ;
+
+COVERPOINT : 'coverpoint' ;
+
+CROSS : 'cross' ;
+
+POSEDGE : 'posedge' ;
+            
+NEGEDGE : 'negedge' ;
+
+SPECIFY : 'specify' ;
+
+ENDSPECIFY : 'endspecify' ;
+
+PULSESTYLE_ONEVENT : 'pulsestyle_onevent' ;
+
+PULSESTYLE_ONDETECT : 'pulsestyle_ondetect' ;
+
+SHOWCANCELLED : 'showcancelled' ;
+
+NOSHOWCANCELLED : 'noshowcancelled' ;
+
+IFNONE : 'ifnone' ;
+
+SAMPLE : 'sample' ;
+
+EDGE : 'edge' ;
+
+NON_BLOCKING_TRIGGER_EVENT_OP : '->>' ;
+
+ARITH_SHIFT_RIGHT : '>>>' ;
+
+ARITH_SHIFT_LEFT : '<<<' ;
+
+ARITH_SHIFT_LEFT_ASSIGN : '<<<=' ;
+
+ARITH_SHIFT_RIGHT_ASSIGN : '>>>=' ;
+
+FOUR_STATE_LOGIC_EQUAL : '===' ;
+    
+FOUR_STATE_LOGIC_NOTEQUAL : '!==' ;
+
+BINARY_WILDCARD_EQUAL : '==?' ;
+
+BINARY_WILDCARD_NOTEQUAL : '!=?' ;
+
+FULL_CONN_OP : '*>' ;
+
+COND_PRED_OP : '&&&' ;
+
+BITW_AND : '&' ;
+
+BITW_OR : '|' ;
+
+REDUCTION_NOR : '~|' ;
+
+REDUCTION_NAND : '~&' ;
+
+REDUCTION_XNOR1 : '^~' ;
+
+WILD_EQUAL_OP : '=?=' ;
+
+WILD_NOTEQUAL_OP : '!?=' ;
+
+ASSIGN_OP : '=' ;
+
+NETTYPE : 'nettype' ;
+
+// A.9.3 Identifiers
+
+/* escaped_identifier ::= \ {any_ASCII_character_except_white_space} white_space */
+/* Example: \`~!-_=+\|[]{};:'"",./<>? */
+
+//Escaped_identifier : '^^^' [\\|+a-zA-Z0-9_$:,-/*{}()`~!=;'"<>?.]* '^^^' ;
+
+Escaped_identifier : '#~@' .*? '#~@' ;
+
+TILDA : '~' ;
+
+BITW_XOR : '^';
+
+REDUCTION_XNOR2 : '~^' ;
+
+/* simple_identifier <<2>> ::= [ a-zA-Z_ ] { [ a-zA-Z0-9_$ ] } */
+
+Simple_identifier : [a-zA-Z_] [a-zA-Z0-9_$]* ;
+
+TICK_LINE : '`line' ;
+
+TICK_TIMESCALE : '`timescale' ;
+
+TICK_BEGIN_KEYWORDS : '`begin_keywords' ; 
+
+TICK_END_KEYWORDS : '`end_keywords' ;
+
+TICK_UNCONNECTED_DRIVE : '`unconnected_drive' ;
+
+TICK_NOUNCONNECTED_DRIVE : '`nounconnected_drive' ;
+
+TICK_CELLDEFINE : '`celldefine' ;
+
+TICK_ENDCELLDEFINE : '`endcelldefine' ;
+
+TICK_DEFAULT_NETTYPE : '`default_nettype' ;
+
+TICK_DEFAULT_DECAY_TIME : '`default_decay_time' ;
+       
+TICK_DEFAULT_TRIREG_STRENGTH : '`default_trireg_strength' ;
+
+TICK_DELAY_MODE_DISTRIBUTED : '`delay_mode_distributed' ;   
+  
+TICK_DELAY_MODE_PATH : '`delay_mode_path' ;          
+  
+TICK_DELAY_MODE_UNIT : '`delay_mode_unit' ;           
+ 
+TICK_DELAY_MODE_ZERO : '`delay_mode_zero' ;
+
+TICK_ACCELERATE : '`accelerate';
+
+TICK_NOACCELERATE : '`noaccelerate';
+
+TICK_PROTECT : '`protect' ;
+
+TICK_DISABLE_PORTFAULTS : '`disable_portfaults' ;
+
+TICK_ENABLE_PORTFAULTS : '`enable_portfaults' ;
+
+TICK_NOSUPPRESS_FAULTS : '`nosuppress_faults' ;
+
+TICK_SUPPRESS_FAULTS : '`suppress_faults' ;
+
+TICK_SIGNED : '`signed' ;
+
+TICK_UNSIGNED : '`unsigned' ; 
+
+TICK_ENDPROTECT : '`endprotect' ; 
+
+TICK_PROTECTED : '`protected' ;
+
+TICK_ENDPROTECTED : '`endprotected' ; 
+
+TICK_EXPAND_VECTORNETS : '`expand_vectornets' ;
+
+TICK_NOEXPAND_VECTORNETS : '`noexpand_vectornets' ;
+
+TICK_AUTOEXPAND_VECTORNETS : '`autoexpand_vectornets' ;
+
+TICK_REMOVE_GATENAME : '`remove_gatename' ;
+
+TICK_NOREMOVE_GATENAMES : '`noremove_gatenames' ;
+
+TICK_REMOVE_NETNAME : '`remove_netname' ;
+
+TICK_NOREMOVE_NETNAMES : '`noremove_netnames' ; 
+
+ONESTEP : '1step' ;
+
+TICK_USELIB : '`uselib' ;
+
+TICK_PRAGMA : '`pragma' ;
+
+BACK_TICK : '`' ;
+
+SURELOG_MACRO_NOT_DEFINED : 'SURELOG_MACRO_NOT_DEFINED:' Simple_identifier '!!!' ;
+
diff --git a/grammar/SV3_1aParser.g4 b/grammar/SV3_1aParser.g4
new file mode 100644
index 0000000..3af92a2
--- /dev/null
+++ b/grammar/SV3_1aParser.g4
@@ -0,0 +1,3594 @@
+/*
+ Copyright 2019 Alain Dargelas
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+
+parser grammar SV3_1aParser; 
+
+options { tokenVocab = SV3_1aLexer; } 
+
+top_level_rule : null_rule source_text EOF ; // SV files
+
+top_level_library_rule : null_rule library_text EOF ; // .map files
+
+library_text : ( library_descriptions )* ;     
+     
+library_descriptions : library_declaration 
+                     | include_statement
+		     | config_declaration
+                     | SEMICOLUMN          
+                     ; 
+     
+library_declaration : 
+LIBRARY identifier file_path_spec  ( COMMA file_path_spec )*   
+ ( INCDIR file_path_spec ( COMMA file_path_spec )* )? SEMICOLUMN ; 
+
+file_path_spec : (Simple_identifier | DIV | DOT | STAR | DOTSTAR | QMARK)+; 
+
+include_statement : INCLUDE file_path_spec SEMICOLUMN ; 
+
+source_text : ( timeunits_declaration )? ( description )* ; 
+
+null_rule : ; // Placeholder rule that create the "0" VObject, DO NOT REMOVE
+
+description  
+    : module_declaration     
+    | udp_declaration        
+    | interface_declaration  
+    | program_declaration    
+    | package_declaration    
+    | surelog_macro_not_defined
+    | ( attribute_instance )* ( package_item 
+                              | bind_directive )  
+    | config_declaration     
+    | top_directives         
+    ; 
+
+module_nonansi_header : ( attribute_instance )* module_keyword ( lifetime )?  
+                        identifier ( package_import_declaration )* ( parameter_port_list )?  
+                        list_of_ports SEMICOLUMN ; 
+
+module_ansi_header : ( attribute_instance )* module_keyword ( lifetime )?  
+                     identifier ( package_import_declaration )* ( parameter_port_list )?  
+                    (list_of_port_declarations )? SEMICOLUMN ; 
+
+module_declaration  
+    : module_nonansi_header ( timeunits_declaration )? ( module_item )* 
+      endmodule ( COLUMN identifier )? 
+    | module_ansi_header ( timeunits_declaration )? ( non_port_module_item )*  
+      endmodule ( COLUMN identifier )? 
+    | ( attribute_instance )* module_keyword ( lifetime )? identifier  
+      OPEN_PARENS DOT STAR CLOSE_PARENS SEMICOLUMN 
+      ( timeunits_declaration )? ( module_item )* endmodule  
+      ( COLUMN identifier )?            
+    | EXTERN module_nonansi_header             
+    | EXTERN module_ansi_header                
+    ; 
+
+endmodule : ENDMODULE ; 
+     
+module_keyword  
+    : MODULE      
+    | MACROMODULE 
+    ; 
+
+interface_nonansi_header :  
+  ( attribute_instance )* INTERFACE ( lifetime )? interface_identifier  
+  ( parameter_port_list )? list_of_ports SEMICOLUMN ; 
+
+
+interface_ansi_header :  
+  ( attribute_instance )* INTERFACE ( lifetime )? interface_identifier  
+  ( parameter_port_list )? ( list_of_port_declarations )? SEMICOLUMN ; 
+   
+interface_declaration  
+: interface_nonansi_header ( timeunits_declaration )? ( interface_item )*  
+  endinterface ( COLUMN interface_identifier )? 
+| interface_ansi_header ( timeunits_declaration )? ( non_port_interface_item )*  
+  endinterface ( COLUMN interface_identifier )? 
+| ( attribute_instance )? INTERFACE interface_identifier  
+  OPEN_PARENS DOT STAR CLOSE_PARENS SEMICOLUMN 
+  ( timeunits_declaration )? ( interface_item )*  
+  endinterface ( COLUMN interface_identifier )?  
+| EXTERN interface_nonansi_header                
+| EXTERN interface_ansi_header                   
+; 
+
+endinterface : ENDINTERFACE ; 
+
+program_nonansi_header : 
+( attribute_instance ) PROGRAM ( lifetime )? identifier  
+( parameter_port_list )? list_of_ports SEMICOLUMN ;  
+
+program_ansi_header : 
+( attribute_instance )* PROGRAM ( lifetime )? identifier  
+( parameter_port_list )? ( list_of_port_declarations )? SEMICOLUMN ; 
+
+endchecker : ENDCHECKER ;
+
+checker_declaration : 
+      CHECKER identifier ( OPEN_PARENS checker_port_list? CLOSE_PARENS )? SEMICOLUMN 
+      ( ( attribute_instance )* checker_or_generate_item )* endchecker ( COLUMN identifier )?  
+      ; 
+
+program_declaration  
+: program_nonansi_header ( timeunits_declaration )? ( program_item )* 
+  endprogram ( COLUMN identifier )? 
+| program_ansi_header ( timeunits_declaration )? ( non_port_program_item )* 
+  endprogram ( COLUMN identifier )? 
+| ( attribute_instance )* PROGRAM identifier  
+  OPEN_PARENS DOT STAR CLOSE_PARENS SEMICOLUMN 
+  ( timeunits_declaration )? ( program_item )* 
+  endprogram ( COLUMN identifier )? 
+| EXTERN program_nonansi_header             
+| EXTERN program_ansi_header                
+; 
+
+endprogram : ENDPROGRAM ; 
+
+
+class_declaration  
+    : ( VIRTUAL )? CLASS ( lifetime )? identifier ( parameter_port_list )? 
+    ( EXTENDS class_type ( OPEN_PARENS list_of_arguments CLOSE_PARENS )? )? 
+    ( IMPLEMENTS interface_class_type ( COMMA interface_class_type )* )? 
+        SEMICOLUMN 
+    ( class_item )* 
+    endclass ( COLUMN identifier )?  
+    ; 
+
+endclass : ENDCLASS; 
+
+interface_class_type : 
+      ps_identifier ( parameter_value_assignment )? ; 
+
+interface_class_declaration : 
+      INTERFACE CLASS identifier ( parameter_port_list )? 
+      ( EXTENDS interface_class_type ( COMMA interface_class_type )* )? SEMICOLUMN  ( interface_class_item )* 
+      endclass ( COLUMN identifier )? 
+      ; 
+
+interface_class_item : type_declaration 
+    | ( attribute_instance )* interface_class_method SEMICOLUMN 
+    | local_parameter_declaration SEMICOLUMN 
+    | parameter_declaration SEMICOLUMN 
+    | SEMICOLUMN 
+    ; 
+
+interface_class_method : 
+      PURE VIRTUAL method_prototype ; 
+
+endpackage : ENDPACKAGE;
+
+package_declaration  
+    : ( attribute_instance )* PACKAGE identifier SEMICOLUMN 
+    ( timeunits_declaration )? ( ( attribute_instance )* package_item )* 
+    endpackage ( COLUMN identifier )?  
+    ; 
+
+timeunits_declaration  
+    : TIMEUNIT time_literal DIV time_literal SEMICOLUMN  # TimeUnitsDecl_TimeUnitDiv
+    | TIMEUNIT time_literal SEMICOLUMN  # TimeUnitsDecl_TimeUnit 
+    | TIMEPRECISION time_literal SEMICOLUMN          # TimeUnitsDecl_TimePrecision  
+    | TIMEUNIT time_literal SEMICOLUMN TIMEPRECISION  
+      time_literal SEMICOLUMN                        # TimeUnitsDecl_TimeUnitTimePrecision      
+    | TIMEPRECISION time_literal SEMICOLUMN TIMEUNIT  
+      time_literal SEMICOLUMN                        # TimeUnitsDecl_TimePrecisionTimeUnit 
+    ; 
+
+parameter_port_list  
+    : POUND OPEN_PARENS list_of_param_assignments  
+      ( COMMA parameter_port_declaration )* CLOSE_PARENS 
+    | POUND OPEN_PARENS parameter_port_declaration  
+      ( COMMA parameter_port_declaration )* CLOSE_PARENS 
+    | POUND OPEN_PARENS CLOSE_PARENS                     
+    ; 
+
+parameter_port_declaration  
+    : parameter_declaration               
+    | local_parameter_declaration         
+    | data_type list_of_param_assignments 
+    | TYPE list_of_type_assignments       
+    ; 
+
+list_of_ports : OPEN_PARENS port ( COMMA port )* CLOSE_PARENS ; 
+
+list_of_port_declarations : OPEN_PARENS ( ( attribute_instance )*  
+                            ansi_port_declaration ( COMMA ( attribute_instance )*  
+                            ansi_port_declaration )* )? CLOSE_PARENS ; 
+
+port_declaration  
+    : ( attribute_instance )* ( inout_declaration
+                              | input_declaration          
+                              | output_declaration         
+                              | ref_declaration            
+                              | interface_port_declaration ); 
+
+port  
+    : port_expression                                               
+    | DOT identifier OPEN_PARENS port_expression  CLOSE_PARENS 
+    ;   
+
+port_expression  
+    : port_reference                                
+    | ( port_reference ( COMMA port_reference )* )* 
+    ; 
+
+port_reference : identifier constant_select ; 
+
+port_direction  
+    : INPUT  # PortDir_Inp 
+    | OUTPUT # PortDir_Out 
+    | INOUT  # PortDir_Inout 
+    | REF    # PortDir_Ref 
+    ;     
+     
+net_port_header : ( port_direction )? net_port_type ; 
+
+variable_port_header : ( port_direction )? variable_port_type ; 
+
+interface_port_header  
+    : interface_identifier ( DOT identifier )? 
+    | INTERFACE ( DOT identifier )?            
+    ; 
+
+ansi_port_declaration  
+    : ( net_port_header | interface_port_header ) identifier  
+      ( unpacked_dimension )*  ( ASSIGN_OP constant_expression )?                         
+    | ( variable_port_header )? identifier variable_dimension*  
+      ( ASSIGN_OP constant_expression )?                  
+    | ( net_port_header | variable_port_header) DOT identifier OPEN_PARENS  
+      ( expression )? CLOSE_PARENS                    
+    ; 
+
+elaboration_system_task  
+    : DOLLAR Simple_identifier ( OPEN_PARENS number ( COMMA list_of_arguments )? CLOSE_PARENS )? SEMICOLUMN 
+    | DOLLAR Simple_identifier ( OPEN_PARENS list_of_arguments CLOSE_PARENS )? SEMICOLUMN  
+    | DOLLAR Simple_identifier ( OPEN_PARENS list_of_arguments CLOSE_PARENS )? SEMICOLUMN 
+    | DOLLAR Simple_identifier ( OPEN_PARENS list_of_arguments CLOSE_PARENS )? SEMICOLUMN 
+    ;
+    
+module_common_item  
+    : module_or_generate_item_declaration 
+    | interface_instantiation             
+    | program_instantiation               
+    | assertion_item                      
+    | bind_directive                      
+    | continuous_assign                   
+    | net_alias                           
+    | initial_construct                   
+    | final_construct                     
+    | always_construct                    
+    | loop_generate_construct             
+    | conditional_generate_construct      
+    | elaboration_system_task             
+    | system_task                         
+    ; 
+
+
+module_item  
+    : port_declaration SEMICOLUMN 
+    | non_port_module_item        
+    ; 
+
+
+module_or_generate_item  
+    : ( attribute_instance )* ( parameter_override    
+                              | gate_instantiation    
+                              | udp_instantiation     
+                              | module_instantiation  
+                              | module_common_item    
+                              ) ; 
+
+module_or_generate_item_declaration  
+    : package_or_generate_item_declaration            
+    | genvar_declaration                              
+    | clocking_declaration                            
+    | DEFAULT CLOCKING identifier SEMICOLUMN 
+    | DEFAULT DISABLE IFF expression_or_dist SEMICOLUMN 
+    ; 
+
+non_port_module_item  
+    : generated_module_instantiation                
+    | module_or_generate_item                       
+    | specify_block                                 
+    | ( attribute_instance )* specparam_declaration 
+    | program_declaration                           
+    | module_declaration                            
+    | timeunits_declaration                         
+    | system_task                                   
+    | surelog_macro_not_defined
+    | pragma_directive
+    ; 
+
+
+parameter_override : DEFPARAM list_of_defparam_assignments SEMICOLUMN ; 
+
+
+bind_directive : BIND  ( dollar_root_keyword )? identifier (( OPEN_BRACKET constant_expression CLOSE_BRACKET )* DOT identifier)* constant_select  
+                 bind_instantiation ; 
+
+
+bind_instantiation  
+    : program_instantiation    
+    | module_instantiation     
+    | interface_instantiation  
+    | checker_instantiation    
+    ; 
+
+
+
+interface_or_generate_item  
+    : ( attribute_instance )* ( module_common_item    
+                              | MODPORT modport_item ( COMMA modport_item )* SEMICOLUMN   
+                              | extern_tf_declaration ) 
+    ; 
+
+
+extern_tf_declaration  
+    : EXTERN method_prototype SEMICOLUMN        
+    | EXTERN FORKJOIN task_prototype SEMICOLUMN 
+; 
+
+interface_item  
+    : port_declaration SEMICOLUMN 
+    | non_port_interface_item     
+    ; 
+
+non_port_interface_item  
+    : generated_interface_instantiation   
+    | ( attribute_instance )*  specparam_declaration               
+    | interface_or_generate_item          
+    | program_declaration                 
+    | interface_declaration               
+    | timeunits_declaration               
+    | surelog_macro_not_defined
+    ; 
+
+program_item  
+    : port_declaration SEMICOLUMN 
+    | non_port_program_item       
+    ;    
+
+non_port_program_item  
+    : ( attribute_instance )* continuous_assign         
+    | ( attribute_instance )* module_or_generate_item_declaration                                    
+    | ( attribute_instance )* specparam_declaration     
+    | ( attribute_instance )* initial_construct         
+    | ( attribute_instance )* final_construct           
+    | ( attribute_instance )* concurrent_assertion_item 
+    | timeunits_declaration                             
+    | program_generate_item                             
+    | surelog_macro_not_defined
+    ; 
+
+program_generate_item : 
+      loop_generate_construct         
+    | conditional_generate_construct  
+    | generate_region                 
+    | elaboration_system_task         
+    ; 
+
+checker_port_list : 
+      checker_port_item ( COMMA checker_port_item )? ; 
+
+checker_port_item : 
+      attribute_instance* (INPUT | OUTPUT)? property_formal_type identifier 
+      variable_dimension* ( ASSIGN_OP property_actual_arg )? ; 
+
+checker_or_generate_item  
+    : checker_or_generate_item_declaration 
+    | initial_construct 
+    | always_construct 
+    | final_construct 
+    | assertion_item 
+    | continuous_assign 
+    | checker_generate_item 
+    ; 
+
+checker_or_generate_item_declaration  
+    : RAND* data_declaration 
+    | function_declaration 
+    | checker_declaration 
+    | assertion_item_declaration 
+    | covergroup_declaration 
+    | overload_declaration 
+    | genvar_declaration 
+    | clocking_declaration 
+    | DEFAULT CLOCKING identifier SEMICOLUMN 
+    | DEFAULT DISABLE IFF expression_or_dist SEMICOLUMN 
+    | SEMICOLUMN
+    | surelog_macro_not_defined
+//    | slline
+    ; 
+
+checker_generate_item  
+    : loop_generate_construct 
+    | conditional_generate_construct 
+    | generate_region 
+    | elaboration_system_task 
+    ; 
+
+class_item  
+    : ( attribute_instance )* ( class_property        
+                              | class_method          
+                              | class_constraint      
+                              | type_declaration      
+                              | class_declaration     
+                              | covergroup_declaration ) 
+    | local_parameter_declaration SEMICOLUMN        
+    | parameter_declaration SEMICOLUMN              
+    | surelog_macro_not_defined
+    | SEMICOLUMN                                    
+    ; 
+
+class_property  
+    : ( property_qualifier )* data_declaration      
+    | CONST ( class_item_qualifier )* data_type identifier  
+      ( ASSIGN_OP constant_expression )? SEMICOLUMN     
+    ; 
+
+pure_virtual_qualifier : PURE VIRTUAL ; 
+
+extern_qualifier : EXTERN ;
+
+class_method  
+    : ( method_qualifier )* (task_declaration | function_declaration | class_constructor_declaration)                   
+    | pure_virtual_qualifier ( class_item_qualifier )* method_prototype SEMICOLUMN 
+    | extern_qualifier ( method_qualifier )* ( method_prototype SEMICOLUMN | class_constructor_prototype )
+    ; 
+
+class_constructor_prototype : FUNCTION NEW ( OPEN_PARENS ( tf_port_list )? CLOSE_PARENS )?; 
+
+class_constraint  
+    : constraint_prototype    
+    | constraint_declaration  
+    ; 
+
+class_item_qualifier 
+    : STATIC    # ClassItemQualifier_Static 
+    | PROTECTED # ClassItemQualifier_Protected 
+    | LOCAL     # ClassItemQualifier_Local 
+    ; 
+
+property_qualifier  
+    : RAND                  # PropQualifier_Rand 
+    | RANDC                 # PropQualifier_Randc 
+    | class_item_qualifier  # PropQualifier_ClassItem 
+    ; 
+
+method_qualifier  
+    : VIRTUAL               # MethodQualifier_Virtual 
+    | class_item_qualifier  # MethodQualifier_ClassItem 
+    ; 
+
+method_prototype  
+    : task_prototype      
+    | function_prototype  
+    ; 
+
+super_dot_new : SUPER DOT NEW ;
+
+class_constructor_declaration  
+    : FUNCTION ( class_scope )? NEW ( OPEN_PARENS ( tf_port_list )? CLOSE_PARENS )? SEMICOLUMN 
+    ( block_item_declaration )* 
+    ( super_dot_new ( OPEN_PARENS list_of_arguments CLOSE_PARENS )? SEMICOLUMN )? 
+    ( function_statement_or_null )* 
+    endfunction ( COLUMN NEW )? ; 
+
+constraint_declaration : ( STATIC )? CONSTRAINT identifier constraint_block ; 
+     
+constraint_block : OPEN_CURLY ( constraint_block_item )* CLOSE_CURLY ; 
+     
+constraint_block_item  
+    : SOLVE solve_before_list BEFORE solve_before_list SEMICOLUMN 
+    | constraint_expression                                   
+    ; 
+
+solve_before_list : 
+      constraint_primary ( COMMA constraint_primary )* ; 
+
+constraint_primary : 
+      ( implicit_class_handle DOT | class_scope )?  ( dollar_root_keyword )? identifier (( OPEN_BRACKET constant_expression CLOSE_BRACKET )* DOT identifier)*  select ; 
+
+
+constraint_expression  
+    : SOFT? expression_or_dist SEMICOLUMN   
+    | uniqueness_constraint SEMICOLUMN      
+    | expression IMPLY constraint_set       
+    | IF OPEN_PARENS expression CLOSE_PARENS constraint_set  
+      ( ELSE constraint_set )?              
+    | FOREACH OPEN_PARENS ps_or_hierarchical_array_identifier OPEN_BRACKET loop_variables 
+      CLOSE_BRACKET CLOSE_PARENS constraint_set                                             
+    | DISABLE SOFT constraint_primary SEMICOLUMN 
+    ; 
+
+uniqueness_constraint : 
+      UNIQUE OPEN_CURLY open_range_list CLOSE_CURLY ; 
+
+     
+constraint_set  
+    : constraint_expression                             
+    | OPEN_CURLY ( constraint_expression )* CLOSE_CURLY  
+    ; 
+
+     
+dist_list : dist_item ( COMMA dist_item )* ; 
+
+     
+dist_item : value_range ( dist_weight )? ; 
+             
+/* Replaced by COLUMN DIV :  ASSIGN_RANGE : ':/' ; */
+dist_weight  
+    : ASSIGN_VALUE expression # DistWeight_AssignValue  
+    | COLUMN DIV expression   # DistWeight_AssignRange
+    ; 
+
+constraint_prototype : (extern_qualifier | pure_keyword )? ( STATIC )? CONSTRAINT identifier SEMICOLUMN ; 
+
+
+extern_constraint_declaration : 
+    ( STATIC )? CONSTRAINT class_scope identifier constraint_block ; 
+     
+identifier_list : identifier ( COMMA identifier )* ;    
+
+package_item  
+    : package_or_generate_item_declaration 
+    | specparam_declaration                
+    | anonymous_program                    
+    | package_export_declaration           
+    | timeunits_declaration
+//    | slline
+    ; 
+
+
+package_or_generate_item_declaration  
+    : net_declaration               
+    | data_declaration              
+    | task_declaration              
+    | function_declaration          
+    | checker_declaration           
+    | dpi_import_export             
+    | extern_constraint_declaration 
+    | class_declaration             
+    | interface_class_declaration   
+    | class_constructor_declaration 
+    | parameter_declaration SEMICOLUMN 
+    | local_parameter_declaration SEMICOLUMN  
+    | covergroup_declaration        
+    | overload_declaration          
+    | assertion_item_declaration    
+    | SEMICOLUMN                    
+    ; 
+
+anonymous_program : PROGRAM SEMICOLUMN ( anonymous_program_item )* endprogram ; 
+
+anonymous_program_item  
+    : task_declaration              
+    | function_declaration          
+    | class_declaration             
+    | covergroup_declaration        
+    | class_constructor_declaration 
+    | SEMICOLUMN                    
+    | surelog_macro_not_defined
+//    | slline
+    ; 
+
+local_parameter_declaration 
+   : LOCALPARAM data_type_or_implicit list_of_param_assignments 
+   | LOCALPARAM TYPE list_of_param_assignments                  
+   ; 
+
+
+parameter_declaration  
+    : PARAMETER data_type_or_implicit list_of_param_assignments 
+    | PARAMETER TYPE list_of_type_assignments                   
+    ; 
+     
+
+specparam_declaration : 
+    SPECPARAM ( packed_dimension )? list_of_specparam_assignments SEMICOLUMN ; 
+
+
+
+inout_declaration : INOUT net_port_type list_of_port_identifiers ; 
+
+
+input_declaration  
+    : INPUT net_port_type list_of_port_identifiers     
+    | INPUT variable_port_type? list_of_variable_identifiers 
+    ; 
+
+
+output_declaration  
+    : OUTPUT net_port_type list_of_port_identifiers             
+    | OUTPUT variable_port_type? list_of_variable_port_identifiers    
+    ; 
+
+
+interface_port_declaration  
+    : interface_identifier list_of_interface_identifiers 
+    | interface_identifier DOT identifier  
+      list_of_interface_identifiers                      
+    ; 
+
+
+ref_declaration : REF variable_port_type list_of_variable_identifiers ; 
+
+
+
+data_declaration 
+    : ( CONST )? ( VAR )? ( lifetime )? variable_declaration
+    | type_declaration                              
+    | package_import_declaration
+    | net_type_declaration                          
+//  | virtual_interface_declaration                 
+    ;
+    
+variable_declaration : (  data_type                               
+                        | signing ( packed_dimension )*      
+                        | ( packed_dimension )+
+		       )
+			list_of_variable_decl_assignments SEMICOLUMN ;
+
+package_import_declaration : 
+    IMPORT package_import_item ( COMMA package_import_item )*  SEMICOLUMN ; 
+
+
+package_import_item  
+    : identifier COLUMNCOLUMN identifier 
+    | identifier COLUMNCOLUMN STAR       
+    ; 
+
+package_export_declaration  
+      : EXPORT STARCOLUMNCOLUMNSTAR SEMICOLUMN 
+      | EXPORT package_import_item ( COMMA package_import_item )? SEMICOLUMN 
+      ; 
+
+genvar_declaration : GENVAR identifier_list SEMICOLUMN ; 
+
+net_declaration  
+    : net_type ( drive_strength | charge_strength )? ( VECTORED | SCALARED )? 
+      data_type_or_implicit ( delay3 )? list_of_net_decl_assignments SEMICOLUMN 
+    | identifier delay_control? list_of_net_decl_assignments SEMICOLUMN 
+    | INTERCONNECT implicit_data_type ( pound_delay_value )? identifier unpacked_dimension* 
+      ( COMMA identifier unpacked_dimension* )? SEMICOLUMN 
+   ; 
+
+
+type_declaration  
+    : TYPEDEF
+       (
+           ( (data_type | net_type) identifier variable_dimension* ) 
+         | ( identifier constant_bit_select DOT identifier identifier )
+	 | ( ( enum_keyword | struct_keyword | union_keyword | class_keyword | interface_class_keyword )? identifier )
+       )
+      SEMICOLUMN
+    ;
+
+enum_keyword : ENUM;
+
+struct_keyword : STRUCT;
+
+union_keyword : UNION;
+
+class_keyword : CLASS;
+
+interface_class_keyword : INTERFACE CLASS;
+
+net_type_declaration  
+    : NETTYPE
+        (
+            ( data_type identifier ( WITH ( package_scope | class_scope )? identifier )? ) 
+          | ( ( package_scope | class_scope )? identifier identifier )
+	) 
+      SEMICOLUMN 
+    ; 
+
+lifetime 
+    : STATIC    # Lifetime_Static 
+    | AUTOMATIC # Lifetime_Automatic 
+    ;
+    
+casting_type  
+    : simple_type
+    | primary_literal                                  
+//    | ( package_scope | class_scope )? identifier constant_select ( OPEN_BRACKET constant_range_expression CLOSE_BRACKET )? 
+//    | constant_concatenation ( OPEN_BRACKET constant_range_expression CLOSE_BRACKET )?    
+//    | constant_multiple_concatenation ( OPEN_BRACKET constant_range_expression CLOSE_BRACKET )?                        
+//    | subroutine_call
+    | OPEN_PARENS constant_mintypmax_expression CLOSE_PARENS 
+//    | casting_type TICK ( OPEN_PARENS constant_expression CLOSE_PARENS | constant_concatenation | constant_multiple_concatenation )                      
+//    | constant_assignment_pattern_expression           
+//    | type_reference
+    | signing    
+    | string_type   
+    | const_type
+    | system_task
+    ;
+    
+data_type  
+    : integer_vector_type ( signing )? ( packed_dimension )* 
+    | integer_atom_type ( signing )?                         
+    | non_integer_type                                       
+    | struct_union ( packed_keyword ( signing )? )? OPEN_CURLY struct_union_member ( struct_union_member )* CLOSE_CURLY ( packed_dimension )* 
+    | ENUM ( enum_base_type )? OPEN_CURLY enum_name_declaration ( COMMA enum_name_declaration )* CLOSE_CURLY           
+    | string_type                                               
+    | chandle_type                                             
+    | VIRTUAL ( INTERFACE )? interface_identifier ( parameter_value_assignment )? ( DOT identifier )?                            
+    | ( class_scope | package_scope )? identifier ( ( packed_dimension )+ | (( parameter_value_assignment )?  ( COLUMNCOLUMN identifier ( parameter_value_assignment )? )*) )      
+    | event_type                                                 
+    | type_reference                                         
+    ;
+
+packed_keyword : PACKED;
+
+string_type : STRING ;
+
+string_value : String ;
+
+chandle_type : CHANDLE ;
+
+event_type : EVENT ;
+
+const_type : CONST ;
+
+data_type_or_implicit  
+    : data_type                               
+    | ( signing )? ( packed_dimension )*      
+    ; 
+
+implicit_data_type : 
+      signing? packed_dimension*; 
+
+enum_base_type  
+    : integer_atom_type ( signing )?                         
+    | integer_vector_type ( signing )? ( packed_dimension )? 
+    | identifier ( packed_dimension )?                  
+    ; 
+
+enum_name_declaration  
+    : identifier  
+      ( OPEN_BRACKET Integral_number ( COLUMN Integral_number )? CLOSE_BRACKET )?  
+      ( ASSIGN_OP constant_expression )?  
+    ; 
+
+class_scope : class_type COLUMNCOLUMN ; 
+
+// identifier was inlined to lexer tokens for parsing speed
+class_type : 
+    ( Simple_identifier   
+    | Escaped_identifier  
+    | THIS                
+    | RANDOMIZE           
+    | SAMPLE
+    | DOLLAR_UNIT ) ( parameter_value_assignment )? ( COLUMNCOLUMN identifier ( parameter_value_assignment )? )* 
+    ; 
+
+integer_type  
+    : integer_vector_type 
+    | integer_atom_type   
+    ; 
+
+integer_atom_type  
+    : BYTE     # IntegerAtomType_Byte 
+    | SHORTINT # IntegerAtomType_Shortint 
+    | INT      # IntegerAtomType_Int 
+    | LONGINT  # IntegerAtomType_LongInt 
+    | INTEGER  # IntegerAtomType_Int 
+    | TIME     # IntegerAtomType_Time 
+    ; 
+
+integer_vector_type  
+    : BIT    # IntVec_TypeBit 
+    | LOGIC  # IntVec_TypeLogic 
+    | REG    # IntVec_TypeReg 
+    ; 
+
+
+non_integer_type  
+    : SHORTREAL  # NonIntType_ShortReal 
+    | REAL       # NonIntType_Real 
+    | REALTIME   # NonIntType_RealTime 
+    ; 
+
+
+net_type  
+    : SUPPLY0 # NetType_Supply0 
+    | SUPPLY1 # NetType_Supply1 
+    | TRI     # NetType_Tri 
+    | TRIAND  # NetType_TriAnd 
+    | TRIOR   # NetType_TriOr 
+    | TRIREG  # NetType_TriReg 
+    | TRI0    # NetType_Tri0 
+    | TRI1    # NetType_Tri1 
+    | UWIRE   # NetType_Uwire 
+    | WIRE    # NetType_Wire 
+    | WAND    # NetType_Wand 
+    | WOR     # NetType_Wor 
+    ; 
+
+net_port_type : 
+        net_type? data_type_or_implicit 
+      | identifier 
+      | INTERCONNECT implicit_data_type ; 
+
+variable_port_type 
+      : var_data_type 
+      | OPEN_BRACKET constant_range CLOSE_BRACKET
+      ;
+
+var_data_type : 
+        data_type 
+      | VAR data_type_or_implicit ; 
+  
+signing  
+    : SIGNED    # Signing_Signed 
+    | UNSIGNED  # Signing_Unsigned 
+    ; 
+  
+
+simple_type  
+    : integer_type       
+    | non_integer_type   
+    | ps_type_identifier 
+    ; 
+
+random_qualifier :
+       RAND  # RandomQualifier_Rand
+     | RANDC # RandomQualifier_RandC
+     ;
+
+struct_union_member : 
+( attribute_instance )* ( random_qualifier )? data_type_or_void list_of_variable_decl_assignments SEMICOLUMN ; 
+
+
+data_type_or_void  
+    : data_type 
+    | VOID      
+    ; 
+
+struct_union  
+    : struct_keyword            
+    | union_keyword ( tagged_keyword )? 
+    ; 
+
+tagged_keyword : TAGGED;
+
+type_reference : 
+      TYPE OPEN_PARENS expression CLOSE_PARENS | TYPE OPEN_PARENS data_type CLOSE_PARENS ; 
+
+drive_strength  
+    : OPEN_PARENS strength0 COMMA strength1 CLOSE_PARENS 
+    | OPEN_PARENS strength1 COMMA strength0 CLOSE_PARENS 
+    | OPEN_PARENS strength0 COMMA HIGHZ1 CLOSE_PARENS    
+    | OPEN_PARENS strength1 COMMA HIGHZ0 CLOSE_PARENS    
+    | OPEN_PARENS HIGHZ0 COMMA strength1 CLOSE_PARENS    
+    | OPEN_PARENS HIGHZ1 COMMA strength0 CLOSE_PARENS    
+; 
+
+strength0  
+    : SUPPLY0 # Strength0_Supply0 
+    | STRONG0 # Strength0_Strong0 
+    | PULL0   # Strength0_Pull0 
+    | WEAK0   # Strength0_Weak0 
+    ; 
+
+strength1  
+    : SUPPLY1 # Strength1_Supply1 
+    | STRONG1 # Strength1_Strong1 
+    | PULL1   # Strength1_Pull1 
+    | WEAK1   # Strength1_Weak1 
+    ;
+   
+charge_strength  
+    :  SMALL  # ChargeStrength_Small 
+    |  MEDIUM # ChargeStrength_Medium  
+    |  LARGE  # ChargeStrength_Large 
+    ; 
+
+delay3  
+    : pound_delay_value                                                
+    | POUND OPEN_PARENS mintypmax_expression ( COMMA mintypmax_expression  
+                       ( COMMA mintypmax_expression )? )? CLOSE_PARENS 
+    ; 
+
+delay2  
+    : pound_delay_value                          
+    | POUND OPEN_PARENS mintypmax_expression  
+      ( COMMA mintypmax_expression )? CLOSE_PARENS 
+    ;
+
+
+pound_delay_value
+   : Pound_delay (time_unit)?
+   | POUND delay_value ;
+
+delay_value 
+    : Integral_number 
+    | Real_number     
+    | ps_identifier   
+    | time_literal    
+    | ONESTEP         
+    | ps_or_hierarchical_identifier 
+//REMOVED  | Decimal_number 
+    ; 
+
+list_of_defparam_assignments : defparam_assignment ( COMMA defparam_assignment )* ; 
+
+list_of_interface_identifiers : interface_identifier ( unpacked_dimension )* 
+        ( COMMA interface_identifier ( unpacked_dimension )* )* ; 
+
+list_of_net_decl_assignments : net_decl_assignment ( COMMA net_decl_assignment )* ; 
+
+list_of_param_assignments : param_assignment ( COMMA param_assignment )* ; 
+
+list_of_port_identifiers : identifier ( unpacked_dimension )* 
+    ( COMMA identifier ( unpacked_dimension )* )* ; 
+
+list_of_specparam_assignments : specparam_assignment ( COMMA specparam_assignment )* ; 
+                                
+list_of_tf_variable_identifiers : identifier variable_dimension* ( ASSIGN_OP expression )? 
+    ( COMMA identifier variable_dimension* ( ASSIGN_OP expression )? )* ; 
+
+list_of_type_assignments : (identifier (ASSIGN_OP data_type)? ) ( COMMA (identifier (ASSIGN_OP data_type)? ) )* ; 
+
+list_of_variable_decl_assignments : variable_decl_assignment ( COMMA variable_decl_assignment )* ; 
+
+list_of_variable_identifiers : identifier variable_dimension* 
+        ( COMMA identifier variable_dimension* )* ; 
+
+list_of_variable_port_identifiers : identifier variable_dimension* ( ASSIGN_OP constant_expression )? 
+    ( COMMA identifier variable_dimension* ( ASSIGN_OP constant_expression )? )* ; 
+
+list_of_virtual_interface_decl : 
+    identifier ( ASSIGN_OP identifier )? 
+    ( COMMA identifier ( ASSIGN_OP identifier )? )* ; 
+
+defparam_assignment : hierarchical_identifier ASSIGN_OP constant_mintypmax_expression ; 
+
+net_decl_assignment : identifier ( unpacked_dimension )* ( ASSIGN_OP expression )? ; 
+
+param_assignment : identifier ( unpacked_dimension )* (ASSIGN_OP constant_param_expression)? ; 
+
+specparam_assignment  
+    : identifier ASSIGN_OP constant_mintypmax_expression  
+    | pulse_control_specparam                                   
+    ; 
+
+pulse_control_specparam  
+    : PATHPULSE DOLLAR ASSIGN_OP OPEN_PARENS  constant_mintypmax_expression
+      ( COMMA constant_mintypmax_expression )? CLOSE_PARENS SEMICOLUMN  
+    | PATHPULSE DOLLAR specify_input_terminal_descriptor  
+      DOLLAR specify_output_terminal_descriptor ASSIGN_OP OPEN_PARENS  
+      constant_mintypmax_expression ( COMMA constant_mintypmax_expression )? CLOSE_PARENS SEMICOLUMN  
+                                                            
+    ; 
+
+variable_decl_assignment  
+    : identifier ( (ASSIGN_OP class_new ) 
+                 | ( unsized_dimension variable_dimension*  ( ASSIGN_OP dynamic_array_new )?)
+		 | ( ASSIGN_OP NEW ( OPEN_PARENS list_of_arguments CLOSE_PARENS )?)
+                 | (variable_dimension* ( ASSIGN_OP expression )?) )		 
+         //        | ASSIGN_OP NEW ( OPEN_PARENS list_of_arguments CLOSE_PARENS )?                                                     
+    ; 
+
+class_new : (class_scope)? NEW ( OPEN_PARENS list_of_arguments CLOSE_PARENS | expression )? ; 
+
+dynamic_array_new : NEW OPEN_BRACKET expression CLOSE_BRACKET ( OPEN_PARENS expression CLOSE_PARENS )? ; 
+
+unpacked_dimension  
+    : OPEN_BRACKET constant_range CLOSE_BRACKET      
+    | OPEN_BRACKET constant_expression CLOSE_BRACKET 
+    ; 
+
+packed_dimension  
+    : OPEN_BRACKET constant_range CLOSE_BRACKET 
+    | unsized_dimension                         
+    ;                 
+
+
+associative_dimension  
+    : OPEN_BRACKET data_type CLOSE_BRACKET 
+    | ASSOCIATIVE_UNSPECIFIED    
+    ; 
+
+
+variable_dimension  
+    : unsized_dimension
+    | unpacked_dimension
+    | associative_dimension           
+    | queue_dimension                 
+    ; 
+
+queue_dimension : OPEN_BRACKET DOLLAR ( COLUMN constant_expression )? CLOSE_BRACKET ; 
+
+unsized_dimension : OPEN_BRACKET CLOSE_BRACKET ; 
+
+function_data_type  
+    : data_type 
+    | VOID      
+    ; 
+
+function_data_type_or_implicit  
+    : function_data_type                 
+    | ( signing )? ( packed_dimension )* 
+    ; 
+
+function_declaration : FUNCTION ( lifetime )? function_body_declaration ; 
+
+endfunction : ENDFUNCTION ;
+
+function_body_declaration  
+    : function_data_type_or_implicit 
+        ( interface_identifier DOT | class_scope )? identifier SEMICOLUMN
+        ( tf_item_declaration )* 
+        ( function_statement_or_null )* 
+        endfunction ( COLUMN identifier )?  
+    | function_data_type_or_implicit 
+        ( interface_identifier DOT | class_scope )? identifier OPEN_PARENS  
+        ( tf_port_list )? CLOSE_PARENS SEMICOLUMN 
+        ( block_item_declaration )* 
+        ( function_statement_or_null )* 
+        endfunction ( COLUMN identifier )?  
+    ;
+
+function_prototype : FUNCTION function_data_type_or_implicit identifier ( OPEN_PARENS ( tf_port_list )? CLOSE_PARENS )?;         
+         
+dpi_import_export  
+    : IMPORT string_value ( context_keyword | pure_keyword )? ( Simple_identifier ASSIGN_OP )?  function_prototype SEMICOLUMN  
+    | IMPORT string_value ( context_keyword )? ( Simple_identifier ASSIGN_OP )?  task_prototype  SEMICOLUMN      
+    | EXPORT string_value ( Simple_identifier ASSIGN_OP )? (function_name_decl | task_name_decl)  SEMICOLUMN 
+    ; 
+
+context_keyword : CONTEXT ;
+
+function_name_decl : FUNCTION identifier;
+
+task_name_decl : TASK identifier;
+
+pure_keyword : PURE;
+
+task_declaration : TASK ( lifetime )? task_body_declaration ; 
+
+endtask : ENDTASK ; 
+
+task_body_declaration  
+    : ( interface_identifier DOT | class_scope )? identifier SEMICOLUMN 
+    ( tf_item_declaration )* 
+    ( statement_or_null )* 
+    endtask ( COLUMN identifier )?   
+    | ( interface_identifier DOT | class_scope )? identifier OPEN_PARENS (tf_port_list )? CLOSE_PARENS SEMICOLUMN 
+    ( block_item_declaration )* 
+    ( statement_or_null )* 
+    endtask ( COLUMN identifier )? 
+    ; 
+
+
+tf_item_declaration  
+    : block_item_declaration 
+    | tf_port_declaration    
+    ; 
+
+tf_port_list : tf_port_item ( COMMA tf_port_item )* ; 
+
+tf_port_item : ( attribute_instance )* 
+        ( tf_port_direction )? ( VAR )? data_type_or_implicit 
+        identifier variable_dimension* ( ASSIGN_OP expression )? ; 
+
+tf_port_direction
+    : INPUT     # TfPortDir_Inp 
+    | OUTPUT    # TfPortDir_Out 
+    | INOUT     # TfPortDir_Inout 
+    | REF       # TfPortDir_Ref 
+    | CONST REF # TfPortDir_ConstRef      
+    ; 
+
+tf_port_declaration : ( attribute_instance )* tf_port_direction ( VAR )? 
+                      data_type_or_implicit list_of_tf_variable_identifiers SEMICOLUMN ; 
+
+
+task_prototype : TASK identifier ( OPEN_PARENS ( tf_port_list )? CLOSE_PARENS )?; 
+
+block_item_declaration  
+    : ( attribute_instance )* ( data_declaration                 
+                              | local_parameter_declaration      
+                              | parameter_declaration SEMICOLUMN 
+                              | overload_declaration )             
+                              ; 
+
+overload_declaration : BIND overload_operator FUNCTION data_type identifier  
+                       OPEN_PARENS overload_proto_formals CLOSE_PARENS SEMICOLUMN ; 
+
+overload_operator  
+    : PLUS          # OverloadOp_Plus 
+    | PLUSPLUS      # OverloadOp_PlusPlus 
+    | MINUS         # OverloadOp_Minus 
+    | MINUSMINUS    # OverloadOp_MinusMinus 
+    | STAR          # OverloadOp_Mult 
+    | STARSTAR      # OverloadOp_StarStar 
+    | DIV           # OverloadOp_Div 
+    | PERCENT       # OverloadOp_Percent 
+    | EQUIV         # OverloadOp_Equiv 
+    | NOTEQUAL      # OverloadOp_NotEqual 
+    | LESS          # OverloadOp_Less 
+    | LESS_EQUAL    # OverloadOp_LessEqual 
+    | GREATER       # OverloadOp_Greater 
+    | GREATER_EQUAL # OverloadOp_GreaterEqual 
+    | ASSIGN_OP     # OverloadOp_Equal 
+    ; 
+
+overload_proto_formals : data_type ( COMMA data_type)* ; 
+
+virtual_interface_declaration : VIRTUAL ( INTERFACE )? interface_identifier  
+                                list_of_virtual_interface_decl SEMICOLUMN ;  
+
+modport_item : identifier OPEN_PARENS modport_ports_declaration ( COMMA modport_ports_declaration )* CLOSE_PARENS ; 
+
+
+modport_ports_declaration  
+    : ( attribute_instance )* ( modport_simple_ports_declaration       
+                              | modport_hierarchical_ports_declaration 
+                              | modport_tf_ports_declaration           
+                              | CLOCKING identifier )                    
+    ; 
+
+modport_simple_ports_declaration : port_direction modport_simple_port  
+                                   ( COMMA modport_simple_port )* ; 
+
+modport_simple_port  
+    : identifier                               
+    | DOT identifier OPEN_PARENS ( expression )* 
+      CLOSE_PARENS                                  
+    ; 
+
+modport_hierarchical_ports_declaration : identifier  
+                                         ( OPEN_BRACKET constant_expression CLOSE_BRACKET )?  
+                                         DOT identifier ; 
+
+modport_tf_ports_declaration : ( IMPORT | EXPORT ) modport_tf_port ( COMMA modport_tf_port )* ; 
+
+modport_tf_port  
+    : method_prototype 
+    | identifier    
+    ; 
+       
+concurrent_assertion_item 
+      : ( identifier COLUMN )? concurrent_assertion_statement 
+      | checker_instantiation 
+      ; 
+
+
+concurrent_assertion_statement  
+    : assert_property_statement 
+    | assume_property_statement 
+    | cover_property_statement  
+    | cover_sequence_statement  
+    | restrict_property_statement 
+    ; 
+
+
+assert_property_statement : 
+    ASSERT PROPERTY OPEN_PARENS property_spec CLOSE_PARENS action_block ; 
+
+
+assume_property_statement : 
+    ASSUME PROPERTY OPEN_PARENS property_spec CLOSE_PARENS SEMICOLUMN ; 
+
+
+cover_property_statement : 
+    COVER PROPERTY OPEN_PARENS property_spec CLOSE_PARENS statement_or_null ; 
+
+
+expect_property_statement : 
+    EXPECT OPEN_PARENS property_spec CLOSE_PARENS action_block ; 
+
+
+cover_sequence_statement : 
+  COVER SEQUENCE OPEN_PARENS ( clocking_event )? ( DISABLE IFF OPEN_PARENS expression_or_dist CLOSE_PARENS )? 
+  sequence_expr CLOSE_PARENS statement_or_null ; 
+
+restrict_property_statement : 
+    RESTRICT PROPERTY OPEN_PARENS property_spec CLOSE_PARENS SEMICOLUMN ; 
+
+property_instance : 
+   ps_or_hierarchical_sequence_identifier ( OPEN_PARENS ( actual_arg_list )? CLOSE_PARENS )? ; 
+
+//property_list_of_arguments
+//  : (property_actual_arg)? ( COMMA (property_actual_arg)? )* ( COMMA DOT identifier OPEN_PARENS (property_actual_arg)? CLOSE_PARENS )*
+//  | DOT identifier OPEN_PARENS (property_actual_arg)? CLOSE_PARENS ( COMMA DOT identifier OPEN_PARENS (property_actual_arg)? CLOSE_PARENS )*
+//  ;
+
+property_actual_arg 
+  : property_expr 
+  | sequence_actual_arg 
+  ; 
+
+
+concurrent_assertion_item_declaration  
+    : property_declaration 
+    | sequence_declaration 
+    ; 
+
+assertion_item_declaration 
+      : property_declaration 
+      | sequence_declaration 
+      | let_declaration 
+      ; 
+
+endproperty : ENDPROPERTY ;
+
+property_declaration : 
+    PROPERTY identifier ( OPEN_PARENS ( list_of_formals )? CLOSE_PARENS )? SEMICOLUMN 
+    ( assertion_variable_declaration )* 
+    property_spec (SEMICOLUMN)? 
+    endproperty ( COLUMN identifier )? ; 
+
+property_formal_type  
+   : sequence_formal_type 
+   | PROPERTY             
+   ; 
+    
+property_spec : 
+    ( clocking_event )? ( DISABLE IFF OPEN_PARENS expression_or_dist CLOSE_PARENS )? property_expr ; 
+
+endcase : ENDCASE ;
+
+property_expr  
+    : sequence_expr                               
+    | STRONG OPEN_PARENS sequence_expr CLOSE_PARENS 
+    | WEAK   OPEN_PARENS sequence_expr CLOSE_PARENS 
+    | OPEN_PARENS property_expr CLOSE_PARENS      
+    | NOT property_expr                           
+    | property_expr OR property_expr              
+    | property_expr AND property_expr             
+    | sequence_expr OVERLAP_IMPLY property_expr   
+    | sequence_expr NON_OVERLAP_IMPLY property_expr 
+    | IF OPEN_PARENS expression_or_dist CLOSE_PARENS property_expr  
+            ( ELSE property_expr )?               
+    | CASE OPEN_PARENS expression_or_dist CLOSE_PARENS property_case_item property_case_item* endcase 
+                                                  
+    | sequence_expr OVERLAPPED property_expr      
+    | sequence_expr NONOVERLAPPED property_expr   
+    | NEXTTIME property_expr                      
+    | NEXTTIME OPEN_BRACKET constant_expression CLOSE_BRACKET property_expr 
+                                                  
+    | S_NEXTTIME property_expr                    
+    | S_NEXTTIME OPEN_BRACKET constant_expression CLOSE_BRACKET property_expr 
+                                                  
+    | ALWAYS property_expr                        
+    | ALWAYS OPEN_BRACKET cycle_delay_const_range_expression CLOSE_BRACKET property_expr 
+                                                  
+    | S_ALWAYS OPEN_BRACKET constant_range CLOSE_BRACKET property_expr 
+                                                  
+    | S_EVENTUALLY property_expr                  
+    | EVENTUALLY OPEN_BRACKET constant_range CLOSE_BRACKET property_expr 
+                                                  
+    | S_EVENTUALLY OPEN_BRACKET cycle_delay_const_range_expression CLOSE_BRACKET property_expr 
+                                                  
+    | property_expr UNTIL property_expr           
+    | property_expr S_UNTIL property_expr         
+    | property_expr UNTIL_WITH property_expr      
+    | property_expr S_UNTIL_WITH property_expr    
+    | property_expr IMPLIES property_expr         
+    | property_expr IFF property_expr             
+    | ACCEPT_ON OPEN_PARENS expression_or_dist CLOSE_PARENS property_expr 
+    | REJECT_ON OPEN_PARENS expression_or_dist CLOSE_PARENS property_expr 
+    | SYNC_ACCEPT_ON OPEN_PARENS expression_or_dist CLOSE_PARENS property_expr 
+    | SYNC_REJECT_ON OPEN_PARENS expression_or_dist CLOSE_PARENS property_expr 
+    | property_instance                           
+    | clocking_event property_expr                
+    ; 
+
+property_case_item  
+     : expression_or_dist ( COMMA expression_or_dist )* COLUMN property_expr SEMICOLUMN? 
+     | DEFAULT COLUMN? property_expr SEMICOLUMN? 
+     ; 
+
+endsequence : ENDSEQUENCE;
+
+sequence_declaration : 
+    SEQUENCE identifier ( OPEN_PARENS ( list_of_formals )? CLOSE_PARENS )? SEMICOLUMN 
+    ( assertion_variable_declaration )* 
+    sequence_expr (SEMICOLUMN)? 
+    endsequence ( COLUMN identifier )? 
+    ; 
+
+
+sequence_expr  
+    : cycle_delay_range sequence_expr ( cycle_delay_range sequence_expr )*  
+                                                       
+    | sequence_expr cycle_delay_range sequence_expr ( cycle_delay_range sequence_expr )*  
+                                                       
+    | expression_or_dist ( boolean_abbrev )?           
+    | OPEN_PARENS expression_or_dist ( COMMA sequence_match_item )* CLOSE_PARENS ( boolean_abbrev )? 
+                                                       
+    | sequence_instance ( consecutive_repetition )? 
+    | OPEN_PARENS sequence_expr ( COMMA sequence_match_item )* CLOSE_PARENS  
+      ( consecutive_repetition )?                             
+    | sequence_expr AND sequence_expr                  
+    | sequence_expr INTERSECT sequence_expr            
+    | sequence_expr OR sequence_expr                   
+    | FIRST_MATCH OPEN_PARENS sequence_expr ( COMMA sequence_match_item )*  
+      CLOSE_PARENS                                     
+    | expression_or_dist THROUGHOUT sequence_expr      
+    | sequence_expr WITHIN sequence_expr               
+    | clocking_event sequence_expr                     
+    ; 
+
+
+cycle_delay_range  
+    : POUNDPOUND constant_primary    
+    | POUNDPOUND OPEN_BRACKET cycle_delay_const_range_expression  
+      CLOSE_BRACKET                  
+    | POUNDPOUND ASSOCIATIVE_UNSPECIFIED 
+    | POUNDPOUND OPEN_BRACKET PLUS CLOSE_BRACKET 
+    ; 
+     
+
+sequence_method_call : sequence_instance DOT identifier ; 
+
+
+sequence_match_item  
+    : operator_assignment   
+    | inc_or_dec_expression 
+    | subroutine_call       
+    ; 
+
+sequence_formal_type  
+  : data_type_or_implicit # SeqFormatType_Data
+  | SEQUENCE              # SeqFormatType_Sequence
+  | UNTYPED               # SeqFormatType_Untyped
+  ; 
+
+sequence_instance : 
+      ps_or_hierarchical_sequence_identifier ( OPEN_PARENS sequence_list_of_arguments CLOSE_PARENS )? ; 
+
+sequence_list_of_arguments  
+    : sequence_actual_arg? ( COMMA sequence_actual_arg? )* 
+      ( COMMA DOT identifier OPEN_PARENS sequence_actual_arg? CLOSE_PARENS )* 
+    | DOT identifier OPEN_PARENS sequence_actual_arg? CLOSE_PARENS 
+      ( COMMA DOT identifier OPEN_PARENS sequence_actual_arg? CLOSE_PARENS )* 
+    ; 
+
+sequence_actual_arg  
+  : event_expression 
+  | sequence_expr 
+  ; 
+   
+
+formal_list_item : 
+    identifier ( ASSIGN_OP actual_arg_expr )? ; 
+
+
+list_of_formals : formal_list_item ( COMMA formal_list_item )* ; 
+     
+
+actual_arg_list  
+    : actual_arg_expr ( COMMA actual_arg_expr )*     
+    | DOT identifier OPEN_PARENS actual_arg_expr CLOSE_PARENS  
+      ( COMMA DOT identifier OPEN_PARENS actual_arg_expr CLOSE_PARENS )* 
+                                                     
+    ; 
+
+
+actual_arg_expr  
+    : event_expression 
+    | dollar_keyword          
+    ; 
+
+
+boolean_abbrev  
+    : consecutive_repetition     
+    | non_consecutive_repetition 
+    | goto_repetition            
+    ; 
+     
+
+consecutive_repetition : CONSECUTIVE_REP const_or_range_expression CLOSE_BRACKET ; 
+
+
+non_consecutive_repetition : NON_CONSECUTIVE_REP const_or_range_expression CLOSE_BRACKET ; 
+                          
+
+goto_repetition : GOTO_REP const_or_range_expression CLOSE_BRACKET ; 
+
+
+const_or_range_expression  
+    : constant_expression                
+    | cycle_delay_const_range_expression 
+    ; 
+
+
+cycle_delay_const_range_expression  
+    : constant_expression COLUMN constant_expression 
+    | constant_expression COLUMN DOLLAR              
+    ; 
+
+
+expression_or_dist : expression ( DIST OPEN_CURLY dist_list CLOSE_CURLY )? ; 
+
+
+assertion_variable_declaration : 
+    data_type list_of_variable_identifiers SEMICOLUMN ; 
+
+
+let_declaration : 
+   LET identifier ( OPEN_PARENS ( let_port_list )? CLOSE_PARENS )? ASSIGN_OP expression SEMICOLUMN ; 
+
+
+let_port_list : 
+   let_port_item ( COMMA let_port_item)* ; 
+
+let_port_item : 
+   ( attribute_instance )* let_formal_type identifier ( variable_dimension )* ( ASSIGN_OP expression )? ; 
+
+let_formal_type : 
+   data_type_or_implicit 
+   | UNTYPED ; 
+
+/*
+let_expression : 
+  ( package_scope )? identifier ( OPEN_PARENS list_of_arguments  CLOSE_PARENS )? ; 
+*/
+
+endgroup : ENDGROUP ;
+
+covergroup_declaration : 
+    COVERGROUP identifier ( OPEN_PARENS ( tf_port_list )? CLOSE_PARENS )? ( coverage_event )? SEMICOLUMN 
+    ( coverage_spec_or_option )* 
+    endgroup ( COLUMN identifier )? ; 
+                       
+
+coverage_spec_or_option  
+    : ( attribute_instance )* ( coverage_spec              
+                              | coverage_option SEMICOLUMN ) 
+    ; 
+
+
+coverage_option  
+    : OPTION_DOT identifier ASSIGN_OP expression      
+    | TYPE_OPTION_DOT identifier ASSIGN_OP expression 
+    ; 
+
+
+coverage_spec  
+    : cover_point 
+    | cover_cross 
+    ; 
+
+
+coverage_event  
+    : clocking_event                                       
+    | WITH FUNCTION SAMPLE OPEN_PARENS tf_port_list? CLOSE_PARENS 
+    | ATAT OPEN_PARENS block_event_expression CLOSE_PARENS 
+    ; 
+
+end : END ;
+
+block_event_expression  
+    : block_event_expression OR block_event_expression 
+    | BEGIN hierarchical_btf_identifier                
+    | end hierarchical_btf_identifier                  
+    ; 
+
+
+hierarchical_btf_identifier  
+    : hierarchical_identifier                             
+    |  ( dollar_root_keyword )? identifier (( OPEN_BRACKET constant_expression CLOSE_BRACKET )* DOT identifier)*  ( class_scope )? identifier 
+    ; 
+
+
+cover_point : ( identifier COLUMN )? COVERPOINT expression ( IFF OPEN_PARENS expression CLOSE_PARENS )? bins_or_empty ; 
+
+
+bins_or_empty  
+    : OPEN_CURLY ( attribute_instance )*  
+      ( bins_or_options SEMICOLUMN )* CLOSE_CURLY 
+    | SEMICOLUMN                                  
+    ; 
+
+
+
+bins_or_options  
+    : coverage_option                               
+    | ( WILDCARD )? bins_keyword identifier ( OPEN_BRACKET ( expression )? CLOSE_BRACKET )?  
+       ASSIGN_OP OPEN_CURLY range_list CLOSE_CURLY ( WITH OPEN_PARENS expression CLOSE_PARENS )? 
+       ( IFF OPEN_PARENS expression CLOSE_PARENS )? 
+    | ( WILDCARD )? bins_keyword identifier ( OPEN_BRACKET ( expression )? CLOSE_BRACKET )? ASSIGN_OP 
+      identifier ( WITH OPEN_PARENS expression CLOSE_PARENS )? 
+      ( IFF OPEN_PARENS expression CLOSE_PARENS )?  
+    | ( WILDCARD )? bins_keyword identifier ( OPEN_BRACKET ( expression )? CLOSE_BRACKET )? ASSIGN_OP 
+      expression ( IFF OPEN_PARENS expression CLOSE_PARENS )? 
+                                                    
+    | ( WILDCARD )? bins_keyword identifier ( unsized_dimension )? 
+      ASSIGN_OP trans_list ( IFF OPEN_PARENS expression CLOSE_PARENS )? 
+                                                    
+    | bins_keyword identifier ( OPEN_BRACKET ( expression )? CLOSE_BRACKET )? 
+      ASSIGN_OP DEFAULT ( IFF OPEN_PARENS expression CLOSE_PARENS )? 
+                                                    
+    | bins_keyword identifier ASSIGN_OP DEFAULT SEQUENCE 
+      ( IFF OPEN_PARENS expression CLOSE_PARENS )?  
+    ; 
+
+
+bins_keyword  
+    : BINS  # Bins_Bins       
+    | ILLEGAL_BINS  # Bins_Illegal
+    | IGNORE_BINS   # Bins_Ignore
+    ; 
+
+range_list : value_range ( COMMA value_range )* ; 
+
+
+trans_list : OPEN_PARENS trans_set CLOSE_PARENS ( COMMA OPEN_PARENS trans_set CLOSE_PARENS )* ;  
+
+
+trans_set : trans_range_list  ( TRANSITION_OP trans_range_list )* ; 
+
+
+trans_range_list  
+    : range_list  
+    | range_list  CONSECUTIVE_REP repeat_range CLOSE_BRACKET      
+    | range_list  GOTO_REP repeat_range CLOSE_BRACKET             
+    | range_list  NON_CONSECUTIVE_REP repeat_range CLOSE_BRACKET  
+    ;
+    
+repeat_range  
+    : expression                   
+    | expression COLUMN expression 
+    ; 
+
+
+cover_cross : ( identifier COLUMN )? CROSS list_of_cross_items ( IFF OPEN_PARENS expression CLOSE_PARENS )? cross_body ; 
+
+
+list_of_cross_items : cross_item COMMA cross_item ( COMMA cross_item )* ; 
+
+
+cross_item  
+    : identifier 
+    | identifier    
+    ; 
+
+
+cross_body  
+    : OPEN_CURLY ( cross_body_item SEMICOLUMN )? CLOSE_CURLY  
+                                                        
+    | SEMICOLUMN                                        
+    ; 
+
+cross_body_item  
+      : function_declaration                  
+      | bins_selection_or_option SEMICOLUMN  
+      ; 
+
+
+bins_selection_or_option  
+    : ( attribute_instance )* ( coverage_option  
+                              | bins_selection )   
+    ; 
+
+
+bins_selection : bins_keyword identifier ASSIGN_OP select_expression ( IFF OPEN_PARENS expression CLOSE_PARENS )? ; 
+
+
+select_expression  
+    : select_condition                                
+    | BANG select_condition                           
+    | select_expression LOGICAL_AND select_expression 
+    | select_expression LOGICAL_OR select_expression  
+    | OPEN_PARENS select_expression CLOSE_PARENS      
+    | select_expression WITH OPEN_PARENS expression CLOSE_PARENS 
+      ( MATCHES expression )?                         
+    | identifier                                      
+    | expression ( MATCHES expression )?              
+    ; 
+
+
+select_condition : BINSOF OPEN_PARENS bins_expression CLOSE_PARENS ( INTERSECT OPEN_CURLY open_range_list CLOSE_CURLY )? ; 
+
+
+bins_expression  
+    : identifier ( DOT identifier )? 
+    ; 
+
+
+open_range_list : value_range ( COMMA value_range )* ; 
+
+gate_instantiation  
+    : cmos_switchtype ( delay3 )? cmos_switch_instance ( COMMA cmos_switch_instance )* SEMICOLUMN 
+         
+    | enable_gatetype ( drive_strength )? ( delay3 )? enable_gate_instance ( COMMA enable_gate_instance )* SEMICOLUMN 
+         
+    | mos_switchtype ( delay3 )? mos_switch_instance ( COMMA mos_switch_instance )* SEMICOLUMN 
+         
+    | n_input_gatetype ( drive_strength )? ( delay2 )? n_input_gate_instance ( COMMA n_input_gate_instance )* SEMICOLUMN 
+         
+    | n_output_gatetype ( drive_strength )? ( delay2 )? n_output_gate_instance 
+    ( COMMA n_output_gate_instance )* SEMICOLUMN 
+         
+    | pass_en_switchtype ( delay2 )? pass_enable_switch_instance ( COMMA pass_enable_switch_instance )* SEMICOLUMN 
+         
+    | pass_switchtype pass_switch_instance ( COMMA pass_switch_instance )* SEMICOLUMN 
+         
+    | PULLDOWN ( pulldown_strength )? pull_gate_instance ( COMMA pull_gate_instance )* SEMICOLUMN 
+         
+    | PULLUP ( pullup_strength )? pull_gate_instance ( COMMA pull_gate_instance )* SEMICOLUMN 
+         
+    ; 
+
+
+cmos_switch_instance : ( name_of_instance )? OPEN_PARENS net_lvalue COMMA expression COMMA 
+        expression COMMA expression CLOSE_PARENS ; 
+
+
+enable_gate_instance : ( name_of_instance )? OPEN_PARENS net_lvalue COMMA expression COMMA expression CLOSE_PARENS ; 
+
+
+mos_switch_instance : ( name_of_instance )? OPEN_PARENS net_lvalue COMMA expression COMMA expression CLOSE_PARENS ; 
+
+
+n_input_gate_instance : ( name_of_instance )? OPEN_PARENS net_lvalue COMMA expression ( COMMA expression )* CLOSE_PARENS ; 
+
+
+n_output_gate_instance : ( name_of_instance )? OPEN_PARENS net_lvalue ( COMMA net_lvalue )* COMMA 
+                expression CLOSE_PARENS ; 
+
+
+pass_switch_instance : ( name_of_instance )? OPEN_PARENS  net_lvalue COMMA  net_lvalue CLOSE_PARENS ; 
+
+
+pass_enable_switch_instance : ( name_of_instance )? OPEN_PARENS  net_lvalue COMMA  net_lvalue COMMA 
+    expression CLOSE_PARENS ; 
+
+
+pull_gate_instance : ( name_of_instance )? OPEN_PARENS net_lvalue CLOSE_PARENS ; 
+
+
+pulldown_strength  
+    : OPEN_PARENS strength0 COMMA strength1 CLOSE_PARENS # PulldownStrength_01 
+    | OPEN_PARENS strength1 COMMA strength0 CLOSE_PARENS # PulldownStrength_10 
+    | OPEN_PARENS strength0 CLOSE_PARENS                 # PulldownStrength_0 
+    ; 
+
+
+pullup_strength  
+    : OPEN_PARENS strength0 COMMA strength1 CLOSE_PARENS # PullupStrength_01 
+    | OPEN_PARENS strength1 COMMA strength0 CLOSE_PARENS # PullupStrength_10 
+    | OPEN_PARENS strength1 CLOSE_PARENS                 # PullupStrength_1 
+    ; 
+
+cmos_switchtype  
+    : CMOS  # CmosSwitchType_Cmos 
+    | RCMOS # CmosSwitchType_RCmos 
+    ; 
+
+enable_gatetype  
+    : BUFIF0 # EnableGateType_Bufif0 
+    | BUFIF1 # EnableGateType_Bufif1 
+    | NOTIF0 # EnableGateType_Notif0 
+    | NOTIF1 # EnableGateType_Notif1 
+    ; 
+
+mos_switchtype  
+    : NMOS  # MosSwitchType_NMos 
+    | PMOS  # MosSwitchType_PMos 
+    | RNMOS # MosSwitchType_RNMos 
+    | RPMOS # MosSwitchType_RPMos 
+    ; 
+
+n_input_gatetype  
+    : AND  # NInpGate_And 
+    | NAND # NInpGate_Nand 
+    | OR   # NInpGate_Or 
+    | NOR  # NInpGate_Nor 
+    | XOR  # NInpGate_Xor 
+    | XNOR # NInpGate_Xnor 
+    ; 
+
+n_output_gatetype  
+    : BUF # NOutGate_Buf 
+    | NOT # NOutGate_Not 
+    ; 
+
+pass_en_switchtype  
+    : TRANIF0  # PassEnSwitch_Tranif0 
+    | TRANIF1  # PassEnSwitch_Tranif1 
+    | RTRANIF1 # PassEnSwitch_RTranif1 
+    | RTRANIF0 # PassEnSwitch_RTranif0 
+    ; 
+
+pass_switchtype  
+    : TRAN  # PassSwitch_Tran 
+    | RTRAN # PassSwitch_RTran 
+    ; 
+
+module_instantiation : identifier ( parameter_value_assignment )?  
+                       hierarchical_instance ( COMMA hierarchical_instance )* SEMICOLUMN ; 
+
+parameter_value_assignment : POUND (OPEN_PARENS list_of_parameter_assignments? CLOSE_PARENS)
+                           | Pound_delay
+			   | POUND Simple_identifier
+			   ;
+			   
+list_of_parameter_assignments  
+    : ordered_parameter_assignment ( COMMA ordered_parameter_assignment )* 
+    | named_parameter_assignment ( COMMA named_parameter_assignment )*     
+    ; 
+
+ordered_parameter_assignment : param_expression ; 
+                                      
+
+named_parameter_assignment : DOT identifier OPEN_PARENS ( param_expression )? CLOSE_PARENS ; 
+
+
+hierarchical_instance : name_of_instance OPEN_PARENS  list_of_port_connections  CLOSE_PARENS ; 
+                              
+
+name_of_instance : identifier ( unpacked_dimension )* ; 
+  
+
+list_of_port_connections  
+    : ordered_port_connection ( COMMA ordered_port_connection )* 
+    | named_port_connection ( COMMA named_port_connection )*     
+    ; 
+
+
+ordered_port_connection : ( attribute_instance )* ( expression )? ; 
+
+
+named_port_connection  
+    : ( attribute_instance )* ( DOT identifier ( OPEN_PARENS ( expression )? CLOSE_PARENS )? 
+                              | DOTSTAR )                            
+    ; 
+
+interface_instantiation : interface_identifier ( parameter_value_assignment )?  
+                          hierarchical_instance ( COMMA hierarchical_instance )* SEMICOLUMN ; 
+
+program_instantiation : identifier ( parameter_value_assignment )?  
+                        hierarchical_instance ( COMMA hierarchical_instance )* SEMICOLUMN ; 
+
+checker_instantiation : 
+      ps_identifier name_of_instance OPEN_PARENS list_of_checker_port_connections CLOSE_PARENS ; 
+
+list_of_checker_port_connections  
+    : ordered_checker_port_connection ( COMMA ordered_checker_port_connection )? 
+    | named_checker_port_connection  ( COMMA named_checker_port_connection )? 
+    ; 
+     
+ordered_checker_port_connection : 
+      ( attribute_instance )*  property_actual_arg? ; 
+     
+named_checker_port_connection  
+    : ( attribute_instance )* ( DOT identifier ( OPEN_PARENS  property_actual_arg? CLOSE_PARENS )? 
+                              | DOTSTAR ) 
+    ; 
+
+endgenerate : ENDGENERATE ; 
+
+generated_module_instantiation : GENERATE ( generate_module_item )* endgenerate ; 
+
+
+generate_module_item  
+    : generate_module_conditional_statement 
+    | generate_module_case_statement        
+    | generate_module_loop_statement        
+    | ( identifier COLUMN )?  
+       generate_module_block                
+    | module_or_generate_item               
+    ; 
+
+
+generate_module_conditional_statement : 
+    IF OPEN_PARENS constant_expression CLOSE_PARENS generate_module_item  
+    ( ELSE generate_module_item )? ;  
+
+
+generate_module_case_statement :  
+CASE OPEN_PARENS constant_expression CLOSE_PARENS genvar_module_case_item  
+                                   ( genvar_module_case_item )* endcase ; 
+
+
+genvar_module_case_item  
+    : constant_expression ( COMMA constant_expression )* COLUMN generate_module_item  
+                                                           
+    | DEFAULT ( COLUMN )? generate_module_item                                       
+                                                           
+    ; 
+
+
+generate_module_loop_statement : 
+    FOR OPEN_PARENS genvar_decl_assignment SEMICOLUMN constant_expression  
+    SEMICOLUMN genvar_assignment CLOSE_PARENS 
+    generate_module_named_block ; 
+                                
+
+genvar_assignment  
+    : identifier assignment_operator constant_expression 
+    | inc_or_dec_operator identifier                     
+    | identifier inc_or_dec_operator                     
+    ; 
+
+
+genvar_decl_assignment : 
+    ( GENVAR )? identifier ASSIGN_OP constant_expression ; 
+
+
+generate_module_named_block  
+    : BEGIN COLUMN identifier ( generate_module_item )* 
+      end ( COLUMN identifier )?               
+    | identifier COLUMN generate_module_block  
+    ; 
+
+
+generate_module_block : 
+    BEGIN ( COLUMN identifier )? ( generate_module_item )* end ( COLUMN identifier )? ; 
+
+
+
+generated_interface_instantiation : GENERATE ( generate_interface_item )* endgenerate ; 
+
+
+generate_interface_item  
+    : generate_interface_conditional_statement 
+    | generate_interface_case_statement        
+    | generate_interface_loop_statement        
+    | ( identifier COLUMN ) generate_interface_block  
+                                               
+    | interface_or_generate_item               
+    ; 
+
+
+generate_interface_conditional_statement : 
+    IF OPEN_PARENS constant_expression CLOSE_PARENS generate_interface_item ( ELSE generate_interface_item )? ; 
+
+
+generate_interface_case_statement : 
+    CASE OPEN_PARENS constant_expression CLOSE_PARENS  
+    genvar_interface_case_item ( genvar_interface_case_item )* endcase ; 
+
+
+genvar_interface_case_item  
+    : constant_expression ( COMMA constant_expression )* COLUMN generate_interface_item 
+                                                  
+    | DEFAULT ( COLUMN )? generate_interface_item 
+    ; 
+
+
+generate_interface_loop_statement : 
+    FOR OPEN_PARENS genvar_decl_assignment SEMICOLUMN constant_expression  
+    SEMICOLUMN genvar_assignment CLOSE_PARENS 
+    generate_interface_named_block ; 
+
+
+generate_interface_named_block  
+    : BEGIN COLUMN identifier ( generate_interface_item )* end  
+      ( COLUMN identifier )?  
+    | identifier COLUMN generate_interface_block 
+                                             
+    ; 
+
+
+generate_interface_block : 
+    BEGIN ( COLUMN identifier )? 
+    ( generate_interface_item )* 
+    end ( COLUMN identifier )? ; 
+
+generate_region : 
+      GENERATE generate_item* endgenerate; 
+
+loop_generate_construct : 
+      FOR OPEN_PARENS genvar_initialization SEMICOLUMN constant_expression SEMICOLUMN genvar_iteration CLOSE_PARENS generate_block ; 
+
+genvar_initialization : 
+      GENVAR? identifier ASSIGN_OP constant_expression ; 
+
+genvar_iteration  
+    : identifier assignment_operator constant_expression 
+    | inc_or_dec_operator identifier 
+    | identifier inc_or_dec_operator 
+    ; 
+
+conditional_generate_construct  
+      : if_generate_construct 
+      | case_generate_construct 
+      ; 
+
+if_generate_construct : 
+      IF OPEN_PARENS constant_expression CLOSE_PARENS generate_block ( ELSE generate_block )? ; 
+
+case_generate_construct : 
+      CASE OPEN_PARENS constant_expression CLOSE_PARENS case_generate_item  case_generate_item* endcase ; 
+
+case_generate_item  
+      : constant_expression ( COMMA constant_expression )* COLUMN generate_block 
+      | DEFAULT ( COLUMN )? generate_block 
+      ; 
+
+generate_block  
+    :  generate_item 
+    | ( identifier COLUMN )? BEGIN ( COLUMN identifier )?  generate_item* end 
+      ( COLUMN identifier )? 
+    ; 
+
+generate_item  
+     : module_or_generate_item 
+     | interface_or_generate_item 
+     | checker_or_generate_item 
+     ; 
+
+udp_nonansi_declaration : ( attribute_instance )* PRIMITIVE identifier  
+                          OPEN_PARENS udp_port_list CLOSE_PARENS SEMICOLUMN ;  
+
+udp_ansi_declaration : ( attribute_instance )* PRIMITIVE identifier  
+                       OPEN_PARENS udp_declaration_port_list CLOSE_PARENS SEMICOLUMN ;  
+
+endprimitive : ENDPRIMITIVE ;
+
+udp_declaration  
+    : udp_nonansi_declaration udp_port_declaration ( udp_port_declaration )* 
+        udp_body 
+        endprimitive ( COLUMN identifier )? 
+    | udp_ansi_declaration 
+        udp_body 
+        endprimitive ( COLUMN identifier )? 
+    | EXTERN udp_nonansi_declaration            
+    | EXTERN udp_ansi_declaration               
+    | ( attribute_instance )* PRIMITIVE identifier OPEN_PARENS DOTSTAR  
+        CLOSE_PARENS SEMICOLUMN 
+        ( udp_port_declaration )* 
+        udp_body 
+        endprimitive ( COLUMN identifier )? 
+    ; 
+
+udp_port_list : identifier COMMA identifier ( COMMA identifier )* ; 
+
+udp_declaration_port_list : udp_output_declaration COMMA  
+                            udp_input_declaration ( COMMA udp_input_declaration )* ; 
+
+udp_port_declaration  
+    : udp_output_declaration SEMICOLUMN 
+    | udp_input_declaration SEMICOLUMN  
+    | udp_reg_declaration SEMICOLUMN    
+    ; 
+    
+udp_output_declaration  
+    : ( attribute_instance )* ( OUTPUT identifier 
+                              | OUTPUT REG identifier ( ASSIGN_OP constant_expression )?)            
+    ; 
+
+udp_input_declaration : ( attribute_instance )* INPUT identifier_list ; 
+
+udp_reg_declaration : ( attribute_instance )* REG identifier ; 
+
+udp_body  
+     : combinational_body 
+     | sequential_body    
+     ; 
+
+endtable : ENDTABLE ;
+
+combinational_body : TABLE combinational_entry ( combinational_entry )* endtable ; 
+  
+combinational_entry : level_input_list COLUMN output_symbol SEMICOLUMN ; 
+                          
+sequential_body : ( udp_initial_statement )? TABLE sequential_entry  
+                                               ( sequential_entry )* endtable ; 
+  
+udp_initial_statement : INITIAL identifier ASSIGN_OP init_val SEMICOLUMN ; 
+  
+
+init_val
+   : ONE_TICK_b0     # InitVal_1Tickb0
+   | ONE_TICK_b1     # InitVal_1Tickb1
+   | ONE_TICK_B0     # InitVal_1TickB0
+   | ONE_TICK_B1     # InitVal_1TickB1
+   | ONE_TICK_bx     # InitVal_1Tickbx
+   | ONE_TICK_bX     # InitVal_1TickbX
+   | ONE_TICK_Bx     # InitVal_1TickBx
+   | ONE_TICK_BX     # InitVal_1TickBX
+   | Integral_number # InitVal_Integral
+   ; 
+  
+
+sequential_entry : seq_input_list COLUMN level_symbol COLUMN next_state SEMICOLUMN ; 
+  
+
+seq_input_list   
+    : level_input_list 
+    | edge_input_list  
+    ; 
+  
+
+level_input_list : level_symbol ( level_symbol )* ; 
+  
+
+edge_input_list : ( level_symbol )* edge_indicator ( level_symbol )* ; 
+  
+
+edge_indicator  
+     : OPEN_PARENS /* Will have to check post parse time that there are 2 items (10 becomes one int): */
+                   level_symbol+ CLOSE_PARENS 
+     | edge_symbol                                        
+     ; 
+    
+next_state  
+     : output_symbol 
+     | MINUS         
+     ; 
+
+output_symbol : Integral_number | Simple_identifier ; 
+    
+level_symbol : Integral_number | Simple_identifier | QMARK ; 
+
+edge_symbol : Simple_identifier | STAR ; 
+
+udp_instantiation : identifier ( drive_strength )? ( delay2 )?  
+                    udp_instance ( COMMA udp_instance )* SEMICOLUMN ; 
+
+udp_instance : ( name_of_instance )? OPEN_PARENS net_lvalue COMMA  
+               expression ( COMMA expression )* CLOSE_PARENS ; 
+
+continuous_assign  
+    : ASSIGN ( drive_strength )? ( delay3 )? list_of_net_assignments SEMICOLUMN  
+                                                    
+    | ASSIGN_OP ( delay_control )? list_of_variable_assignments SEMICOLUMN  
+                                                    
+    ; 
+     
+list_of_net_assignments : net_assignment ( COMMA net_assignment )* ; 
+
+list_of_variable_assignments : variable_assignment ( COMMA variable_assignment )* ; 
+
+net_alias : ALIAS net_lvalue (ASSIGN_OP net_lvalue)+ SEMICOLUMN ; 
+
+net_assignment : net_lvalue ASSIGN_OP expression ; 
+
+initial_construct : INITIAL statement_or_null ; 
+
+always_construct : always_keyword statement ; 
+
+always_keyword  
+    : ALWAYS       # AlwaysKeywd_Always 
+    | ALWAYS_COMB  # AlwaysKeywd_Comb 
+    | ALWAYS_LATCH # AlwaysKeywd_Latch 
+    | ALWAYS_FF    # AlwaysKeywd_FF 
+    ; 
+
+blocking_assignment  
+    : variable_lvalue ASSIGN_OP delay_or_event_control expression   
+    | nonrange_variable_lvalue ASSIGN_OP dynamic_array_new  
+                                                                
+    | ( implicit_class_handle DOT | class_scope | package_scope )? hierarchical_identifier  
+        select ASSIGN_OP class_new                                  
+    | operator_assignment                                       
+    ; 
+
+operator_assignment : variable_lvalue assignment_operator expression ; 
+
+assignment_operator  
+    : ASSIGN_OP  # AssignOp_Assign
+    | ADD_ASSIGN  # AssignOp_Add
+    | SUB_ASSIGN  # AssignOp_Sub
+    | MULT_ASSIGN  # AssignOp_Mult
+    | DIV_ASSIGN  # AssignOp_Div
+    | MODULO_ASSIGN  # AssignOp_Modulo
+    | BITW_AND_ASSIGN  # AssignOp_BitwAnd
+    | BITW_OR_ASSIGN  # AssignOp_BitwOr
+    | BITW_XOR_ASSIGN  # AssignOp_BitwXor
+    | BITW_LEFT_SHIFT_ASSIGN  # AssignOp_BitwLeftShift
+    | BITW_RIGHT_SHIFT_ASSIGN  # AssignOp_BitwRightShift
+    | ARITH_SHIFT_LEFT_ASSIGN  # AssignOp_ArithShiftLeft
+    | ARITH_SHIFT_RIGHT_ASSIGN  # AssignOp_ArithShiftRight
+    ; 
+
+nonblocking_assignment : variable_lvalue LESS_EQUAL ( delay_or_event_control )? expression ; 
+
+procedural_continuous_assignment  
+    : ASSIGN variable_assignment 
+    | DEASSIGN variable_lvalue   
+    | FORCE variable_assignment  
+    | FORCE net_assignment       
+    | RELEASE variable_lvalue    
+    | RELEASE net_lvalue         
+    ; 
+
+variable_assignment : variable_lvalue ASSIGN_OP expression ; 
+
+action_block  
+    : statement_or_null 
+    | ( statement )? ELSE statement_or_null 
+    ; 
+     
+
+seq_block :  
+    BEGIN ( COLUMN identifier )? ( block_item_declaration )* ( statement_or_null )* 
+    end ( COLUMN identifier )? ; 
+
+
+par_block : 
+    FORK ( COLUMN identifier )? ( block_item_declaration )* ( statement_or_null )* 
+    (join_keyword | join_any_keyword | join_none_keyword ) ( COLUMN identifier )? ; 
+
+
+join_keyword : JOIN ;
+
+join_any_keyword : JOIN_ANY ;
+
+join_none_keyword : JOIN_NONE ; 
+
+statement_or_null  
+    : statement 
+    | ( attribute_instance )* SEMICOLUMN  
+    ; 
+
+statement : ( identifier COLUMN )? ( attribute_instance )* statement_item ; 
+
+statement_item  
+    : blocking_assignment SEMICOLUMN              
+    | nonblocking_assignment SEMICOLUMN           
+    | procedural_continuous_assignment SEMICOLUMN 
+    | case_statement                              
+    | conditional_statement                       
+    | inc_or_dec_expression SEMICOLUMN            
+    | subroutine_call_statement                   
+    | disable_statement                           
+    | event_trigger                               
+    | loop_statement                              
+    | jump_statement                              
+    | par_block                                   
+    | procedural_timing_control_statement         
+    | seq_block                                   
+    | wait_statement                              
+    | procedural_assertion_statement              
+    | clocking_drive SEMICOLUMN                   
+    | randsequence_statement                      
+    | randcase_statement                          
+    | expect_property_statement                   
+    | system_task                                 
+    | surelog_macro_not_defined
+    ; 
+     
+function_statement_or_null  
+    : statement                          
+    | ( attribute_instance )* SEMICOLUMN 
+    ; 
+
+procedural_timing_control_statement : 
+    procedural_timing_control statement_or_null ; 
+
+
+delay_or_event_control  
+    : delay_control                
+    | event_control                
+    | REPEAT OPEN_PARENS expression CLOSE_PARENS  
+      event_control                
+    ; 
+
+
+delay_control  
+    : pound_delay_value                                  
+    | POUND OPEN_PARENS mintypmax_expression CLOSE_PARENS  
+    ; 
+
+
+event_control  
+    : AT hierarchical_identifier            
+    | AT OPEN_PARENS event_expression CLOSE_PARENS 
+    | ATSTAR
+    | AT_PARENS_STAR
+    | AT ps_or_hierarchical_sequence_identifier   
+    ; 
+
+
+event_expression  
+    : ( edge_identifier )? expression ( IFF expression )? 
+    | sequence_instance ( IFF expression )?               
+    | event_expression OR event_expression                
+    | event_expression COMMA event_expression             
+    | OPEN_PARENS event_expression CLOSE_PARENS           
+    ; 
+     
+
+procedural_timing_control    
+    : delay_control  
+    | event_control  
+    | cycle_delay    
+    ; 
+
+
+jump_statement  
+    : RETURN ( expression )? SEMICOLUMN 
+    | BREAK SEMICOLUMN                  
+    | CONTINUE SEMICOLUMN               
+    ; 
+
+
+ final_construct : FINAL statement ; 
+
+
+wait_statement  
+    : WAIT OPEN_PARENS expression CLOSE_PARENS statement_or_null   
+    | WAIT FORK SEMICOLUMN                                         
+    | WAIT_ORDER OPEN_PARENS  ( dollar_root_keyword )? identifier (( OPEN_BRACKET constant_expression CLOSE_BRACKET )* DOT identifier)*
+      ( COMMA  ( dollar_root_keyword )? identifier (( OPEN_BRACKET constant_expression CLOSE_BRACKET )* DOT identifier)*  )? CLOSE_PARENS action_block 
+    ; 
+     
+
+event_trigger  
+    : IMPLY hierarchical_identifier SEMICOLUMN   
+    | NON_BLOCKING_TRIGGER_EVENT_OP ( delay_or_event_control )?  
+      hierarchical_identifier SEMICOLUMN                  
+    ; 
+
+
+disable_statement  
+    : DISABLE hierarchical_identifier SEMICOLUMN  
+    | DISABLE FORK SEMICOLUMN                          
+    ; 
+
+
+conditional_statement : 
+   ( unique_priority )? IF OPEN_PARENS cond_predicate CLOSE_PARENS  statement_or_null 
+    ( ELSE IF OPEN_PARENS cond_predicate CLOSE_PARENS  statement_or_null )* 
+    ( ELSE statement_or_null )* ; 
+
+
+unique_priority : UNIQUE | UNIQUE0 | PRIORITY ; 
+
+
+cond_predicate : 
+   expression_or_cond_pattern ( COND_PRED_OP expression_or_cond_pattern )* ; 
+    
+
+expression_or_cond_pattern  
+    : expression  
+    | expression MATCHES pattern 
+    ; 
+
+case_statement  
+    : ( unique_priority )? case_keyword OPEN_PARENS expression  
+      CLOSE_PARENS case_item ( case_item )* endcase         
+    | ( unique_priority )? case_keyword OPEN_PARENS expression  
+      CLOSE_PARENS MATCHES case_pattern_item ( case_pattern_item )* 
+      endcase                                               
+    | ( unique_priority )? case_keyword  OPEN_PARENS expression  
+      CLOSE_PARENS INSIDE case_inside_item ( case_inside_item )* 
+      endcase                                               
+    ; 
+       
+
+case_keyword  
+    : CASE  # CaseKeyword_Case
+    | CASEZ # CaseKeyword_CaseZ
+    | CASEX # CaseKeyword_CaseX
+    ; 
+       
+case_item  
+    : expression ( COMMA expression )* COLUMN statement_or_null 
+    | DEFAULT ( COLUMN )? statement_or_null                     
+    ; 
+
+case_pattern_item  
+    : pattern ( COND_PRED_OP expression )? COLUMN statement_or_null 
+    | DEFAULT ( COLUMN )? statement_or_null                    
+    ; 
+
+case_inside_item  
+     : open_range_list COLUMN statement_or_null  
+     | DEFAULT ( COLUMN )? statement_or_null     
+     ; 
+
+randcase_statement : 
+    RANDCASE randcase_item ( randcase_item )* endcase ; 
+
+randcase_item : expression COLUMN statement_or_null ; 
+
+
+pattern  
+    : DOT identifier                  
+    | DOTSTAR                                  
+    | constant_expression                      
+    | TAGGED identifier ( pattern )?    
+    | TICK OPEN_CURLY pattern ( COMMA pattern )* CLOSE_CURLY 
+    | TICK OPEN_CURLY identifier COLUMN pattern ( COMMA identifier COLUMN pattern )* CLOSE_CURLY        
+    ; 
+
+assignment_pattern : 
+      TICK OPEN_CURLY expression ( COMMA expression )* CLOSE_CURLY   
+    | TICK OPEN_CURLY structure_pattern_key COLUMN expression ( COMMA structure_pattern_key COLUMN expression )* CLOSE_CURLY 
+    | TICK OPEN_CURLY array_pattern_key COLUMN expression ( COMMA array_pattern_key COLUMN expression )* CLOSE_CURLY 
+   // | TICK OPEN_CURLY constant_expression OPEN_CURLY expression ( COMMA expression )* CLOSE_CURLY CLOSE_CURLY
+    | TICK OPEN_CURLY constant_expression OPEN_CURLY expression ( (CLOSE_CURLY ( COMMA expression )*) | (( COMMA expression )* CLOSE_CURLY))  CLOSE_CURLY
+    | TICK OPEN_CURLY CLOSE_CURLY 
+    ; 
+
+structure_pattern_key : identifier 
+                      | assignment_pattern_key 
+                ; 
+
+array_pattern_key 
+      : constant_expression     
+      | assignment_pattern_key  
+      ; 
+
+assignment_pattern_key 
+      : simple_type 
+      | DEFAULT 
+      ; 
+
+assignment_pattern_expression 
+      : ( assignment_pattern_expression_type )? assignment_pattern; 
+
+assignment_pattern_expression_type 
+      : ps_type_identifier       
+      | ps_identifier  
+      | integer_atom_type        
+      | type_reference           
+      ; 
+
+constant_assignment_pattern_expression : 
+      assignment_pattern_expression ; 
+
+assignment_pattern_net_lvalue : 
+      TICK OPEN_CURLY net_lvalue ( COMMA net_lvalue )* CLOSE_CURLY; 
+
+assignment_pattern_variable_lvalue : 
+      TICK OPEN_CURLY variable_lvalue ( COMMA variable_lvalue )* CLOSE_CURLY 
+    ; 
+
+forever_keyword : FOREVER;
+
+repeat_keyword : REPEAT;
+
+while_keyword : WHILE ;
+
+loop_statement  
+    : forever_keyword statement_or_null                                    
+    | (repeat_keyword | while_keyword) OPEN_PARENS expression CLOSE_PARENS statement_or_null 
+    | FOR OPEN_PARENS for_initialization? SEMICOLUMN expression? SEMICOLUMN  
+      for_step? CLOSE_PARENS statement_or_null                      
+    | DO statement_or_null WHILE OPEN_PARENS expression CLOSE_PARENS  SEMICOLUMN                                                  
+    | FOREACH OPEN_PARENS ps_or_hierarchical_array_identifier OPEN_BRACKET loop_variables  
+      CLOSE_BRACKET CLOSE_PARENS statement                         
+    ; 
+
+
+for_initialization  
+    : list_of_variable_assignments                                 
+    | for_variable_declaration ( COMMA for_variable_declaration )* 
+    ; 
+
+for_variable_declaration : 
+    VAR? data_type identifier ASSIGN_OP expression ( COMMA identifier ASSIGN_OP expression )* ; 
+
+for_step : for_step_assignment ( COMMA for_step_assignment )* ; 
+
+for_step_assignment  
+    : operator_assignment      
+    | inc_or_dec_expression    
+    | subroutine_call 
+    ; 
+
+loop_variables : ( identifier )? ( COMMA ( identifier )? )* ; 
+
+subroutine_call_statement  
+    : subroutine_call SEMICOLUMN 
+    | VOID TICK OPEN_PARENS subroutine_call CLOSE_PARENS SEMICOLUMN    
+    ; 
+
+
+assertion_item  
+    : concurrent_assertion_item          
+    | deferred_immediate_assertion_item  
+    ; 
+
+deferred_immediate_assertion_item : 
+      ( identifier COLUMN )? deferred_immediate_assertion_statement ; 
+
+procedural_assertion_statement  
+      : concurrent_assertion_statement  
+      | immediate_assertion_statement   
+      | checker_instantiation           
+      ; 
+
+immediate_assertion_statement  
+      : simple_immediate_assertion_statement 
+      | deferred_immediate_assertion_statement 
+      ; 
+
+simple_immediate_assertion_statement 
+    : simple_immediate_assert_statement 
+    | simple_immediate_assume_statement 
+    | simple_immediate_cover_statement 
+    ; 
+     
+simple_immediate_assert_statement : 
+      ASSERT OPEN_PARENS expression CLOSE_PARENS action_block ; 
+
+simple_immediate_assume_statement : 
+      ASSUME OPEN_PARENS expression CLOSE_PARENS action_block ; 
+
+simple_immediate_cover_statement : 
+      COVER OPEN_PARENS expression CLOSE_PARENS statement_or_null ; 
+
+deferred_immediate_assertion_statement  
+    : deferred_immediate_assert_statement 
+    | deferred_immediate_assume_statement 
+    | deferred_immediate_cover_statement 
+    ; 
+
+deferred_immediate_assert_statement  
+      : ASSERT Pound_delay OPEN_PARENS expression CLOSE_PARENS action_block 
+      | ASSERT FINAL ( expression ) action_block 
+      ; 
+
+deferred_immediate_assume_statement  
+      : ASSUME Pound_delay OPEN_PARENS expression CLOSE_PARENS action_block 
+      | ASSUME FINAL OPEN_PARENS expression CLOSE_PARENS  action_block 
+      ; 
+
+deferred_immediate_cover_statement  
+      : COVER Pound_delay OPEN_PARENS expression CLOSE_PARENS statement_or_null 
+      | COVER FINAL OPEN_PARENS expression CLOSE_PARENS  statement_or_null 
+      ; 
+
+endclocking : ENDCLOCKING;
+
+clocking_declaration : ( DEFAULT )? CLOCKING ( identifier )? clocking_event SEMICOLUMN 
+    ( clocking_item )* endclocking ( COLUMN identifier )?
+    | GLOBAL CLOCKING  identifier? clocking_event SEMICOLUMN endclocking ( COLUMN identifier )?
+   ; 
+
+clocking_event 
+    : AT identifier                                
+    | AT OPEN_PARENS event_expression CLOSE_PARENS 
+    ; 
+     
+clocking_item  
+    : DEFAULT default_skew SEMICOLUMN                               
+    | clocking_direction list_of_clocking_decl_assign SEMICOLUMN    
+    | ( attribute_instance )* concurrent_assertion_item_declaration 
+    ; 
+
+default_skew  
+    : INPUT clocking_skew   # DefaultSkew_Intput                  
+    | OUTPUT clocking_skew  # DefaultSkew_Output                   
+    | INPUT clocking_skew OUTPUT clocking_skew  # DefaultSkew_IntputOutput
+    ; 
+
+clocking_direction  
+    : INPUT ( clocking_skew )?  # ClockingDir_Input                         
+    | OUTPUT ( clocking_skew )?  # ClockingDir_Output                         
+    | INPUT ( clocking_skew )? OUTPUT ( clocking_skew )? # ClockingDir_InputOutput 
+    | INOUT # ClockingDir_Inout                                         
+    ; 
+
+list_of_clocking_decl_assign : clocking_decl_assign ( COMMA clocking_decl_assign )* ; 
+
+clocking_decl_assign : identifier ( ASSIGN_OP  ( dollar_root_keyword )? identifier (( OPEN_BRACKET constant_expression CLOSE_BRACKET )* DOT identifier)*  )? ; 
+
+clocking_skew   
+    : edge_identifier ( delay_control )? 
+    | delay_control                      
+    ; 
+
+
+edge_identifier :
+    POSEDGE  # Edge_Posedge 
+  | NEGEDGE  # Edge_Negedge
+  | EDGE     # Edge_Edge
+  ; 
+
+
+clocking_drive  
+    : clockvar_expression LESS_EQUAL ( cycle_delay )? expression  
+           
+    | cycle_delay clockvar_expression LESS_EQUAL expression 
+           
+    ; 
+
+cycle_delay  
+    : POUNDPOUND Integral_number                     
+    | POUNDPOUND identifier                          
+    | POUNDPOUND OPEN_PARENS expression CLOSE_PARENS 
+    ; 
+
+clockvar :  ( dollar_root_keyword )? identifier (( OPEN_BRACKET constant_expression CLOSE_BRACKET )* DOT identifier)*  ; 
+
+clockvar_expression : clockvar select ; 
+
+randsequence_statement : RANDSEQUENCE OPEN_PARENS ( identifier )? CLOSE_PARENS 
+    production ( production )* 
+    endsequence ; 
+
+
+production : ( function_data_type )? identifier ( OPEN_PARENS tf_port_list  
+                   CLOSE_PARENS )? COLUMN rs_rule ( BITW_OR rs_rule )* SEMICOLUMN ; 
+
+
+rs_rule : rs_production_list ( ASSIGN_VALUE expression ( rs_code_block )? )? ; 
+
+
+rs_production_list  
+    : rs_prod ( rs_prod )*  
+    | RAND JOIN ( OPEN_PARENS expression CLOSE_PARENS )? production_item  
+      production_item ( production_item )*  
+    ; 
+
+
+rs_code_block : OPEN_CURLY ( data_declaration )* ( statement_or_null )*  
+                CLOSE_CURLY ; 
+       
+rs_prod  
+    : production_item 
+    | rs_code_block   
+    | rs_if_else      
+    | rs_repeat       
+    | rs_case         
+    ; 
+
+production_item : identifier ( OPEN_PARENS list_of_arguments CLOSE_PARENS )? ; 
+
+rs_if_else : IF OPEN_PARENS expression CLOSE_PARENS production_item ( ELSE production_item )? ; 
+
+rs_repeat : REPEAT OPEN_PARENS expression CLOSE_PARENS production_item ; 
+             
+rs_case : CASE OPEN_PARENS expression CLOSE_PARENS rs_case_item ( rs_case_item )* endcase ;  
+
+rs_case_item  
+    : expression ( COMMA expression )* COLUMN production_item 
+    | DEFAULT ( COLUMN )? production_item                     
+    ;
+
+endspecify : ENDSPECIFY ; 
+
+specify_block : SPECIFY ( specify_item )* endspecify ; 
+
+specify_item  
+    : specparam_declaration     
+    | pulsestyle_declaration    
+    | showcancelled_declaration 
+    | path_declaration          
+    | system_timing_check       
+    ; 
+
+
+pulsestyle_declaration  
+    : PULSESTYLE_ONEVENT list_of_path_outputs SEMICOLUMN  
+    | PULSESTYLE_ONDETECT list_of_path_outputs SEMICOLUMN 
+    ; 
+
+
+showcancelled_declaration  
+    : SHOWCANCELLED list_of_path_outputs SEMICOLUMN    
+    | NOSHOWCANCELLED list_of_path_outputs SEMICOLUMN  
+    ; 
+
+
+
+path_declaration  
+    : simple_path_declaration SEMICOLUMN           
+    | edge_sensitive_path_declaration SEMICOLUMN   
+    | state_dependent_path_declaration SEMICOLUMN  
+    ; 
+
+
+simple_path_declaration  
+    : parallel_path_description ASSIGN_OP path_delay_value 
+    | full_path_description ASSIGN_OP path_delay_value     
+    ; 
+
+
+parallel_path_description : 
+    OPEN_PARENS specify_input_terminal_descriptor ( PLUS | MINUS )? TRANSITION_OP
+    specify_output_terminal_descriptor CLOSE_PARENS ; 
+
+
+full_path_description : 
+    OPEN_PARENS list_of_path_inputs  ( PLUS | MINUS )? FULL_CONN_OP  
+    list_of_path_outputs CLOSE_PARENS ; 
+
+
+list_of_path_inputs : specify_input_terminal_descriptor  
+                      ( COMMA specify_input_terminal_descriptor )* ; 
+
+
+list_of_path_outputs : specify_output_terminal_descriptor  
+                       ( COMMA specify_output_terminal_descriptor )* ; 
+
+specify_input_terminal_descriptor : 
+    ( identifier | interface_identifier DOT identifier )  ( OPEN_BRACKET constant_range_expression CLOSE_BRACKET )? ; 
+
+
+specify_output_terminal_descriptor : 
+    ( identifier | interface_identifier DOT identifier )  ( OPEN_BRACKET constant_range_expression CLOSE_BRACKET )? ;  
+
+path_delay_value  
+    : list_of_path_delay_expressions                          
+    | OPEN_PARENS list_of_path_delay_expressions CLOSE_PARENS 
+    ; 
+
+
+list_of_path_delay_expressions  
+    : t_path_delay_expression 
+    | trise_path_delay_expression COMMA tfall_path_delay_expression 
+    | trise_path_delay_expression COMMA tfall_path_delay_expression COMMA tz_path_delay_expression 
+    | t01_path_delay_expression COMMA t10_path_delay_expression COMMA t0z_path_delay_expression COMMA 
+    tz1_path_delay_expression COMMA t1z_path_delay_expression COMMA tz0_path_delay_expression 
+    | t01_path_delay_expression COMMA t10_path_delay_expression COMMA t0z_path_delay_expression COMMA 
+    tz1_path_delay_expression COMMA t1z_path_delay_expression COMMA tz0_path_delay_expression COMMA 
+    t0x_path_delay_expression COMMA tx1_path_delay_expression COMMA t1x_path_delay_expression COMMA 
+    tx0_path_delay_expression COMMA txz_path_delay_expression COMMA tzx_path_delay_expression 
+    ; 
+
+t_path_delay_expression : path_delay_expression ; 
+trise_path_delay_expression : path_delay_expression ; 
+tfall_path_delay_expression : path_delay_expression ; 
+tz_path_delay_expression : path_delay_expression ; 
+t01_path_delay_expression : path_delay_expression ; 
+t10_path_delay_expression : path_delay_expression ; 
+t0z_path_delay_expression : path_delay_expression ; 
+tz1_path_delay_expression : path_delay_expression ; 
+t1z_path_delay_expression : path_delay_expression ; 
+tz0_path_delay_expression : path_delay_expression ; 
+t0x_path_delay_expression : path_delay_expression ; 
+tx1_path_delay_expression : path_delay_expression ; 
+t1x_path_delay_expression : path_delay_expression ; 
+tx0_path_delay_expression : path_delay_expression ; 
+txz_path_delay_expression : path_delay_expression ; 
+tzx_path_delay_expression : path_delay_expression ; 
+path_delay_expression : constant_mintypmax_expression ; 
+
+
+edge_sensitive_path_declaration  
+    : parallel_edge_sensitive_path_description ASSIGN_OP path_delay_value 
+    | full_edge_sensitive_path_description ASSIGN_OP path_delay_value 
+    ; 
+
+parallel_edge_sensitive_path_description :  
+     OPEN_PARENS ( edge_identifier )? specify_input_terminal_descriptor TRANSITION_OP 
+     OPEN_PARENS specify_output_terminal_descriptor ( INC_PART_SELECT_OP | DEC_PART_SELECT_OP | COLUMN )   
+     expression CLOSE_PARENS CLOSE_PARENS ; 
+ 
+ 
+full_edge_sensitive_path_description : 
+     OPEN_PARENS ( edge_identifier )? list_of_path_inputs FULL_CONN_OP 
+     OPEN_PARENS list_of_path_outputs ( INC_PART_SELECT_OP | DEC_PART_SELECT_OP | COLUMN )    
+     expression CLOSE_PARENS CLOSE_PARENS ;  
+
+state_dependent_path_declaration  
+    : IF OPEN_PARENS module_path_expression CLOSE_PARENS simple_path_declaration 
+    | IF OPEN_PARENS module_path_expression CLOSE_PARENS edge_sensitive_path_declaration 
+    | IFNONE simple_path_declaration 
+    ; 
+
+system_timing_check  
+    : dollar_setup_timing_check 
+    | dollar_hold_timing_check 
+    | dollar_setuphold_timing_check 
+    | dollar_recovery_timing_check 
+    | dollar_removal_timing_check 
+    | dollar_recrem_timing_check 
+    | dollar_skew_timing_check 
+    | dollar_timeskew_timing_check 
+    | dollar_fullskew_timing_check 
+    | dollar_period_timing_check 
+    | dollar_width_timing_check 
+    | dollar_nochange_timing_check 
+    ; 
+
+
+dollar_setup_timing_check : 
+    DOLLAR Simple_identifier OPEN_PARENS timing_check_event COMMA reference_event COMMA  
+    timing_check_limit ( COMMA ( notifier )? )? CLOSE_PARENS SEMICOLUMN ; 
+
+
+dollar_hold_timing_check : 
+    DOLLAR Simple_identifier OPEN_PARENS  reference_event COMMA  timing_check_event COMMA  
+    timing_check_limit ( COMMA ( notifier )? )? CLOSE_PARENS SEMICOLUMN ; 
+
+
+dollar_setuphold_timing_check : 
+    DOLLAR Simple_identifier OPEN_PARENS reference_event COMMA  timing_check_event COMMA timing_check_limit COMMA timing_check_limit 
+    ( COMMA ( notifier )? ( COMMA ( stamptime_condition )? ( COMMA ( mintypmax_expression )? 
+    ( COMMA ( delayed_reference )? ( COMMA ( delayed_data )? )? )? )? )? )? CLOSE_PARENS SEMICOLUMN ; 
+
+
+dollar_recovery_timing_check : 
+    DOLLAR Simple_identifier OPEN_PARENS reference_event COMMA timing_check_event COMMA  
+    timing_check_limit ( COMMA ( notifier )? )? CLOSE_PARENS SEMICOLUMN ; 
+
+
+dollar_removal_timing_check : 
+    DOLLAR Simple_identifier OPEN_PARENS reference_event COMMA timing_check_event  COMMA  
+    timing_check_limit ( COMMA ( notifier )? )? CLOSE_PARENS SEMICOLUMN ; 
+
+
+dollar_recrem_timing_check : 
+    DOLLAR Simple_identifier OPEN_PARENS reference_event COMMA timing_check_event COMMA timing_check_limit COMMA timing_check_limit 
+    ( COMMA ( notifier )? ( COMMA ( stamptime_condition )? ( COMMA ( mintypmax_expression )? 
+    ( COMMA ( delayed_reference )? ( COMMA ( delayed_data )? )? )? )? )? )? CLOSE_PARENS SEMICOLUMN ; 
+
+
+dollar_skew_timing_check : 
+    DOLLAR Simple_identifier OPEN_PARENS reference_event COMMA timing_check_event COMMA  
+    timing_check_limit ( COMMA ( notifier )? )? CLOSE_PARENS SEMICOLUMN ; 
+
+
+dollar_timeskew_timing_check : 
+    DOLLAR Simple_identifier OPEN_PARENS reference_event COMMA timing_check_event  COMMA timing_check_limit 
+    ( COMMA ( notifier )? ( COMMA ( event_based_flag )?  
+    ( COMMA ( remain_active_flag )? )? )? )? CLOSE_PARENS SEMICOLUMN ; 
+
+
+dollar_fullskew_timing_check : 
+    DOLLAR Simple_identifier OPEN_PARENS reference_event COMMA timing_check_event  
+    COMMA timing_check_limit COMMA timing_check_limit 
+    ( COMMA ( notifier )? ( COMMA ( event_based_flag )?  
+    ( COMMA ( remain_active_flag )? )? )? )? CLOSE_PARENS SEMICOLUMN ; 
+
+
+dollar_period_timing_check : 
+    DOLLAR Simple_identifier OPEN_PARENS controlled_timing_check_event COMMA timing_check_limit  
+    ( COMMA ( notifier )? )? CLOSE_PARENS SEMICOLUMN ; 
+
+
+dollar_width_timing_check : 
+    DOLLAR Simple_identifier OPEN_PARENS controlled_timing_check_event COMMA timing_check_limit 
+    COMMA threshold ( COMMA ( notifier )? )? CLOSE_PARENS SEMICOLUMN ;  
+
+
+dollar_nochange_timing_check : 
+    DOLLAR Simple_identifier OPEN_PARENS reference_event COMMA timing_check_event COMMA start_edge_offset COMMA 
+    end_edge_offset ( COMMA ( notifier )? )? CLOSE_PARENS SEMICOLUMN ;   
+
+delayed_data 
+    : identifier 
+    | identifier OPEN_BRACKET constant_mintypmax_expression CLOSE_BRACKET  
+    ; 
+
+
+delayed_reference  
+    : identifier 
+    | identifier OPEN_BRACKET constant_mintypmax_expression CLOSE_BRACKET  
+    ; 
+
+end_edge_offset : mintypmax_expression ; 
+
+event_based_flag : constant_expression ; 
+
+notifier : identifier ; 
+
+reference_event : timing_check_event ; 
+
+remain_active_flag : constant_mintypmax_expression ; 
+
+stamptime_condition : mintypmax_expression ; 
+
+start_edge_offset : mintypmax_expression ; 
+
+threshold : constant_expression ; 
+
+timing_check_limit : expression ; 
+
+timing_check_event : 
+    (timing_check_event_control)? specify_terminal_descriptor ( COND_PRED_OP timing_check_condition )? ; 
+
+
+controlled_timing_check_event : 
+    timing_check_event_control specify_terminal_descriptor ( COND_PRED_OP timing_check_condition )? ; 
+
+
+timing_check_event_control  
+    : POSEDGE  # TimingCheckEventControl_Posedge              
+    | NEGEDGE  # TimingCheckEventControl_Negedge              
+    | edge_control_specifier # TimingCheckEventControl_Edge
+    ; 
+
+
+specify_terminal_descriptor  
+    : specify_input_terminal_descriptor 
+    | specify_output_terminal_descriptor 
+    ; 
+
+edge_control_specifier : EDGE OPEN_BRACKET edge_descriptor ( COMMA edge_descriptor )* CLOSE_BRACKET ; 
+
+edge_descriptor  
+      : Integral_number                     
+      | Simple_identifier  Integral_number  
+      | Integral_number Simple_identifier   
+//    | Rising              
+//    | Falling             
+//    | Simple_identifier  Zero_or_one  
+//    | Zero_or_one Simple_identifier 
+    ; 
+
+timing_check_condition  
+    : scalar_timing_check_condition 
+    | OPEN_PARENS scalar_timing_check_condition CLOSE_PARENS 
+    ; 
+
+scalar_timing_check_condition  
+    : expression                       
+    | TILDA expression                 
+    | expression EQUIV scalar_constant  
+                                       
+    | expression FOUR_STATE_LOGIC_EQUAL scalar_constant 
+                                       
+    | expression NOTEQUAL scalar_constant  
+                                       
+    | expression FOUR_STATE_LOGIC_NOTEQUAL scalar_constant   
+                                       
+    ; 
+
+
+scalar_constant
+    : ONE_TICK_b0 # Scalar_1Tickb0
+    | ONE_TICK_b1 # Scalar_1Tickb1
+    | ONE_TICK_B0 # Scalar_1TickB0
+    | ONE_TICK_B1 # Scalar_1TickB1
+    | TICK_b0 # Scalar_Tickb0
+    | TICK_b1 # Scalar_Tickb1
+    | TICK_B0  # Scalar_TickB0
+    | TICK_B1  # Scalar_TickB1
+    | Integral_number  # Scalar_Integral 
+    ; 
+
+ concatenation  
+    : OPEN_CURLY expression ( COMMA expression )* CLOSE_CURLY      
+    | OPEN_CURLY array_member_label COLUMN expression  
+      ( COMMA array_member_label COLUMN expression )* CLOSE_CURLY  
+    ; 
+
+
+constant_concatenation 
+    : OPEN_CURLY constant_expression ( COMMA constant_expression )* CLOSE_CURLY  
+                                                        
+    | OPEN_CURLY array_member_label COLUMN constant_expression  
+      ( COMMA array_member_label COLUMN constant_expression )* CLOSE_CURLY   
+                                                        
+    ; 
+
+
+array_member_label  
+    : DEFAULT             
+    | identifier     
+    | constant_expression 
+    ; 
+
+
+constant_multiple_concatenation : OPEN_CURLY constant_expression constant_concatenation CLOSE_CURLY ; 
+
+
+module_path_concatenation : OPEN_CURLY module_path_expression ( COMMA module_path_expression )* CLOSE_CURLY ; 
+
+
+module_path_multiple_concatenation : OPEN_CURLY constant_expression module_path_concatenation CLOSE_CURLY ; 
+
+
+multiple_concatenation : OPEN_CURLY expression concatenation CLOSE_CURLY ; 
+
+
+streaming_concatenation : OPEN_CURLY stream_operator ( slice_size )? stream_concatenation CLOSE_CURLY ; 
+  
+
+stream_operator : SHIFT_RIGHT | SHIFT_LEFT ; 
+  
+  
+ slice_size : simple_type | constant_expression ; 
+
+
+stream_concatenation : OPEN_CURLY stream_expression ( COMMA stream_expression )* CLOSE_CURLY ; 
+  
+
+stream_expression : expression ( WITH OPEN_BRACKET array_range_expression CLOSE_BRACKET )? ; 
+
+
+array_range_expression 
+    : expression                               
+    | expression COLUMN expression             
+    | expression INC_PART_SELECT_OP expression 
+    | expression DEC_PART_SELECT_OP expression 
+    ; 
+
+empty_queue : OPEN_CURLY CLOSE_CURLY ; 
+
+/*
+subroutine_call
+    : tf_call         
+    | method_call     
+    | randomize_call  
+    ;
+*/
+
+subroutine_call : ( implicit_class_handle DOT | class_scope | package_scope | dollar_keyword )?  
+       ( dollar_root_keyword )? identifier ( constant_bit_select DOT identifier )* ( attribute_instance )* (  ( OPEN_PARENS list_of_arguments CLOSE_PARENS ) | select) (DOT? method_call_body)?
+       | randomize_call;
+
+
+
+list_of_arguments 
+    : ( expression )? (COMMA ( expression )? )* ( COMMA DOT identifier OPEN_PARENS ( expression )? CLOSE_PARENS )*                                                         
+    | DOT identifier OPEN_PARENS ( expression )? CLOSE_PARENS ( COMMA DOT identifier OPEN_PARENS ( expression )? CLOSE_PARENS )* 
+                                                        
+    ; 
+
+method_call : method_call_root DOT method_call_body 
+            | class_type COLUMNCOLUMN method_call_body 
+         ; 
+
+
+method_call_body  
+    : identifier ( attribute_instance )*  
+      ( OPEN_PARENS list_of_arguments CLOSE_PARENS )? 
+    | built_in_method_call 
+    ; 
+
+
+built_in_method_call  
+    : array_manipulation_call 
+    | randomize_call          
+    ; 
+
+
+array_manipulation_call : array_method_name ( attribute_instance )* 
+    ( OPEN_PARENS list_of_arguments CLOSE_PARENS )? 
+    ( WITH OPEN_PARENS expression CLOSE_PARENS )? 
+    ; 
+
+
+randomize_call : 
+    RANDOMIZE ( attribute_instance )* 
+    ( OPEN_PARENS ( identifier_list | NULL_KEYWORD )? CLOSE_PARENS )? 
+    ( WITH ( OPEN_PARENS ( identifier_list )? CLOSE_PARENS )? constraint_block )? ; 
+
+
+method_call_root 
+    : implicit_class_handle                            
+    | ( class_scope | package_scope )?  
+       ( dollar_root_keyword )? identifier (( OPEN_BRACKET constant_expression CLOSE_BRACKET )* DOT identifier)* select              
+    ; 
+
+
+array_method_name  
+    : identifier 
+    | unique_call         
+    | and_call               
+    | or_call             
+    | xor_call               
+    ; 
+
+unique_call : UNIQUE ;
+and_call : AND;
+or_call : OR;
+xor_call : XOR;
+
+
+inc_or_dec_expression  
+    : inc_or_dec_operator ( attribute_instance )* variable_lvalue   
+    | variable_lvalue ( attribute_instance )* inc_or_dec_operator  
+                                               
+    ; 
+
+constant_expression  
+    : constant_primary                                        
+    | unary_operator ( attribute_instance )* constant_primary 
+    | constant_expression binary_operator ( attribute_instance )* constant_expression                    
+    | constant_expression QMARK ( attribute_instance )* constant_expression COLUMN constant_expression  
+    | system_task                                             
+    ; 
+
+constant_mintypmax_expression  
+    : constant_expression 
+    | constant_expression COLUMN constant_expression COLUMN constant_expression  
+    ; 
+
+constant_param_expression  
+    : constant_mintypmax_expression 
+    | data_type                     
+    | DOLLAR                        
+    ; 
+
+
+param_expression  
+    : mintypmax_expression 
+    | data_type
+    | DOLLAR
+    ; 
+
+
+constant_range_expression  
+    : constant_expression         
+    | constant_part_select_range  
+    ; 
+
+
+constant_part_select_range  
+    : constant_range         
+    | constant_indexed_range 
+    ; 
+
+
+constant_range : constant_expression COLUMN constant_expression ; 
+
+
+constant_indexed_range  
+    : constant_expression INC_PART_SELECT_OP constant_expression  
+                                              
+    | constant_expression DEC_PART_SELECT_OP constant_expression  
+                                              
+    ; 
+
+
+expression  
+    : primary                                                 
+    | unary_operator ( attribute_instance )* primary          
+    | inc_or_dec_expression                                   
+    | OPEN_PARENS operator_assignment CLOSE_PARENS            
+    | expression binary_operator ( attribute_instance )* expression 
+    |  expression ( LOGICAL_AND expression )* QMARK ( attribute_instance )* 
+       expression COLUMN expression                           
+    |  expression MATCHES pattern ( LOGICAL_AND expression )* QMARK ( attribute_instance )* 
+       expression COLUMN expression
+    |  OPEN_PARENS expression MATCHES pattern ( LOGICAL_AND expression )* CLOSE_PARENS QMARK ( attribute_instance )* 
+       expression COLUMN expression
+    | expression INSIDE OPEN_CURLY open_range_list CLOSE_CURLY 
+    | tagged_union_expression                                 
+    ; 
+
+
+tagged_union_expression : 
+    TAGGED identifier ( expression )? ;  
+
+
+value_range  
+    : expression                                               
+    | OPEN_BRACKET expression COLUMN expression CLOSE_BRACKET  
+    ; 
+
+
+mintypmax_expression  
+    : expression                                     
+    | expression COLUMN expression COLUMN expression 
+    ; 
+
+module_path_expression  
+    : module_path_primary                 
+    | unary_module_path_operator ( attribute_instance )*  module_path_primary   
+                                          
+    | module_path_expression binary_module_path_operator ( attribute_instance )*  
+        module_path_expression            
+    | module_path_expression QMARK ( attribute_instance )*  
+    module_path_expression COLUMN module_path_expression 
+; 
+
+module_path_mintypmax_expression  
+    : module_path_expression  
+    | module_path_expression COLUMN module_path_expression COLUMN module_path_expression 
+                              
+    ; 
+
+range_expression  
+    : expression        
+    | part_select_range 
+    ; 
+
+part_select_range  
+    : constant_range 
+    | indexed_range  
+    ; 
+
+indexed_range  
+    : expression INC_PART_SELECT_OP constant_expression 
+    | expression DEC_PART_SELECT_OP constant_expression 
+    ; 
+
+constant_primary  
+    : primary_literal                                  
+    | ( package_scope | class_scope )? identifier constant_select ( OPEN_BRACKET constant_range_expression CLOSE_BRACKET )? 
+    | constant_concatenation ( OPEN_BRACKET constant_range_expression CLOSE_BRACKET )?    
+    | constant_multiple_concatenation ( OPEN_BRACKET constant_range_expression CLOSE_BRACKET )?                        
+    | subroutine_call                        
+    | OPEN_PARENS constant_mintypmax_expression CLOSE_PARENS 
+    | constant_cast                                    
+    | constant_assignment_pattern_expression           
+    | type_reference
+    | dollar_keyword                         
+    ; 
+
+module_path_primary  
+    : number                                                    
+    | identifier                                                
+    | module_path_concatenation                                 
+    | module_path_multiple_concatenation                        
+    | subroutine_call                                  
+    | OPEN_PARENS module_path_mintypmax_expression CLOSE_PARENS 
+    ;
+
+/*
+  Replaces let_expression, tf_call, method_call
+*/
+complex_func_call : ( implicit_class_handle DOT | class_scope | package_scope | dollar_keyword )?  
+       ( dollar_root_keyword )? identifier (( OPEN_BRACKET constant_expression CLOSE_BRACKET )* DOT identifier)* ( attribute_instance )* ( ( OPEN_PARENS (list_of_arguments) CLOSE_PARENS ) | select ) (DOT? method_call_body)? ;
+
+primary
+    : primary_literal                
+    | complex_func_call
+    | ( concatenation | multiple_concatenation ) ( OPEN_BRACKET range_expression CLOSE_BRACKET )? 
+    | OPEN_PARENS mintypmax_expression CLOSE_PARENS
+    | cast                           
+    | assignment_pattern_expression  
+    | streaming_concatenation        
+//    | sequence_method_call           
+    | system_task                    
+    | class_type COLUMNCOLUMN method_call_body 
+    | this_keyword                          
+    | dollar_keyword                         
+    | null_keyword                  
+    | empty_queue                    
+    | randomize_call
+    ;
+    
+this_keyword : THIS; 
+
+super_keyword : SUPER; 
+
+dollar_keyword : DOLLAR;
+
+dollar_root_keyword : DOLLAR_ROOT DOT;
+
+this_dot_super : THIS DOT SUPER;
+
+null_keyword : NULL_KEYWORD;   
+
+time_literal  
+    : Integral_number time_unit    
+    | Real_number time_unit        
+//REMOVED  | Unsigned_number time_unit    
+//  | Fixed_point_number time_unit 
+    ; 
+
+time_unit  
+    : Simple_identifier  
+    ; 
+
+implicit_class_handle  
+    : this_keyword            
+    | super_keyword           
+    | this_dot_super  
+    ; 
+
+bit_select : 
+      ( OPEN_BRACKET expression CLOSE_BRACKET )* ; 
+
+select : ( ( DOT identifier bit_select )* DOT identifier )? bit_select ( OPEN_BRACKET part_select_range CLOSE_BRACKET )? ; 
+
+nonrange_select : 
+      ( ( DOT identifier bit_select )* DOT identifier )? bit_select ; 
+
+constant_bit_select : 
+      ( OPEN_BRACKET constant_expression CLOSE_BRACKET )* ; 
+
+constant_select : 
+      ( ( DOT identifier constant_bit_select )* DOT identifier )? constant_bit_select 
+      ( OPEN_BRACKET constant_part_select_range CLOSE_BRACKET )? ; 
+
+primary_literal  
+    : number                   
+    | time_literal             
+    | unbased_unsized_literal  
+    | string_value
+    | identifier
+    ; 
+
+constant_cast  
+    : casting_type TICK ( OPEN_PARENS constant_expression CLOSE_PARENS | constant_concatenation | constant_multiple_concatenation ) 
+    ; 
+
+cast  
+    : casting_type TICK ( OPEN_PARENS expression CLOSE_PARENS | concatenation | multiple_concatenation)
+    ; 
+
+net_lvalue  
+    : ps_or_hierarchical_identifier constant_select       
+    | OPEN_CURLY net_lvalue ( COMMA net_lvalue )* CLOSE_CURLY 
+    | ( assignment_pattern_expression_type )? assignment_pattern_net_lvalue 
+    ; 
+
+
+variable_lvalue  
+    : ( implicit_class_handle DOT | package_scope )?  
+      hierarchical_identifier select                           
+    | OPEN_CURLY variable_lvalue ( COMMA variable_lvalue )* CLOSE_CURLY 
+    | ( assignment_pattern_expression_type )? assignment_pattern_variable_lvalue 
+    | streaming_concatenation                                           
+    ; 
+
+nonrange_variable_lvalue : 
+      ( implicit_class_handle DOT | package_scope )? hierarchical_identifier nonrange_select ; 
+     
+
+unary_operator
+    : PLUS  # Unary_Plus
+    | MINUS  # Unary_Minus
+    | BANG  # Unary_Not
+    | TILDA  # Unary_Tilda
+    | BITW_AND  # Unary_BitwAnd
+    | REDUCTION_NAND  # Unary_ReductNand
+    | BITW_OR    # Unary_BitwOr
+    | REDUCTION_NOR  # Unary_ReductNor
+    | BITW_XOR  # Unary_BitwXor
+    | REDUCTION_XNOR1  # Unary_ReductXnor1
+    | REDUCTION_XNOR2  # Unary_ReductXnor2
+    ; 
+
+binary_operator  
+    : PLUS     # BinOp_Plus
+    | MINUS    # BinOp_Minus
+    | STAR     # BinOp_Mult
+    | DIV     # BinOp_Div
+    | PERCENT     # BinOp_Percent
+    | EQUIV     # BinOp_Equiv
+    | NOTEQUAL     # BinOp_Not
+    | FOUR_STATE_LOGIC_EQUAL      # BinOp_FourStateLogicEqual
+    | FOUR_STATE_LOGIC_NOTEQUAL     # BinOp_FourStateLogicNotEqual
+    | WILD_EQUAL_OP     # BinOp_WildEqual
+    | WILD_NOTEQUAL_OP     # BinOp_WildNotEqual
+    | LOGICAL_AND     # BinOp_LogicAnd
+    | LOGICAL_OR     # BinOp_LogicOr
+    | STARSTAR       # BinOp_MultMult
+    | LESS     # BinOp_Less
+    | LESS_EQUAL     # BinOp_LessEqual
+    | GREATER     # BinOp_Great
+    | GREATER_EQUAL     # BinOp_GreatEqual
+    | BITW_AND     # BinOp_BitwAnd
+    | BITW_OR     # BinOp_BitwOr
+    | BITW_XOR       # BinOp_BitwXor
+    | REDUCTION_XNOR1     # BinOp_ReductXnor1
+    | REDUCTION_XNOR2     # BinOp_ReductXnor2
+    | REDUCTION_NOR       # BinOp_ReductNor
+    | REDUCTION_NAND      # BinOp_ReductNand
+    | SHIFT_RIGHT     # BinOp_ShiftRight
+    | SHIFT_LEFT     # BinOp_ShiftLeft
+    | ARITH_SHIFT_RIGHT     # BinOp_ArithShiftRight
+    | ARITH_SHIFT_LEFT     # BinOp_ArithShiftLeft
+    | IMPLY                # BinOp_Imply
+    | EQUIVALENCE          # BinOp_Equivalence
+    | BINARY_WILDCARD_EQUAL # BinOp_WildcardEqual
+    | BINARY_WILDCARD_NOTEQUAL # BinOp_WildcardNotEqual
+    ; 
+
+inc_or_dec_operator
+    : PLUSPLUS   # IncDec_PlusPlus
+    | MINUSMINUS # IncDec_MinusMinus
+    ; 
+
+unary_module_path_operator
+    : BANG               # UnaryModOp_Not
+    | TILDA              # UnaryModOp_Tilda
+    | BITW_AND           # UnaryModOp_BitwAnd
+    | REDUCTION_NAND     # UnaryModOp_ReductNand
+    | BITW_OR            # UnaryModOp_BitwOr
+    | REDUCTION_NOR      # UnaryModOp_ReductNor
+    | BITW_XOR           # UnaryModOp_BitwXor
+    | REDUCTION_XNOR1    # UnaryModOp_ReductXNor1
+    | REDUCTION_XNOR2    # UnaryModOp_ReductXnor2
+    ; 
+
+binary_module_path_operator
+    : EQUIV   # BinModOp_Equiv
+    | NOTEQUAL   # BinModOp_NotEqual
+    | LOGICAL_AND   # BinModOp_LogicAnd
+    | LOGICAL_OR   # BinModOp_LogicOr
+    | BITW_AND    # BinModOp_BitwAnd 
+    | BITW_OR   # BinModOp_BitwOr
+    | BITW_XOR   # BinModOp_BitwXor
+    | REDUCTION_XNOR1   # BinModOp_ReductXnor1
+    | REDUCTION_XNOR2   # BinModOp_ReductXnor2
+    ; 
+
+number 
+   : Integral_number # Number_Integral 
+   | Real_number     # Number_Real
+   | ONE_TICK_b0     # Number_1Tickb0
+   | ONE_TICK_b1     # Number_1Tickb1
+   | ONE_TICK_B0     # Number_1TickB0
+   | ONE_TICK_B1     # Number_1TickB1
+   | TICK_b0         # Number_Tickb0
+   | TICK_b1         # Number_Tickb1
+   | TICK_B0         # Number_TickB0
+   | TICK_B1         # Number_TickB1
+   | TICK_0          # Number_Tick0
+   | TICK_1          # Number_Tick1
+   | ONE_TICK_bx     # Number_1Tickbx
+   | ONE_TICK_bX     # Number_1TickbX
+   | ONE_TICK_Bx     # Number_1TickBx
+   | ONE_TICK_BX     # Number_1TickBX
+   ;
+
+
+unbased_unsized_literal  
+    : TICK_0     
+    | TICK_1     
+    | TICK Simple_identifier 
+    ;  
+
+
+attribute_instance : OPEN_PARENS_STAR attr_spec ( COMMA attr_spec )* STAR_CLOSE_PARENS ; 
+
+attr_spec : attr_name ( ASSIGN_OP constant_expression )? ; 
+
+attr_name : identifier ; 
+
+hierarchical_identifier :  ( dollar_root_keyword )? (
+      Simple_identifier   
+    | Escaped_identifier  
+    | THIS                
+    | RANDOMIZE
+    | SAMPLE 
+    | LOGIC  
+    | BIT    
+    | BYTE   
+    | NEW    
+    | EXPECT 
+    | VAR    
+    | DO     
+    | SIGNED 
+    | UNSIGNED 
+    | FINAL 
+    | GLOBAL 
+    | SOFT 
+    | CONTEXT
+      ) (( OPEN_BRACKET constant_expression CLOSE_BRACKET )* DOT (
+      Simple_identifier   
+    | Escaped_identifier  
+    | THIS                
+    | RANDOMIZE           
+    | SAMPLE
+    | LOGIC  
+    | BIT    
+    | BYTE   
+    | NEW    
+    | EXPECT 
+    | VAR    
+    | DO     
+    | SIGNED 
+    | UNSIGNED 
+    | FINAL 
+    | GLOBAL 
+    | SOFT 
+    | CONTEXT 
+    ))*  ; 
+
+identifier  
+    : Simple_identifier   
+    | Escaped_identifier  
+    | THIS    // System Verilog keyword            
+    | RANDOMIZE // System Verilog keyword        
+    | SAMPLE // System Verilog keyword
+    | LOGIC  // System Verilog keyword
+    | BIT    // System Verilog keyword
+    | BYTE   // System Verilog keyword
+    | NEW    // System Verilog keyword
+    | EXPECT // System Verilog keyword
+    | VAR    // System Verilog keyword
+    | DO     // System Verilog keyword
+    | SIGNED // System Verilog keyword
+    | UNSIGNED // System Verilog keyword
+    | FINAL // System Verilog keyword
+    | GLOBAL // System Verilog keyowrd
+    | SOFT // System Verilog keyword
+    | CONTEXT // System Verilog keyword
+    ; 
+
+interface_identifier : ( dollar_root_keyword )? identifier (( OPEN_BRACKET constant_expression CLOSE_BRACKET )* DOT identifier)*  ;  
+
+/*
+package_scope  
+    : identifier COLUMNCOLUMN 
+    | DOLLAR_UNIT COLUMNCOLUMN 
+    ;
+*/
+
+package_scope  
+    : ( Simple_identifier   
+    | Escaped_identifier  
+    | THIS                
+    | RANDOMIZE           
+    | SAMPLE
+    | DOLLAR_UNIT ) COLUMNCOLUMN 
+    ; 
+
+/*
+ps_identifier : ( package_scope )?  identifier  ; 
+*/
+
+ps_identifier : ( Simple_identifier   
+    | Escaped_identifier  
+    | THIS                
+    | RANDOMIZE           
+    | SAMPLE
+    | DOLLAR_UNIT ) (COLUMNCOLUMN (Simple_identifier   
+    | Escaped_identifier
+    | THIS                
+    | RANDOMIZE           
+    | SAMPLE  ))?;
+
+
+
+ps_or_hierarchical_identifier : ( package_scope )? identifier | hierarchical_identifier ; 
+
+ps_or_hierarchical_array_identifier : ( implicit_class_handle DOT | class_scope | package_scope )?  ( dollar_root_keyword )? identifier (( OPEN_BRACKET constant_expression CLOSE_BRACKET )* DOT identifier)*  ; 
+
+ps_or_hierarchical_sequence_identifier : ( package_scope )? identifier |  ( dollar_root_keyword )? identifier (( OPEN_BRACKET constant_expression CLOSE_BRACKET )* DOT identifier)*  ; 
+
+ps_type_identifier : ( LOCAL COLUMNCOLUMN | package_scope )?  identifier  ; 
+
+system_task : system_task_names (OPEN_PARENS (list_of_arguments | data_type) CLOSE_PARENS)? SEMICOLUMN? ;
+
+system_task_names : DOLLAR Simple_identifier (DOLLAR Simple_identifier)*
+		  | DOLLAR TIME
+		  | DOLLAR REALTIME
+		  | DOLLAR signing
+		  | DOLLAR ASSERT
+                  ;
+     
+top_directives   : timescale_directive
+                 | uselib_directive 
+                 | BACK_TICK Simple_identifier ( number | Simple_identifier | Real_number ) ?
+		 | begin_keywords_directive
+		 | end_keywords_directive
+		 | unconnected_drive_directive
+		 | nounconnected_drive_directive
+		 | default_nettype_directive
+		 | default_decay_time_directive
+                 | default_trireg_strenght_directive
+                 | delay_mode_distributed_directive   
+                 | delay_mode_path_directive  
+                 | delay_mode_unit_directive        
+                 | delay_mode_zero_directive
+	         | protect_directive
+     	         | endprotect_directive 
+     	         | protected_directive
+	         | endprotected_directive 
+	         | expand_vectornets_directive
+	         | noexpand_vectornets_directive 
+	         | autoexpand_vectornets_directive
+	         | remove_gatename_directive
+	         | noremove_gatenames_directive 
+	         | remove_netname_directive 
+ 	         | noremove_netnames_directive
+	         | accelerate_directive
+	         | noaccelerate_directive
+	         | disable_portfaults_directive
+	         | enable_portfaults_directive 
+	         | nosuppress_faults_directive 
+	         | suppress_faults_directive
+	         | signed_directive
+	         | unsigned_directive
+		 | celldefine_directive
+		 | endcelldefine_directive
+		 | pragma_directive
+                 ;
+		 
+pragma_directive : TICK_PRAGMA Simple_identifier (pragma_expression (COMMA pragma_expression)*)? ;
+
+pragma_expression
+                 : Simple_identifier
+		 | Simple_identifier ASSIGN_OP pragma_value
+		 | pragma_value
+		 | BEGIN
+		 | END
+		 ;
+
+pragma_value
+                : OPEN_PARENS pragma_expression ( COMMA pragma_expression)* CLOSE_PARENS
+		| number
+		| string_value
+		| Simple_identifier
+		;
+
+timescale_directive : TICK_TIMESCALE Integral_number Simple_identifier DIV  Integral_number Simple_identifier ; 
+
+begin_keywords_directive : TICK_BEGIN_KEYWORDS String ;
+
+end_keywords_directive : TICK_END_KEYWORDS ;
+
+unconnected_drive_directive : TICK_UNCONNECTED_DRIVE ( Simple_identifier | PULL0 | PULL1) ;
+
+nounconnected_drive_directive : TICK_NOUNCONNECTED_DRIVE;
+
+default_nettype_directive : TICK_DEFAULT_NETTYPE ( Simple_identifier | net_type );
+
+uselib_directive : TICK_USELIB ; 
+
+celldefine_directive : TICK_CELLDEFINE ;
+endcelldefine_directive : TICK_ENDCELLDEFINE;
+protect_directive : TICK_PROTECT;
+endprotect_directive : TICK_ENDPROTECT; 
+protected_directive : TICK_PROTECTED;
+endprotected_directive : TICK_ENDPROTECTED; 
+expand_vectornets_directive : TICK_EXPAND_VECTORNETS ;
+noexpand_vectornets_directive : TICK_NOEXPAND_VECTORNETS;
+autoexpand_vectornets_directive : TICK_AUTOEXPAND_VECTORNETS;
+disable_portfaults_directive : TICK_DISABLE_PORTFAULTS;
+enable_portfaults_directive : TICK_ENABLE_PORTFAULTS;
+nosuppress_faults_directive : TICK_NOSUPPRESS_FAULTS;
+suppress_faults_directive : TICK_SUPPRESS_FAULTS;
+signed_directive : TICK_SIGNED;
+unsigned_directive : TICK_UNSIGNED;
+remove_gatename_directive : TICK_REMOVE_GATENAME;
+noremove_gatenames_directive : TICK_NOREMOVE_GATENAMES;
+remove_netname_directive : TICK_REMOVE_NETNAME;
+noremove_netnames_directive : TICK_NOREMOVE_NETNAMES; 
+accelerate_directive : TICK_ACCELERATE;
+noaccelerate_directive : TICK_NOACCELERATE;
+default_trireg_strenght_directive : TICK_DEFAULT_TRIREG_STRENGTH number;
+default_decay_time_directive : TICK_DEFAULT_DECAY_TIME ( number | Simple_identifier );
+delay_mode_distributed_directive : TICK_DELAY_MODE_DISTRIBUTED;    
+delay_mode_path_directive : TICK_DELAY_MODE_PATH;   
+delay_mode_unit_directive : TICK_DELAY_MODE_UNIT;         
+delay_mode_zero_directive : TICK_DELAY_MODE_ZERO;
+
+
+surelog_macro_not_defined : SURELOG_MACRO_NOT_DEFINED ; 
+
+slline : SLLINE Integral_number String Integral_number ;
+
+endconfig : ENDCONFIG;
+
+config_declaration : CONFIG identifier SEMICOLUMN 
+                     ( local_parameter_declaration SEMICOLUMN )* 
+                     design_statement  
+                     ( config_rule_statement )*  
+                     endconfig ( COLUMN identifier )? ; 
+
+design_statement : DESIGN ( ( identifier DOT )? identifier )*  
+                   SEMICOLUMN ; 
+
+config_rule_statement  
+        : default_clause liblist_clause SEMICOLUMN 
+        | inst_clause liblist_clause    SEMICOLUMN 
+        | inst_clause use_clause_config SEMICOLUMN 
+        | inst_clause use_clause        SEMICOLUMN 
+        | cell_clause liblist_clause    SEMICOLUMN
+	| cell_clause use_clause_config SEMICOLUMN 
+        | cell_clause use_clause        SEMICOLUMN 
+     ; 
+
+default_clause : DEFAULT ; 
+     
+inst_clause : INSTANCE inst_name ; 
+
+inst_name : identifier ( DOT identifier )* ; 
+
+cell_clause : CELL ( identifier DOT )? identifier ; 
+
+liblist_clause : LIBLIST ( identifier )* ; 
+
+
+use_clause_config : USE ( identifier DOT )? identifier COLUMN CONFIG  
+           | USE named_parameter_assignment ( COMMA named_parameter_assignment )* COLUMN CONFIG  
+           | USE ( identifier DOT )? identifier named_parameter_assignment 
+             ( COMMA named_parameter_assignment )* COLUMN CONFIG  
+           ; 
+
+use_clause : USE ( identifier DOT )? identifier 
+           | USE named_parameter_assignment ( COMMA named_parameter_assignment )* 
+           | USE ( identifier DOT )? identifier named_parameter_assignment 
+             ( COMMA named_parameter_assignment )*
+	   | USE parameter_value_assignment  
+           ; 
