pss-langserver
Version:
A Language server for the Portable Stimulus Standard
891 lines (887 loc) • 1.3 MB
text/typescript
/*
* Copyright (C) 2025 Darshan(@thisisthedarshan)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
// Generated from ./src/grammar/antlr/pss.g4 by ANTLR 4.13.2
// noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols
import {
ATN,
ATNDeserializer, DecisionState, DFA, FailedPredicateException,
RecognitionException, NoViableAltException, BailErrorStrategy,
Parser, ParserATNSimulator,
RuleContext, ParserRuleContext, PredictionMode, PredictionContextCache,
TerminalNode, RuleNode,
Token, TokenStream,
Interval, IntervalSet
} from 'antlr4';
import pssListener from "./pssListener.js";
import pssVisitor from "./pssVisitor.js";
// for running tests with parameters, TODO: discuss strategy for typed parameters in CI
// eslint-disable-next-line no-unused-vars
type int = number;
export default class pss extends Parser {
public static readonly TOKEN_SCOPE = 1;
public static readonly TOKEN_SEMICOLON = 2;
public static readonly TOKEN_ASTERISK = 3;
public static readonly TOKEN_COMMA = 4;
public static readonly TOKEN_COLON = 5;
public static readonly TOKEN_EQUALS = 6;
public static readonly TOKEN_ELLIPSIS = 7;
public static readonly TOKEN_DOT = 8;
public static readonly TOKEN_DDOT = 9;
public static readonly TOKEN_LT = 10;
public static readonly TOKEN_GT = 11;
public static readonly TOKEN_IMPLY = 12;
public static readonly TOKEN_COLASSIGN = 13;
public static readonly TOKEN_COLPATH = 14;
public static readonly TOKEN_MINUS = 15;
public static readonly TOKEN_EXCLAMATION = 16;
public static readonly TOKEN_TILDA = 17;
public static readonly TOKEN_AND = 18;
public static readonly TOKEN_OR = 19;
public static readonly TOKEN_CARET = 20;
public static readonly TOKEN_DIVIDE = 21;
public static readonly TOKEN_MOD = 22;
public static readonly TOKEN_ADD = 23;
public static readonly TOKEN_QUESTION = 24;
public static readonly TOKEN_UNDERSCORE = 25;
public static readonly TOKEN_QUOTES = 26;
public static readonly TOKEN_EQUALEQUAL = 27;
public static readonly TOKEN_LSHIFT = 28;
public static readonly TOKEN_RSHIFT = 29;
public static readonly TOKEN_NOTEQUAL = 30;
public static readonly TOKEN_LTEQ = 31;
public static readonly TOKEN_GTEQ = 32;
public static readonly TOKEN_OROR = 33;
public static readonly TOKEN_ANDAND = 34;
public static readonly TOKEN_DASTERISK = 35;
public static readonly TOKEN_PLUSEQ = 36;
public static readonly TOKEN_MINUSEQ = 37;
public static readonly TOKEN_LSHIFTEQ = 38;
public static readonly TOKEN_RSHIFTQE = 39;
public static readonly TOKEN_OREQ = 40;
public static readonly TOKEN_ANDEQ = 41;
public static readonly TOKEN_FLBRACE = 42;
public static readonly TOKEN_FRBRACE = 43;
public static readonly TOKEN_CLBRACE = 44;
public static readonly TOKEN_CRBRACE = 45;
public static readonly TOKEN_SLBRACE = 46;
public static readonly TOKEN_SRBRACE = 47;
public static readonly TOKEN_IMPORT = 48;
public static readonly TOKEN_AS = 49;
public static readonly TOKEN_EXTEND = 50;
public static readonly TOKEN_ACTION = 51;
public static readonly TOKEN_COMPONENT = 52;
public static readonly TOKEN_ENUM = 53;
public static readonly TOKEN_STATIC = 54;
public static readonly TOKEN_CONST = 55;
public static readonly TOKEN_ABSTRACT = 56;
public static readonly TOKEN_INPUT = 57;
public static readonly TOKEN_OUTPUT = 58;
public static readonly TOKEN_INOUT = 59;
public static readonly TOKEN_LOCK = 60;
public static readonly TOKEN_SHARE = 61;
public static readonly TOKEN_CONSTRAINT = 62;
public static readonly TOKEN_PARALLEL = 63;
public static readonly TOKEN_SEQUENCE = 64;
public static readonly TOKEN_STRUCT = 65;
public static readonly TOKEN_BUFFER = 66;
public static readonly TOKEN_STREAM = 67;
public static readonly TOKEN_STATE = 68;
public static readonly TOKEN_RESOURCE = 69;
public static readonly TOKEN_EXEC = 70;
public static readonly TOKEN_PRESOLVE = 71;
public static readonly TOKEN_POSTSOLVE = 72;
public static readonly TOKEN_PREBODY = 73;
public static readonly TOKEN_BODY = 74;
public static readonly TOKEN_HEADER = 75;
public static readonly TOKEN_DECLARATION = 76;
public static readonly TOKEN_RUNSTART = 77;
public static readonly TOKEN_RUNEND = 78;
public static readonly TOKEN_INITDOWN = 79;
public static readonly TOKEN_INITUP = 80;
public static readonly TOKEN_INIT = 81;
public static readonly TOKEN_SUPER = 82;
public static readonly TOKEN_PURE = 83;
public static readonly TOKEN_TARGET = 84;
public static readonly TOKEN_SOLVE = 85;
public static readonly TOKEN_VOID = 86;
public static readonly TOKEN_TYPE = 87;
public static readonly TOKEN_REF = 88;
public static readonly TOKEN_FUNCTION = 89;
public static readonly TOKEN_CLASS = 90;
public static readonly TOKEN_EXPORT = 91;
public static readonly TOKEN_RETURN = 92;
public static readonly TOKEN_REPEAT = 93;
public static readonly TOKEN_WHILE = 94;
public static readonly TOKEN_IF = 95;
public static readonly TOKEN_ELSE = 96;
public static readonly TOKEN_MATCH = 97;
public static readonly TOKEN_DEFAULT = 98;
public static readonly TOKEN_BREAK = 99;
public static readonly TOKEN_CONTINUE = 100;
public static readonly TOKEN_RANDOMIZE = 101;
public static readonly TOKEN_WITH = 102;
public static readonly TOKEN_YIELD = 103;
public static readonly TOKEN_POOL = 104;
public static readonly TOKEN_BIND = 105;
public static readonly TOKEN_DO = 106;
public static readonly TOKEN_SCHEDULE = 107;
public static readonly TOKEN_JOINBRANCH = 108;
public static readonly TOKEN_JOINSELECT = 109;
public static readonly TOKEN_JOINNONE = 110;
public static readonly TOKEN_JOINFIRST = 111;
public static readonly TOKEN_FOREACH = 112;
public static readonly TOKEN_SELECT = 113;
public static readonly TOKEN_REPLICATE = 114;
public static readonly TOKEN_ATOMIC = 115;
public static readonly TOKEN_SYMBOL = 116;
public static readonly TOKEN_OVERRIDE = 117;
public static readonly TOKEN_INSTANCE = 118;
public static readonly TOKEN_RAND = 119;
public static readonly TOKEN_PUBLIC = 120;
public static readonly TOKEN_PROTECTED = 121;
public static readonly TOKEN_PRIVATE = 122;
public static readonly TOKEN_COVER = 123;
public static readonly TOKEN_MONITOR = 124;
public static readonly TOKEN_ACTIVITY = 125;
public static readonly TOKEN_CONCAT = 126;
public static readonly TOKEN_EVENTUALLY = 127;
public static readonly TOKEN_OVERLAP = 128;
public static readonly TOKEN_CHANDLE = 129;
public static readonly TOKEN_IN = 130;
public static readonly TOKEN_INT = 131;
public static readonly TOKEN_BIT = 132;
public static readonly TOKEN_STRING = 133;
public static readonly TOKEN_BOOL = 134;
public static readonly TOKEN_FLOAT32 = 135;
public static readonly TOKEN_FLOAT64 = 136;
public static readonly TOKEN_ARRAY = 137;
public static readonly TOKEN_LIST = 138;
public static readonly TOKEN_MAP = 139;
public static readonly TOKEN_SET = 140;
public static readonly TOKEN_TYPEDEF = 141;
public static readonly TOKEN_DYNAMIC = 142;
public static readonly TOKEN_DISABLE = 143;
public static readonly TOKEN_FORALL = 144;
public static readonly TOKEN_UNIQUE = 145;
public static readonly TOKEN_DIST = 146;
public static readonly TOKEN_COVERGROUP = 147;
public static readonly TOKEN_OPTION = 148;
public static readonly TOKEN_IFF = 149;
public static readonly TOKEN_COVERPOINT = 150;
public static readonly TOKEN_BINS = 151;
public static readonly TOKEN_ILLEGALBINS = 152;
public static readonly TOKEN_IGNOREBINS = 153;
public static readonly TOKEN_CROSS = 154;
public static readonly TOKEN_COMPILE = 155;
public static readonly TOKEN_HAS = 156;
public static readonly TOKEN_ASSERT = 157;
public static readonly TOKEN_TRUE = 158;
public static readonly TOKEN_FALSE = 159;
public static readonly TOKEN_NULL = 160;
public static readonly TOKEN_FILE = 161;
public static readonly TOKEN_PARAM = 162;
public static readonly TOKEN_BRIEF = 163;
public static readonly TOKEN_RETURNS = 164;
public static readonly TOKEN_AUTHOR = 165;
public static readonly TOKEN_DATE = 166;
public static readonly TOKEN_SEE = 167;
public static readonly TOKEN_DEPRECATED = 168;
public static readonly TOKEN_DETAILS = 169;
public static readonly TOKEN_TODO = 170;
public static readonly TOKEN_EXAMPLE = 171;
public static readonly TOKEN_VERSION = 172;
public static readonly TOKEN_ATTENTION = 173;
public static readonly TOKEN_COMP = 174;
public static readonly TOKEN_SIZEOF_S = 175;
public static readonly TOKEN_NBYTES = 176;
public static readonly TOKEN_NBITS = 177;
public static readonly TOKEN_PACKAGE = 178;
public static readonly TOKEN_ADDR_REGION = 179;
public static readonly TOKEN_TRANSP_ADDR_REGION = 180;
public static readonly TOKEN_SIZE = 181;
public static readonly TOKEN_ADDR = 182;
public static readonly TOKEN_TRAIT = 183;
public static readonly TOK_ADD_NONALLOC_REGION = 184;
public static readonly TOK_ADD_REGION = 185;
public static readonly TOKEN_CONTI_ADDR_SPACE = 186;
public static readonly TOKEN_TRANSP_ADDR_SPACE = 187;
public static readonly TOKEN_ADDRESS_CLAIM = 188;
public static readonly TOKEN_TRANSP_ADDRESS_CLAIM = 189;
public static readonly TOKEN_MAKE_HANDLE_FROM_CLAIM = 190;
public static readonly TOKEN_MAKE_HANDLE_FROM_HANDLE = 191;
public static readonly TOKEN_ADDR_VALUE = 192;
public static readonly TOKEN_ADDR_VALUE_SOLVE = 193;
public static readonly TOKEN_ADDR_VALUE_ABS = 194;
public static readonly TOKEN_REGC = 195;
public static readonly TOKEN_REG_GROUP_C = 196;
public static readonly TOKEN_GET_OFFSET_OF_INSTANCE = 197;
public static readonly TOKEN_GET_OFFSET_OF_INSTANCE_ARR = 198;
public static readonly TOKEN_GET_OFFSET_OF_PATH = 199;
public static readonly TOKEN_LIST_NODES = 200;
public static readonly TOKEN_SET_HANDLE = 201;
public static readonly TOKEN_READ = 202;
public static readonly TOKEN_WRITE = 203;
public static readonly TOKEN_READVAL = 204;
public static readonly TOKEN_WRITEVAL = 205;
public static readonly TOKEN_WRITE_MASKED = 206;
public static readonly TOKEN_WRITEVAL_MASKED = 207;
public static readonly TOKEN_WRITE_FIELD = 208;
public static readonly TOKEN_WRITE_FIELDS = 209;
public static readonly TOKEN_READONLY = 210;
public static readonly TOKEN_READWRITE = 211;
public static readonly TOKEN_WRITEONLY = 212;
public static readonly TOKEN_EXP = 213;
public static readonly TOKEN_SIGN = 214;
public static readonly TOKEN_BIN_NUMBER = 215;
public static readonly TOKEN_OCT_NUMBER = 216;
public static readonly TOKEN_DEC_NUMBER = 217;
public static readonly TOKEN_HEX_NUMBER = 218;
public static readonly TOKEN_BASED_BIN_LITERAL = 219;
public static readonly TOKEN_BASED_OCT_LITERAL = 220;
public static readonly TOKEN_BASED_DEC_LITERAL = 221;
public static readonly TOKEN_BASED_HEX_LITERAL = 222;
public static readonly TOKEN_DOC_COMMENT = 223;
public static readonly TOKEN_SL_COMMENT = 224;
public static readonly TOKEN_ML_COMMENT = 225;
public static readonly TOKEN_QUOTED_STRING = 226;
public static readonly TOKEN_TRIPLE_QUOTED_STRING = 227;
public static readonly TOKEN_FILENAME_STRING = 228;
public static readonly TOKEN_M1 = 229;
public static readonly ID = 230;
public static readonly ESCAPED_ID = 231;
public static readonly WS = 232;
public static readonly TOKEN_DOC_START = 233;
public static readonly TOKEN_DOC_END = 234;
public static readonly TOKEN_BRIEF_MARKER = 235;
public static readonly TOKEN_PARAM_MARKER = 236;
public static readonly TOKEN_RETURN_MARKER = 237;
public static readonly TOKEN_RETURNS_MARKER = 238;
public static readonly TOKEN_DEPRECATED_MARKER = 239;
public static readonly TOKEN_AUTHOR_MARKER = 240;
public static readonly TOKEN_DATE_MARKER = 241;
public static readonly TOKEN_VERSION_MARKER = 242;
public static readonly TOKEN_SEE_MARKER = 243;
public static readonly TOKEN_ATTENTION_MARKER = 244;
public static readonly TOKEN_FILE_MARKER = 245;
public static readonly TOKEN_TODO_MARKER = 246;
public static readonly TOKEN_EXAMPLE_MARKER = 247;
public static readonly TOKEN_WORD = 248;
public static readonly TOKEN_DIGIT = 249;
public static readonly TOKEN_NEWLINE = 250;
public static readonly TOKEN_WHITESPACE = 251;
public static readonly SKIP_WHITESPACE = 252;
public static override readonly EOF = Token.EOF;
public static readonly RULE_pss_entry = 0;
public static readonly RULE_pss = 1;
public static readonly RULE_package_body = 2;
public static readonly RULE_action_declaration = 3;
public static readonly RULE_abstract_action_declaration = 4;
public static readonly RULE_action_super_spec = 5;
public static readonly RULE_action_body_item = 6;
public static readonly RULE_action_field_declaration = 7;
public static readonly RULE_object_ref_field_declaration = 8;
public static readonly RULE_flow_ref_field_declaration = 9;
public static readonly RULE_resource_ref_field_declaration = 10;
public static readonly RULE_flow_object_type = 11;
public static readonly RULE_resource_object_type = 12;
public static readonly RULE_object_ref_field = 13;
public static readonly RULE_action_handle_declaration = 14;
public static readonly RULE_action_instantiation = 15;
public static readonly RULE_activity_data_field = 16;
public static readonly RULE_activity_scheduling_constraint = 17;
public static readonly RULE_activity_declaration = 18;
public static readonly RULE_activity_stmt = 19;
public static readonly RULE_labeled_activity_stmt = 20;
public static readonly RULE_activity_action_traversal_stmt = 21;
public static readonly RULE_inline_constraints_or_empty = 22;
public static readonly RULE_activity_sequence_block_stmt = 23;
public static readonly RULE_activity_parallel_stmt = 24;
public static readonly RULE_activity_schedule_stmt = 25;
public static readonly RULE_activity_join_spec = 26;
public static readonly RULE_activity_join_branch = 27;
public static readonly RULE_activity_join_select = 28;
public static readonly RULE_activity_join_none = 29;
public static readonly RULE_activity_join_first = 30;
public static readonly RULE_activity_repeat_stmt = 31;
public static readonly RULE_activity_foreach_stmt = 32;
public static readonly RULE_activity_select_stmt = 33;
public static readonly RULE_select_branch = 34;
public static readonly RULE_activity_if_else_stmt = 35;
public static readonly RULE_activity_match_stmt = 36;
public static readonly RULE_match_expression = 37;
public static readonly RULE_match_choice = 38;
public static readonly RULE_activity_replicate_stmt = 39;
public static readonly RULE_activity_super_stmt = 40;
public static readonly RULE_activity_atomic_block_stmt = 41;
public static readonly RULE_activity_bind_stmt = 42;
public static readonly RULE_activity_bind_item_or_list = 43;
public static readonly RULE_activity_constraint_stmt = 44;
public static readonly RULE_symbol_declaration = 45;
public static readonly RULE_symbol_paramlist = 46;
public static readonly RULE_symbol_param = 47;
public static readonly RULE_cover_stmt = 48;
public static readonly RULE_monitor_declaration = 49;
public static readonly RULE_abstract_monitor_declaration = 50;
public static readonly RULE_monitor_super_spec = 51;
public static readonly RULE_monitor_body_item = 52;
public static readonly RULE_monitor_field_declaration = 53;
public static readonly RULE_monitor_activity_declaration = 54;
public static readonly RULE_monitor_activity_stmt = 55;
public static readonly RULE_labeled_monitor_activity_stmt = 56;
public static readonly RULE_monitor_handle_declaration = 57;
public static readonly RULE_monitor_instantiation = 58;
public static readonly RULE_monitor_activity_sequence_block_stmt = 59;
public static readonly RULE_monitor_activity_concat_stmt = 60;
public static readonly RULE_monitor_activity_eventually_stmt = 61;
public static readonly RULE_monitor_activity_overlap_stmt = 62;
public static readonly RULE_monitor_activity_select_stmt = 63;
public static readonly RULE_monitor_activity_schedule_stmt = 64;
public static readonly RULE_monitor_activity_monitor_traversal_stmt = 65;
public static readonly RULE_monitor_inline_constraints_or_empty = 66;
public static readonly RULE_monitor_activity_constraint_stmt = 67;
public static readonly RULE_monitor_constraint_declaration = 68;
public static readonly RULE_monitor_constraint_set = 69;
public static readonly RULE_monitor_constraint_block = 70;
public static readonly RULE_monitor_constraint_body_item = 71;
public static readonly RULE_component_declaration = 72;
public static readonly RULE_component_super_spec = 73;
public static readonly RULE_component_body_item = 74;
public static readonly RULE_component_data_declaration = 75;
public static readonly RULE_component_pool_declaration = 76;
public static readonly RULE_object_bind_stmt = 77;
public static readonly RULE_object_bind_item_or_list = 78;
public static readonly RULE_object_bind_item_path = 79;
public static readonly RULE_component_path_elem = 80;
public static readonly RULE_object_bind_item = 81;
public static readonly RULE_package_body_compile_if = 82;
public static readonly RULE_monitor_body_compile_if = 83;
public static readonly RULE_action_body_compile_if = 84;
public static readonly RULE_component_body_compile_if = 85;
public static readonly RULE_struct_body_compile_if = 86;
public static readonly RULE_procedural_compile_if = 87;
public static readonly RULE_constraint_body_compile_if = 88;
public static readonly RULE_covergroup_body_compile_if = 89;
public static readonly RULE_override_compile_if = 90;
public static readonly RULE_package_body_compile_if_item = 91;
public static readonly RULE_action_body_compile_if_item = 92;
public static readonly RULE_monitor_body_compile_if_item = 93;
public static readonly RULE_component_body_compile_if_item = 94;
public static readonly RULE_struct_body_compile_if_item = 95;
public static readonly RULE_procedural_compile_if_stmt = 96;
public static readonly RULE_constraint_body_compile_if_item = 97;
public static readonly RULE_covergroup_body_compile_if_item = 98;
public static readonly RULE_override_compile_if_stmt = 99;
public static readonly RULE_compile_has_expr = 100;
public static readonly RULE_compile_assert_stmt = 101;
public static readonly RULE_constraint_declaration = 102;
public static readonly RULE_constraint_set = 103;
public static readonly RULE_constraint_block = 104;
public static readonly RULE_constraint_body_item = 105;
public static readonly RULE_expression_constraint_item = 106;
public static readonly RULE_foreach_constraint_item = 107;
public static readonly RULE_forall_constraint_item = 108;
public static readonly RULE_if_constraint_item = 109;
public static readonly RULE_implication_constraint_item = 110;
public static readonly RULE_unique_constraint_item = 111;
public static readonly RULE_dist_directive = 112;
public static readonly RULE_dist_list = 113;
public static readonly RULE_dist_item = 114;
public static readonly RULE_dist_weight = 115;
public static readonly RULE_covergroup_declaration = 116;
public static readonly RULE_covergroup_port = 117;
public static readonly RULE_covergroup_body_item = 118;
public static readonly RULE_covergroup_option = 119;
public static readonly RULE_covergroup_instantiation = 120;
public static readonly RULE_inline_covergroup = 121;
public static readonly RULE_covergroup_type_instantiation = 122;
public static readonly RULE_covergroup_portmap_list = 123;
public static readonly RULE_covergroup_portmap = 124;
public static readonly RULE_covergroup_options_or_empty = 125;
public static readonly RULE_covergroup_coverpoint = 126;
public static readonly RULE_bins_or_empty = 127;
public static readonly RULE_covergroup_coverpoint_body_item = 128;
public static readonly RULE_covergroup_coverpoint_binspec = 129;
public static readonly RULE_coverpoint_bins = 130;
public static readonly RULE_covergroup_range_list = 131;
public static readonly RULE_covergroup_value_range = 132;
public static readonly RULE_bins_keyword = 133;
public static readonly RULE_covergroup_expression = 134;
public static readonly RULE_covergroup_cross = 135;
public static readonly RULE_cross_item_or_null = 136;
public static readonly RULE_covergroup_cross_body_item = 137;
public static readonly RULE_covergroup_cross_binspec = 138;
public static readonly RULE_data_declaration = 139;
public static readonly RULE_data_instantiation = 140;
public static readonly RULE_array_dim = 141;
public static readonly RULE_attr_field = 142;
public static readonly RULE_access_modifier = 143;
public static readonly RULE_attr_group = 144;
public static readonly RULE_data_type = 145;
public static readonly RULE_scalar_data_type = 146;
public static readonly RULE_casting_type = 147;
public static readonly RULE_chandle_type = 148;
public static readonly RULE_integer_type = 149;
public static readonly RULE_integer_atom_type = 150;
public static readonly RULE_domain_open_range_list = 151;
public static readonly RULE_domain_open_range_value = 152;
public static readonly RULE_string_type = 153;
public static readonly RULE_bool_type = 154;
public static readonly RULE_enum_declaration = 155;
public static readonly RULE_enum_item = 156;
public static readonly RULE_enum_type = 157;
public static readonly RULE_float_type = 158;
public static readonly RULE_collection_type = 159;
public static readonly RULE_array_size_expression = 160;
public static readonly RULE_reference_type = 161;
public static readonly RULE_typedef_declaration = 162;
public static readonly RULE_exec_block_stmt = 163;
public static readonly RULE_exec_block = 164;
public static readonly RULE_exec_kind = 165;
public static readonly RULE_exec_stmt = 166;
public static readonly RULE_exec_super_stmt = 167;
public static readonly RULE_target_code_exec_block = 168;
public static readonly RULE_target_file_exec_block = 169;
public static readonly RULE_constant_expression = 170;
public static readonly RULE_expression = 171;
public static readonly RULE_logical_expression = 172;
public static readonly RULE_equality_expression = 173;
public static readonly RULE_relational_expression = 174;
public static readonly RULE_bitwise_expression = 175;
public static readonly RULE_shift_expression = 176;
public static readonly RULE_additive_expression = 177;
public static readonly RULE_multiplicative_expression = 178;
public static readonly RULE_power_expression = 179;
public static readonly RULE_unary_expression = 180;
public static readonly RULE_conditional_expression = 181;
public static readonly RULE_itemCall = 182;
public static readonly RULE_primary = 183;
public static readonly RULE_unary_operator = 184;
public static readonly RULE_power_op = 185;
public static readonly RULE_binary_operator = 186;
public static readonly RULE_assign_op = 187;
public static readonly RULE_parenthesis_expressions = 188;
public static readonly RULE_mul_div = 189;
public static readonly RULE_add_sub = 190;
public static readonly RULE_shifting = 191;
public static readonly RULE_in_statements = 192;
public static readonly RULE_logical_compare = 193;
public static readonly RULE_equality_compare = 194;
public static readonly RULE_bitwise_and = 195;
public static readonly RULE_bitwise_xor = 196;
public static readonly RULE_bitwise_or = 197;
public static readonly RULE_logical_and = 198;
public static readonly RULE_logical_or = 199;
public static readonly RULE_open_range_value = 200;
public static readonly RULE_in_expression = 201;
public static readonly RULE_open_range_list = 202;
public static readonly RULE_collection_expression = 203;
public static readonly RULE_cast_expression = 204;
public static readonly RULE_ref_path = 205;
public static readonly RULE_slice = 206;
public static readonly RULE_static_ref_path = 207;
public static readonly RULE_bit_slice = 208;
public static readonly RULE_string_slice = 209;
public static readonly RULE_function_call = 210;
public static readonly RULE_function_ref_path = 211;
public static readonly RULE_function_params = 212;
public static readonly RULE_symbol_call = 213;
public static readonly RULE_function_parameter_list = 214;
public static readonly RULE_expression_list = 215;
public static readonly RULE_string_literal = 216;
public static readonly RULE_filename_string = 217;
public static readonly RULE_action_extension = 218;
public static readonly RULE_comments = 219;
public static readonly RULE_import_function = 220;
public static readonly RULE_target_template_function = 221;
public static readonly RULE_import_class_decl = 222;
public static readonly RULE_import_class_extends = 223;
public static readonly RULE_import_class_function_decl = 224;
public static readonly RULE_export_action = 225;
public static readonly RULE_procedural_function = 226;
public static readonly RULE_function_decl = 227;
public static readonly RULE_platform_qualifier = 228;
public static readonly RULE_return_item = 229;
public static readonly RULE_function_prototype = 230;
public static readonly RULE_function_return_type = 231;
public static readonly RULE_function_parameter_list_prototype = 232;
public static readonly RULE_function_parameter = 233;
public static readonly RULE_function_parameter_dir = 234;
public static readonly RULE_varargs_parameter = 235;
public static readonly RULE_user_type = 236;
public static readonly RULE_function_call_params = 237;
public static readonly RULE_identifier = 238;
public static readonly RULE_hierarchical_id_list = 239;
public static readonly RULE_hierarchical_id = 240;
public static readonly RULE_member_path_elem = 241;
public static readonly RULE_action_identifier = 242;
public static readonly RULE_action_handle_identifier = 243;
public static readonly RULE_component_identifier = 244;
public static readonly RULE_covercross_identifier = 245;
public static readonly RULE_covergroup_identifier = 246;
public static readonly RULE_coverpoint_identifier = 247;
public static readonly RULE_enum_identifier = 248;
public static readonly RULE_function_identifier = 249;
public static readonly RULE_import_class_identifier = 250;
public static readonly RULE_index_identifier = 251;
public static readonly RULE_iterator_identifier = 252;
public static readonly RULE_label_identifier = 253;
public static readonly RULE_language_identifier = 254;
public static readonly RULE_monitor_identifier = 255;
public static readonly RULE_package_identifier = 256;
public static readonly RULE_struct_identifier = 257;
public static readonly RULE_struct_kind_identifier = 258;
public static readonly RULE_symbol_identifier = 259;
public static readonly RULE_type_identifier = 260;
public static readonly RULE_type_identifier_elem = 261;
public static readonly RULE_action_type_identifier = 262;
public static readonly RULE_buffer_type_identifier = 263;
public static readonly RULE_component_type_identifier = 264;
public static readonly RULE_covergroup_type_identifier = 265;
public static readonly RULE_enum_type_identifier = 266;
public static readonly RULE_monitor_type_identifier = 267;
public static readonly RULE_resource_type_identifier = 268;
public static readonly RULE_state_type_identifier = 269;
public static readonly RULE_stream_type_identifier = 270;
public static readonly RULE_entity_type_identifier = 271;
public static readonly RULE_number = 272;
public static readonly RULE_integer_number = 273;
public static readonly RULE_based_bin_number = 274;
public static readonly RULE_based_oct_number = 275;
public static readonly RULE_based_dec_number = 276;
public static readonly RULE_based_hex_number = 277;
public static readonly RULE_floating_point_number = 278;
public static readonly RULE_unsigned_number = 279;
public static readonly RULE_floating_point_dec_number = 280;
public static readonly RULE_floating_point_sci_number = 281;
public static readonly RULE_aggregate_literal = 282;
public static readonly RULE_empty_aggregate_literal = 283;
public static readonly RULE_value_list_literal = 284;
public static readonly RULE_map_literal = 285;
public static readonly RULE_map_literal_item = 286;
public static readonly RULE_struct_literal = 287;
public static readonly RULE_struct_literal_item = 288;
public static readonly RULE_bool_literal = 289;
public static readonly RULE_null_ref = 290;
public static readonly RULE_override_declaration = 291;
public static readonly RULE_override_stmt = 292;
public static readonly RULE_type_override = 293;
public static readonly RULE_instance_override = 294;
public static readonly RULE_package_declaration = 295;
public static readonly RULE_package_id_path = 296;
public static readonly RULE_package_body_item = 297;
public static readonly RULE_import_stmt = 298;
public static readonly RULE_package_import_pattern = 299;
public static readonly RULE_package_import_qualifier = 300;
public static readonly RULE_package_import_wildcard = 301;
public static readonly RULE_package_import_alias = 302;
public static readonly RULE_extend_stmt = 303;
public static readonly RULE_const_field_declaration = 304;
public static readonly RULE_stmt_terminator = 305;
public static readonly RULE_procedural_stmt = 306;
public static readonly RULE_procedural_sequence_block_stmt = 307;
public static readonly RULE_procedural_data_declaration = 308;
public static readonly RULE_procedural_data_instantiation = 309;
public static readonly RULE_procedural_assignment_stmt = 310;
public static readonly RULE_procedural_void_function_call_stmt = 311;
public static readonly RULE_procedural_return_stmt = 312;
public static readonly RULE_procedural_repeat_stmt = 313;
public static readonly RULE_procedural_foreach_stmt = 314;
public static readonly RULE_procedural_if_else_stmt = 315;
public static readonly RULE_procedural_match_stmt = 316;
public static readonly RULE_procedural_match_choice = 317;
public static readonly RULE_procedural_break_stmt = 318;
public static readonly RULE_procedural_continue_stmt = 319;
public static readonly RULE_procedural_randomization_stmt = 320;
public static readonly RULE_procedural_randomization_target = 321;
public static readonly RULE_procedural_randomization_term = 322;
public static readonly RULE_procedural_yield_stmt = 323;
public static readonly RULE_struct_declaration = 324;
public static readonly RULE_struct_kind = 325;
public static readonly RULE_object_kind = 326;
public static readonly RULE_struct_super_spec = 327;
public static readonly RULE_struct_body_item = 328;
public static readonly RULE_template_param_decl_list = 329;
public static readonly RULE_template_param_decl = 330;
public static readonly RULE_type_param_decl = 331;
public static readonly RULE_generic_type_param_decl = 332;
public static readonly RULE_category_type_param_decl = 333;
public static readonly RULE_type_restriction = 334;
public static readonly RULE_type_category = 335;
public static readonly RULE_value_param_decl = 336;
public static readonly RULE_template_param_value_list = 337;
public static readonly RULE_template_param_value = 338;
public static readonly RULE_addr_region_identifier = 339;
public static readonly RULE_addr_handle_identifier = 340;
public static readonly RULE_addr_space_identifier = 341;
public static readonly RULE_addr_space_traits = 342;
public static readonly RULE_claim_identifier = 343;
public static readonly RULE_trait_identifier = 344;
public static readonly RULE_offset = 345;
public static readonly RULE_trait_property = 346;
public static readonly RULE_number_identifier = 347;
public static readonly RULE_bool_identifier = 348;
public static readonly RULE_contiguous_addr_space_def = 349;
public static readonly RULE_addr_claim = 350;
public static readonly RULE_transparent_addr_space_def = 351;
public static readonly RULE_transparent_addr_region_def = 352;
public static readonly RULE_addr_region_setting = 353;
public static readonly RULE_transparent_addr_claim = 354;
public static readonly RULE_add_addr_region_nonallocatable = 355;
public static readonly RULE_add_addr_region = 356;
public static readonly RULE_make_handle_from_claim = 357;
public static readonly RULE_make_handle_from_handle = 358;
public static readonly RULE_addr_value = 359;
public static readonly RULE_addr_value_solve = 360;
public static readonly RULE_addr_value_abs = 361;
public static readonly RULE_mem_ops = 362;
public static readonly RULE_addr_space_def = 363;
public static readonly RULE_addr_region_def = 364;
public static readonly RULE_register_identifier = 365;
public static readonly RULE_register_comp_identifier = 366;
public static readonly RULE_register_group_identifier = 367;
public static readonly RULE_reg_struct_identifier = 368;
public static readonly RULE_value_identifier = 369;
public static readonly RULE_mask_struct_identifier = 370;
public static readonly RULE_value_struct_identifier = 371;
public static readonly RULE_mask_identifier = 372;
public static readonly RULE_field_identifier = 373;
public static readonly RULE_names_list_identifier = 374;
public static readonly RULE_value_list_identifier = 375;
public static readonly RULE_access_type = 376;
public static readonly RULE_reg_length = 377;
public static readonly RULE_register_comp_definition = 378;
public static readonly RULE_register_group_definition = 379;
public static readonly RULE_register_body_definition = 380;
public static readonly RULE_register_comp_instance = 381;
public static readonly RULE_register_definition = 382;
public static readonly RULE_function_offset_of_instance_def = 383;
public static readonly RULE_function_offset_of_instance_arr_def = 384;
public static readonly RULE_offset_match_stmts = 385;
public static readonly RULE_if_else_stmts = 386;
public static readonly RULE_reg_match_stmts = 387;
public static readonly RULE_offset_return_items = 388;
public static readonly RULE_offset_returns = 389;
public static readonly RULE_reg_function_calls = 390;
public static readonly RULE_register_operation_call = 391;
public static readonly RULE_reg_read = 392;
public static readonly RULE_reg_write = 393;
public static readonly RULE_reg_read_val = 394;
public static readonly RULE_reg_write_val = 395;
public static readonly RULE_reg_write_masked = 396;
public static readonly RULE_reg_write_val_masked = 397;
public static readonly RULE_reg_write_field = 398;
public static readonly RULE_reg_write_fields = 399;
public static readonly RULE_reg_set_handle = 400;
public static readonly RULE_reg_declarations = 401;
public static readonly RULE_file_doc_comment = 402;
public static readonly RULE_documentation_comment = 403;
public static readonly RULE_doc_content = 404;
public static readonly RULE_brief_command = 405;
public static readonly RULE_param_command = 406;
public static readonly RULE_return_command = 407;
public static readonly RULE_deprecated_command = 408;
public static readonly RULE_author_command = 409;
public static readonly RULE_date_command = 410;
public static readonly RULE_version_command = 411;
public static readonly RULE_see_command = 412;
public static readonly RULE_attention_command = 413;
public static readonly RULE_file_command = 414;
public static readonly RULE_todo_command = 415;
public static readonly RULE_example_command = 416;
public static readonly RULE_brief_text = 417;
public static readonly RULE_param_identifier = 418;
public static readonly RULE_param_description = 419;
public static readonly RULE_return_description = 420;
public static readonly RULE_deprecated_description = 421;
public static readonly RULE_author_name = 422;
public static readonly RULE_date_value = 423;
public static readonly RULE_version_value = 424;
public static readonly RULE_see_link = 425;
public static readonly RULE_see_description = 426;
public static readonly RULE_attention_description = 427;
public static readonly RULE_file_path = 428;
public static readonly RULE_todo_description = 429;
public static readonly RULE_example_code = 430;
public static readonly literalNames: (string | null)[] = [ null, "'::'",
"';'", "'*'",
"','", "':'",
"'='", "'...'",
"'.'", "'..'",
"'<'", "'>'",
"'->'", "':='",
"':/'", "'-'",
"'!'", "'~'",
"'&'", "'|'",
"'^'", "'/'",
"'%'", "'+'",
"'?'", "'_'",
"'\"'", "'=='",
"'<<'", "'>>'",
"'!='", "'<='",
"'>='", "'||'",
"'&&'", "'**'",
"'+='", "'-='",
"'<<='", "'>>='",
"'|='", "'&='",
"'('", "')'",
"'{'", "'}'",
"'['", "']'",
"'import'",
"'as'", "'extend'",
"'action'",
"'component'",
"'enum'", "'static'",
"'const'", "'abstract'",
"'input'", "'output'",
"'inout'", "'lock'",
"'share'", "'constraint'",
"'parallel'",
"'sequence'",
"'struct'",
"'buffer'",
"'stream'",
"'state'", "'resource'",
"'exec'", "'pre_solve'",
"'post_solve'",
"'pre_body'",
"'body'", "'header'",
"'declaration'",
"'run_start'",
"'run_end'",
"'init_down'",
"'init_up'",
"'init'", "'super'",
"'pure'", "'target'",
"'solve'", "'void'",
"'type'", "'ref'",
"'function'",
"'class'", "'export'",
"'return'",
"'repeat'",
"'while'", "'if'",
"'else'", "'match'",
"'default'",
"'break'", "'continue'",
"'randomize'",
"'with'", "'yield'",
"'pool'", "'bind'",
"'do'", "'schedule'",
"'join_branch'",
"'join_select'",
"'join_none'",
"'join_first'",
"'foreach'",
"'select'",
"'replicate'",
"'atomic'",
"'symbol'",
"'override'",
"'instance'",
"'rand'", "'public'",
"'protected'",
"'private'",
"'cover'", "'monitor'",
"'activity'",
"'concat'",
"'eventually'",
"'overlap'",
"'chandle'",
"'in'", "'int'",
"'bit'", "'string'",
"'bool'", "'float32'",
"'float64'",
"'array'", "'list'",
"'map'", "'set'",
"'typedef'",
"'dynamic'",
"'disable'",
"'forall'",
"'unique'",
"'dist'", "'covergroup'",
"'option'",
"'iff'", "'coverpoint'",
"'bins'", "'illegal_bins'",
"'ignore_bins'",
"'cross'", "'compile'",
"'has'", "'assert'",
"'true'", "'false'",
"'null'", "'file'",
"'param'", "'brief'",
"'returns'",
"'author'",
"'date'", "'see'",
"'deprecated'",
"'details'",
"'todo'", "'example'",
"'version'",
"'attention'",
"'comp'", "'sizeof_s'",
"'nbytes'",
"'nbits'", "'package'",
"'addr_region_s'",
"'transparent_addr_region_s'",
"'size'", "'addr'",
"'trait'", "'add_nonallocatable_region'",
"'add_region'",
"'contiguous_addr_space_c'",
"'transparent_addr_space_c'",
"'addr_claim_s'",
"'transparent_addr_claim_s'",
"'make_handle_from_claim'",
"'make_handle_from_handle'",
"'addr_value'",
"'addr_value_solve'",
"'addr_value_abs'",
"'reg_c'", "'reg_group_c'",
"'get_offset_of_instance'",
"'get_offset_of_instance_array'",
"'get_offset_of_path'",
"'list<node_s>'",
"'set_handle'",
"'read'", "'write'",
"'read_val'",
"'write_val'",
"'write_masked'",
"'write_val_masked'",
"'write_field'",
"'write_fields'",
"'READONLY'",
"'READWRITE'",
"'WRITEONLY'",
null, null,
null, null,
null, null,
null, null,
null, null,
null, null,
null, null,
null, null,
"'-1'", null,
null, null,
"'/**'", "'*/'" ];
public static readonly symbolicNames: (string | null)[] = [ null, "TOKEN_SCOPE",
"TOKEN_SEMICOLON",
"TOKEN_ASTERISK",
"TOKEN_COMMA",
"TOKEN_COLON",
"TOKEN_EQUALS",
"TOKEN_ELLIPSIS",
"TOKEN_DOT",
"TOKEN_DDOT",
"TOKEN_LT",
"TOKEN_GT",
"TOKEN_IMPLY",