#include "tree_sitter/parser.h"

#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#endif

#ifdef _MSC_VER
#pragma optimize("", off)
#elif defined(__clang__)
#pragma clang optimize off
#elif defined(__GNUC__)
#pragma GCC optimize("O0")
#endif

#define LANGUAGE_VERSION 14
#define STATE_COUNT 811
#define LARGE_STATE_COUNT 34
#define SYMBOL_COUNT 385
#define ALIAS_COUNT 0
#define TOKEN_COUNT 158
#define EXTERNAL_TOKEN_COUNT 0
#define FIELD_COUNT 6
#define MAX_ALIAS_SEQUENCE_LENGTH 9
#define PRODUCTION_ID_COUNT 8

enum ts_symbol_identifiers {
    anon_sym_short = 1,
    anon_sym_int16 = 2,
    anon_sym_long = 3,
    anon_sym_int32 = 4,
    anon_sym_longlong = 5,
    anon_sym_int64 = 6,
    sym_unsigned_tiny_int = 7,
    sym_boolean_type = 8,
    anon_sym_fixed = 9,
    sym_octet_type = 10,
    sym_signed_tiny_int = 11,
    anon_sym_unsignedshort = 12,
    anon_sym_uint16 = 13,
    anon_sym_unsignedlong = 14,
    anon_sym_uint32 = 15,
    anon_sym_unsignedlonglong = 16,
    anon_sym_uint64 = 17,
    anon_sym_float = 18,
    anon_sym_double = 19,
    anon_sym_longdouble = 20,
    anon_sym_char = 21,
    anon_sym_wchar = 22,
    anon_sym_COLON_COLON = 23,
    anon_sym_string = 24,
    anon_sym_wstring = 25,
    anon_sym_LT = 26,
    anon_sym_GT = 27,
    anon_sym_any = 28,
    anon_sym_COMMA = 29,
    anon_sym_sequence = 30,
    anon_sym_map = 31,
    anon_sym_PIPE = 32,
    anon_sym_CARET = 33,
    anon_sym_AMP = 34,
    anon_sym_GT_GT = 35,
    anon_sym_LT_LT = 36,
    anon_sym_PLUS = 37,
    anon_sym_DASH = 38,
    anon_sym_STAR = 39,
    anon_sym_SLASH = 40,
    anon_sym_PERCENT = 41,
    anon_sym_LPAREN = 42,
    anon_sym_RPAREN = 43,
    anon_sym_TILDE = 44,
    sym_escape_sequence = 45,
    anon_sym_L = 46,
    anon_sym_DQUOTE = 47,
    aux_sym_string_literal_token1 = 48,
    anon_sym_SQUOTE = 49,
    aux_sym_char_literal_token1 = 50,
    anon_sym_TRUE = 51,
    anon_sym_FALSE = 52,
    sym_number_literal = 53,
    anon_sym_POUNDdefine = 54,
    aux_sym_preproc_define_token1 = 55,
    aux_sym_preproc_call_token1 = 56,
    sym_preproc_directive = 57,
    sym_preproc_arg = 58,
    aux_sym_preproc_include_token1 = 59,
    sym_system_lib_path = 60,
    anon_sym_exception = 61,
    anon_sym_LBRACE = 62,
    anon_sym_RBRACE = 63,
    anon_sym_local = 64,
    anon_sym_abstract = 65,
    anon_sym_interface = 66,
    anon_sym_COLON = 67,
    anon_sym_SEMI = 68,
    anon_sym_void = 69,
    anon_sym_in = 70,
    anon_sym_out = 71,
    anon_sym_inout = 72,
    anon_sym_raises = 73,
    anon_sym_readonly = 74,
    anon_sym_attribute = 75,
    anon_sym_getraises = 76,
    anon_sym_setraises = 77,
    anon_sym_bitset = 78,
    anon_sym_bitfield = 79,
    anon_sym_bitmask = 80,
    anon_sym_ATannotation = 81,
    anon_sym_default = 82,
    anon_sym_AT = 83,
    anon_sym_EQ = 84,
    anon_sym_id = 85,
    anon_sym_autoid = 86,
    anon_sym_optional = 87,
    anon_sym_position = 88,
    anon_sym_value = 89,
    anon_sym_extensibility = 90,
    anon_sym_final = 91,
    anon_sym_appendable = 92,
    anon_sym_mutable = 93,
    anon_sym_key = 94,
    anon_sym_must_understand = 95,
    anon_sym_default_literal = 96,
    anon_sym_range = 97,
    anon_sym_min = 98,
    anon_sym_max = 99,
    anon_sym_unit = 100,
    anon_sym_bit_bound = 101,
    anon_sym_external = 102,
    anon_sym_nested = 103,
    anon_sym_verbatim = 104,
    anon_sym_service = 105,
    anon_sym_oneway = 106,
    anon_sym_ami = 107,
    anon_sym_module = 108,
    anon_sym_typename = 109,
    anon_sym_valuetype = 110,
    anon_sym_eventtype = 111,
    anon_sym_struct = 112,
    anon_sym_union = 113,
    anon_sym_enum = 114,
    anon_sym_const = 115,
    anon_sym_alias = 116,
    anon_sym_custom = 117,
    anon_sym_truncatable = 118,
    anon_sym_supports = 119,
    anon_sym_public = 120,
    anon_sym_private = 121,
    anon_sym_factory = 122,
    anon_sym_typedef = 123,
    anon_sym_LBRACK = 124,
    anon_sym_RBRACK = 125,
    anon_sym_ATdefault_literal = 126,
    anon_sym_ATignore_literal_names = 127,
    anon_sym_switch = 128,
    anon_sym_case = 129,
    anon_sym_typeid = 130,
    anon_sym_typeprefix = 131,
    anon_sym_import = 132,
    anon_sym_Object = 133,
    anon_sym_context = 134,
    sym_value_base_type = 135,
    anon_sym_component = 136,
    anon_sym_provides = 137,
    anon_sym_uses = 138,
    anon_sym_multiple = 139,
    anon_sym_home = 140,
    anon_sym_manages = 141,
    anon_sym_emits = 142,
    anon_sym_publishes = 143,
    anon_sym_consumes = 144,
    anon_sym_primarykey = 145,
    anon_sym_finder = 146,
    anon_sym_porttype = 147,
    anon_sym_port = 148,
    anon_sym_mirrorport = 149,
    anon_sym_connector = 150,
    anon_sym_native = 151,
    sym_identifier = 152,
    anon_sym_SLASH_SLASH = 153,
    aux_sym_comment_token1 = 154,
    aux_sym_comment_token2 = 155,
    anon_sym_SLASH_STAR = 156,
    aux_sym_comment_token3 = 157,
    sym_specification = 158,
    sym_signed_short_int = 159,
    sym_signed_long_int = 160,
    sym_signed_longlong_int = 161,
    sym_unsigned_int = 162,
    sym_fixed_pt_const_type = 163,
    sym_integer_type = 164,
    sym_signed_int = 165,
    sym_unsigned_short_int = 166,
    sym_unsigned_long_int = 167,
    sym_unsigned_longlong_int = 168,
    sym_floating_pt_type = 169,
    sym_char_type = 170,
    sym_scoped_name = 171,
    sym_string_type = 172,
    sym_type_spec = 173,
    sym_simple_type_spec = 174,
    sym_base_type_spec = 175,
    sym_any_type = 176,
    sym_fixed_pt_type = 177,
    sym_template_type_spec = 178,
    sym_sequence_type = 179,
    sym_map_type = 180,
    sym_positive_int_const = 181,
    sym_const_expr = 182,
    sym_or_expr = 183,
    sym_xor_expr = 184,
    sym_and_expr = 185,
    sym_shift_expr = 186,
    sym_add_expr = 187,
    sym_mult_expr = 188,
    sym_unary_expr = 189,
    sym_primary_expr = 190,
    sym_unary_operator = 191,
    sym_literal = 192,
    sym_string_literal = 193,
    sym_char_literal = 194,
    sym_boolean_literal = 195,
    sym_preproc_define = 196,
    sym_preproc_call = 197,
    sym_preproc_include = 198,
    sym_system_lib_string = 199,
    sym_except_dcl = 200,
    sym_interface_dcl = 201,
    sym_interface_kind = 202,
    sym_interface_forward_dcl = 203,
    sym_interface_def = 204,
    sym_interface_header = 205,
    sym_interface_inheritance_spec = 206,
    sym_interface_name = 207,
    sym_interface_body = 208,
    sym_export = 209,
    sym_op_dcl = 210,
    sym_op_type_spec = 211,
    sym_parameter_dcls = 212,
    sym_param_dcl = 213,
    sym_param_attribute = 214,
    sym_raises_expr = 215,
    sym_attr_dcl = 216,
    sym_readonly_attr_spec = 217,
    sym_readonly_attr_declarator = 218,
    sym_attr_spec = 219,
    sym_attr_declarator = 220,
    sym_attr_raises_expr = 221,
    sym_get_excep_expr = 222,
    sym_set_excep_expr = 223,
    sym_exception_list = 224,
    sym_bitset_dcl = 225,
    sym_bitfield = 226,
    sym_bitfield_spec = 227,
    sym_destination_type = 228,
    sym_bitmask_dcl = 229,
    sym_bit_value = 230,
    sym_annotation_dcl = 231,
    sym_annotation_body = 232,
    sym_annotation_member = 233,
    sym_annotation_member_type = 234,
    sym_any_const_type = 235,
    sym_annotation_appl = 236,
    sym_annotation_appl_params = 237,
    sym_annotation_appl_param = 238,
    sym_annotation_built_name = 239,
    sym_template_module_dcl = 240,
    sym_formal_parameters = 241,
    sym_formal_parameter = 242,
    sym_formal_parameter_type = 243,
    sym_tpl_definition = 244,
    sym_template_module_inst = 245,
    sym_actual_parameters = 246,
    sym_actual_parameter = 247,
    sym_template_module_ref = 248,
    sym_formal_parameter_names = 249,
    sym_value_dcl = 250,
    sym_value_def = 251,
    sym_value_kind = 252,
    sym_value_header = 253,
    sym_value_inheritance_spec = 254,
    sym_value_inheritance = 255,
    sym_value_supports = 256,
    sym_value_name = 257,
    sym_value_element = 258,
    sym_state_member = 259,
    sym_init_dcl = 260,
    sym_init_param_dcls = 261,
    sym_init_param_dcl = 262,
    sym_value_forward_dcl = 263,
    sym_typedef_dcl = 264,
    sym_type_declarator = 265,
    sym_any_declarators = 266,
    sym_any_declarator = 267,
    sym_simple_declarator = 268,
    sym_declarator = 269,
    sym_declarators = 270,
    sym_array_declarator = 271,
    sym_fixed_array_size = 272,
    sym_enum_dcl = 273,
    sym_enumerator = 274,
    sym_enum_modifier = 275,
    sym_enum_anno = 276,
    sym_union_dcl = 277,
    sym_union_forward_dcl = 278,
    sym_union_def = 279,
    sym_case = 280,
    sym_case_label = 281,
    sym_element_spec = 282,
    sym_switch_type_spec = 283,
    sym_type_id_dcl = 284,
    sym_type_prefix_dcl = 285,
    sym_import_dcl = 286,
    sym_imported_scope = 287,
    sym_object_type = 288,
    sym_op_oneway_dcl = 289,
    sym_in_parameter_dcls = 290,
    sym_in_param_dcl = 291,
    sym_op_with_context = 292,
    sym_context_expr = 293,
    sym_value_box_def = 294,
    sym_value_abs_def = 295,
    sym_component_dcl = 296,
    sym_component_forward_dcl = 297,
    sym_component_def = 298,
    sym_component_header = 299,
    sym_component_inheritance_spec = 300,
    sym_component_body = 301,
    sym_component_export = 302,
    sym_provides_dcl = 303,
    sym_interface_type = 304,
    sym_uses_dcl = 305,
    sym_home_dcl = 306,
    sym_home_header = 307,
    sym_home_inheritance_spec = 308,
    sym_home_body = 309,
    sym_home_export = 310,
    sym_factory_dcl = 311,
    sym_factory_param_dcls = 312,
    sym_factory_param_dcl = 313,
    sym_supported_interface_spec = 314,
    sym_emits_dcl = 315,
    sym_publishes_dcl = 316,
    sym_consumes_dcl = 317,
    sym_primary_key_spec = 318,
    sym_finder_dcl = 319,
    sym_event_dcl = 320,
    sym_event_forward_dcl = 321,
    sym_event_abs_def = 322,
    sym_event_def = 323,
    sym_event_header = 324,
    sym_porttype_dcl = 325,
    sym_porttype_forward_dcl = 326,
    sym_porttype_def = 327,
    sym_port_body = 328,
    sym_port_ref = 329,
    sym_port_export = 330,
    sym_port_dcl = 331,
    sym_connector_dcl = 332,
    sym_connector_header = 333,
    sym_connector_inherit_spec = 334,
    sym_connector_export = 335,
    sym_definition = 336,
    sym_type_dcl = 337,
    sym_constr_type_dcl = 338,
    sym_native_dcl = 339,
    sym_module_dcl = 340,
    sym_struct_dcl = 341,
    sym_struct_forward_dcl = 342,
    sym_struct_def = 343,
    sym_member = 344,
    sym_default = 345,
    sym_const_dcl = 346,
    sym_const_type = 347,
    sym_comment = 348,
    aux_sym_specification_repeat1 = 349,
    aux_sym_string_literal_repeat1 = 350,
    aux_sym_char_literal_repeat1 = 351,
    aux_sym_except_dcl_repeat1 = 352,
    aux_sym_interface_def_repeat1 = 353,
    aux_sym_interface_inheritance_spec_repeat1 = 354,
    aux_sym_interface_body_repeat1 = 355,
    aux_sym_parameter_dcls_repeat1 = 356,
    aux_sym_raises_expr_repeat1 = 357,
    aux_sym_readonly_attr_declarator_repeat1 = 358,
    aux_sym_bitset_dcl_repeat1 = 359,
    aux_sym_bitfield_repeat1 = 360,
    aux_sym_bitmask_dcl_repeat1 = 361,
    aux_sym_annotation_dcl_repeat1 = 362,
    aux_sym_annotation_appl_params_repeat1 = 363,
    aux_sym_template_module_dcl_repeat1 = 364,
    aux_sym_formal_parameters_repeat1 = 365,
    aux_sym_actual_parameters_repeat1 = 366,
    aux_sym_formal_parameter_names_repeat1 = 367,
    aux_sym_value_def_repeat1 = 368,
    aux_sym_value_inheritance_spec_repeat1 = 369,
    aux_sym_init_param_dcls_repeat1 = 370,
    aux_sym_any_declarators_repeat1 = 371,
    aux_sym_declarators_repeat1 = 372,
    aux_sym_array_declarator_repeat1 = 373,
    aux_sym_enum_dcl_repeat1 = 374,
    aux_sym_enumerator_repeat1 = 375,
    aux_sym_union_def_repeat1 = 376,
    aux_sym_in_parameter_dcls_repeat1 = 377,
    aux_sym_context_expr_repeat1 = 378,
    aux_sym_component_body_repeat1 = 379,
    aux_sym_home_body_repeat1 = 380,
    aux_sym_factory_param_dcls_repeat1 = 381,
    aux_sym_port_body_repeat1 = 382,
    aux_sym_connector_dcl_repeat1 = 383,
    aux_sym_module_dcl_repeat1 = 384,
};

static const char *const ts_symbol_names[] = {
    [ts_builtin_sym_end] = "end",
    [anon_sym_short] = "short",
    [anon_sym_int16] = "int16",
    [anon_sym_long] = "long",
    [anon_sym_int32] = "int32",
    [anon_sym_longlong] = "long long",
    [anon_sym_int64] = "int64",
    [sym_unsigned_tiny_int] = "unsigned_tiny_int",
    [sym_boolean_type] = "boolean_type",
    [anon_sym_fixed] = "fixed",
    [sym_octet_type] = "octet_type",
    [sym_signed_tiny_int] = "signed_tiny_int",
    [anon_sym_unsignedshort] = "unsigned short",
    [anon_sym_uint16] = "uint16",
    [anon_sym_unsignedlong] = "unsigned long",
    [anon_sym_uint32] = "uint32",
    [anon_sym_unsignedlonglong] = "unsigned long long",
    [anon_sym_uint64] = "uint64",
    [anon_sym_float] = "float",
    [anon_sym_double] = "double",
    [anon_sym_longdouble] = "long double",
    [anon_sym_char] = "char",
    [anon_sym_wchar] = "wchar",
    [anon_sym_COLON_COLON] = "::",
    [anon_sym_string] = "string",
    [anon_sym_wstring] = "wstring",
    [anon_sym_LT] = "<",
    [anon_sym_GT] = ">",
    [anon_sym_any] = "any",
    [anon_sym_COMMA] = ",",
    [anon_sym_sequence] = "sequence",
    [anon_sym_map] = "map",
    [anon_sym_PIPE] = "|",
    [anon_sym_CARET] = "^",
    [anon_sym_AMP] = "&",
    [anon_sym_GT_GT] = ">>",
    [anon_sym_LT_LT] = "<<",
    [anon_sym_PLUS] = "+",
    [anon_sym_DASH] = "-",
    [anon_sym_STAR] = "*",
    [anon_sym_SLASH] = "/",
    [anon_sym_PERCENT] = "%",
    [anon_sym_LPAREN] = "(",
    [anon_sym_RPAREN] = ")",
    [anon_sym_TILDE] = "~",
    [sym_escape_sequence] = "escape_sequence",
    [anon_sym_L] = "L",
    [anon_sym_DQUOTE] = "\"",
    [aux_sym_string_literal_token1] = "string_content",
    [anon_sym_SQUOTE] = "'",
    [aux_sym_char_literal_token1] = "character",
    [anon_sym_TRUE] = "TRUE",
    [anon_sym_FALSE] = "FALSE",
    [sym_number_literal] = "number_literal",
    [anon_sym_POUNDdefine] = "#define",
    [aux_sym_preproc_define_token1] = "preproc_define_token1",
    [aux_sym_preproc_call_token1] = "preproc_call_token1",
    [sym_preproc_directive] = "preproc_directive",
    [sym_preproc_arg] = "preproc_arg",
    [aux_sym_preproc_include_token1] = "keyword_include",
    [sym_system_lib_path] = "system_lib_path",
    [anon_sym_exception] = "exception",
    [anon_sym_LBRACE] = "{",
    [anon_sym_RBRACE] = "}",
    [anon_sym_local] = "local",
    [anon_sym_abstract] = "abstract",
    [anon_sym_interface] = "interface",
    [anon_sym_COLON] = ":",
    [anon_sym_SEMI] = ";",
    [anon_sym_void] = "void",
    [anon_sym_in] = "in",
    [anon_sym_out] = "out",
    [anon_sym_inout] = "inout",
    [anon_sym_raises] = "raises",
    [anon_sym_readonly] = "readonly",
    [anon_sym_attribute] = "attribute",
    [anon_sym_getraises] = "getraises",
    [anon_sym_setraises] = "setraises",
    [anon_sym_bitset] = "bitset",
    [anon_sym_bitfield] = "bitfield",
    [anon_sym_bitmask] = "bitmask",
    [anon_sym_ATannotation] = "@annotation",
    [anon_sym_default] = "default",
    [anon_sym_AT] = "@",
    [anon_sym_EQ] = "=",
    [anon_sym_id] = "id",
    [anon_sym_autoid] = "autoid",
    [anon_sym_optional] = "optional",
    [anon_sym_position] = "position",
    [anon_sym_value] = "value",
    [anon_sym_extensibility] = "extensibility",
    [anon_sym_final] = "final",
    [anon_sym_appendable] = "appendable",
    [anon_sym_mutable] = "mutable",
    [anon_sym_key] = "key",
    [anon_sym_must_understand] = "must_understand",
    [anon_sym_default_literal] = "default_literal",
    [anon_sym_range] = "range",
    [anon_sym_min] = "min",
    [anon_sym_max] = "max",
    [anon_sym_unit] = "unit",
    [anon_sym_bit_bound] = "bit_bound",
    [anon_sym_external] = "external",
    [anon_sym_nested] = "nested",
    [anon_sym_verbatim] = "verbatim",
    [anon_sym_service] = "service",
    [anon_sym_oneway] = "oneway",
    [anon_sym_ami] = "ami",
    [anon_sym_module] = "module",
    [anon_sym_typename] = "typename",
    [anon_sym_valuetype] = "valuetype",
    [anon_sym_eventtype] = "eventtype",
    [anon_sym_struct] = "struct",
    [anon_sym_union] = "union",
    [anon_sym_enum] = "enum",
    [anon_sym_const] = "const",
    [anon_sym_alias] = "alias",
    [anon_sym_custom] = "custom",
    [anon_sym_truncatable] = "truncatable",
    [anon_sym_supports] = "supports",
    [anon_sym_public] = "public",
    [anon_sym_private] = "private",
    [anon_sym_factory] = "factory",
    [anon_sym_typedef] = "typedef",
    [anon_sym_LBRACK] = "[",
    [anon_sym_RBRACK] = "]",
    [anon_sym_ATdefault_literal] = "@default_literal",
    [anon_sym_ATignore_literal_names] = "@ignore_literal_names",
    [anon_sym_switch] = "switch",
    [anon_sym_case] = "case",
    [anon_sym_typeid] = "typeid",
    [anon_sym_typeprefix] = "typeprefix",
    [anon_sym_import] = "import",
    [anon_sym_Object] = "Object",
    [anon_sym_context] = "context",
    [sym_value_base_type] = "value_base_type",
    [anon_sym_component] = "component",
    [anon_sym_provides] = "provides",
    [anon_sym_uses] = "uses",
    [anon_sym_multiple] = "multiple",
    [anon_sym_home] = "home",
    [anon_sym_manages] = "manages",
    [anon_sym_emits] = "emits",
    [anon_sym_publishes] = "publishes",
    [anon_sym_consumes] = "consumes",
    [anon_sym_primarykey] = "primarykey",
    [anon_sym_finder] = "finder",
    [anon_sym_porttype] = "porttype",
    [anon_sym_port] = "port",
    [anon_sym_mirrorport] = "mirrorport",
    [anon_sym_connector] = "connector",
    [anon_sym_native] = "native",
    [sym_identifier] = "identifier",
    [anon_sym_SLASH_SLASH] = "//",
    [aux_sym_comment_token1] = "comment_token1",
    [aux_sym_comment_token2] = "comment_token2",
    [anon_sym_SLASH_STAR] = "/*",
    [aux_sym_comment_token3] = "comment_token3",
    [sym_specification] = "specification",
    [sym_signed_short_int] = "signed_short_int",
    [sym_signed_long_int] = "signed_long_int",
    [sym_signed_longlong_int] = "signed_longlong_int",
    [sym_unsigned_int] = "unsigned_int",
    [sym_fixed_pt_const_type] = "fixed_pt_const_type",
    [sym_integer_type] = "integer_type",
    [sym_signed_int] = "signed_int",
    [sym_unsigned_short_int] = "unsigned_short_int",
    [sym_unsigned_long_int] = "unsigned_long_int",
    [sym_unsigned_longlong_int] = "unsigned_longlong_int",
    [sym_floating_pt_type] = "floating_pt_type",
    [sym_char_type] = "char_type",
    [sym_scoped_name] = "scoped_name",
    [sym_string_type] = "string_type",
    [sym_type_spec] = "type_spec",
    [sym_simple_type_spec] = "simple_type_spec",
    [sym_base_type_spec] = "base_type_spec",
    [sym_any_type] = "any_type",
    [sym_fixed_pt_type] = "fixed_pt_type",
    [sym_template_type_spec] = "template_type_spec",
    [sym_sequence_type] = "sequence_type",
    [sym_map_type] = "map_type",
    [sym_positive_int_const] = "positive_int_const",
    [sym_const_expr] = "const_expr",
    [sym_or_expr] = "or_expr",
    [sym_xor_expr] = "xor_expr",
    [sym_and_expr] = "and_expr",
    [sym_shift_expr] = "shift_expr",
    [sym_add_expr] = "add_expr",
    [sym_mult_expr] = "mult_expr",
    [sym_unary_expr] = "unary_expr",
    [sym_primary_expr] = "primary_expr",
    [sym_unary_operator] = "unary_operator",
    [sym_literal] = "literal",
    [sym_string_literal] = "string_literal",
    [sym_char_literal] = "char_literal",
    [sym_boolean_literal] = "boolean_literal",
    [sym_preproc_define] = "preproc_define",
    [sym_preproc_call] = "preproc_call",
    [sym_preproc_include] = "preproc_include",
    [sym_system_lib_string] = "system_lib_string",
    [sym_except_dcl] = "except_dcl",
    [sym_interface_dcl] = "interface_dcl",
    [sym_interface_kind] = "interface_kind",
    [sym_interface_forward_dcl] = "interface_forward_dcl",
    [sym_interface_def] = "interface_def",
    [sym_interface_header] = "interface_header",
    [sym_interface_inheritance_spec] = "interface_inheritance_spec",
    [sym_interface_name] = "interface_name",
    [sym_interface_body] = "interface_body",
    [sym_export] = "export",
    [sym_op_dcl] = "op_dcl",
    [sym_op_type_spec] = "op_type_spec",
    [sym_parameter_dcls] = "parameter_dcls",
    [sym_param_dcl] = "param_dcl",
    [sym_param_attribute] = "param_attribute",
    [sym_raises_expr] = "raises_expr",
    [sym_attr_dcl] = "attr_dcl",
    [sym_readonly_attr_spec] = "readonly_attr_spec",
    [sym_readonly_attr_declarator] = "readonly_attr_declarator",
    [sym_attr_spec] = "attr_spec",
    [sym_attr_declarator] = "attr_declarator",
    [sym_attr_raises_expr] = "attr_raises_expr",
    [sym_get_excep_expr] = "get_excep_expr",
    [sym_set_excep_expr] = "set_excep_expr",
    [sym_exception_list] = "exception_list",
    [sym_bitset_dcl] = "bitset_dcl",
    [sym_bitfield] = "bitfield",
    [sym_bitfield_spec] = "bitfield_spec",
    [sym_destination_type] = "destination_type",
    [sym_bitmask_dcl] = "bitmask_dcl",
    [sym_bit_value] = "bit_value",
    [sym_annotation_dcl] = "annotation_dcl",
    [sym_annotation_body] = "annotation_body",
    [sym_annotation_member] = "annotation_member",
    [sym_annotation_member_type] = "annotation_member_type",
    [sym_any_const_type] = "any_const_type",
    [sym_annotation_appl] = "annotation_appl",
    [sym_annotation_appl_params] = "annotation_appl_params",
    [sym_annotation_appl_param] = "annotation_appl_param",
    [sym_annotation_built_name] = "annotation_built_name",
    [sym_template_module_dcl] = "template_module_dcl",
    [sym_formal_parameters] = "formal_parameters",
    [sym_formal_parameter] = "formal_parameter",
    [sym_formal_parameter_type] = "formal_parameter_type",
    [sym_tpl_definition] = "tpl_definition",
    [sym_template_module_inst] = "template_module_inst",
    [sym_actual_parameters] = "actual_parameters",
    [sym_actual_parameter] = "actual_parameter",
    [sym_template_module_ref] = "template_module_ref",
    [sym_formal_parameter_names] = "formal_parameter_names",
    [sym_value_dcl] = "value_dcl",
    [sym_value_def] = "value_def",
    [sym_value_kind] = "value_kind",
    [sym_value_header] = "value_header",
    [sym_value_inheritance_spec] = "value_inheritance_spec",
    [sym_value_inheritance] = "value_inheritance",
    [sym_value_supports] = "value_supports",
    [sym_value_name] = "value_name",
    [sym_value_element] = "value_element",
    [sym_state_member] = "state_member",
    [sym_init_dcl] = "init_dcl",
    [sym_init_param_dcls] = "init_param_dcls",
    [sym_init_param_dcl] = "init_param_dcl",
    [sym_value_forward_dcl] = "value_forward_dcl",
    [sym_typedef_dcl] = "typedef_dcl",
    [sym_type_declarator] = "type_declarator",
    [sym_any_declarators] = "any_declarators",
    [sym_any_declarator] = "any_declarator",
    [sym_simple_declarator] = "simple_declarator",
    [sym_declarator] = "declarator",
    [sym_declarators] = "declarators",
    [sym_array_declarator] = "array_declarator",
    [sym_fixed_array_size] = "fixed_array_size",
    [sym_enum_dcl] = "enum_dcl",
    [sym_enumerator] = "enumerator",
    [sym_enum_modifier] = "enum_modifier",
    [sym_enum_anno] = "enum_anno",
    [sym_union_dcl] = "union_dcl",
    [sym_union_forward_dcl] = "union_forward_dcl",
    [sym_union_def] = "union_def",
    [sym_case] = "case",
    [sym_case_label] = "case_label",
    [sym_element_spec] = "element_spec",
    [sym_switch_type_spec] = "switch_type_spec",
    [sym_type_id_dcl] = "type_id_dcl",
    [sym_type_prefix_dcl] = "type_prefix_dcl",
    [sym_import_dcl] = "import_dcl",
    [sym_imported_scope] = "imported_scope",
    [sym_object_type] = "object_type",
    [sym_op_oneway_dcl] = "op_oneway_dcl",
    [sym_in_parameter_dcls] = "in_parameter_dcls",
    [sym_in_param_dcl] = "in_param_dcl",
    [sym_op_with_context] = "op_with_context",
    [sym_context_expr] = "context_expr",
    [sym_value_box_def] = "value_box_def",
    [sym_value_abs_def] = "value_abs_def",
    [sym_component_dcl] = "component_dcl",
    [sym_component_forward_dcl] = "component_forward_dcl",
    [sym_component_def] = "component_def",
    [sym_component_header] = "component_header",
    [sym_component_inheritance_spec] = "component_inheritance_spec",
    [sym_component_body] = "component_body",
    [sym_component_export] = "component_export",
    [sym_provides_dcl] = "provides_dcl",
    [sym_interface_type] = "interface_type",
    [sym_uses_dcl] = "uses_dcl",
    [sym_home_dcl] = "home_dcl",
    [sym_home_header] = "home_header",
    [sym_home_inheritance_spec] = "home_inheritance_spec",
    [sym_home_body] = "home_body",
    [sym_home_export] = "home_export",
    [sym_factory_dcl] = "factory_dcl",
    [sym_factory_param_dcls] = "factory_param_dcls",
    [sym_factory_param_dcl] = "factory_param_dcl",
    [sym_supported_interface_spec] = "supported_interface_spec",
    [sym_emits_dcl] = "emits_dcl",
    [sym_publishes_dcl] = "publishes_dcl",
    [sym_consumes_dcl] = "consumes_dcl",
    [sym_primary_key_spec] = "primary_key_spec",
    [sym_finder_dcl] = "finder_dcl",
    [sym_event_dcl] = "event_dcl",
    [sym_event_forward_dcl] = "event_forward_dcl",
    [sym_event_abs_def] = "event_abs_def",
    [sym_event_def] = "event_def",
    [sym_event_header] = "event_header",
    [sym_porttype_dcl] = "porttype_dcl",
    [sym_porttype_forward_dcl] = "porttype_forward_dcl",
    [sym_porttype_def] = "porttype_def",
    [sym_port_body] = "port_body",
    [sym_port_ref] = "port_ref",
    [sym_port_export] = "port_export",
    [sym_port_dcl] = "port_dcl",
    [sym_connector_dcl] = "connector_dcl",
    [sym_connector_header] = "connector_header",
    [sym_connector_inherit_spec] = "connector_inherit_spec",
    [sym_connector_export] = "connector_export",
    [sym_definition] = "definition",
    [sym_type_dcl] = "type_dcl",
    [sym_constr_type_dcl] = "constr_type_dcl",
    [sym_native_dcl] = "native_dcl",
    [sym_module_dcl] = "module_dcl",
    [sym_struct_dcl] = "struct_dcl",
    [sym_struct_forward_dcl] = "struct_forward_dcl",
    [sym_struct_def] = "struct_def",
    [sym_member] = "member",
    [sym_default] = "default",
    [sym_const_dcl] = "const_dcl",
    [sym_const_type] = "const_type",
    [sym_comment] = "comment",
    [aux_sym_specification_repeat1] = "specification_repeat1",
    [aux_sym_string_literal_repeat1] = "string_literal_repeat1",
    [aux_sym_char_literal_repeat1] = "char_literal_repeat1",
    [aux_sym_except_dcl_repeat1] = "except_dcl_repeat1",
    [aux_sym_interface_def_repeat1] = "interface_def_repeat1",
    [aux_sym_interface_inheritance_spec_repeat1] = "interface_inheritance_spec_repeat1",
    [aux_sym_interface_body_repeat1] = "interface_body_repeat1",
    [aux_sym_parameter_dcls_repeat1] = "parameter_dcls_repeat1",
    [aux_sym_raises_expr_repeat1] = "raises_expr_repeat1",
    [aux_sym_readonly_attr_declarator_repeat1] = "readonly_attr_declarator_repeat1",
    [aux_sym_bitset_dcl_repeat1] = "bitset_dcl_repeat1",
    [aux_sym_bitfield_repeat1] = "bitfield_repeat1",
    [aux_sym_bitmask_dcl_repeat1] = "bitmask_dcl_repeat1",
    [aux_sym_annotation_dcl_repeat1] = "annotation_dcl_repeat1",
    [aux_sym_annotation_appl_params_repeat1] = "annotation_appl_params_repeat1",
    [aux_sym_template_module_dcl_repeat1] = "template_module_dcl_repeat1",
    [aux_sym_formal_parameters_repeat1] = "formal_parameters_repeat1",
    [aux_sym_actual_parameters_repeat1] = "actual_parameters_repeat1",
    [aux_sym_formal_parameter_names_repeat1] = "formal_parameter_names_repeat1",
    [aux_sym_value_def_repeat1] = "value_def_repeat1",
    [aux_sym_value_inheritance_spec_repeat1] = "value_inheritance_spec_repeat1",
    [aux_sym_init_param_dcls_repeat1] = "init_param_dcls_repeat1",
    [aux_sym_any_declarators_repeat1] = "any_declarators_repeat1",
    [aux_sym_declarators_repeat1] = "declarators_repeat1",
    [aux_sym_array_declarator_repeat1] = "array_declarator_repeat1",
    [aux_sym_enum_dcl_repeat1] = "enum_dcl_repeat1",
    [aux_sym_enumerator_repeat1] = "enumerator_repeat1",
    [aux_sym_union_def_repeat1] = "union_def_repeat1",
    [aux_sym_in_parameter_dcls_repeat1] = "in_parameter_dcls_repeat1",
    [aux_sym_context_expr_repeat1] = "context_expr_repeat1",
    [aux_sym_component_body_repeat1] = "component_body_repeat1",
    [aux_sym_home_body_repeat1] = "home_body_repeat1",
    [aux_sym_factory_param_dcls_repeat1] = "factory_param_dcls_repeat1",
    [aux_sym_port_body_repeat1] = "port_body_repeat1",
    [aux_sym_connector_dcl_repeat1] = "connector_dcl_repeat1",
    [aux_sym_module_dcl_repeat1] = "module_dcl_repeat1",
};

static const TSSymbol ts_symbol_map[] = {
    [ts_builtin_sym_end] = ts_builtin_sym_end,
    [anon_sym_short] = anon_sym_short,
    [anon_sym_int16] = anon_sym_int16,
    [anon_sym_long] = anon_sym_long,
    [anon_sym_int32] = anon_sym_int32,
    [anon_sym_longlong] = anon_sym_longlong,
    [anon_sym_int64] = anon_sym_int64,
    [sym_unsigned_tiny_int] = sym_unsigned_tiny_int,
    [sym_boolean_type] = sym_boolean_type,
    [anon_sym_fixed] = anon_sym_fixed,
    [sym_octet_type] = sym_octet_type,
    [sym_signed_tiny_int] = sym_signed_tiny_int,
    [anon_sym_unsignedshort] = anon_sym_unsignedshort,
    [anon_sym_uint16] = anon_sym_uint16,
    [anon_sym_unsignedlong] = anon_sym_unsignedlong,
    [anon_sym_uint32] = anon_sym_uint32,
    [anon_sym_unsignedlonglong] = anon_sym_unsignedlonglong,
    [anon_sym_uint64] = anon_sym_uint64,
    [anon_sym_float] = anon_sym_float,
    [anon_sym_double] = anon_sym_double,
    [anon_sym_longdouble] = anon_sym_longdouble,
    [anon_sym_char] = anon_sym_char,
    [anon_sym_wchar] = anon_sym_wchar,
    [anon_sym_COLON_COLON] = anon_sym_COLON_COLON,
    [anon_sym_string] = anon_sym_string,
    [anon_sym_wstring] = anon_sym_wstring,
    [anon_sym_LT] = anon_sym_LT,
    [anon_sym_GT] = anon_sym_GT,
    [anon_sym_any] = anon_sym_any,
    [anon_sym_COMMA] = anon_sym_COMMA,
    [anon_sym_sequence] = anon_sym_sequence,
    [anon_sym_map] = anon_sym_map,
    [anon_sym_PIPE] = anon_sym_PIPE,
    [anon_sym_CARET] = anon_sym_CARET,
    [anon_sym_AMP] = anon_sym_AMP,
    [anon_sym_GT_GT] = anon_sym_GT_GT,
    [anon_sym_LT_LT] = anon_sym_LT_LT,
    [anon_sym_PLUS] = anon_sym_PLUS,
    [anon_sym_DASH] = anon_sym_DASH,
    [anon_sym_STAR] = anon_sym_STAR,
    [anon_sym_SLASH] = anon_sym_SLASH,
    [anon_sym_PERCENT] = anon_sym_PERCENT,
    [anon_sym_LPAREN] = anon_sym_LPAREN,
    [anon_sym_RPAREN] = anon_sym_RPAREN,
    [anon_sym_TILDE] = anon_sym_TILDE,
    [sym_escape_sequence] = sym_escape_sequence,
    [anon_sym_L] = anon_sym_L,
    [anon_sym_DQUOTE] = anon_sym_DQUOTE,
    [aux_sym_string_literal_token1] = aux_sym_string_literal_token1,
    [anon_sym_SQUOTE] = anon_sym_SQUOTE,
    [aux_sym_char_literal_token1] = aux_sym_char_literal_token1,
    [anon_sym_TRUE] = anon_sym_TRUE,
    [anon_sym_FALSE] = anon_sym_FALSE,
    [sym_number_literal] = sym_number_literal,
    [anon_sym_POUNDdefine] = anon_sym_POUNDdefine,
    [aux_sym_preproc_define_token1] = aux_sym_preproc_define_token1,
    [aux_sym_preproc_call_token1] = aux_sym_preproc_call_token1,
    [sym_preproc_directive] = sym_preproc_directive,
    [sym_preproc_arg] = sym_preproc_arg,
    [aux_sym_preproc_include_token1] = aux_sym_preproc_include_token1,
    [sym_system_lib_path] = sym_system_lib_path,
    [anon_sym_exception] = anon_sym_exception,
    [anon_sym_LBRACE] = anon_sym_LBRACE,
    [anon_sym_RBRACE] = anon_sym_RBRACE,
    [anon_sym_local] = anon_sym_local,
    [anon_sym_abstract] = anon_sym_abstract,
    [anon_sym_interface] = anon_sym_interface,
    [anon_sym_COLON] = anon_sym_COLON,
    [anon_sym_SEMI] = anon_sym_SEMI,
    [anon_sym_void] = anon_sym_void,
    [anon_sym_in] = anon_sym_in,
    [anon_sym_out] = anon_sym_out,
    [anon_sym_inout] = anon_sym_inout,
    [anon_sym_raises] = anon_sym_raises,
    [anon_sym_readonly] = anon_sym_readonly,
    [anon_sym_attribute] = anon_sym_attribute,
    [anon_sym_getraises] = anon_sym_getraises,
    [anon_sym_setraises] = anon_sym_setraises,
    [anon_sym_bitset] = anon_sym_bitset,
    [anon_sym_bitfield] = anon_sym_bitfield,
    [anon_sym_bitmask] = anon_sym_bitmask,
    [anon_sym_ATannotation] = anon_sym_ATannotation,
    [anon_sym_default] = anon_sym_default,
    [anon_sym_AT] = anon_sym_AT,
    [anon_sym_EQ] = anon_sym_EQ,
    [anon_sym_id] = anon_sym_id,
    [anon_sym_autoid] = anon_sym_autoid,
    [anon_sym_optional] = anon_sym_optional,
    [anon_sym_position] = anon_sym_position,
    [anon_sym_value] = anon_sym_value,
    [anon_sym_extensibility] = anon_sym_extensibility,
    [anon_sym_final] = anon_sym_final,
    [anon_sym_appendable] = anon_sym_appendable,
    [anon_sym_mutable] = anon_sym_mutable,
    [anon_sym_key] = anon_sym_key,
    [anon_sym_must_understand] = anon_sym_must_understand,
    [anon_sym_default_literal] = anon_sym_default_literal,
    [anon_sym_range] = anon_sym_range,
    [anon_sym_min] = anon_sym_min,
    [anon_sym_max] = anon_sym_max,
    [anon_sym_unit] = anon_sym_unit,
    [anon_sym_bit_bound] = anon_sym_bit_bound,
    [anon_sym_external] = anon_sym_external,
    [anon_sym_nested] = anon_sym_nested,
    [anon_sym_verbatim] = anon_sym_verbatim,
    [anon_sym_service] = anon_sym_service,
    [anon_sym_oneway] = anon_sym_oneway,
    [anon_sym_ami] = anon_sym_ami,
    [anon_sym_module] = anon_sym_module,
    [anon_sym_typename] = anon_sym_typename,
    [anon_sym_valuetype] = anon_sym_valuetype,
    [anon_sym_eventtype] = anon_sym_eventtype,
    [anon_sym_struct] = anon_sym_struct,
    [anon_sym_union] = anon_sym_union,
    [anon_sym_enum] = anon_sym_enum,
    [anon_sym_const] = anon_sym_const,
    [anon_sym_alias] = anon_sym_alias,
    [anon_sym_custom] = anon_sym_custom,
    [anon_sym_truncatable] = anon_sym_truncatable,
    [anon_sym_supports] = anon_sym_supports,
    [anon_sym_public] = anon_sym_public,
    [anon_sym_private] = anon_sym_private,
    [anon_sym_factory] = anon_sym_factory,
    [anon_sym_typedef] = anon_sym_typedef,
    [anon_sym_LBRACK] = anon_sym_LBRACK,
    [anon_sym_RBRACK] = anon_sym_RBRACK,
    [anon_sym_ATdefault_literal] = anon_sym_ATdefault_literal,
    [anon_sym_ATignore_literal_names] = anon_sym_ATignore_literal_names,
    [anon_sym_switch] = anon_sym_switch,
    [anon_sym_case] = anon_sym_case,
    [anon_sym_typeid] = anon_sym_typeid,
    [anon_sym_typeprefix] = anon_sym_typeprefix,
    [anon_sym_import] = anon_sym_import,
    [anon_sym_Object] = anon_sym_Object,
    [anon_sym_context] = anon_sym_context,
    [sym_value_base_type] = sym_value_base_type,
    [anon_sym_component] = anon_sym_component,
    [anon_sym_provides] = anon_sym_provides,
    [anon_sym_uses] = anon_sym_uses,
    [anon_sym_multiple] = anon_sym_multiple,
    [anon_sym_home] = anon_sym_home,
    [anon_sym_manages] = anon_sym_manages,
    [anon_sym_emits] = anon_sym_emits,
    [anon_sym_publishes] = anon_sym_publishes,
    [anon_sym_consumes] = anon_sym_consumes,
    [anon_sym_primarykey] = anon_sym_primarykey,
    [anon_sym_finder] = anon_sym_finder,
    [anon_sym_porttype] = anon_sym_porttype,
    [anon_sym_port] = anon_sym_port,
    [anon_sym_mirrorport] = anon_sym_mirrorport,
    [anon_sym_connector] = anon_sym_connector,
    [anon_sym_native] = anon_sym_native,
    [sym_identifier] = sym_identifier,
    [anon_sym_SLASH_SLASH] = anon_sym_SLASH_SLASH,
    [aux_sym_comment_token1] = aux_sym_comment_token1,
    [aux_sym_comment_token2] = aux_sym_comment_token2,
    [anon_sym_SLASH_STAR] = anon_sym_SLASH_STAR,
    [aux_sym_comment_token3] = aux_sym_comment_token3,
    [sym_specification] = sym_specification,
    [sym_signed_short_int] = sym_signed_short_int,
    [sym_signed_long_int] = sym_signed_long_int,
    [sym_signed_longlong_int] = sym_signed_longlong_int,
    [sym_unsigned_int] = sym_unsigned_int,
    [sym_fixed_pt_const_type] = sym_fixed_pt_const_type,
    [sym_integer_type] = sym_integer_type,
    [sym_signed_int] = sym_signed_int,
    [sym_unsigned_short_int] = sym_unsigned_short_int,
    [sym_unsigned_long_int] = sym_unsigned_long_int,
    [sym_unsigned_longlong_int] = sym_unsigned_longlong_int,
    [sym_floating_pt_type] = sym_floating_pt_type,
    [sym_char_type] = sym_char_type,
    [sym_scoped_name] = sym_scoped_name,
    [sym_string_type] = sym_string_type,
    [sym_type_spec] = sym_type_spec,
    [sym_simple_type_spec] = sym_simple_type_spec,
    [sym_base_type_spec] = sym_base_type_spec,
    [sym_any_type] = sym_any_type,
    [sym_fixed_pt_type] = sym_fixed_pt_type,
    [sym_template_type_spec] = sym_template_type_spec,
    [sym_sequence_type] = sym_sequence_type,
    [sym_map_type] = sym_map_type,
    [sym_positive_int_const] = sym_positive_int_const,
    [sym_const_expr] = sym_const_expr,
    [sym_or_expr] = sym_or_expr,
    [sym_xor_expr] = sym_xor_expr,
    [sym_and_expr] = sym_and_expr,
    [sym_shift_expr] = sym_shift_expr,
    [sym_add_expr] = sym_add_expr,
    [sym_mult_expr] = sym_mult_expr,
    [sym_unary_expr] = sym_unary_expr,
    [sym_primary_expr] = sym_primary_expr,
    [sym_unary_operator] = sym_unary_operator,
    [sym_literal] = sym_literal,
    [sym_string_literal] = sym_string_literal,
    [sym_char_literal] = sym_char_literal,
    [sym_boolean_literal] = sym_boolean_literal,
    [sym_preproc_define] = sym_preproc_define,
    [sym_preproc_call] = sym_preproc_call,
    [sym_preproc_include] = sym_preproc_include,
    [sym_system_lib_string] = sym_system_lib_string,
    [sym_except_dcl] = sym_except_dcl,
    [sym_interface_dcl] = sym_interface_dcl,
    [sym_interface_kind] = sym_interface_kind,
    [sym_interface_forward_dcl] = sym_interface_forward_dcl,
    [sym_interface_def] = sym_interface_def,
    [sym_interface_header] = sym_interface_header,
    [sym_interface_inheritance_spec] = sym_interface_inheritance_spec,
    [sym_interface_name] = sym_interface_name,
    [sym_interface_body] = sym_interface_body,
    [sym_export] = sym_export,
    [sym_op_dcl] = sym_op_dcl,
    [sym_op_type_spec] = sym_op_type_spec,
    [sym_parameter_dcls] = sym_parameter_dcls,
    [sym_param_dcl] = sym_param_dcl,
    [sym_param_attribute] = sym_param_attribute,
    [sym_raises_expr] = sym_raises_expr,
    [sym_attr_dcl] = sym_attr_dcl,
    [sym_readonly_attr_spec] = sym_readonly_attr_spec,
    [sym_readonly_attr_declarator] = sym_readonly_attr_declarator,
    [sym_attr_spec] = sym_attr_spec,
    [sym_attr_declarator] = sym_attr_declarator,
    [sym_attr_raises_expr] = sym_attr_raises_expr,
    [sym_get_excep_expr] = sym_get_excep_expr,
    [sym_set_excep_expr] = sym_set_excep_expr,
    [sym_exception_list] = sym_exception_list,
    [sym_bitset_dcl] = sym_bitset_dcl,
    [sym_bitfield] = sym_bitfield,
    [sym_bitfield_spec] = sym_bitfield_spec,
    [sym_destination_type] = sym_destination_type,
    [sym_bitmask_dcl] = sym_bitmask_dcl,
    [sym_bit_value] = sym_bit_value,
    [sym_annotation_dcl] = sym_annotation_dcl,
    [sym_annotation_body] = sym_annotation_body,
    [sym_annotation_member] = sym_annotation_member,
    [sym_annotation_member_type] = sym_annotation_member_type,
    [sym_any_const_type] = sym_any_const_type,
    [sym_annotation_appl] = sym_annotation_appl,
    [sym_annotation_appl_params] = sym_annotation_appl_params,
    [sym_annotation_appl_param] = sym_annotation_appl_param,
    [sym_annotation_built_name] = sym_annotation_built_name,
    [sym_template_module_dcl] = sym_template_module_dcl,
    [sym_formal_parameters] = sym_formal_parameters,
    [sym_formal_parameter] = sym_formal_parameter,
    [sym_formal_parameter_type] = sym_formal_parameter_type,
    [sym_tpl_definition] = sym_tpl_definition,
    [sym_template_module_inst] = sym_template_module_inst,
    [sym_actual_parameters] = sym_actual_parameters,
    [sym_actual_parameter] = sym_actual_parameter,
    [sym_template_module_ref] = sym_template_module_ref,
    [sym_formal_parameter_names] = sym_formal_parameter_names,
    [sym_value_dcl] = sym_value_dcl,
    [sym_value_def] = sym_value_def,
    [sym_value_kind] = sym_value_kind,
    [sym_value_header] = sym_value_header,
    [sym_value_inheritance_spec] = sym_value_inheritance_spec,
    [sym_value_inheritance] = sym_value_inheritance,
    [sym_value_supports] = sym_value_supports,
    [sym_value_name] = sym_value_name,
    [sym_value_element] = sym_value_element,
    [sym_state_member] = sym_state_member,
    [sym_init_dcl] = sym_init_dcl,
    [sym_init_param_dcls] = sym_init_param_dcls,
    [sym_init_param_dcl] = sym_init_param_dcl,
    [sym_value_forward_dcl] = sym_value_forward_dcl,
    [sym_typedef_dcl] = sym_typedef_dcl,
    [sym_type_declarator] = sym_type_declarator,
    [sym_any_declarators] = sym_any_declarators,
    [sym_any_declarator] = sym_any_declarator,
    [sym_simple_declarator] = sym_simple_declarator,
    [sym_declarator] = sym_declarator,
    [sym_declarators] = sym_declarators,
    [sym_array_declarator] = sym_array_declarator,
    [sym_fixed_array_size] = sym_fixed_array_size,
    [sym_enum_dcl] = sym_enum_dcl,
    [sym_enumerator] = sym_enumerator,
    [sym_enum_modifier] = sym_enum_modifier,
    [sym_enum_anno] = sym_enum_anno,
    [sym_union_dcl] = sym_union_dcl,
    [sym_union_forward_dcl] = sym_union_forward_dcl,
    [sym_union_def] = sym_union_def,
    [sym_case] = sym_case,
    [sym_case_label] = sym_case_label,
    [sym_element_spec] = sym_element_spec,
    [sym_switch_type_spec] = sym_switch_type_spec,
    [sym_type_id_dcl] = sym_type_id_dcl,
    [sym_type_prefix_dcl] = sym_type_prefix_dcl,
    [sym_import_dcl] = sym_import_dcl,
    [sym_imported_scope] = sym_imported_scope,
    [sym_object_type] = sym_object_type,
    [sym_op_oneway_dcl] = sym_op_oneway_dcl,
    [sym_in_parameter_dcls] = sym_in_parameter_dcls,
    [sym_in_param_dcl] = sym_in_param_dcl,
    [sym_op_with_context] = sym_op_with_context,
    [sym_context_expr] = sym_context_expr,
    [sym_value_box_def] = sym_value_box_def,
    [sym_value_abs_def] = sym_value_abs_def,
    [sym_component_dcl] = sym_component_dcl,
    [sym_component_forward_dcl] = sym_component_forward_dcl,
    [sym_component_def] = sym_component_def,
    [sym_component_header] = sym_component_header,
    [sym_component_inheritance_spec] = sym_component_inheritance_spec,
    [sym_component_body] = sym_component_body,
    [sym_component_export] = sym_component_export,
    [sym_provides_dcl] = sym_provides_dcl,
    [sym_interface_type] = sym_interface_type,
    [sym_uses_dcl] = sym_uses_dcl,
    [sym_home_dcl] = sym_home_dcl,
    [sym_home_header] = sym_home_header,
    [sym_home_inheritance_spec] = sym_home_inheritance_spec,
    [sym_home_body] = sym_home_body,
    [sym_home_export] = sym_home_export,
    [sym_factory_dcl] = sym_factory_dcl,
    [sym_factory_param_dcls] = sym_factory_param_dcls,
    [sym_factory_param_dcl] = sym_factory_param_dcl,
    [sym_supported_interface_spec] = sym_supported_interface_spec,
    [sym_emits_dcl] = sym_emits_dcl,
    [sym_publishes_dcl] = sym_publishes_dcl,
    [sym_consumes_dcl] = sym_consumes_dcl,
    [sym_primary_key_spec] = sym_primary_key_spec,
    [sym_finder_dcl] = sym_finder_dcl,
    [sym_event_dcl] = sym_event_dcl,
    [sym_event_forward_dcl] = sym_event_forward_dcl,
    [sym_event_abs_def] = sym_event_abs_def,
    [sym_event_def] = sym_event_def,
    [sym_event_header] = sym_event_header,
    [sym_porttype_dcl] = sym_porttype_dcl,
    [sym_porttype_forward_dcl] = sym_porttype_forward_dcl,
    [sym_porttype_def] = sym_porttype_def,
    [sym_port_body] = sym_port_body,
    [sym_port_ref] = sym_port_ref,
    [sym_port_export] = sym_port_export,
    [sym_port_dcl] = sym_port_dcl,
    [sym_connector_dcl] = sym_connector_dcl,
    [sym_connector_header] = sym_connector_header,
    [sym_connector_inherit_spec] = sym_connector_inherit_spec,
    [sym_connector_export] = sym_connector_export,
    [sym_definition] = sym_definition,
    [sym_type_dcl] = sym_type_dcl,
    [sym_constr_type_dcl] = sym_constr_type_dcl,
    [sym_native_dcl] = sym_native_dcl,
    [sym_module_dcl] = sym_module_dcl,
    [sym_struct_dcl] = sym_struct_dcl,
    [sym_struct_forward_dcl] = sym_struct_forward_dcl,
    [sym_struct_def] = sym_struct_def,
    [sym_member] = sym_member,
    [sym_default] = sym_default,
    [sym_const_dcl] = sym_const_dcl,
    [sym_const_type] = sym_const_type,
    [sym_comment] = sym_comment,
    [aux_sym_specification_repeat1] = aux_sym_specification_repeat1,
    [aux_sym_string_literal_repeat1] = aux_sym_string_literal_repeat1,
    [aux_sym_char_literal_repeat1] = aux_sym_char_literal_repeat1,
    [aux_sym_except_dcl_repeat1] = aux_sym_except_dcl_repeat1,
    [aux_sym_interface_def_repeat1] = aux_sym_interface_def_repeat1,
    [aux_sym_interface_inheritance_spec_repeat1] = aux_sym_interface_inheritance_spec_repeat1,
    [aux_sym_interface_body_repeat1] = aux_sym_interface_body_repeat1,
    [aux_sym_parameter_dcls_repeat1] = aux_sym_parameter_dcls_repeat1,
    [aux_sym_raises_expr_repeat1] = aux_sym_raises_expr_repeat1,
    [aux_sym_readonly_attr_declarator_repeat1] = aux_sym_readonly_attr_declarator_repeat1,
    [aux_sym_bitset_dcl_repeat1] = aux_sym_bitset_dcl_repeat1,
    [aux_sym_bitfield_repeat1] = aux_sym_bitfield_repeat1,
    [aux_sym_bitmask_dcl_repeat1] = aux_sym_bitmask_dcl_repeat1,
    [aux_sym_annotation_dcl_repeat1] = aux_sym_annotation_dcl_repeat1,
    [aux_sym_annotation_appl_params_repeat1] = aux_sym_annotation_appl_params_repeat1,
    [aux_sym_template_module_dcl_repeat1] = aux_sym_template_module_dcl_repeat1,
    [aux_sym_formal_parameters_repeat1] = aux_sym_formal_parameters_repeat1,
    [aux_sym_actual_parameters_repeat1] = aux_sym_actual_parameters_repeat1,
    [aux_sym_formal_parameter_names_repeat1] = aux_sym_formal_parameter_names_repeat1,
    [aux_sym_value_def_repeat1] = aux_sym_value_def_repeat1,
    [aux_sym_value_inheritance_spec_repeat1] = aux_sym_value_inheritance_spec_repeat1,
    [aux_sym_init_param_dcls_repeat1] = aux_sym_init_param_dcls_repeat1,
    [aux_sym_any_declarators_repeat1] = aux_sym_any_declarators_repeat1,
    [aux_sym_declarators_repeat1] = aux_sym_declarators_repeat1,
    [aux_sym_array_declarator_repeat1] = aux_sym_array_declarator_repeat1,
    [aux_sym_enum_dcl_repeat1] = aux_sym_enum_dcl_repeat1,
    [aux_sym_enumerator_repeat1] = aux_sym_enumerator_repeat1,
    [aux_sym_union_def_repeat1] = aux_sym_union_def_repeat1,
    [aux_sym_in_parameter_dcls_repeat1] = aux_sym_in_parameter_dcls_repeat1,
    [aux_sym_context_expr_repeat1] = aux_sym_context_expr_repeat1,
    [aux_sym_component_body_repeat1] = aux_sym_component_body_repeat1,
    [aux_sym_home_body_repeat1] = aux_sym_home_body_repeat1,
    [aux_sym_factory_param_dcls_repeat1] = aux_sym_factory_param_dcls_repeat1,
    [aux_sym_port_body_repeat1] = aux_sym_port_body_repeat1,
    [aux_sym_connector_dcl_repeat1] = aux_sym_connector_dcl_repeat1,
    [aux_sym_module_dcl_repeat1] = aux_sym_module_dcl_repeat1,
};

static const TSSymbolMetadata ts_symbol_metadata[] = {
    [ts_builtin_sym_end] = {
        .visible = false,
        .named = true,
    },
    [anon_sym_short] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_int16] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_long] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_int32] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_longlong] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_int64] = {
        .visible = true,
        .named = false,
    },
    [sym_unsigned_tiny_int] = {
        .visible = true,
        .named = true,
    },
    [sym_boolean_type] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_fixed] = {
        .visible = true,
        .named = false,
    },
    [sym_octet_type] = {
        .visible = true,
        .named = true,
    },
    [sym_signed_tiny_int] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_unsignedshort] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_uint16] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_unsignedlong] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_uint32] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_unsignedlonglong] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_uint64] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_float] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_double] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_longdouble] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_char] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_wchar] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_COLON_COLON] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_string] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_wstring] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_LT] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_GT] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_any] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_COMMA] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_sequence] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_map] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_PIPE] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_CARET] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_AMP] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_GT_GT] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_LT_LT] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_PLUS] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_DASH] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_STAR] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_SLASH] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_PERCENT] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_LPAREN] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_RPAREN] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_TILDE] = {
        .visible = true,
        .named = false,
    },
    [sym_escape_sequence] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_L] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_DQUOTE] = {
        .visible = true,
        .named = false,
    },
    [aux_sym_string_literal_token1] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_SQUOTE] = {
        .visible = true,
        .named = false,
    },
    [aux_sym_char_literal_token1] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_TRUE] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_FALSE] = {
        .visible = true,
        .named = false,
    },
    [sym_number_literal] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_POUNDdefine] = {
        .visible = true,
        .named = false,
    },
    [aux_sym_preproc_define_token1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_preproc_call_token1] = {
        .visible = false,
        .named = false,
    },
    [sym_preproc_directive] = {
        .visible = true,
        .named = true,
    },
    [sym_preproc_arg] = {
        .visible = true,
        .named = true,
    },
    [aux_sym_preproc_include_token1] = {
        .visible = true,
        .named = true,
    },
    [sym_system_lib_path] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_exception] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_LBRACE] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_RBRACE] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_local] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_abstract] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_interface] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_COLON] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_SEMI] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_void] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_in] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_out] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_inout] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_raises] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_readonly] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_attribute] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_getraises] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_setraises] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_bitset] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_bitfield] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_bitmask] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_ATannotation] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_default] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_AT] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_EQ] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_id] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_autoid] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_optional] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_position] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_value] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_extensibility] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_final] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_appendable] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_mutable] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_key] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_must_understand] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_default_literal] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_range] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_min] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_max] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_unit] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_bit_bound] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_external] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_nested] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_verbatim] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_service] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_oneway] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_ami] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_module] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_typename] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_valuetype] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_eventtype] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_struct] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_union] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_enum] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_const] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_alias] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_custom] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_truncatable] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_supports] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_public] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_private] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_factory] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_typedef] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_LBRACK] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_RBRACK] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_ATdefault_literal] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_ATignore_literal_names] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_switch] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_case] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_typeid] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_typeprefix] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_import] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_Object] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_context] = {
        .visible = true,
        .named = false,
    },
    [sym_value_base_type] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_component] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_provides] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_uses] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_multiple] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_home] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_manages] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_emits] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_publishes] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_consumes] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_primarykey] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_finder] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_porttype] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_port] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_mirrorport] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_connector] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_native] = {
        .visible = true,
        .named = false,
    },
    [sym_identifier] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_SLASH_SLASH] = {
        .visible = true,
        .named = false,
    },
    [aux_sym_comment_token1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_comment_token2] = {
        .visible = false,
        .named = false,
    },
    [anon_sym_SLASH_STAR] = {
        .visible = true,
        .named = false,
    },
    [aux_sym_comment_token3] = {
        .visible = false,
        .named = false,
    },
    [sym_specification] = {
        .visible = true,
        .named = true,
    },
    [sym_signed_short_int] = {
        .visible = true,
        .named = true,
    },
    [sym_signed_long_int] = {
        .visible = true,
        .named = true,
    },
    [sym_signed_longlong_int] = {
        .visible = true,
        .named = true,
    },
    [sym_unsigned_int] = {
        .visible = true,
        .named = true,
    },
    [sym_fixed_pt_const_type] = {
        .visible = true,
        .named = true,
    },
    [sym_integer_type] = {
        .visible = true,
        .named = true,
    },
    [sym_signed_int] = {
        .visible = true,
        .named = true,
    },
    [sym_unsigned_short_int] = {
        .visible = true,
        .named = true,
    },
    [sym_unsigned_long_int] = {
        .visible = true,
        .named = true,
    },
    [sym_unsigned_longlong_int] = {
        .visible = true,
        .named = true,
    },
    [sym_floating_pt_type] = {
        .visible = true,
        .named = true,
    },
    [sym_char_type] = {
        .visible = true,
        .named = true,
    },
    [sym_scoped_name] = {
        .visible = true,
        .named = true,
    },
    [sym_string_type] = {
        .visible = true,
        .named = true,
    },
    [sym_type_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_simple_type_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_base_type_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_any_type] = {
        .visible = true,
        .named = true,
    },
    [sym_fixed_pt_type] = {
        .visible = true,
        .named = true,
    },
    [sym_template_type_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_sequence_type] = {
        .visible = true,
        .named = true,
    },
    [sym_map_type] = {
        .visible = true,
        .named = true,
    },
    [sym_positive_int_const] = {
        .visible = true,
        .named = true,
    },
    [sym_const_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_or_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_xor_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_and_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_shift_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_add_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_mult_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_unary_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_primary_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_unary_operator] = {
        .visible = true,
        .named = true,
    },
    [sym_literal] = {
        .visible = true,
        .named = true,
    },
    [sym_string_literal] = {
        .visible = true,
        .named = true,
    },
    [sym_char_literal] = {
        .visible = true,
        .named = true,
    },
    [sym_boolean_literal] = {
        .visible = true,
        .named = true,
    },
    [sym_preproc_define] = {
        .visible = true,
        .named = true,
    },
    [sym_preproc_call] = {
        .visible = true,
        .named = true,
    },
    [sym_preproc_include] = {
        .visible = true,
        .named = true,
    },
    [sym_system_lib_string] = {
        .visible = true,
        .named = true,
    },
    [sym_except_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_kind] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_forward_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_def] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_header] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_inheritance_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_name] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_body] = {
        .visible = true,
        .named = true,
    },
    [sym_export] = {
        .visible = true,
        .named = true,
    },
    [sym_op_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_op_type_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_parameter_dcls] = {
        .visible = true,
        .named = true,
    },
    [sym_param_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_param_attribute] = {
        .visible = true,
        .named = true,
    },
    [sym_raises_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_attr_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_readonly_attr_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_readonly_attr_declarator] = {
        .visible = true,
        .named = true,
    },
    [sym_attr_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_attr_declarator] = {
        .visible = true,
        .named = true,
    },
    [sym_attr_raises_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_get_excep_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_set_excep_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_exception_list] = {
        .visible = true,
        .named = true,
    },
    [sym_bitset_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_bitfield] = {
        .visible = true,
        .named = true,
    },
    [sym_bitfield_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_destination_type] = {
        .visible = true,
        .named = true,
    },
    [sym_bitmask_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_bit_value] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_body] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_member] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_member_type] = {
        .visible = true,
        .named = true,
    },
    [sym_any_const_type] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_appl] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_appl_params] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_appl_param] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_built_name] = {
        .visible = true,
        .named = true,
    },
    [sym_template_module_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_formal_parameters] = {
        .visible = true,
        .named = true,
    },
    [sym_formal_parameter] = {
        .visible = true,
        .named = true,
    },
    [sym_formal_parameter_type] = {
        .visible = true,
        .named = true,
    },
    [sym_tpl_definition] = {
        .visible = true,
        .named = true,
    },
    [sym_template_module_inst] = {
        .visible = true,
        .named = true,
    },
    [sym_actual_parameters] = {
        .visible = true,
        .named = true,
    },
    [sym_actual_parameter] = {
        .visible = true,
        .named = true,
    },
    [sym_template_module_ref] = {
        .visible = true,
        .named = true,
    },
    [sym_formal_parameter_names] = {
        .visible = true,
        .named = true,
    },
    [sym_value_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_value_def] = {
        .visible = true,
        .named = true,
    },
    [sym_value_kind] = {
        .visible = true,
        .named = true,
    },
    [sym_value_header] = {
        .visible = true,
        .named = true,
    },
    [sym_value_inheritance_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_value_inheritance] = {
        .visible = true,
        .named = true,
    },
    [sym_value_supports] = {
        .visible = true,
        .named = true,
    },
    [sym_value_name] = {
        .visible = true,
        .named = true,
    },
    [sym_value_element] = {
        .visible = true,
        .named = true,
    },
    [sym_state_member] = {
        .visible = true,
        .named = true,
    },
    [sym_init_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_init_param_dcls] = {
        .visible = true,
        .named = true,
    },
    [sym_init_param_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_value_forward_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_typedef_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_type_declarator] = {
        .visible = true,
        .named = true,
    },
    [sym_any_declarators] = {
        .visible = true,
        .named = true,
    },
    [sym_any_declarator] = {
        .visible = true,
        .named = true,
    },
    [sym_simple_declarator] = {
        .visible = true,
        .named = true,
    },
    [sym_declarator] = {
        .visible = true,
        .named = true,
    },
    [sym_declarators] = {
        .visible = true,
        .named = true,
    },
    [sym_array_declarator] = {
        .visible = true,
        .named = true,
    },
    [sym_fixed_array_size] = {
        .visible = true,
        .named = true,
    },
    [sym_enum_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_enumerator] = {
        .visible = true,
        .named = true,
    },
    [sym_enum_modifier] = {
        .visible = true,
        .named = true,
    },
    [sym_enum_anno] = {
        .visible = true,
        .named = true,
    },
    [sym_union_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_union_forward_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_union_def] = {
        .visible = true,
        .named = true,
    },
    [sym_case] = {
        .visible = true,
        .named = true,
    },
    [sym_case_label] = {
        .visible = true,
        .named = true,
    },
    [sym_element_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_switch_type_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_type_id_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_type_prefix_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_import_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_imported_scope] = {
        .visible = true,
        .named = true,
    },
    [sym_object_type] = {
        .visible = true,
        .named = true,
    },
    [sym_op_oneway_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_in_parameter_dcls] = {
        .visible = true,
        .named = true,
    },
    [sym_in_param_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_op_with_context] = {
        .visible = true,
        .named = true,
    },
    [sym_context_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_value_box_def] = {
        .visible = true,
        .named = true,
    },
    [sym_value_abs_def] = {
        .visible = true,
        .named = true,
    },
    [sym_component_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_component_forward_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_component_def] = {
        .visible = true,
        .named = true,
    },
    [sym_component_header] = {
        .visible = true,
        .named = true,
    },
    [sym_component_inheritance_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_component_body] = {
        .visible = true,
        .named = true,
    },
    [sym_component_export] = {
        .visible = true,
        .named = true,
    },
    [sym_provides_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_type] = {
        .visible = true,
        .named = true,
    },
    [sym_uses_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_home_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_home_header] = {
        .visible = true,
        .named = true,
    },
    [sym_home_inheritance_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_home_body] = {
        .visible = true,
        .named = true,
    },
    [sym_home_export] = {
        .visible = true,
        .named = true,
    },
    [sym_factory_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_factory_param_dcls] = {
        .visible = true,
        .named = true,
    },
    [sym_factory_param_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_supported_interface_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_emits_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_publishes_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_consumes_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_primary_key_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_finder_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_event_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_event_forward_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_event_abs_def] = {
        .visible = true,
        .named = true,
    },
    [sym_event_def] = {
        .visible = true,
        .named = true,
    },
    [sym_event_header] = {
        .visible = true,
        .named = true,
    },
    [sym_porttype_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_porttype_forward_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_porttype_def] = {
        .visible = true,
        .named = true,
    },
    [sym_port_body] = {
        .visible = true,
        .named = true,
    },
    [sym_port_ref] = {
        .visible = true,
        .named = true,
    },
    [sym_port_export] = {
        .visible = true,
        .named = true,
    },
    [sym_port_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_connector_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_connector_header] = {
        .visible = true,
        .named = true,
    },
    [sym_connector_inherit_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_connector_export] = {
        .visible = true,
        .named = true,
    },
    [sym_definition] = {
        .visible = true,
        .named = true,
    },
    [sym_type_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_constr_type_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_native_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_module_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_struct_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_struct_forward_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_struct_def] = {
        .visible = true,
        .named = true,
    },
    [sym_member] = {
        .visible = true,
        .named = true,
    },
    [sym_default] = {
        .visible = true,
        .named = true,
    },
    [sym_const_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_const_type] = {
        .visible = true,
        .named = true,
    },
    [sym_comment] = {
        .visible = true,
        .named = true,
    },
    [aux_sym_specification_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_string_literal_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_char_literal_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_except_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_interface_def_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_interface_inheritance_spec_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_interface_body_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_parameter_dcls_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_raises_expr_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_readonly_attr_declarator_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_bitset_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_bitfield_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_bitmask_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_annotation_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_annotation_appl_params_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_template_module_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_formal_parameters_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_actual_parameters_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_formal_parameter_names_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_value_def_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_value_inheritance_spec_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_init_param_dcls_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_any_declarators_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_declarators_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_array_declarator_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_enum_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_enumerator_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_union_def_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_in_parameter_dcls_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_context_expr_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_component_body_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_home_body_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_factory_param_dcls_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_port_body_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_connector_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_module_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
};

enum ts_field_identifiers {
    field_argument = 1,
    field_directive = 2,
    field_identifier = 3,
    field_parent = 4,
    field_path = 5,
    field_type = 6,
};

static const char *const ts_field_names[] = {
    [0] = NULL,
    [field_argument] = "argument",
    [field_directive] = "directive",
    [field_identifier] = "identifier",
    [field_parent] = "parent",
    [field_path] = "path",
    [field_type] = "type",
};

static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
    [1] = { .index = 0, .length = 1 },
    [2] = { .index = 1, .length = 2 },
    [3] = { .index = 3, .length = 1 },
    [4] = { .index = 4, .length = 2 },
    [5] = { .index = 6, .length = 1 },
    [6] = { .index = 7, .length = 2 },
    [7] = { .index = 9, .length = 1 },
};

static const TSFieldMapEntry ts_field_map_entries[] = {
    [0] = { field_directive, 0 },
    [1] = { field_argument, 1 },
    { field_directive, 0 },
    [3] = { field_path, 1 },
    [4] = { field_identifier, 1 },
    { field_type, 0 },
    [6] = { field_parent, 3 },
    [7] = { field_identifier, 2 },
    { field_type, 1 },
    [9] = { field_parent, 4 },
};

static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
    [0] = { 0 },
};

static const uint16_t ts_non_terminal_alias_map[] = {
    0,
};

static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
    [0] = 0,
    [1] = 1,
    [2] = 2,
    [3] = 3,
    [4] = 4,
    [5] = 5,
    [6] = 6,
    [7] = 7,
    [8] = 8,
    [9] = 9,
    [10] = 10,
    [11] = 11,
    [12] = 12,
    [13] = 13,
    [14] = 14,
    [15] = 15,
    [16] = 16,
    [17] = 17,
    [18] = 18,
    [19] = 19,
    [20] = 20,
    [21] = 21,
    [22] = 22,
    [23] = 23,
    [24] = 24,
    [25] = 25,
    [26] = 26,
    [27] = 27,
    [28] = 28,
    [29] = 29,
    [30] = 30,
    [31] = 31,
    [32] = 32,
    [33] = 33,
    [34] = 34,
    [35] = 35,
    [36] = 36,
    [37] = 37,
    [38] = 38,
    [39] = 39,
    [40] = 40,
    [41] = 41,
    [42] = 42,
    [43] = 43,
    [44] = 44,
    [45] = 45,
    [46] = 46,
    [47] = 47,
    [48] = 48,
    [49] = 49,
    [50] = 50,
    [51] = 51,
    [52] = 52,
    [53] = 53,
    [54] = 54,
    [55] = 55,
    [56] = 56,
    [57] = 57,
    [58] = 58,
    [59] = 59,
    [60] = 60,
    [61] = 56,
    [62] = 62,
    [63] = 63,
    [64] = 64,
    [65] = 65,
    [66] = 66,
    [67] = 67,
    [68] = 68,
    [69] = 69,
    [70] = 70,
    [71] = 71,
    [72] = 72,
    [73] = 73,
    [74] = 74,
    [75] = 56,
    [76] = 76,
    [77] = 77,
    [78] = 78,
    [79] = 79,
    [80] = 80,
    [81] = 81,
    [82] = 82,
    [83] = 83,
    [84] = 84,
    [85] = 85,
    [86] = 86,
    [87] = 87,
    [88] = 88,
    [89] = 89,
    [90] = 90,
    [91] = 91,
    [92] = 92,
    [93] = 93,
    [94] = 94,
    [95] = 95,
    [96] = 96,
    [97] = 97,
    [98] = 98,
    [99] = 99,
    [100] = 100,
    [101] = 101,
    [102] = 102,
    [103] = 103,
    [104] = 97,
    [105] = 105,
    [106] = 106,
    [107] = 107,
    [108] = 108,
    [109] = 109,
    [110] = 109,
    [111] = 109,
    [112] = 109,
    [113] = 113,
    [114] = 114,
    [115] = 115,
    [116] = 116,
    [117] = 117,
    [118] = 116,
    [119] = 119,
    [120] = 116,
    [121] = 116,
    [122] = 122,
    [123] = 123,
    [124] = 124,
    [125] = 125,
    [126] = 126,
    [127] = 127,
    [128] = 128,
    [129] = 129,
    [130] = 130,
    [131] = 131,
    [132] = 132,
    [133] = 133,
    [134] = 134,
    [135] = 135,
    [136] = 136,
    [137] = 137,
    [138] = 138,
    [139] = 139,
    [140] = 140,
    [141] = 141,
    [142] = 142,
    [143] = 91,
    [144] = 94,
    [145] = 145,
    [146] = 91,
    [147] = 94,
    [148] = 148,
    [149] = 149,
    [150] = 150,
    [151] = 151,
    [152] = 152,
    [153] = 153,
    [154] = 154,
    [155] = 155,
    [156] = 156,
    [157] = 157,
    [158] = 158,
    [159] = 159,
    [160] = 160,
    [161] = 161,
    [162] = 162,
    [163] = 163,
    [164] = 164,
    [165] = 165,
    [166] = 166,
    [167] = 167,
    [168] = 168,
    [169] = 169,
    [170] = 170,
    [171] = 171,
    [172] = 172,
    [173] = 173,
    [174] = 174,
    [175] = 175,
    [176] = 176,
    [177] = 177,
    [178] = 178,
    [179] = 179,
    [180] = 180,
    [181] = 181,
    [182] = 182,
    [183] = 183,
    [184] = 184,
    [185] = 81,
    [186] = 186,
    [187] = 86,
    [188] = 188,
    [189] = 189,
    [190] = 190,
    [191] = 191,
    [192] = 192,
    [193] = 193,
    [194] = 194,
    [195] = 97,
    [196] = 196,
    [197] = 197,
    [198] = 85,
    [199] = 199,
    [200] = 200,
    [201] = 201,
    [202] = 89,
    [203] = 203,
    [204] = 204,
    [205] = 205,
    [206] = 206,
    [207] = 207,
    [208] = 208,
    [209] = 209,
    [210] = 210,
    [211] = 211,
    [212] = 212,
    [213] = 213,
    [214] = 214,
    [215] = 215,
    [216] = 216,
    [217] = 217,
    [218] = 100,
    [219] = 99,
    [220] = 220,
    [221] = 221,
    [222] = 222,
    [223] = 223,
    [224] = 224,
    [225] = 225,
    [226] = 226,
    [227] = 227,
    [228] = 228,
    [229] = 229,
    [230] = 230,
    [231] = 231,
    [232] = 232,
    [233] = 233,
    [234] = 234,
    [235] = 235,
    [236] = 236,
    [237] = 237,
    [238] = 238,
    [239] = 239,
    [240] = 240,
    [241] = 241,
    [242] = 242,
    [243] = 243,
    [244] = 244,
    [245] = 245,
    [246] = 246,
    [247] = 247,
    [248] = 248,
    [249] = 249,
    [250] = 250,
    [251] = 251,
    [252] = 252,
    [253] = 253,
    [254] = 254,
    [255] = 255,
    [256] = 256,
    [257] = 257,
    [258] = 258,
    [259] = 259,
    [260] = 260,
    [261] = 261,
    [262] = 262,
    [263] = 263,
    [264] = 264,
    [265] = 265,
    [266] = 266,
    [267] = 267,
    [268] = 268,
    [269] = 269,
    [270] = 270,
    [271] = 271,
    [272] = 272,
    [273] = 273,
    [274] = 274,
    [275] = 275,
    [276] = 276,
    [277] = 277,
    [278] = 278,
    [279] = 279,
    [280] = 280,
    [281] = 281,
    [282] = 282,
    [283] = 283,
    [284] = 284,
    [285] = 285,
    [286] = 286,
    [287] = 287,
    [288] = 288,
    [289] = 289,
    [290] = 290,
    [291] = 291,
    [292] = 292,
    [293] = 293,
    [294] = 294,
    [295] = 295,
    [296] = 296,
    [297] = 297,
    [298] = 298,
    [299] = 299,
    [300] = 300,
    [301] = 301,
    [302] = 302,
    [303] = 303,
    [304] = 304,
    [305] = 305,
    [306] = 306,
    [307] = 307,
    [308] = 308,
    [309] = 309,
    [310] = 310,
    [311] = 311,
    [312] = 86,
    [313] = 81,
    [314] = 97,
    [315] = 94,
    [316] = 91,
    [317] = 86,
    [318] = 81,
    [319] = 319,
    [320] = 320,
    [321] = 321,
    [322] = 322,
    [323] = 323,
    [324] = 324,
    [325] = 304,
    [326] = 266,
    [327] = 327,
    [328] = 260,
    [329] = 263,
    [330] = 330,
    [331] = 331,
    [332] = 332,
    [333] = 333,
    [334] = 334,
    [335] = 335,
    [336] = 336,
    [337] = 337,
    [338] = 338,
    [339] = 339,
    [340] = 340,
    [341] = 341,
    [342] = 341,
    [343] = 343,
    [344] = 344,
    [345] = 345,
    [346] = 346,
    [347] = 347,
    [348] = 348,
    [349] = 89,
    [350] = 350,
    [351] = 351,
    [352] = 352,
    [353] = 85,
    [354] = 354,
    [355] = 355,
    [356] = 356,
    [357] = 357,
    [358] = 358,
    [359] = 359,
    [360] = 360,
    [361] = 361,
    [362] = 362,
    [363] = 363,
    [364] = 364,
    [365] = 89,
    [366] = 85,
    [367] = 367,
    [368] = 368,
    [369] = 369,
    [370] = 370,
    [371] = 371,
    [372] = 372,
    [373] = 373,
    [374] = 374,
    [375] = 375,
    [376] = 376,
    [377] = 377,
    [378] = 378,
    [379] = 379,
    [380] = 380,
    [381] = 381,
    [382] = 382,
    [383] = 383,
    [384] = 384,
    [385] = 385,
    [386] = 386,
    [387] = 387,
    [388] = 388,
    [389] = 389,
    [390] = 390,
    [391] = 391,
    [392] = 392,
    [393] = 393,
    [394] = 394,
    [395] = 395,
    [396] = 396,
    [397] = 397,
    [398] = 398,
    [399] = 399,
    [400] = 400,
    [401] = 401,
    [402] = 402,
    [403] = 403,
    [404] = 404,
    [405] = 405,
    [406] = 406,
    [407] = 407,
    [408] = 408,
    [409] = 409,
    [410] = 410,
    [411] = 411,
    [412] = 412,
    [413] = 413,
    [414] = 414,
    [415] = 415,
    [416] = 416,
    [417] = 417,
    [418] = 341,
    [419] = 419,
    [420] = 420,
    [421] = 421,
    [422] = 422,
    [423] = 423,
    [424] = 424,
    [425] = 425,
    [426] = 426,
    [427] = 427,
    [428] = 428,
    [429] = 429,
    [430] = 430,
    [431] = 431,
    [432] = 432,
    [433] = 433,
    [434] = 434,
    [435] = 435,
    [436] = 436,
    [437] = 437,
    [438] = 438,
    [439] = 439,
    [440] = 440,
    [441] = 441,
    [442] = 442,
    [443] = 443,
    [444] = 444,
    [445] = 445,
    [446] = 446,
    [447] = 447,
    [448] = 448,
    [449] = 449,
    [450] = 450,
    [451] = 451,
    [452] = 452,
    [453] = 453,
    [454] = 454,
    [455] = 455,
    [456] = 456,
    [457] = 457,
    [458] = 458,
    [459] = 459,
    [460] = 460,
    [461] = 461,
    [462] = 462,
    [463] = 463,
    [464] = 464,
    [465] = 465,
    [466] = 466,
    [467] = 467,
    [468] = 468,
    [469] = 469,
    [470] = 470,
    [471] = 471,
    [472] = 472,
    [473] = 473,
    [474] = 474,
    [475] = 475,
    [476] = 476,
    [477] = 477,
    [478] = 478,
    [479] = 479,
    [480] = 480,
    [481] = 481,
    [482] = 482,
    [483] = 483,
    [484] = 484,
    [485] = 485,
    [486] = 486,
    [487] = 487,
    [488] = 488,
    [489] = 489,
    [490] = 490,
    [491] = 491,
    [492] = 492,
    [493] = 493,
    [494] = 494,
    [495] = 495,
    [496] = 496,
    [497] = 497,
    [498] = 498,
    [499] = 499,
    [500] = 500,
    [501] = 501,
    [502] = 502,
    [503] = 503,
    [504] = 504,
    [505] = 505,
    [506] = 506,
    [507] = 507,
    [508] = 508,
    [509] = 509,
    [510] = 510,
    [511] = 511,
    [512] = 512,
    [513] = 513,
    [514] = 514,
    [515] = 515,
    [516] = 516,
    [517] = 517,
    [518] = 518,
    [519] = 519,
    [520] = 330,
    [521] = 521,
    [522] = 522,
    [523] = 523,
    [524] = 524,
    [525] = 525,
    [526] = 526,
    [527] = 527,
    [528] = 528,
    [529] = 529,
    [530] = 530,
    [531] = 531,
    [532] = 532,
    [533] = 533,
    [534] = 534,
    [535] = 535,
    [536] = 99,
    [537] = 537,
    [538] = 538,
    [539] = 539,
    [540] = 540,
    [541] = 100,
    [542] = 542,
    [543] = 543,
    [544] = 544,
    [545] = 545,
    [546] = 546,
    [547] = 99,
    [548] = 548,
    [549] = 549,
    [550] = 100,
    [551] = 551,
    [552] = 552,
    [553] = 553,
    [554] = 554,
    [555] = 555,
    [556] = 556,
    [557] = 557,
    [558] = 558,
    [559] = 559,
    [560] = 560,
    [561] = 561,
    [562] = 562,
    [563] = 563,
    [564] = 564,
    [565] = 565,
    [566] = 566,
    [567] = 567,
    [568] = 568,
    [569] = 569,
    [570] = 570,
    [571] = 571,
    [572] = 572,
    [573] = 573,
    [574] = 574,
    [575] = 156,
    [576] = 576,
    [577] = 577,
    [578] = 578,
    [579] = 579,
    [580] = 580,
    [581] = 581,
    [582] = 582,
    [583] = 583,
    [584] = 584,
    [585] = 585,
    [586] = 586,
    [587] = 587,
    [588] = 588,
    [589] = 589,
    [590] = 590,
    [591] = 591,
    [592] = 592,
    [593] = 593,
    [594] = 594,
    [595] = 595,
    [596] = 596,
    [597] = 597,
    [598] = 598,
    [599] = 599,
    [600] = 600,
    [601] = 601,
    [602] = 602,
    [603] = 603,
    [604] = 604,
    [605] = 605,
    [606] = 606,
    [607] = 607,
    [608] = 608,
    [609] = 609,
    [610] = 610,
    [611] = 611,
    [612] = 612,
    [613] = 613,
    [614] = 614,
    [615] = 615,
    [616] = 616,
    [617] = 617,
    [618] = 618,
    [619] = 619,
    [620] = 620,
    [621] = 621,
    [622] = 622,
    [623] = 623,
    [624] = 624,
    [625] = 625,
    [626] = 626,
    [627] = 627,
    [628] = 628,
    [629] = 629,
    [630] = 630,
    [631] = 631,
    [632] = 632,
    [633] = 633,
    [634] = 634,
    [635] = 635,
    [636] = 636,
    [637] = 637,
    [638] = 638,
    [639] = 639,
    [640] = 640,
    [641] = 641,
    [642] = 642,
    [643] = 643,
    [644] = 644,
    [645] = 645,
    [646] = 646,
    [647] = 647,
    [648] = 648,
    [649] = 649,
    [650] = 650,
    [651] = 651,
    [652] = 652,
    [653] = 653,
    [654] = 654,
    [655] = 655,
    [656] = 656,
    [657] = 657,
    [658] = 658,
    [659] = 659,
    [660] = 660,
    [661] = 661,
    [662] = 662,
    [663] = 663,
    [664] = 664,
    [665] = 665,
    [666] = 666,
    [667] = 667,
    [668] = 668,
    [669] = 669,
    [670] = 670,
    [671] = 671,
    [672] = 672,
    [673] = 673,
    [674] = 674,
    [675] = 675,
    [676] = 676,
    [677] = 677,
    [678] = 678,
    [679] = 679,
    [680] = 680,
    [681] = 681,
    [682] = 682,
    [683] = 683,
    [684] = 684,
    [685] = 685,
    [686] = 686,
    [687] = 687,
    [688] = 688,
    [689] = 689,
    [690] = 690,
    [691] = 691,
    [692] = 692,
    [693] = 693,
    [694] = 694,
    [695] = 695,
    [696] = 696,
    [697] = 697,
    [698] = 698,
    [699] = 699,
    [700] = 700,
    [701] = 701,
    [702] = 702,
    [703] = 703,
    [704] = 704,
    [705] = 705,
    [706] = 706,
    [707] = 707,
    [708] = 160,
    [709] = 709,
    [710] = 710,
    [711] = 711,
    [712] = 712,
    [713] = 713,
    [714] = 714,
    [715] = 715,
    [716] = 716,
    [717] = 717,
    [718] = 718,
    [719] = 719,
    [720] = 720,
    [721] = 721,
    [722] = 722,
    [723] = 168,
    [724] = 724,
    [725] = 725,
    [726] = 726,
    [727] = 727,
    [728] = 728,
    [729] = 729,
    [730] = 730,
    [731] = 731,
    [732] = 732,
    [733] = 733,
    [734] = 734,
    [735] = 735,
    [736] = 736,
    [737] = 737,
    [738] = 738,
    [739] = 739,
    [740] = 740,
    [741] = 741,
    [742] = 742,
    [743] = 743,
    [744] = 744,
    [745] = 745,
    [746] = 746,
    [747] = 747,
    [748] = 748,
    [749] = 749,
    [750] = 750,
    [751] = 751,
    [752] = 752,
    [753] = 753,
    [754] = 754,
    [755] = 755,
    [756] = 756,
    [757] = 757,
    [758] = 758,
    [759] = 759,
    [760] = 760,
    [761] = 761,
    [762] = 762,
    [763] = 763,
    [764] = 764,
    [765] = 765,
    [766] = 766,
    [767] = 767,
    [768] = 768,
    [769] = 769,
    [770] = 770,
    [771] = 771,
    [772] = 772,
    [773] = 773,
    [774] = 774,
    [775] = 775,
    [776] = 776,
    [777] = 777,
    [778] = 778,
    [779] = 779,
    [780] = 780,
    [781] = 781,
    [782] = 782,
    [783] = 783,
    [784] = 784,
    [785] = 785,
    [786] = 786,
    [787] = 787,
    [788] = 788,
    [789] = 638,
    [790] = 790,
    [791] = 791,
    [792] = 589,
    [793] = 655,
    [794] = 794,
    [795] = 795,
    [796] = 737,
    [797] = 797,
    [798] = 638,
    [799] = 589,
    [800] = 655,
    [801] = 801,
    [802] = 737,
    [803] = 803,
    [804] = 638,
    [805] = 737,
    [806] = 574,
    [807] = 807,
    [808] = 808,
    [809] = 809,
    [810] = 810,
};

static TSCharacterRange sym_number_literal_character_set_13[] = {
    { '0', '9' },
    { 'B', 'B' },
    { 'D', 'D' },
    { 'F', 'F' },
    { 'L', 'L' },
    { 'U', 'U' },
    { 'W', 'W' },
    { 'b', 'b' },
    { 'd', 'd' },
    { 'f', 'f' },
    { 'l', 'l' },
    { 'u', 'u' },
    { 'w', 'w' },
};

static bool ts_lex(TSLexer *lexer, TSStateId state) {
    START_LEXER();
    eof = lexer->eof(lexer);
    switch(state) {
        case 0:
            if(eof)
                ADVANCE(673);
            ADVANCE_MAP(
                '"', 751,
                '#', 209,
                '%', 741,
                '&', 732,
                '\'', 755,
                '(', 742,
                ')', 743,
                '*', 739,
                '+', 736,
                ',', 725,
                '-', 738,
                '.', 654,
                '/', 740,
                '0', 771,
                ':', 834,
                ';', 835,
                '<', 720,
                '=', 864,
                '>', 722,
                '@', 863,
                'F', 116,
                'L', 749,
                'O', 176,
                'T', 121,
                'V', 129,
                '[', 941,
            );
            if(lookahead == '\\')
                SKIP(669);
            if(lookahead == ']')
                ADVANCE(942);
            if(lookahead == '^')
                ADVANCE(731);
            if(lookahead == 'a')
                ADVANCE(179);
            if(lookahead == 'b')
                ADVANCE(328);
            if(lookahead == 'c')
                ADVANCE(133);
            if(lookahead == 'd')
                ADVANCE(229);
            if(lookahead == 'e')
                ADVANCE(402);
            if(lookahead == 'f')
                ADVANCE(130);
            if(lookahead == 'g')
                ADVANCE(287);
            if(lookahead == 'h')
                ADVANCE(451);
            if(lookahead == 'i')
                ADVANCE(210);
            if(lookahead == 'k')
                ADVANCE(258);
            if(lookahead == 'l')
                ADVANCE(452);
            if(lookahead == 'm')
                ADVANCE(131);
            if(lookahead == 'n')
                ADVANCE(140);
            if(lookahead == 'o')
                ADVANCE(194);
            if(lookahead == 'p')
                ADVANCE(454);
            if(lookahead == 'r')
                ADVANCE(132);
            if(lookahead == 's')
                ADVANCE(230);
            if(lookahead == 't')
                ADVANCE(505);
            if(lookahead == 'u')
                ADVANCE(324);
            if(lookahead == 'v')
                ADVANCE(169);
            if(lookahead == 'w')
                ADVANCE(190);
            if(lookahead == '{')
                ADVANCE(826);
            if(lookahead == '|')
                ADVANCE(730);
            if(lookahead == '}')
                ADVANCE(827);
            if(lookahead == '~')
                ADVANCE(744);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(0);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(775);
            END_STATE();
        case 1:
            if(lookahead == '\n')
                SKIP(87);
            END_STATE();
        case 2:
            if(lookahead == '\n')
                SKIP(87);
            if(lookahead == '\r')
                SKIP(1);
            END_STATE();
        case 3:
            if(lookahead == '\n')
                SKIP(90);
            END_STATE();
        case 4:
            if(lookahead == '\n')
                SKIP(90);
            if(lookahead == '\r')
                SKIP(3);
            END_STATE();
        case 5:
            if(lookahead == '\n')
                SKIP(71);
            END_STATE();
        case 6:
            if(lookahead == '\n')
                SKIP(71);
            if(lookahead == '\r')
                SKIP(5);
            END_STATE();
        case 7:
            if(lookahead == '\n')
                SKIP(92);
            END_STATE();
        case 8:
            if(lookahead == '\n')
                SKIP(92);
            if(lookahead == '\r')
                SKIP(7);
            END_STATE();
        case 9:
            if(lookahead == '\n')
                SKIP(93);
            END_STATE();
        case 10:
            if(lookahead == '\n')
                SKIP(93);
            if(lookahead == '\r')
                SKIP(9);
            END_STATE();
        case 11:
            if(lookahead == '\n')
                SKIP(82);
            END_STATE();
        case 12:
            if(lookahead == '\n')
                SKIP(82);
            if(lookahead == '\r')
                SKIP(11);
            END_STATE();
        case 13:
            if(lookahead == '\n')
                SKIP(89);
            END_STATE();
        case 14:
            if(lookahead == '\n')
                SKIP(89);
            if(lookahead == '\r')
                SKIP(13);
            END_STATE();
        case 15:
            if(lookahead == '\n')
                SKIP(81);
            END_STATE();
        case 16:
            if(lookahead == '\n')
                SKIP(81);
            if(lookahead == '\r')
                SKIP(15);
            END_STATE();
        case 17:
            if(lookahead == '\n')
                SKIP(94);
            END_STATE();
        case 18:
            if(lookahead == '\n')
                SKIP(94);
            if(lookahead == '\r')
                SKIP(17);
            END_STATE();
        case 19:
            if(lookahead == '\n')
                SKIP(95);
            END_STATE();
        case 20:
            if(lookahead == '\n')
                SKIP(95);
            if(lookahead == '\r')
                SKIP(19);
            END_STATE();
        case 21:
            if(lookahead == '\n')
                SKIP(98);
            END_STATE();
        case 22:
            if(lookahead == '\n')
                SKIP(98);
            if(lookahead == '\r')
                SKIP(21);
            END_STATE();
        case 23:
            if(lookahead == '\n')
                SKIP(99);
            END_STATE();
        case 24:
            if(lookahead == '\n')
                SKIP(99);
            if(lookahead == '\r')
                SKIP(23);
            END_STATE();
        case 25:
            if(lookahead == '\n')
                SKIP(70);
            END_STATE();
        case 26:
            if(lookahead == '\n')
                SKIP(70);
            if(lookahead == '\r')
                SKIP(25);
            END_STATE();
        case 27:
            if(lookahead == '\n')
                SKIP(72);
            END_STATE();
        case 28:
            if(lookahead == '\n')
                SKIP(72);
            if(lookahead == '\r')
                SKIP(27);
            END_STATE();
        case 29:
            if(lookahead == '\n')
                SKIP(100);
            END_STATE();
        case 30:
            if(lookahead == '\n')
                SKIP(100);
            if(lookahead == '\r')
                SKIP(29);
            END_STATE();
        case 31:
            if(lookahead == '\n')
                SKIP(76);
            END_STATE();
        case 32:
            if(lookahead == '\n')
                SKIP(76);
            if(lookahead == '\r')
                SKIP(31);
            END_STATE();
        case 33:
            if(lookahead == '\n')
                SKIP(73);
            END_STATE();
        case 34:
            if(lookahead == '\n')
                SKIP(73);
            if(lookahead == '\r')
                SKIP(33);
            END_STATE();
        case 35:
            if(lookahead == '\n')
                SKIP(77);
            END_STATE();
        case 36:
            if(lookahead == '\n')
                SKIP(77);
            if(lookahead == '\r')
                SKIP(35);
            END_STATE();
        case 37:
            if(lookahead == '\n')
                SKIP(78);
            END_STATE();
        case 38:
            if(lookahead == '\n')
                SKIP(78);
            if(lookahead == '\r')
                SKIP(37);
            END_STATE();
        case 39:
            if(lookahead == '\n')
                SKIP(80);
            END_STATE();
        case 40:
            if(lookahead == '\n')
                SKIP(80);
            if(lookahead == '\r')
                SKIP(39);
            END_STATE();
        case 41:
            if(lookahead == '\n')
                SKIP(74);
            END_STATE();
        case 42:
            if(lookahead == '\n')
                SKIP(74);
            if(lookahead == '\r')
                SKIP(41);
            END_STATE();
        case 43:
            if(lookahead == '\n')
                SKIP(96);
            END_STATE();
        case 44:
            if(lookahead == '\n')
                SKIP(96);
            if(lookahead == '\r')
                SKIP(43);
            END_STATE();
        case 45:
            if(lookahead == '\n')
                SKIP(101);
            END_STATE();
        case 46:
            if(lookahead == '\n')
                SKIP(101);
            if(lookahead == '\r')
                SKIP(45);
            END_STATE();
        case 47:
            if(lookahead == '\n')
                SKIP(97);
            END_STATE();
        case 48:
            if(lookahead == '\n')
                SKIP(97);
            if(lookahead == '\r')
                SKIP(47);
            END_STATE();
        case 49:
            if(lookahead == '\n')
                SKIP(79);
            if(lookahead == '\'')
                ADVANCE(755);
            if(lookahead == '/')
                ADVANCE(758);
            if(lookahead == '\\')
                ADVANCE(757);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                ADVANCE(759);
            if(lookahead != 0)
                ADVANCE(756);
            END_STATE();
        case 50:
            if(lookahead == '\n')
                ADVANCE(746);
            if(lookahead == '\r')
                ADVANCE(745);
            if(lookahead == 'U')
                ADVANCE(666);
            if(lookahead == 'u')
                ADVANCE(662);
            if(lookahead == 'x')
                ADVANCE(660);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(748);
            if(lookahead != 0)
                ADVANCE(745);
            END_STATE();
        case 51:
            if(lookahead == '\n')
                SKIP(75);
            if(lookahead == '"')
                ADVANCE(751);
            if(lookahead == '/')
                ADVANCE(752);
            if(lookahead == '\\')
                ADVANCE(50);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                ADVANCE(753);
            if(lookahead != 0)
                ADVANCE(754);
            END_STATE();
        case 52:
            if(lookahead == '\n')
                ADVANCE(1395);
            if(lookahead == '\r')
                ADVANCE(1392);
            if(lookahead == '\\')
                ADVANCE(1393);
            if(lookahead != 0)
                ADVANCE(1396);
            END_STATE();
        case 53:
            if(lookahead == '\n')
                SKIP(55);
            END_STATE();
        case 54:
            if(lookahead == '\n')
                SKIP(55);
            if(lookahead == '\r')
                SKIP(53);
            END_STATE();
        case 55:
            if(lookahead == '\n')
                ADVANCE(1391);
            if(lookahead == '\r')
                ADVANCE(55);
            if(lookahead == '(')
                ADVANCE(742);
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == '@')
                ADVANCE(862);
            if(lookahead == '\\')
                SKIP(54);
            if(('\t' <= lookahead && lookahead <= '\f') ||
               lookahead == ' ')
                SKIP(55);
            END_STATE();
        case 56:
            if(lookahead == '\n')
                SKIP(102);
            END_STATE();
        case 57:
            if(lookahead == '\n')
                SKIP(102);
            if(lookahead == '\r')
                SKIP(56);
            END_STATE();
        case 58:
            if(lookahead == '\n')
                ADVANCE(799);
            if(lookahead == '\r')
                ADVANCE(61);
            if(lookahead == '/')
                ADVANCE(815);
            if(lookahead == '\\')
                ADVANCE(812);
            if(('\t' <= lookahead && lookahead <= '\f') ||
               lookahead == ' ')
                SKIP(104);
            if(lookahead != 0)
                ADVANCE(816);
            END_STATE();
        case 59:
            if(lookahead == '\n')
                ADVANCE(799);
            if(lookahead == '\r')
                ADVANCE(60);
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == '\\')
                SKIP(63);
            if(('\t' <= lookahead && lookahead <= '\f') ||
               lookahead == ' ')
                SKIP(103);
            END_STATE();
        case 60:
            if(lookahead == '\n')
                ADVANCE(799);
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == '\\')
                SKIP(63);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(103);
            END_STATE();
        case 61:
            if(lookahead == '\n')
                ADVANCE(799);
            if(lookahead == '/')
                ADVANCE(815);
            if(lookahead == '\\')
                ADVANCE(812);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(104);
            if(lookahead != 0)
                ADVANCE(816);
            END_STATE();
        case 62:
            if(lookahead == '\n')
                SKIP(103);
            END_STATE();
        case 63:
            if(lookahead == '\n')
                SKIP(103);
            if(lookahead == '\r')
                SKIP(62);
            END_STATE();
        case 64:
            if(lookahead == '\n')
                ADVANCE(84);
            if(lookahead == '\r')
                ADVANCE(65);
            if(lookahead == '*')
                ADVANCE(1403);
            if(lookahead != 0)
                ADVANCE(85);
            END_STATE();
        case 65:
            if(lookahead == '\n')
                ADVANCE(84);
            if(lookahead == '*')
                ADVANCE(1403);
            if(lookahead != 0)
                ADVANCE(85);
            END_STATE();
        case 66:
            if(lookahead == '\n')
                SKIP(91);
            END_STATE();
        case 67:
            if(lookahead == '\n')
                SKIP(91);
            if(lookahead == '\r')
                SKIP(66);
            END_STATE();
        case 68:
            if(lookahead == '\r')
                ADVANCE(1397);
            if(lookahead == '\\')
                ADVANCE(1393);
            if(lookahead != 0)
                ADVANCE(1396);
            END_STATE();
        case 69:
            if(lookahead == ' ')
                ADVANCE(394);
            END_STATE();
        case 70:
            ADVANCE_MAP(
                '"', 751,
                '%', 741,
                '&', 732,
                '(', 742,
                ')', 743,
                '*', 739,
                '+', 735,
                ',', 725,
                '-', 737,
                '/', 740,
                ':', 834,
                ';', 835,
                '<', 115,
                '>', 722,
                '@', 862,
                'L', 749,
            );
            if(lookahead == '\\')
                SKIP(26);
            if(lookahead == ']')
                ADVANCE(942);
            if(lookahead == '^')
                ADVANCE(731);
            if(lookahead == 'a')
                ADVANCE(177);
            if(lookahead == 'b')
                ADVANCE(349);
            if(lookahead == 'i')
                ADVANCE(448);
            if(lookahead == 'l')
                ADVANCE(457);
            if(lookahead == 'm')
                ADVANCE(155);
            if(lookahead == 'p')
                ADVANCE(515);
            if(lookahead == 's')
                ADVANCE(591);
            if(lookahead == '{')
                ADVANCE(826);
            if(lookahead == '|')
                ADVANCE(730);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(70);
            END_STATE();
        case 71:
            ADVANCE_MAP(
                '"', 751,
                '\'', 755,
                '(', 742,
                '+', 736,
                '-', 738,
                '.', 654,
                '/', 83,
                '0', 773,
                ':', 114,
                'F', 989,
                'L', 750,
                'O', 1034,
                'T', 994,
                'V', 999,
            );
            if(lookahead == '\\')
                SKIP(6);
            if(lookahead == 'a')
                ADVANCE(1211);
            if(lookahead == 'b')
                ADVANCE(1243);
            if(lookahead == 'c')
                ADVANCE(1139);
            if(lookahead == 'd')
                ADVANCE(1239);
            if(lookahead == 'f')
                ADVANCE(1142);
            if(lookahead == 'i')
                ADVANCE(1215);
            if(lookahead == 'l')
                ADVANCE(1241);
            if(lookahead == 'm')
                ADVANCE(1004);
            if(lookahead == 'o')
                ADVANCE(1052);
            if(lookahead == 's')
                ADVANCE(1079);
            if(lookahead == 'u')
                ADVANCE(1151);
            if(lookahead == 'w')
                ADVANCE(1045);
            if(lookahead == '~')
                ADVANCE(744);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(71);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(776);
            if(('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('e' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 72:
            ADVANCE_MAP(
                '"', 751,
                '\'', 755,
                '(', 742,
                '+', 736,
                '-', 738,
                '.', 654,
                '/', 83,
                '0', 773,
                ':', 114,
                'F', 989,
                'L', 750,
                'T', 994,
            );
            if(lookahead == '\\')
                SKIP(28);
            if(lookahead == '~')
                ADVANCE(744);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(72);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(776);
            if(('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 73:
            ADVANCE_MAP(
                '"', 751,
                '(', 742,
                ')', 743,
                ',', 725,
                '/', 83,
                ':', 114,
                ';', 835,
                '<', 720,
                '>', 721,
                '@', 862,
                'L', 749,
            );
            if(lookahead == '\\')
                SKIP(34);
            if(lookahead == 'a')
                ADVANCE(177);
            if(lookahead == 'b')
                ADVANCE(349);
            if(lookahead == 'i')
                ADVANCE(448);
            if(lookahead == 'l')
                ADVANCE(457);
            if(lookahead == 'm')
                ADVANCE(155);
            if(lookahead == 'p')
                ADVANCE(515);
            if(lookahead == 's')
                ADVANCE(591);
            if(lookahead == '{')
                ADVANCE(826);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(73);
            END_STATE();
        case 74:
            if(lookahead == '"')
                ADVANCE(751);
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == '<')
                ADVANCE(720);
            if(lookahead == 'L')
                ADVANCE(750);
            if(lookahead == '\\')
                SKIP(42);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(74);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 75:
            if(lookahead == '"')
                ADVANCE(751);
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == '\\')
                ADVANCE(50);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(75);
            END_STATE();
        case 76:
            ADVANCE_MAP(
                '%', 741,
                '&', 732,
                '(', 742,
                ')', 743,
                '*', 739,
                '+', 735,
                ',', 725,
                '-', 737,
                '/', 740,
                ':', 834,
                ';', 835,
                '<', 115,
                '>', 722,
                '@', 862,
            );
            if(lookahead == '\\')
                SKIP(32);
            if(lookahead == ']')
                ADVANCE(942);
            if(lookahead == '^')
                ADVANCE(731);
            if(lookahead == '|')
                ADVANCE(730);
            if(lookahead == '}')
                ADVANCE(827);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(76);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 77:
            ADVANCE_MAP(
                '%', 741,
                '&', 732,
                ')', 743,
                '*', 739,
                '+', 735,
                ',', 725,
                '-', 737,
                '/', 740,
                ':', 833,
                ';', 835,
                '<', 115,
                '>', 722,
            );
            if(lookahead == '\\')
                SKIP(36);
            if(lookahead == ']')
                ADVANCE(942);
            if(lookahead == '^')
                ADVANCE(731);
            if(lookahead == 'i')
                ADVANCE(420);
            if(lookahead == 'm')
                ADVANCE(155);
            if(lookahead == 's')
                ADVANCE(618);
            if(lookahead == '{')
                ADVANCE(826);
            if(lookahead == '|')
                ADVANCE(730);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(77);
            END_STATE();
        case 78:
            ADVANCE_MAP(
                '&', 732,
                ')', 743,
                ',', 725,
                '/', 83,
                ':', 833,
                ';', 835,
                '<', 720,
                '>', 721,
                '@', 228,
            );
            if(lookahead == '\\')
                SKIP(38);
            if(lookahead == ']')
                ADVANCE(942);
            if(lookahead == '^')
                ADVANCE(731);
            if(lookahead == '{')
                ADVANCE(826);
            if(lookahead == '|')
                ADVANCE(730);
            if(lookahead == '}')
                ADVANCE(827);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(78);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 79:
            if(lookahead == '\'')
                ADVANCE(755);
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == '\\')
                ADVANCE(50);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(79);
            END_STATE();
        case 80:
            if(lookahead == '(')
                ADVANCE(742);
            if(lookahead == ',')
                ADVANCE(725);
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == '<')
                ADVANCE(720);
            if(lookahead == '>')
                ADVANCE(721);
            if(lookahead == '@')
                ADVANCE(862);
            if(lookahead == '\\')
                SKIP(40);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(80);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 81:
            if(lookahead == '(')
                ADVANCE(742);
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == '@')
                ADVANCE(862);
            if(lookahead == 'O')
                ADVANCE(1034);
            if(lookahead == 'V')
                ADVANCE(999);
            if(lookahead == '\\')
                SKIP(16);
            if(lookahead == 'a')
                ADVANCE(1211);
            if(lookahead == 'b')
                ADVANCE(1243);
            if(lookahead == 'c')
                ADVANCE(1139);
            if(lookahead == 'd')
                ADVANCE(1239);
            if(lookahead == 'f')
                ADVANCE(1142);
            if(lookahead == 'i')
                ADVANCE(1215);
            if(lookahead == 'l')
                ADVANCE(1241);
            if(lookahead == 'm')
                ADVANCE(1004);
            if(lookahead == 'o')
                ADVANCE(1052);
            if(lookahead == 's')
                ADVANCE(1079);
            if(lookahead == 'u')
                ADVANCE(1151);
            if(lookahead == 'w')
                ADVANCE(1045);
            if(lookahead == '}')
                ADVANCE(827);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(81);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('e' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 82:
            if(lookahead == ')')
                ADVANCE(743);
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == 'O')
                ADVANCE(1034);
            if(lookahead == 'V')
                ADVANCE(999);
            if(lookahead == '\\')
                SKIP(12);
            if(lookahead == 'a')
                ADVANCE(1211);
            if(lookahead == 'b')
                ADVANCE(1243);
            if(lookahead == 'c')
                ADVANCE(1139);
            if(lookahead == 'd')
                ADVANCE(1239);
            if(lookahead == 'f')
                ADVANCE(1142);
            if(lookahead == 'i')
                ADVANCE(1207);
            if(lookahead == 'l')
                ADVANCE(1241);
            if(lookahead == 'm')
                ADVANCE(1004);
            if(lookahead == 'o')
                ADVANCE(1051);
            if(lookahead == 's')
                ADVANCE(1079);
            if(lookahead == 'u')
                ADVANCE(1151);
            if(lookahead == 'w')
                ADVANCE(1045);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(82);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('e' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 83:
            if(lookahead == '*')
                ADVANCE(1398);
            if(lookahead == '/')
                ADVANCE(1386);
            END_STATE();
        case 84:
            if(lookahead == '*')
                ADVANCE(1403);
            if(lookahead == '/')
                ADVANCE(86);
            if(lookahead == '\\')
                ADVANCE(64);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                ADVANCE(84);
            if(lookahead != 0)
                ADVANCE(85);
            END_STATE();
        case 85:
            if(lookahead == '*')
                ADVANCE(1403);
            if(lookahead != 0)
                ADVANCE(85);
            END_STATE();
        case 86:
            if(lookahead == '*')
                ADVANCE(1399);
            if(lookahead == '/')
                ADVANCE(1387);
            if(lookahead != 0)
                ADVANCE(85);
            END_STATE();
        case 87:
            ADVANCE_MAP(
                ',', 725,
                '/', 83,
                ':', 114,
                ';', 835,
                '>', 721,
                '@', 862,
                'O', 1034,
                'V', 999,
            );
            if(lookahead == '\\')
                SKIP(2);
            if(lookahead == ']')
                ADVANCE(942);
            if(lookahead == 'a')
                ADVANCE(1035);
            if(lookahead == 'b')
                ADVANCE(1145);
            if(lookahead == 'c')
                ADVANCE(1137);
            if(lookahead == 'd')
                ADVANCE(1239);
            if(lookahead == 'e')
                ADVANCE(1213);
            if(lookahead == 'f')
                ADVANCE(1002);
            if(lookahead == 'i')
                ADVANCE(1196);
            if(lookahead == 'l')
                ADVANCE(1241);
            if(lookahead == 'm')
                ADVANCE(1004);
            if(lookahead == 'n')
                ADVANCE(1010);
            if(lookahead == 'o')
                ADVANCE(1050);
            if(lookahead == 'p')
                ADVANCE(1271);
            if(lookahead == 'r')
                ADVANCE(1106);
            if(lookahead == 's')
                ADVANCE(1076);
            if(lookahead == 't')
                ADVANCE(1379);
            if(lookahead == 'u')
                ADVANCE(1150);
            if(lookahead == 'v')
                ADVANCE(1030);
            if(lookahead == 'w')
                ADVANCE(1045);
            if(lookahead == '}')
                ADVANCE(827);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(87);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 88:
            if(lookahead == '.')
                ADVANCE(654);
            if(lookahead == '0')
                ADVANCE(767);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(769);
            if(('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(782);
            END_STATE();
        case 89:
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(834);
            if(lookahead == ';')
                ADVANCE(835);
            if(lookahead == 'O')
                ADVANCE(1034);
            if(lookahead == 'V')
                ADVANCE(999);
            if(lookahead == '\\')
                SKIP(14);
            if(lookahead == 'a')
                ADVANCE(1211);
            if(lookahead == 'b')
                ADVANCE(1243);
            if(lookahead == 'c')
                ADVANCE(1139);
            if(lookahead == 'd')
                ADVANCE(1239);
            if(lookahead == 'f')
                ADVANCE(1142);
            if(lookahead == 'i')
                ADVANCE(1215);
            if(lookahead == 'l')
                ADVANCE(1241);
            if(lookahead == 'm')
                ADVANCE(1004);
            if(lookahead == 'o')
                ADVANCE(1052);
            if(lookahead == 's')
                ADVANCE(1078);
            if(lookahead == 'u')
                ADVANCE(1151);
            if(lookahead == 'w')
                ADVANCE(1045);
            if(lookahead == '{')
                ADVANCE(826);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(89);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('e' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 90:
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == '@')
                ADVANCE(862);
            if(lookahead == 'O')
                ADVANCE(1034);
            if(lookahead == 'V')
                ADVANCE(999);
            if(lookahead == '\\')
                SKIP(4);
            if(lookahead == 'a')
                ADVANCE(1035);
            if(lookahead == 'b')
                ADVANCE(1145);
            if(lookahead == 'c')
                ADVANCE(1137);
            if(lookahead == 'd')
                ADVANCE(1239);
            if(lookahead == 'e')
                ADVANCE(1213);
            if(lookahead == 'f')
                ADVANCE(1003);
            if(lookahead == 'i')
                ADVANCE(1196);
            if(lookahead == 'l')
                ADVANCE(1241);
            if(lookahead == 'm')
                ADVANCE(1004);
            if(lookahead == 'n')
                ADVANCE(1010);
            if(lookahead == 'o')
                ADVANCE(1050);
            if(lookahead == 'r')
                ADVANCE(1106);
            if(lookahead == 's')
                ADVANCE(1076);
            if(lookahead == 't')
                ADVANCE(1379);
            if(lookahead == 'u')
                ADVANCE(1150);
            if(lookahead == 'v')
                ADVANCE(1030);
            if(lookahead == 'w')
                ADVANCE(1045);
            if(lookahead == '}')
                ADVANCE(827);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(90);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 91:
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == '@')
                ADVANCE(862);
            if(lookahead == 'O')
                ADVANCE(1034);
            if(lookahead == 'V')
                ADVANCE(999);
            if(lookahead == '\\')
                SKIP(67);
            if(lookahead == 'a')
                ADVANCE(1035);
            if(lookahead == 'b')
                ADVANCE(1145);
            if(lookahead == 'c')
                ADVANCE(1137);
            if(lookahead == 'd')
                ADVANCE(1239);
            if(lookahead == 'e')
                ADVANCE(1213);
            if(lookahead == 'f')
                ADVANCE(1142);
            if(lookahead == 'i')
                ADVANCE(1196);
            if(lookahead == 'l')
                ADVANCE(1241);
            if(lookahead == 'm')
                ADVANCE(1004);
            if(lookahead == 'n')
                ADVANCE(1010);
            if(lookahead == 'o')
                ADVANCE(1050);
            if(lookahead == 'r')
                ADVANCE(1106);
            if(lookahead == 's')
                ADVANCE(1076);
            if(lookahead == 't')
                ADVANCE(1379);
            if(lookahead == 'u')
                ADVANCE(1150);
            if(lookahead == 'v')
                ADVANCE(1030);
            if(lookahead == 'w')
                ADVANCE(1045);
            if(lookahead == '}')
                ADVANCE(827);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(91);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 92:
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == '@')
                ADVANCE(862);
            if(lookahead == 'O')
                ADVANCE(1034);
            if(lookahead == 'V')
                ADVANCE(999);
            if(lookahead == '\\')
                SKIP(8);
            if(lookahead == 'a')
                ADVANCE(1211);
            if(lookahead == 'b')
                ADVANCE(1145);
            if(lookahead == 'c')
                ADVANCE(1023);
            if(lookahead == 'd')
                ADVANCE(1103);
            if(lookahead == 'e')
                ADVANCE(1214);
            if(lookahead == 'f')
                ADVANCE(1142);
            if(lookahead == 'i')
                ADVANCE(1215);
            if(lookahead == 'l')
                ADVANCE(1241);
            if(lookahead == 'm')
                ADVANCE(1004);
            if(lookahead == 'o')
                ADVANCE(1052);
            if(lookahead == 's')
                ADVANCE(1076);
            if(lookahead == 'u')
                ADVANCE(1150);
            if(lookahead == 'w')
                ADVANCE(1045);
            if(lookahead == '}')
                ADVANCE(827);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(92);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 93:
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == '@')
                ADVANCE(862);
            if(lookahead == 'O')
                ADVANCE(1034);
            if(lookahead == 'V')
                ADVANCE(999);
            if(lookahead == '\\')
                SKIP(10);
            if(lookahead == 'a')
                ADVANCE(1211);
            if(lookahead == 'b')
                ADVANCE(1145);
            if(lookahead == 'c')
                ADVANCE(1139);
            if(lookahead == 'd')
                ADVANCE(1239);
            if(lookahead == 'e')
                ADVANCE(1214);
            if(lookahead == 'f')
                ADVANCE(1142);
            if(lookahead == 'i')
                ADVANCE(1215);
            if(lookahead == 'l')
                ADVANCE(1241);
            if(lookahead == 'm')
                ADVANCE(1004);
            if(lookahead == 'o')
                ADVANCE(1052);
            if(lookahead == 's')
                ADVANCE(1076);
            if(lookahead == 'u')
                ADVANCE(1150);
            if(lookahead == 'w')
                ADVANCE(1045);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(93);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 94:
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == '@')
                ADVANCE(342);
            if(lookahead == '\\')
                SKIP(18);
            if(lookahead == 'a')
                ADVANCE(1211);
            if(lookahead == 'b')
                ADVANCE(1243);
            if(lookahead == 'c')
                ADVANCE(1138);
            if(lookahead == 'd')
                ADVANCE(1239);
            if(lookahead == 'e')
                ADVANCE(1214);
            if(lookahead == 'f')
                ADVANCE(1142);
            if(lookahead == 'i')
                ADVANCE(1215);
            if(lookahead == 'l')
                ADVANCE(1241);
            if(lookahead == 'o')
                ADVANCE(1052);
            if(lookahead == 's')
                ADVANCE(1079);
            if(lookahead == 't')
                ADVANCE(1381);
            if(lookahead == 'u')
                ADVANCE(1151);
            if(lookahead == 'w')
                ADVANCE(1045);
            if(lookahead == '}')
                ADVANCE(827);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(94);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 95:
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == 'O')
                ADVANCE(1034);
            if(lookahead == 'V')
                ADVANCE(999);
            if(lookahead == '\\')
                SKIP(20);
            if(lookahead == 'a')
                ADVANCE(1211);
            if(lookahead == 'b')
                ADVANCE(1243);
            if(lookahead == 'c')
                ADVANCE(1138);
            if(lookahead == 'd')
                ADVANCE(1239);
            if(lookahead == 'e')
                ADVANCE(1212);
            if(lookahead == 'f')
                ADVANCE(1180);
            if(lookahead == 'i')
                ADVANCE(1228);
            if(lookahead == 'l')
                ADVANCE(1241);
            if(lookahead == 'o')
                ADVANCE(1052);
            if(lookahead == 's')
                ADVANCE(1077);
            if(lookahead == 't')
                ADVANCE(1382);
            if(lookahead == 'u')
                ADVANCE(1150);
            if(lookahead == 'v')
                ADVANCE(1031);
            if(lookahead == 'w')
                ADVANCE(1046);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(95);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 96:
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == 'O')
                ADVANCE(1034);
            if(lookahead == '\\')
                SKIP(44);
            if(lookahead == 'm')
                ADVANCE(1364);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(96);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 97:
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == 'O')
                ADVANCE(1034);
            if(lookahead == '\\')
                SKIP(48);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(97);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 98:
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == '\\')
                SKIP(22);
            if(lookahead == 'b')
                ADVANCE(1243);
            if(lookahead == 'c')
                ADVANCE(1139);
            if(lookahead == 'd')
                ADVANCE(1239);
            if(lookahead == 'f')
                ADVANCE(1142);
            if(lookahead == 'i')
                ADVANCE(1215);
            if(lookahead == 'l')
                ADVANCE(1241);
            if(lookahead == 'o')
                ADVANCE(1052);
            if(lookahead == 's')
                ADVANCE(1079);
            if(lookahead == 'u')
                ADVANCE(1151);
            if(lookahead == 'w')
                ADVANCE(1045);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(98);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 99:
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == '\\')
                SKIP(24);
            if(lookahead == 'b')
                ADVANCE(1243);
            if(lookahead == 'c')
                ADVANCE(1139);
            if(lookahead == 'i')
                ADVANCE(1215);
            if(lookahead == 'l')
                ADVANCE(1251);
            if(lookahead == 's')
                ADVANCE(1140);
            if(lookahead == 'u')
                ADVANCE(1151);
            if(lookahead == 'w')
                ADVANCE(1046);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(99);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 100:
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == '\\')
                SKIP(30);
            if(lookahead == 'a')
                ADVANCE(1201);
            if(lookahead == 'b')
                ADVANCE(1161);
            if(lookahead == 'd')
                ADVANCE(1125);
            if(lookahead == 'e')
                ADVANCE(1372);
            if(lookahead == 'f')
                ADVANCE(1160);
            if(lookahead == 'i')
                ADVANCE(1065);
            if(lookahead == 'k')
                ADVANCE(1108);
            if(lookahead == 'm')
                ADVANCE(1007);
            if(lookahead == 'n')
                ADVANCE(1124);
            if(lookahead == 'o')
                ADVANCE(1210);
            if(lookahead == 'p')
                ADVANCE(1246);
            if(lookahead == 'r')
                ADVANCE(1019);
            if(lookahead == 's')
                ADVANCE(1114);
            if(lookahead == 'u')
                ADVANCE(1234);
            if(lookahead == 'v')
                ADVANCE(1033);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(100);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('c' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 101:
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ':')
                ADVANCE(114);
            if(lookahead == '\\')
                SKIP(46);
            if(lookahead == 't')
                ADVANCE(1288);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(101);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 102:
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == ';')
                ADVANCE(835);
            if(lookahead == '\\')
                SKIP(57);
            if(lookahead == 's')
                ADVANCE(1369);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(102);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 103:
            if(lookahead == '/')
                ADVANCE(83);
            if(lookahead == '\\')
                SKIP(63);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(103);
            END_STATE();
        case 104:
            if(lookahead == '/')
                ADVANCE(815);
            if(lookahead == '\\')
                ADVANCE(812);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(104);
            if(lookahead != 0)
                ADVANCE(816);
            END_STATE();
        case 105:
            if(lookahead == '1')
                ADVANCE(112);
            if(lookahead == '3')
                ADVANCE(108);
            if(lookahead == '6')
                ADVANCE(110);
            if(lookahead == '8')
                ADVANCE(695);
            END_STATE();
        case 106:
            if(lookahead == '1')
                ADVANCE(112);
            if(lookahead == '3')
                ADVANCE(108);
            if(lookahead == '6')
                ADVANCE(110);
            if(lookahead == '8')
                ADVANCE(695);
            if(lookahead == 'e')
                ADVANCE(522);
            END_STATE();
        case 107:
            if(lookahead == '1')
                ADVANCE(113);
            if(lookahead == '3')
                ADVANCE(109);
            if(lookahead == '6')
                ADVANCE(111);
            if(lookahead == '8')
                ADVANCE(687);
            END_STATE();
        case 108:
            if(lookahead == '2')
                ADVANCE(682);
            END_STATE();
        case 109:
            if(lookahead == '2')
                ADVANCE(701);
            END_STATE();
        case 110:
            if(lookahead == '4')
                ADVANCE(685);
            END_STATE();
        case 111:
            if(lookahead == '4')
                ADVANCE(704);
            END_STATE();
        case 112:
            if(lookahead == '6')
                ADVANCE(676);
            END_STATE();
        case 113:
            if(lookahead == '6')
                ADVANCE(698);
            END_STATE();
        case 114:
            if(lookahead == ':')
                ADVANCE(715);
            END_STATE();
        case 115:
            if(lookahead == '<')
                ADVANCE(734);
            END_STATE();
        case 116:
            if(lookahead == 'A')
                ADVANCE(120);
            END_STATE();
        case 117:
            if(lookahead == 'B')
                ADVANCE(168);
            END_STATE();
        case 118:
            if(lookahead == 'E')
                ADVANCE(760);
            END_STATE();
        case 119:
            if(lookahead == 'E')
                ADVANCE(762);
            END_STATE();
        case 120:
            if(lookahead == 'L')
                ADVANCE(122);
            END_STATE();
        case 121:
            if(lookahead == 'R')
                ADVANCE(123);
            END_STATE();
        case 122:
            if(lookahead == 'S')
                ADVANCE(119);
            END_STATE();
        case 123:
            if(lookahead == 'U')
                ADVANCE(118);
            END_STATE();
        case 124:
            if(lookahead == '_')
                ADVANCE(181);
            if(lookahead == 'f')
                ADVANCE(346);
            if(lookahead == 'm')
                ADVANCE(143);
            if(lookahead == 's')
                ADVANCE(286);
            END_STATE();
        case 125:
            if(lookahead == '_')
                ADVANCE(450);
            END_STATE();
        case 126:
            if(lookahead == '_')
                ADVANCE(626);
            END_STATE();
        case 127:
            if(lookahead == '_')
                ADVANCE(396);
            END_STATE();
        case 128:
            if(lookahead == '_')
                ADVANCE(397);
            END_STATE();
        case 129:
            if(lookahead == 'a')
                ADVANCE(373);
            END_STATE();
        case 130:
            if(lookahead == 'a')
                ADVANCE(206);
            if(lookahead == 'i')
                ADVANCE(413);
            if(lookahead == 'l')
                ADVANCE(458);
            END_STATE();
        case 131:
            if(lookahead == 'a')
                ADVANCE(429);
            if(lookahead == 'i')
                ADVANCE(414);
            if(lookahead == 'o')
                ADVANCE(220);
            if(lookahead == 'u')
                ADVANCE(389);
            END_STATE();
        case 132:
            if(lookahead == 'a')
                ADVANCE(351);
            if(lookahead == 'e')
                ADVANCE(135);
            END_STATE();
        case 133:
            if(lookahead == 'a')
                ADVANCE(545);
            if(lookahead == 'h')
                ADVANCE(141);
            if(lookahead == 'o')
                ADVANCE(407);
            if(lookahead == 'u')
                ADVANCE(544);
            END_STATE();
        case 134:
            if(lookahead == 'a')
                ADVANCE(545);
            if(lookahead == 'o')
                ADVANCE(408);
            if(lookahead == 'u')
                ADVANCE(544);
            END_STATE();
        case 135:
            if(lookahead == 'a')
                ADVANCE(226);
            END_STATE();
        case 136:
            if(lookahead == 'a')
                ADVANCE(643);
            END_STATE();
        case 137:
            if(lookahead == 'a')
                ADVANCE(366);
            if(lookahead == 'd')
                ADVANCE(273);
            END_STATE();
        case 138:
            if(lookahead == 'a')
                ADVANCE(532);
            END_STATE();
        case 139:
            if(lookahead == 'a')
                ADVANCE(582);
            END_STATE();
        case 140:
            if(lookahead == 'a')
                ADVANCE(582);
            if(lookahead == 'e')
                ADVANCE(546);
            END_STATE();
        case 141:
            if(lookahead == 'a')
                ADVANCE(500);
            END_STATE();
        case 142:
            if(lookahead == 'a')
                ADVANCE(367);
            END_STATE();
        case 143:
            if(lookahead == 'a')
                ADVANCE(534);
            END_STATE();
        case 144:
            if(lookahead == 'a')
                ADVANCE(620);
            END_STATE();
        case 145:
            if(lookahead == 'a')
                ADVANCE(501);
            END_STATE();
        case 146:
            if(lookahead == 'a')
                ADVANCE(368);
            END_STATE();
        case 147:
            if(lookahead == 'a')
                ADVANCE(369);
            END_STATE();
        case 148:
            if(lookahead == 'a')
                ADVANCE(370);
            END_STATE();
        case 149:
            if(lookahead == 'a')
                ADVANCE(507);
            END_STATE();
        case 150:
            if(lookahead == 'a')
                ADVANCE(372);
            END_STATE();
        case 151:
            if(lookahead == 'a')
                ADVANCE(416);
            END_STATE();
        case 152:
            if(lookahead == 'a')
                ADVANCE(371);
            END_STATE();
        case 153:
            if(lookahead == 'a')
                ADVANCE(560);
            END_STATE();
        case 154:
            if(lookahead == 'a')
                ADVANCE(353);
            END_STATE();
        case 155:
            if(lookahead == 'a')
                ADVANCE(428);
            END_STATE();
        case 156:
            if(lookahead == 'a')
                ADVANCE(614);
            END_STATE();
        case 157:
            if(lookahead == 'a')
                ADVANCE(375);
            END_STATE();
        case 158:
            if(lookahead == 'a')
                ADVANCE(313);
            END_STATE();
        case 159:
            if(lookahead == 'a')
                ADVANCE(627);
            END_STATE();
        case 160:
            if(lookahead == 'a')
                ADVANCE(595);
            END_STATE();
        case 161:
            if(lookahead == 'a')
                ADVANCE(405);
            END_STATE();
        case 162:
            if(lookahead == 'a')
                ADVANCE(631);
            END_STATE();
        case 163:
            if(lookahead == 'a')
                ADVANCE(199);
            END_STATE();
        case 164:
            if(lookahead == 'a')
                ADVANCE(406);
            END_STATE();
        case 165:
            if(lookahead == 'a')
                ADVANCE(593);
            END_STATE();
        case 166:
            if(lookahead == 'a')
                ADVANCE(202);
            END_STATE();
        case 167:
            if(lookahead == 'a')
                ADVANCE(437);
            END_STATE();
        case 168:
            if(lookahead == 'a')
                ADVANCE(552);
            END_STATE();
        case 169:
            if(lookahead == 'a')
                ADVANCE(390);
            if(lookahead == 'e')
                ADVANCE(504);
            if(lookahead == 'o')
                ADVANCE(329);
            END_STATE();
        case 170:
            if(lookahead == 'a')
                ADVANCE(354);
            END_STATE();
        case 171:
            if(lookahead == 'a')
                ADVANCE(186);
            END_STATE();
        case 172:
            if(lookahead == 'a')
                ADVANCE(350);
            END_STATE();
        case 173:
            if(lookahead == 'a')
                ADVANCE(187);
            END_STATE();
        case 174:
            if(lookahead == 'a')
                ADVANCE(613);
            END_STATE();
        case 175:
            if(lookahead == 'a')
                ADVANCE(189);
            END_STATE();
        case 176:
            if(lookahead == 'b')
                ADVANCE(363);
            END_STATE();
        case 177:
            if(lookahead == 'b')
                ADVANCE(553);
            END_STATE();
        case 178:
            if(lookahead == 'b')
                ADVANCE(553);
            if(lookahead == 'l')
                ADVANCE(331);
            END_STATE();
        case 179:
            if(lookahead == 'b')
                ADVANCE(553);
            if(lookahead == 'l')
                ADVANCE(331);
            if(lookahead == 'm')
                ADVANCE(320);
            if(lookahead == 'n')
                ADVANCE(641);
            if(lookahead == 'p')
                ADVANCE(485);
            if(lookahead == 't')
                ADVANCE(579);
            if(lookahead == 'u')
                ADVANCE(585);
            END_STATE();
        case 180:
            if(lookahead == 'b')
                ADVANCE(377);
            END_STATE();
        case 181:
            if(lookahead == 'b')
                ADVANCE(483);
            END_STATE();
        case 182:
            if(lookahead == 'b')
                ADVANCE(165);
            END_STATE();
        case 183:
            if(lookahead == 'b')
                ADVANCE(359);
            END_STATE();
        case 184:
            if(lookahead == 'b')
                ADVANCE(379);
            END_STATE();
        case 185:
            if(lookahead == 'b')
                ADVANCE(632);
            END_STATE();
        case 186:
            if(lookahead == 'b')
                ADVANCE(382);
            END_STATE();
        case 187:
            if(lookahead == 'b')
                ADVANCE(386);
            END_STATE();
        case 188:
            if(lookahead == 'b')
                ADVANCE(387);
            END_STATE();
        case 189:
            if(lookahead == 'b')
                ADVANCE(388);
            END_STATE();
        case 190:
            if(lookahead == 'c')
                ADVANCE(317);
            if(lookahead == 's')
                ADVANCE(601);
            END_STATE();
        case 191:
            if(lookahead == 'c')
                ADVANCE(933);
            if(lookahead == 's')
                ADVANCE(316);
            END_STATE();
        case 192:
            if(lookahead == 'c')
                ADVANCE(315);
            END_STATE();
        case 193:
            if(lookahead == 'c')
                ADVANCE(599);
            END_STATE();
        case 194:
            if(lookahead == 'c')
                ADVANCE(599);
            if(lookahead == 'n')
                ADVANCE(231);
            if(lookahead == 'p')
                ADVANCE(586);
            if(lookahead == 'u')
                ADVANCE(555);
            END_STATE();
        case 195:
            if(lookahead == 'c')
                ADVANCE(264);
            END_STATE();
        case 196:
            if(lookahead == 'c')
                ADVANCE(264);
            if(lookahead == 't')
                ADVANCE(260);
            END_STATE();
        case 197:
            if(lookahead == 'c')
                ADVANCE(564);
            END_STATE();
        case 198:
            if(lookahead == 'c')
                ADVANCE(567);
            END_STATE();
        case 199:
            if(lookahead == 'c')
                ADVANCE(570);
            END_STATE();
        case 200:
            if(lookahead == 'c')
                ADVANCE(244);
            END_STATE();
        case 201:
            if(lookahead == 'c')
                ADVANCE(246);
            END_STATE();
        case 202:
            if(lookahead == 'c')
                ADVANCE(256);
            END_STATE();
        case 203:
            if(lookahead == 'c')
                ADVANCE(142);
            END_STATE();
        case 204:
            if(lookahead == 'c')
                ADVANCE(142);
            if(lookahead == 'n')
                ADVANCE(304);
            END_STATE();
        case 205:
            if(lookahead == 'c')
                ADVANCE(142);
            if(lookahead == 'n')
                ADVANCE(310);
            END_STATE();
        case 206:
            if(lookahead == 'c')
                ADVANCE(602);
            END_STATE();
        case 207:
            if(lookahead == 'c')
                ADVANCE(156);
            END_STATE();
        case 208:
            if(lookahead == 'c')
                ADVANCE(604);
            END_STATE();
        case 209:
            if(lookahead == 'd')
                ADVANCE(802);
            if(lookahead == 'i')
                ADVANCE(808);
            if(lookahead == '\t' ||
               lookahead == ' ')
                ADVANCE(319);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(811);
            END_STATE();
        case 210:
            if(lookahead == 'd')
                ADVANCE(865);
            if(lookahead == 'm')
                ADVANCE(493);
            if(lookahead == 'n')
                ADVANCE(839);
            END_STATE();
        case 211:
            if(lookahead == 'd')
                ADVANCE(836);
            END_STATE();
        case 212:
            if(lookahead == 'd')
                ADVANCE(691);
            END_STATE();
        case 213:
            if(lookahead == 'd')
                ADVANCE(867);
            END_STATE();
        case 214:
            if(lookahead == 'd')
                ADVANCE(901);
            END_STATE();
        case 215:
            if(lookahead == 'd')
                ADVANCE(949);
            END_STATE();
        case 216:
            if(lookahead == 'd')
                ADVANCE(854);
            END_STATE();
        case 217:
            if(lookahead == 'd')
                ADVANCE(69);
            END_STATE();
        case 218:
            if(lookahead == 'd')
                ADVANCE(897);
            END_STATE();
        case 219:
            if(lookahead == 'd')
                ADVANCE(885);
            END_STATE();
        case 220:
            if(lookahead == 'd')
                ADVANCE(629);
            END_STATE();
        case 221:
            if(lookahead == 'd')
                ADVANCE(484);
            if(lookahead == 'l')
                ADVANCE(468);
            END_STATE();
        case 222:
            if(lookahead == 'd')
                ADVANCE(259);
            if(lookahead == 'i')
                ADVANCE(215);
            if(lookahead == 'n')
                ADVANCE(161);
            if(lookahead == 'p')
                ADVANCE(519);
            END_STATE();
        case 223:
            if(lookahead == 'd')
                ADVANCE(259);
            if(lookahead == 'i')
                ADVANCE(215);
            if(lookahead == 'p')
                ADVANCE(519);
            END_STATE();
        case 224:
            if(lookahead == 'd')
                ADVANCE(275);
            END_STATE();
        case 225:
            if(lookahead == 'd')
                ADVANCE(281);
            END_STATE();
        case 226:
            if(lookahead == 'd')
                ADVANCE(465);
            END_STATE();
        case 227:
            if(lookahead == 'd')
                ADVANCE(173);
            END_STATE();
        case 228:
            if(lookahead == 'd')
                ADVANCE(296);
            END_STATE();
        case 229:
            if(lookahead == 'e')
                ADVANCE(299);
            if(lookahead == 'o')
                ADVANCE(625);
            END_STATE();
        case 230:
            if(lookahead == 'e')
                ADVANCE(498);
            if(lookahead == 'h')
                ADVANCE(461);
            if(lookahead == 't')
                ADVANCE(499);
            if(lookahead == 'u')
                ADVANCE(497);
            if(lookahead == 'w')
                ADVANCE(344);
            END_STATE();
        case 231:
            if(lookahead == 'e')
                ADVANCE(638);
            END_STATE();
        case 232:
            if(lookahead == 'e')
                ADVANCE(947);
            END_STATE();
        case 233:
            if(lookahead == 'e')
                ADVANCE(964);
            END_STATE();
        case 234:
            if(lookahead == 'e')
                ADVANCE(222);
            END_STATE();
        case 235:
            if(lookahead == 'e')
                ADVANCE(117);
            END_STATE();
        case 236:
            if(lookahead == 'e')
                ADVANCE(640);
            END_STATE();
        case 237:
            if(lookahead == 'e')
                ADVANCE(889);
            END_STATE();
        case 238:
            if(lookahead == 'e')
                ADVANCE(873);
            END_STATE();
        case 239:
            if(lookahead == 'e')
                ADVANCE(708);
            END_STATE();
        case 240:
            if(lookahead == 'e')
                ADVANCE(911);
            END_STATE();
        case 241:
            if(lookahead == 'e')
                ADVANCE(976);
            END_STATE();
        case 242:
            if(lookahead == 'e')
                ADVANCE(881);
            END_STATE();
        case 243:
            if(lookahead == 'e')
                ADVANCE(935);
            END_STATE();
        case 244:
            if(lookahead == 'e')
                ADVANCE(905);
            END_STATE();
        case 245:
            if(lookahead == 'e')
                ADVANCE(962);
            END_STATE();
        case 246:
            if(lookahead == 'e')
                ADVANCE(726);
            END_STATE();
        case 247:
            if(lookahead == 'e')
                ADVANCE(912);
            END_STATE();
        case 248:
            if(lookahead == 'e')
                ADVANCE(957);
            END_STATE();
        case 249:
            if(lookahead == 'e')
                ADVANCE(848);
            END_STATE();
        case 250:
            if(lookahead == 'e')
                ADVANCE(916);
            END_STATE();
        case 251:
            if(lookahead == 'e')
                ADVANCE(879);
            END_STATE();
        case 252:
            if(lookahead == 'e')
                ADVANCE(710);
            END_STATE();
        case 253:
            if(lookahead == 'e')
                ADVANCE(929);
            END_STATE();
        case 254:
            if(lookahead == 'e')
                ADVANCE(223);
            END_STATE();
        case 255:
            if(lookahead == 'e')
                ADVANCE(972);
            END_STATE();
        case 256:
            if(lookahead == 'e')
                ADVANCE(831);
            END_STATE();
        case 257:
            if(lookahead == 'e')
                ADVANCE(914);
            END_STATE();
        case 258:
            if(lookahead == 'e')
                ADVANCE(642);
            END_STATE();
        case 259:
            if(lookahead == 'e')
                ADVANCE(298);
            END_STATE();
        case 260:
            if(lookahead == 'e')
                ADVANCE(431);
            END_STATE();
        case 261:
            if(lookahead == 'e')
                ADVANCE(127);
            END_STATE();
        case 262:
            if(lookahead == 'e')
                ADVANCE(531);
            END_STATE();
        case 263:
            if(lookahead == 'e')
                ADVANCE(301);
            END_STATE();
        case 264:
            if(lookahead == 'e')
                ADVANCE(495);
            END_STATE();
        case 265:
            if(lookahead == 'e')
                ADVANCE(212);
            END_STATE();
        case 266:
            if(lookahead == 'e')
                ADVANCE(425);
            END_STATE();
        case 267:
            if(lookahead == 'e')
                ADVANCE(376);
            END_STATE();
        case 268:
            if(lookahead == 'e')
                ADVANCE(214);
            END_STATE();
        case 269:
            if(lookahead == 'e')
                ADVANCE(535);
            END_STATE();
        case 270:
            if(lookahead == 'e')
                ADVANCE(646);
            END_STATE();
        case 271:
            if(lookahead == 'e')
                ADVANCE(536);
            END_STATE();
        case 272:
            if(lookahead == 'e')
                ADVANCE(537);
            END_STATE();
        case 273:
            if(lookahead == 'e')
                ADVANCE(502);
            END_STATE();
        case 274:
            if(lookahead == 'e')
                ADVANCE(441);
            END_STATE();
        case 275:
            if(lookahead == 'e')
                ADVANCE(538);
            END_STATE();
        case 276:
            if(lookahead == 'e')
                ADVANCE(217);
            END_STATE();
        case 277:
            if(lookahead == 'e')
                ADVANCE(151);
            END_STATE();
        case 278:
            if(lookahead == 'e')
                ADVANCE(540);
            END_STATE();
        case 279:
            if(lookahead == 'e')
                ADVANCE(541);
            END_STATE();
        case 280:
            if(lookahead == 'e')
                ADVANCE(542);
            END_STATE();
        case 281:
            if(lookahead == 'e')
                ADVANCE(524);
            END_STATE();
        case 282:
            if(lookahead == 'e')
                ADVANCE(543);
            END_STATE();
        case 283:
            if(lookahead == 'e')
                ADVANCE(525);
            END_STATE();
        case 284:
            if(lookahead == 'e')
                ADVANCE(562);
            END_STATE();
        case 285:
            if(lookahead == 'e')
                ADVANCE(522);
            END_STATE();
        case 286:
            if(lookahead == 'e')
                ADVANCE(565);
            END_STATE();
        case 287:
            if(lookahead == 'e')
                ADVANCE(584);
            END_STATE();
        case 288:
            if(lookahead == 'e')
                ADVANCE(197);
            END_STATE();
        case 289:
            if(lookahead == 'e')
                ADVANCE(438);
            END_STATE();
        case 290:
            if(lookahead == 'e')
                ADVANCE(439);
            END_STATE();
        case 291:
            if(lookahead == 'e')
                ADVANCE(526);
            END_STATE();
        case 292:
            if(lookahead == 'e')
                ADVANCE(527);
            END_STATE();
        case 293:
            if(lookahead == 'e')
                ADVANCE(302);
            END_STATE();
        case 294:
            if(lookahead == 'e')
                ADVANCE(208);
            END_STATE();
        case 295:
            if(lookahead == 'e')
                ADVANCE(612);
            END_STATE();
        case 296:
            if(lookahead == 'e')
                ADVANCE(303);
            END_STATE();
        case 297:
            if(lookahead == 'e')
                ADVANCE(615);
            if(lookahead == 'h')
                ADVANCE(461);
            if(lookahead == 't')
                ADVANCE(509);
            END_STATE();
        case 298:
            if(lookahead == 'f')
                ADVANCE(939);
            END_STATE();
        case 299:
            if(lookahead == 'f')
                ADVANCE(144);
            END_STATE();
        case 300:
            if(lookahead == 'f')
                ADVANCE(166);
            END_STATE();
        case 301:
            if(lookahead == 'f')
                ADVANCE(327);
            END_STATE();
        case 302:
            if(lookahead == 'f')
                ADVANCE(159);
            END_STATE();
        case 303:
            if(lookahead == 'f')
                ADVANCE(162);
            END_STATE();
        case 304:
            if(lookahead == 'g')
                ADVANCE(678);
            END_STATE();
        case 305:
            if(lookahead == 'g')
                ADVANCE(716);
            END_STATE();
        case 306:
            if(lookahead == 'g')
                ADVANCE(718);
            END_STATE();
        case 307:
            if(lookahead == 'g')
                ADVANCE(684);
            END_STATE();
        case 308:
            if(lookahead == 'g')
                ADVANCE(700);
            END_STATE();
        case 309:
            if(lookahead == 'g')
                ADVANCE(703);
            END_STATE();
        case 310:
            if(lookahead == 'g')
                ADVANCE(680);
            END_STATE();
        case 311:
            if(lookahead == 'g')
                ADVANCE(440);
            END_STATE();
        case 312:
            if(lookahead == 'g')
                ADVANCE(237);
            END_STATE();
        case 313:
            if(lookahead == 'g')
                ADVANCE(271);
            END_STATE();
        case 314:
            if(lookahead == 'g')
                ADVANCE(447);
            END_STATE();
        case 315:
            if(lookahead == 'h')
                ADVANCE(945);
            END_STATE();
        case 316:
            if(lookahead == 'h')
                ADVANCE(279);
            END_STATE();
        case 317:
            if(lookahead == 'h')
                ADVANCE(145);
            END_STATE();
        case 318:
            if(lookahead == 'h')
                ADVANCE(479);
            END_STATE();
        case 319:
            if(lookahead == 'i')
                ADVANCE(808);
            if(lookahead == '\t' ||
               lookahead == ' ')
                ADVANCE(319);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(811);
            END_STATE();
        case 320:
            if(lookahead == 'i')
                ADVANCE(909);
            END_STATE();
        case 321:
            if(lookahead == 'i')
                ADVANCE(412);
            if(lookahead == 'o')
                ADVANCE(635);
            END_STATE();
        case 322:
            if(lookahead == 'i')
                ADVANCE(460);
            if(lookahead == 's')
                ADVANCE(330);
            END_STATE();
        case 323:
            if(lookahead == 'i')
                ADVANCE(191);
            END_STATE();
        case 324:
            if(lookahead == 'i')
                ADVANCE(436);
            if(lookahead == 'n')
                ADVANCE(322);
            if(lookahead == 's')
                ADVANCE(262);
            END_STATE();
        case 325:
            if(lookahead == 'i')
                ADVANCE(436);
            if(lookahead == 'n')
                ADVANCE(343);
            END_STATE();
        case 326:
            if(lookahead == 'i')
                ADVANCE(637);
            END_STATE();
        case 327:
            if(lookahead == 'i')
                ADVANCE(639);
            END_STATE();
        case 328:
            if(lookahead == 'i')
                ADVANCE(554);
            if(lookahead == 'o')
                ADVANCE(455);
            END_STATE();
        case 329:
            if(lookahead == 'i')
                ADVANCE(211);
            END_STATE();
        case 330:
            if(lookahead == 'i')
                ADVANCE(311);
            END_STATE();
        case 331:
            if(lookahead == 'i')
                ADVANCE(138);
            END_STATE();
        case 332:
            if(lookahead == 'i')
                ADVANCE(200);
            END_STATE();
        case 333:
            if(lookahead == 'i')
                ADVANCE(400);
            END_STATE();
        case 334:
            if(lookahead == 'i')
                ADVANCE(185);
            END_STATE();
        case 335:
            if(lookahead == 'i')
                ADVANCE(492);
            END_STATE();
        case 336:
            if(lookahead == 'i')
                ADVANCE(183);
            END_STATE();
        case 337:
            if(lookahead == 'i')
                ADVANCE(424);
            if(lookahead == 'u')
                ADVANCE(198);
            END_STATE();
        case 338:
            if(lookahead == 'i')
                ADVANCE(411);
            END_STATE();
        case 339:
            if(lookahead == 'i')
                ADVANCE(213);
            END_STATE();
        case 340:
            if(lookahead == 'i')
                ADVANCE(581);
            END_STATE();
        case 341:
            if(lookahead == 'i')
                ADVANCE(224);
            END_STATE();
        case 342:
            if(lookahead == 'i')
                ADVANCE(314);
            END_STATE();
        case 343:
            if(lookahead == 'i')
                ADVANCE(459);
            if(lookahead == 's')
                ADVANCE(330);
            END_STATE();
        case 344:
            if(lookahead == 'i')
                ADVANCE(577);
            END_STATE();
        case 345:
            if(lookahead == 'i')
                ADVANCE(426);
            END_STATE();
        case 346:
            if(lookahead == 'i')
                ADVANCE(267);
            END_STATE();
        case 347:
            if(lookahead == 'i')
                ADVANCE(587);
            END_STATE();
        case 348:
            if(lookahead == 'i')
                ADVANCE(574);
            if(lookahead == 'o')
                ADVANCE(455);
            END_STATE();
        case 349:
            if(lookahead == 'i')
                ADVANCE(583);
            END_STATE();
        case 350:
            if(lookahead == 'i')
                ADVANCE(548);
            END_STATE();
        case 351:
            if(lookahead == 'i')
                ADVANCE(548);
            if(lookahead == 'n')
                ADVANCE(312);
            END_STATE();
        case 352:
            if(lookahead == 'i')
                ADVANCE(482);
            END_STATE();
        case 353:
            if(lookahead == 'i')
                ADVANCE(550);
            END_STATE();
        case 354:
            if(lookahead == 'i')
                ADVANCE(551);
            END_STATE();
        case 355:
            if(lookahead == 'i')
                ADVANCE(597);
            END_STATE();
        case 356:
            if(lookahead == 'i')
                ADVANCE(469);
            END_STATE();
        case 357:
            if(lookahead == 'i')
                ADVANCE(470);
            END_STATE();
        case 358:
            if(lookahead == 'i')
                ADVANCE(471);
            END_STATE();
        case 359:
            if(lookahead == 'i')
                ADVANCE(393);
            END_STATE();
        case 360:
            if(lookahead == 'i')
                ADVANCE(605);
            END_STATE();
        case 361:
            if(lookahead == 'i')
                ADVANCE(608);
            END_STATE();
        case 362:
            if(lookahead == 'i')
                ADVANCE(611);
            END_STATE();
        case 363:
            if(lookahead == 'j')
                ADVANCE(288);
            END_STATE();
        case 364:
            if(lookahead == 'k')
                ADVANCE(855);
            END_STATE();
        case 365:
            if(lookahead == 'k')
                ADVANCE(270);
            END_STATE();
        case 366:
            if(lookahead == 'l')
                ADVANCE(877);
            END_STATE();
        case 367:
            if(lookahead == 'l')
                ADVANCE(828);
            END_STATE();
        case 368:
            if(lookahead == 'l')
                ADVANCE(899);
            END_STATE();
        case 369:
            if(lookahead == 'l')
                ADVANCE(869);
            END_STATE();
        case 370:
            if(lookahead == 'l')
                ADVANCE(887);
            END_STATE();
        case 371:
            if(lookahead == 'l')
                ADVANCE(943);
            END_STATE();
        case 372:
            if(lookahead == 'l')
                ADVANCE(125);
            END_STATE();
        case 373:
            if(lookahead == 'l')
                ADVANCE(621);
            END_STATE();
        case 374:
            if(lookahead == 'l')
                ADVANCE(645);
            END_STATE();
        case 375:
            if(lookahead == 'l')
                ADVANCE(633);
            END_STATE();
        case 376:
            if(lookahead == 'l')
                ADVANCE(216);
            END_STATE();
        case 377:
            if(lookahead == 'l')
                ADVANCE(323);
            END_STATE();
        case 378:
            if(lookahead == 'l')
                ADVANCE(277);
            END_STATE();
        case 379:
            if(lookahead == 'l')
                ADVANCE(239);
            END_STATE();
        case 380:
            if(lookahead == 'l')
                ADVANCE(240);
            END_STATE();
        case 381:
            if(lookahead == 'l')
                ADVANCE(569);
            END_STATE();
        case 382:
            if(lookahead == 'l')
                ADVANCE(242);
            END_STATE();
        case 383:
            if(lookahead == 'l')
                ADVANCE(245);
            END_STATE();
        case 384:
            if(lookahead == 'l')
                ADVANCE(576);
            END_STATE();
        case 385:
            if(lookahead == 'l')
                ADVANCE(616);
            END_STATE();
        case 386:
            if(lookahead == 'l')
                ADVANCE(251);
            END_STATE();
        case 387:
            if(lookahead == 'l')
                ADVANCE(252);
            END_STATE();
        case 388:
            if(lookahead == 'l')
                ADVANCE(253);
            END_STATE();
        case 389:
            if(lookahead == 'l')
                ADVANCE(588);
            if(lookahead == 's')
                ADVANCE(556);
            if(lookahead == 't')
                ADVANCE(171);
            END_STATE();
        case 390:
            if(lookahead == 'l')
                ADVANCE(624);
            END_STATE();
        case 391:
            if(lookahead == 'l')
                ADVANCE(355);
            END_STATE();
        case 392:
            if(lookahead == 'l')
                ADVANCE(468);
            END_STATE();
        case 393:
            if(lookahead == 'l')
                ADVANCE(347);
            END_STATE();
        case 394:
            if(lookahead == 'l')
                ADVANCE(472);
            if(lookahead == 's')
                ADVANCE(318);
            END_STATE();
        case 395:
            if(lookahead == 'l')
                ADVANCE(474);
            END_STATE();
        case 396:
            if(lookahead == 'l')
                ADVANCE(361);
            END_STATE();
        case 397:
            if(lookahead == 'l')
                ADVANCE(362);
            END_STATE();
        case 398:
            if(lookahead == 'm')
                ADVANCE(922);
            END_STATE();
        case 399:
            if(lookahead == 'm')
                ADVANCE(927);
            END_STATE();
        case 400:
            if(lookahead == 'm')
                ADVANCE(903);
            END_STATE();
        case 401:
            if(lookahead == 'm')
                ADVANCE(493);
            if(lookahead == 'n')
                ADVANCE(575);
            END_STATE();
        case 402:
            if(lookahead == 'm')
                ADVANCE(340);
            if(lookahead == 'n')
                ADVANCE(617);
            if(lookahead == 'v')
                ADVANCE(289);
            if(lookahead == 'x')
                ADVANCE(196);
            END_STATE();
        case 403:
            if(lookahead == 'm')
                ADVANCE(233);
            END_STATE();
        case 404:
            if(lookahead == 'm')
                ADVANCE(272);
            END_STATE();
        case 405:
            if(lookahead == 'm')
                ADVANCE(247);
            END_STATE();
        case 406:
            if(lookahead == 'm')
                ADVANCE(282);
            END_STATE();
        case 407:
            if(lookahead == 'm')
                ADVANCE(486);
            if(lookahead == 'n')
                ADVANCE(442);
            END_STATE();
        case 408:
            if(lookahead == 'm')
                ADVANCE(486);
            if(lookahead == 'n')
                ADVANCE(443);
            END_STATE();
        case 409:
            if(lookahead == 'm')
                ADVANCE(143);
            END_STATE();
        case 410:
            if(lookahead == 'm')
                ADVANCE(143);
            if(lookahead == 's')
                ADVANCE(286);
            END_STATE();
        case 411:
            if(lookahead == 'm')
                ADVANCE(149);
            END_STATE();
        case 412:
            if(lookahead == 'm')
                ADVANCE(149);
            if(lookahead == 'v')
                ADVANCE(160);
            END_STATE();
        case 413:
            if(lookahead == 'n')
                ADVANCE(137);
            if(lookahead == 'x')
                ADVANCE(265);
            END_STATE();
        case 414:
            if(lookahead == 'n')
                ADVANCE(891);
            if(lookahead == 'r')
                ADVANCE(523);
            END_STATE();
        case 415:
            if(lookahead == 'n')
                ADVANCE(920);
            END_STATE();
        case 416:
            if(lookahead == 'n')
                ADVANCE(689);
            END_STATE();
        case 417:
            if(lookahead == 'n')
                ADVANCE(871);
            END_STATE();
        case 418:
            if(lookahead == 'n')
                ADVANCE(824);
            END_STATE();
        case 419:
            if(lookahead == 'n')
                ADVANCE(857);
            END_STATE();
        case 420:
            if(lookahead == 'n')
                ADVANCE(838);
            END_STATE();
        case 421:
            if(lookahead == 'n')
                ADVANCE(617);
            if(lookahead == 'v')
                ADVANCE(289);
            if(lookahead == 'x')
                ADVANCE(195);
            END_STATE();
        case 422:
            if(lookahead == 'n')
                ADVANCE(430);
            END_STATE();
        case 423:
            if(lookahead == 'n')
                ADVANCE(207);
            END_STATE();
        case 424:
            if(lookahead == 'n')
                ADVANCE(305);
            END_STATE();
        case 425:
            if(lookahead == 'n')
                ADVANCE(227);
            END_STATE();
        case 426:
            if(lookahead == 'n')
                ADVANCE(306);
            END_STATE();
        case 427:
            if(lookahead == 'n')
                ADVANCE(307);
            END_STATE();
        case 428:
            if(lookahead == 'n')
                ADVANCE(158);
            END_STATE();
        case 429:
            if(lookahead == 'n')
                ADVANCE(158);
            if(lookahead == 'p')
                ADVANCE(728);
            if(lookahead == 'x')
                ADVANCE(893);
            END_STATE();
        case 430:
            if(lookahead == 'n')
                ADVANCE(473);
            END_STATE();
        case 431:
            if(lookahead == 'n')
                ADVANCE(547);
            if(lookahead == 'r')
                ADVANCE(445);
            END_STATE();
        case 432:
            if(lookahead == 'n')
                ADVANCE(308);
            END_STATE();
        case 433:
            if(lookahead == 'n')
                ADVANCE(374);
            END_STATE();
        case 434:
            if(lookahead == 'n')
                ADVANCE(309);
            END_STATE();
        case 435:
            if(lookahead == 'n')
                ADVANCE(218);
            END_STATE();
        case 436:
            if(lookahead == 'n')
                ADVANCE(578);
            END_STATE();
        case 437:
            if(lookahead == 'n')
                ADVANCE(219);
            END_STATE();
        case 438:
            if(lookahead == 'n')
                ADVANCE(594);
            END_STATE();
        case 439:
            if(lookahead == 'n')
                ADVANCE(571);
            END_STATE();
        case 440:
            if(lookahead == 'n')
                ADVANCE(276);
            END_STATE();
        case 441:
            if(lookahead == 'n')
                ADVANCE(201);
            END_STATE();
        case 442:
            if(lookahead == 'n')
                ADVANCE(294);
            if(lookahead == 's')
                ADVANCE(559);
            if(lookahead == 't')
                ADVANCE(236);
            END_STATE();
        case 443:
            if(lookahead == 'n')
                ADVANCE(294);
            if(lookahead == 's')
                ADVANCE(558);
            END_STATE();
        case 444:
            if(lookahead == 'n')
                ADVANCE(225);
            END_STATE();
        case 445:
            if(lookahead == 'n')
                ADVANCE(146);
            END_STATE();
        case 446:
            if(lookahead == 'n')
                ADVANCE(147);
            END_STATE();
        case 447:
            if(lookahead == 'n')
                ADVANCE(476);
            END_STATE();
        case 448:
            if(lookahead == 'n')
                ADVANCE(598);
            END_STATE();
        case 449:
            if(lookahead == 'n')
                ADVANCE(290);
            END_STATE();
        case 450:
            if(lookahead == 'n')
                ADVANCE(164);
            END_STATE();
        case 451:
            if(lookahead == 'o')
                ADVANCE(403);
            END_STATE();
        case 452:
            if(lookahead == 'o')
                ADVANCE(204);
            END_STATE();
        case 453:
            if(lookahead == 'o')
                ADVANCE(220);
            END_STATE();
        case 454:
            if(lookahead == 'o')
                ADVANCE(511);
            if(lookahead == 'r')
                ADVANCE(321);
            if(lookahead == 'u')
                ADVANCE(180);
            END_STATE();
        case 455:
            if(lookahead == 'o')
                ADVANCE(378);
            END_STATE();
        case 456:
            if(lookahead == 'o')
                ADVANCE(399);
            END_STATE();
        case 457:
            if(lookahead == 'o')
                ADVANCE(203);
            END_STATE();
        case 458:
            if(lookahead == 'o')
                ADVANCE(153);
            END_STATE();
        case 459:
            if(lookahead == 'o')
                ADVANCE(415);
            END_STATE();
        case 460:
            if(lookahead == 'o')
                ADVANCE(415);
            if(lookahead == 't')
                ADVANCE(895);
            END_STATE();
        case 461:
            if(lookahead == 'o')
                ADVANCE(514);
            END_STATE();
        case 462:
            if(lookahead == 'o')
                ADVANCE(449);
            END_STATE();
        case 463:
            if(lookahead == 'o')
                ADVANCE(339);
            END_STATE();
        case 464:
            if(lookahead == 'o')
                ADVANCE(506);
            END_STATE();
        case 465:
            if(lookahead == 'o')
                ADVANCE(433);
            END_STATE();
        case 466:
            if(lookahead == 'o')
                ADVANCE(530);
            END_STATE();
        case 467:
            if(lookahead == 'o')
                ADVANCE(503);
            END_STATE();
        case 468:
            if(lookahead == 'o')
                ADVANCE(427);
            END_STATE();
        case 469:
            if(lookahead == 'o')
                ADVANCE(417);
            END_STATE();
        case 470:
            if(lookahead == 'o')
                ADVANCE(418);
            END_STATE();
        case 471:
            if(lookahead == 'o')
                ADVANCE(419);
            END_STATE();
        case 472:
            if(lookahead == 'o')
                ADVANCE(432);
            END_STATE();
        case 473:
            if(lookahead == 'o')
                ADVANCE(606);
            END_STATE();
        case 474:
            if(lookahead == 'o')
                ADVANCE(434);
            END_STATE();
        case 475:
            if(lookahead == 'o')
                ADVANCE(516);
            END_STATE();
        case 476:
            if(lookahead == 'o')
                ADVANCE(521);
            END_STATE();
        case 477:
            if(lookahead == 'o')
                ADVANCE(517);
            END_STATE();
        case 478:
            if(lookahead == 'o')
                ADVANCE(518);
            END_STATE();
        case 479:
            if(lookahead == 'o')
                ADVANCE(520);
            END_STATE();
        case 480:
            if(lookahead == 'o')
                ADVANCE(529);
            END_STATE();
        case 481:
            if(lookahead == 'o')
                ADVANCE(205);
            END_STATE();
        case 482:
            if(lookahead == 'o')
                ADVANCE(446);
            END_STATE();
        case 483:
            if(lookahead == 'o')
                ADVANCE(630);
            END_STATE();
        case 484:
            if(lookahead == 'o')
                ADVANCE(634);
            END_STATE();
        case 485:
            if(lookahead == 'p')
                ADVANCE(266);
            END_STATE();
        case 486:
            if(lookahead == 'p')
                ADVANCE(462);
            END_STATE();
        case 487:
            if(lookahead == 'p')
                ADVANCE(234);
            END_STATE();
        case 488:
            if(lookahead == 'p')
                ADVANCE(250);
            END_STATE();
        case 489:
            if(lookahead == 'p')
                ADVANCE(254);
            END_STATE();
        case 490:
            if(lookahead == 'p')
                ADVANCE(255);
            END_STATE();
        case 491:
            if(lookahead == 'p')
                ADVANCE(257);
            END_STATE();
        case 492:
            if(lookahead == 'p')
                ADVANCE(383);
            END_STATE();
        case 493:
            if(lookahead == 'p')
                ADVANCE(475);
            END_STATE();
        case 494:
            if(lookahead == 'p')
                ADVANCE(477);
            END_STATE();
        case 495:
            if(lookahead == 'p')
                ADVANCE(610);
            END_STATE();
        case 496:
            if(lookahead == 'p')
                ADVANCE(478);
            END_STATE();
        case 497:
            if(lookahead == 'p')
                ADVANCE(494);
            END_STATE();
        case 498:
            if(lookahead == 'q')
                ADVANCE(623);
            if(lookahead == 'r')
                ADVANCE(636);
            if(lookahead == 't')
                ADVANCE(528);
            END_STATE();
        case 499:
            if(lookahead == 'r')
                ADVANCE(337);
            END_STATE();
        case 500:
            if(lookahead == 'r')
                ADVANCE(711);
            END_STATE();
        case 501:
            if(lookahead == 'r')
                ADVANCE(713);
            END_STATE();
        case 502:
            if(lookahead == 'r')
                ADVANCE(970);
            END_STATE();
        case 503:
            if(lookahead == 'r')
                ADVANCE(975);
            END_STATE();
        case 504:
            if(lookahead == 'r')
                ADVANCE(182);
            END_STATE();
        case 505:
            if(lookahead == 'r')
                ADVANCE(619);
            if(lookahead == 'y')
                ADVANCE(487);
            END_STATE();
        case 506:
            if(lookahead == 'r')
                ADVANCE(644);
            END_STATE();
        case 507:
            if(lookahead == 'r')
                ADVANCE(648);
            END_STATE();
        case 508:
            if(lookahead == 'r')
                ADVANCE(334);
            END_STATE();
        case 509:
            if(lookahead == 'r')
                ADVANCE(628);
            END_STATE();
        case 510:
            if(lookahead == 'r')
                ADVANCE(154);
            END_STATE();
        case 511:
            if(lookahead == 'r')
                ADVANCE(557);
            if(lookahead == 's')
                ADVANCE(360);
            END_STATE();
        case 512:
            if(lookahead == 'r')
                ADVANCE(163);
            END_STATE();
        case 513:
            if(lookahead == 'r')
                ADVANCE(345);
            END_STATE();
        case 514:
            if(lookahead == 'r')
                ADVANCE(563);
            END_STATE();
        case 515:
            if(lookahead == 'r')
                ADVANCE(338);
            END_STATE();
        case 516:
            if(lookahead == 'r')
                ADVANCE(566);
            END_STATE();
        case 517:
            if(lookahead == 'r')
                ADVANCE(589);
            END_STATE();
        case 518:
            if(lookahead == 'r')
                ADVANCE(572);
            END_STATE();
        case 519:
            if(lookahead == 'r')
                ADVANCE(263);
            END_STATE();
        case 520:
            if(lookahead == 'r')
                ADVANCE(573);
            END_STATE();
        case 521:
            if(lookahead == 'r')
                ADVANCE(261);
            END_STATE();
        case 522:
            if(lookahead == 'r')
                ADVANCE(300);
            END_STATE();
        case 523:
            if(lookahead == 'r')
                ADVANCE(466);
            END_STATE();
        case 524:
            if(lookahead == 'r')
                ADVANCE(549);
            END_STATE();
        case 525:
            if(lookahead == 'r')
                ADVANCE(148);
            END_STATE();
        case 526:
            if(lookahead == 'r')
                ADVANCE(150);
            END_STATE();
        case 527:
            if(lookahead == 'r')
                ADVANCE(152);
            END_STATE();
        case 528:
            if(lookahead == 'r')
                ADVANCE(170);
            END_STATE();
        case 529:
            if(lookahead == 'r')
                ADVANCE(607);
            END_STATE();
        case 530:
            if(lookahead == 'r')
                ADVANCE(496);
            END_STATE();
        case 531:
            if(lookahead == 's')
                ADVANCE(961);
            END_STATE();
        case 532:
            if(lookahead == 's')
                ADVANCE(926);
            END_STATE();
        case 533:
            if(lookahead == 's')
                ADVANCE(966);
            END_STATE();
        case 534:
            if(lookahead == 's')
                ADVANCE(364);
            END_STATE();
        case 535:
            if(lookahead == 's')
                ADVANCE(845);
            END_STATE();
        case 536:
            if(lookahead == 's')
                ADVANCE(965);
            END_STATE();
        case 537:
            if(lookahead == 's')
                ADVANCE(968);
            END_STATE();
        case 538:
            if(lookahead == 's')
                ADVANCE(960);
            END_STATE();
        case 539:
            if(lookahead == 's')
                ADVANCE(931);
            END_STATE();
        case 540:
            if(lookahead == 's')
                ADVANCE(850);
            END_STATE();
        case 541:
            if(lookahead == 's')
                ADVANCE(967);
            END_STATE();
        case 542:
            if(lookahead == 's')
                ADVANCE(851);
            END_STATE();
        case 543:
            if(lookahead == 's')
                ADVANCE(944);
            END_STATE();
        case 544:
            if(lookahead == 's')
                ADVANCE(600);
            END_STATE();
        case 545:
            if(lookahead == 's')
                ADVANCE(232);
            END_STATE();
        case 546:
            if(lookahead == 's')
                ADVANCE(592);
            END_STATE();
        case 547:
            if(lookahead == 's')
                ADVANCE(336);
            END_STATE();
        case 548:
            if(lookahead == 's')
                ADVANCE(269);
            END_STATE();
        case 549:
            if(lookahead == 's')
                ADVANCE(590);
            END_STATE();
        case 550:
            if(lookahead == 's')
                ADVANCE(278);
            END_STATE();
        case 551:
            if(lookahead == 's')
                ADVANCE(280);
            END_STATE();
        case 552:
            if(lookahead == 's')
                ADVANCE(248);
            END_STATE();
        case 553:
            if(lookahead == 's')
                ADVANCE(603);
            END_STATE();
        case 554:
            if(lookahead == 't')
                ADVANCE(124);
            END_STATE();
        case 555:
            if(lookahead == 't')
                ADVANCE(841);
            END_STATE();
        case 556:
            if(lookahead == 't')
                ADVANCE(126);
            END_STATE();
        case 557:
            if(lookahead == 't')
                ADVANCE(973);
            END_STATE();
        case 558:
            if(lookahead == 't')
                ADVANCE(924);
            END_STATE();
        case 559:
            if(lookahead == 't')
                ADVANCE(924);
            if(lookahead == 'u')
                ADVANCE(404);
            END_STATE();
        case 560:
            if(lookahead == 't')
                ADVANCE(706);
            END_STATE();
        case 561:
            if(lookahead == 't')
                ADVANCE(843);
            END_STATE();
        case 562:
            if(lookahead == 't')
                ADVANCE(693);
            END_STATE();
        case 563:
            if(lookahead == 't')
                ADVANCE(674);
            END_STATE();
        case 564:
            if(lookahead == 't')
                ADVANCE(954);
            END_STATE();
        case 565:
            if(lookahead == 't')
                ADVANCE(852);
            END_STATE();
        case 566:
            if(lookahead == 't')
                ADVANCE(952);
            END_STATE();
        case 567:
            if(lookahead == 't')
                ADVANCE(918);
            END_STATE();
        case 568:
            if(lookahead == 't')
                ADVANCE(956);
            END_STATE();
        case 569:
            if(lookahead == 't')
                ADVANCE(859);
            END_STATE();
        case 570:
            if(lookahead == 't')
                ADVANCE(829);
            END_STATE();
        case 571:
            if(lookahead == 't')
                ADVANCE(959);
            END_STATE();
        case 572:
            if(lookahead == 't')
                ADVANCE(974);
            END_STATE();
        case 573:
            if(lookahead == 't')
                ADVANCE(697);
            END_STATE();
        case 574:
            if(lookahead == 't')
                ADVANCE(410);
            END_STATE();
        case 575:
            if(lookahead == 't')
                ADVANCE(106);
            END_STATE();
        case 576:
            if(lookahead == 't')
                ADVANCE(858);
            END_STATE();
        case 577:
            if(lookahead == 't')
                ADVANCE(192);
            END_STATE();
        case 578:
            if(lookahead == 't')
                ADVANCE(107);
            END_STATE();
        case 579:
            if(lookahead == 't')
                ADVANCE(508);
            END_STATE();
        case 580:
            if(lookahead == 't')
                ADVANCE(649);
            END_STATE();
        case 581:
            if(lookahead == 't')
                ADVANCE(533);
            END_STATE();
        case 582:
            if(lookahead == 't')
                ADVANCE(326);
            END_STATE();
        case 583:
            if(lookahead == 't')
                ADVANCE(409);
            END_STATE();
        case 584:
            if(lookahead == 't')
                ADVANCE(510);
            END_STATE();
        case 585:
            if(lookahead == 't')
                ADVANCE(463);
            END_STATE();
        case 586:
            if(lookahead == 't')
                ADVANCE(352);
            END_STATE();
        case 587:
            if(lookahead == 't')
                ADVANCE(647);
            END_STATE();
        case 588:
            if(lookahead == 't')
                ADVANCE(335);
            END_STATE();
        case 589:
            if(lookahead == 't')
                ADVANCE(539);
            END_STATE();
        case 590:
            if(lookahead == 't')
                ADVANCE(167);
            END_STATE();
        case 591:
            if(lookahead == 't')
                ADVANCE(509);
            if(lookahead == 'u')
                ADVANCE(497);
            END_STATE();
        case 592:
            if(lookahead == 't')
                ADVANCE(268);
            END_STATE();
        case 593:
            if(lookahead == 't')
                ADVANCE(333);
            END_STATE();
        case 594:
            if(lookahead == 't')
                ADVANCE(580);
            END_STATE();
        case 595:
            if(lookahead == 't')
                ADVANCE(243);
            END_STATE();
        case 596:
            if(lookahead == 't')
                ADVANCE(249);
            END_STATE();
        case 597:
            if(lookahead == 't')
                ADVANCE(283);
            END_STATE();
        case 598:
            if(lookahead == 't')
                ADVANCE(285);
            END_STATE();
        case 599:
            if(lookahead == 't')
                ADVANCE(284);
            END_STATE();
        case 600:
            if(lookahead == 't')
                ADVANCE(456);
            END_STATE();
        case 601:
            if(lookahead == 't')
                ADVANCE(513);
            END_STATE();
        case 602:
            if(lookahead == 't')
                ADVANCE(464);
            END_STATE();
        case 603:
            if(lookahead == 't')
                ADVANCE(512);
            END_STATE();
        case 604:
            if(lookahead == 't')
                ADVANCE(467);
            END_STATE();
        case 605:
            if(lookahead == 't')
                ADVANCE(356);
            END_STATE();
        case 606:
            if(lookahead == 't')
                ADVANCE(174);
            END_STATE();
        case 607:
            if(lookahead == 't')
                ADVANCE(609);
            END_STATE();
        case 608:
            if(lookahead == 't')
                ADVANCE(291);
            END_STATE();
        case 609:
            if(lookahead == 't')
                ADVANCE(651);
            END_STATE();
        case 610:
            if(lookahead == 't')
                ADVANCE(357);
            END_STATE();
        case 611:
            if(lookahead == 't')
                ADVANCE(292);
            END_STATE();
        case 612:
            if(lookahead == 't')
                ADVANCE(652);
            END_STATE();
        case 613:
            if(lookahead == 't')
                ADVANCE(358);
            END_STATE();
        case 614:
            if(lookahead == 't')
                ADVANCE(175);
            END_STATE();
        case 615:
            if(lookahead == 't')
                ADVANCE(528);
            END_STATE();
        case 616:
            if(lookahead == 't')
                ADVANCE(128);
            END_STATE();
        case 617:
            if(lookahead == 'u')
                ADVANCE(398);
            END_STATE();
        case 618:
            if(lookahead == 'u')
                ADVANCE(497);
            END_STATE();
        case 619:
            if(lookahead == 'u')
                ADVANCE(423);
            END_STATE();
        case 620:
            if(lookahead == 'u')
                ADVANCE(381);
            END_STATE();
        case 621:
            if(lookahead == 'u')
                ADVANCE(235);
            END_STATE();
        case 622:
            if(lookahead == 'u')
                ADVANCE(561);
            END_STATE();
        case 623:
            if(lookahead == 'u')
                ADVANCE(274);
            END_STATE();
        case 624:
            if(lookahead == 'u')
                ADVANCE(238);
            END_STATE();
        case 625:
            if(lookahead == 'u')
                ADVANCE(184);
            END_STATE();
        case 626:
            if(lookahead == 'u')
                ADVANCE(444);
            END_STATE();
        case 627:
            if(lookahead == 'u')
                ADVANCE(384);
            END_STATE();
        case 628:
            if(lookahead == 'u')
                ADVANCE(198);
            END_STATE();
        case 629:
            if(lookahead == 'u')
                ADVANCE(380);
            END_STATE();
        case 630:
            if(lookahead == 'u')
                ADVANCE(435);
            END_STATE();
        case 631:
            if(lookahead == 'u')
                ADVANCE(385);
            END_STATE();
        case 632:
            if(lookahead == 'u')
                ADVANCE(596);
            END_STATE();
        case 633:
            if(lookahead == 'u')
                ADVANCE(295);
            END_STATE();
        case 634:
            if(lookahead == 'u')
                ADVANCE(188);
            END_STATE();
        case 635:
            if(lookahead == 'v')
                ADVANCE(341);
            END_STATE();
        case 636:
            if(lookahead == 'v')
                ADVANCE(332);
            END_STATE();
        case 637:
            if(lookahead == 'v')
                ADVANCE(241);
            END_STATE();
        case 638:
            if(lookahead == 'w')
                ADVANCE(136);
            END_STATE();
        case 639:
            if(lookahead == 'x')
                ADVANCE(951);
            END_STATE();
        case 640:
            if(lookahead == 'x')
                ADVANCE(568);
            END_STATE();
        case 641:
            if(lookahead == 'y')
                ADVANCE(723);
            END_STATE();
        case 642:
            if(lookahead == 'y')
                ADVANCE(883);
            END_STATE();
        case 643:
            if(lookahead == 'y')
                ADVANCE(907);
            END_STATE();
        case 644:
            if(lookahead == 'y')
                ADVANCE(937);
            END_STATE();
        case 645:
            if(lookahead == 'y')
                ADVANCE(846);
            END_STATE();
        case 646:
            if(lookahead == 'y')
                ADVANCE(969);
            END_STATE();
        case 647:
            if(lookahead == 'y')
                ADVANCE(875);
            END_STATE();
        case 648:
            if(lookahead == 'y')
                ADVANCE(365);
            END_STATE();
        case 649:
            if(lookahead == 'y')
                ADVANCE(488);
            END_STATE();
        case 650:
            if(lookahead == 'y')
                ADVANCE(489);
            END_STATE();
        case 651:
            if(lookahead == 'y')
                ADVANCE(490);
            END_STATE();
        case 652:
            if(lookahead == 'y')
                ADVANCE(491);
            END_STATE();
        case 653:
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(775);
            END_STATE();
        case 654:
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(764);
            END_STATE();
        case 655:
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(769);
            if(('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(782);
            END_STATE();
        case 656:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(778);
            END_STATE();
        case 657:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(782);
            END_STATE();
        case 658:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(765);
            END_STATE();
        case 659:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(745);
            END_STATE();
        case 660:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(659);
            END_STATE();
        case 661:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(660);
            END_STATE();
        case 662:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(661);
            END_STATE();
        case 663:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(662);
            END_STATE();
        case 664:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(663);
            END_STATE();
        case 665:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(664);
            END_STATE();
        case 666:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(665);
            END_STATE();
        case 667:
            if(lookahead != 0 &&
               lookahead != '*')
                ADVANCE(816);
            END_STATE();
        case 668:
            if(eof)
                ADVANCE(673);
            if(lookahead == '\n')
                SKIP(0);
            END_STATE();
        case 669:
            if(eof)
                ADVANCE(673);
            if(lookahead == '\n')
                SKIP(0);
            if(lookahead == '\r')
                SKIP(668);
            END_STATE();
        case 670:
            if(eof)
                ADVANCE(673);
            if(lookahead == '\n')
                SKIP(672);
            END_STATE();
        case 671:
            if(eof)
                ADVANCE(673);
            if(lookahead == '\n')
                SKIP(672);
            if(lookahead == '\r')
                SKIP(670);
            END_STATE();
        case 672:
            if(eof)
                ADVANCE(673);
            ADVANCE_MAP(
                '#', 209,
                '%', 741,
                '&', 732,
                ')', 743,
                '*', 739,
                '+', 735,
                ',', 725,
                '-', 737,
                '/', 740,
                ':', 834,
                ';', 835,
                '<', 115,
                '=', 864,
                '>', 722,
                '@', 863,
                '[', 941,
            );
            if(lookahead == '\\')
                SKIP(671);
            if(lookahead == ']')
                ADVANCE(942);
            if(lookahead == '^')
                ADVANCE(731);
            if(lookahead == 'a')
                ADVANCE(178);
            if(lookahead == 'b')
                ADVANCE(348);
            if(lookahead == 'c')
                ADVANCE(134);
            if(lookahead == 'd')
                ADVANCE(293);
            if(lookahead == 'e')
                ADVANCE(421);
            if(lookahead == 'g')
                ADVANCE(287);
            if(lookahead == 'h')
                ADVANCE(451);
            if(lookahead == 'i')
                ADVANCE(401);
            if(lookahead == 'l')
                ADVANCE(481);
            if(lookahead == 'm')
                ADVANCE(453);
            if(lookahead == 'n')
                ADVANCE(139);
            if(lookahead == 'o')
                ADVANCE(193);
            if(lookahead == 'p')
                ADVANCE(480);
            if(lookahead == 'r')
                ADVANCE(172);
            if(lookahead == 's')
                ADVANCE(297);
            if(lookahead == 't')
                ADVANCE(650);
            if(lookahead == 'u')
                ADVANCE(325);
            if(lookahead == 'v')
                ADVANCE(157);
            if(lookahead == '|')
                ADVANCE(730);
            if(lookahead == '}')
                ADVANCE(827);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(672);
            END_STATE();
        case 673:
            ACCEPT_TOKEN(ts_builtin_sym_end);
            END_STATE();
        case 674:
            ACCEPT_TOKEN(anon_sym_short);
            END_STATE();
        case 675:
            ACCEPT_TOKEN(anon_sym_short);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 676:
            ACCEPT_TOKEN(anon_sym_int16);
            END_STATE();
        case 677:
            ACCEPT_TOKEN(anon_sym_int16);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 678:
            ACCEPT_TOKEN(anon_sym_long);
            if(lookahead == ' ')
                ADVANCE(221);
            END_STATE();
        case 679:
            ACCEPT_TOKEN(anon_sym_long);
            if(lookahead == ' ')
                ADVANCE(221);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 680:
            ACCEPT_TOKEN(anon_sym_long);
            if(lookahead == ' ')
                ADVANCE(392);
            END_STATE();
        case 681:
            ACCEPT_TOKEN(anon_sym_long);
            if(lookahead == ' ')
                ADVANCE(392);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 682:
            ACCEPT_TOKEN(anon_sym_int32);
            END_STATE();
        case 683:
            ACCEPT_TOKEN(anon_sym_int32);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 684:
            ACCEPT_TOKEN(anon_sym_longlong);
            END_STATE();
        case 685:
            ACCEPT_TOKEN(anon_sym_int64);
            END_STATE();
        case 686:
            ACCEPT_TOKEN(anon_sym_int64);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 687:
            ACCEPT_TOKEN(sym_unsigned_tiny_int);
            END_STATE();
        case 688:
            ACCEPT_TOKEN(sym_unsigned_tiny_int);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 689:
            ACCEPT_TOKEN(sym_boolean_type);
            END_STATE();
        case 690:
            ACCEPT_TOKEN(sym_boolean_type);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 691:
            ACCEPT_TOKEN(anon_sym_fixed);
            END_STATE();
        case 692:
            ACCEPT_TOKEN(anon_sym_fixed);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 693:
            ACCEPT_TOKEN(sym_octet_type);
            END_STATE();
        case 694:
            ACCEPT_TOKEN(sym_octet_type);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 695:
            ACCEPT_TOKEN(sym_signed_tiny_int);
            END_STATE();
        case 696:
            ACCEPT_TOKEN(sym_signed_tiny_int);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 697:
            ACCEPT_TOKEN(anon_sym_unsignedshort);
            END_STATE();
        case 698:
            ACCEPT_TOKEN(anon_sym_uint16);
            END_STATE();
        case 699:
            ACCEPT_TOKEN(anon_sym_uint16);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 700:
            ACCEPT_TOKEN(anon_sym_unsignedlong);
            if(lookahead == ' ')
                ADVANCE(395);
            END_STATE();
        case 701:
            ACCEPT_TOKEN(anon_sym_uint32);
            END_STATE();
        case 702:
            ACCEPT_TOKEN(anon_sym_uint32);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 703:
            ACCEPT_TOKEN(anon_sym_unsignedlonglong);
            END_STATE();
        case 704:
            ACCEPT_TOKEN(anon_sym_uint64);
            END_STATE();
        case 705:
            ACCEPT_TOKEN(anon_sym_uint64);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 706:
            ACCEPT_TOKEN(anon_sym_float);
            END_STATE();
        case 707:
            ACCEPT_TOKEN(anon_sym_float);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 708:
            ACCEPT_TOKEN(anon_sym_double);
            END_STATE();
        case 709:
            ACCEPT_TOKEN(anon_sym_double);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 710:
            ACCEPT_TOKEN(anon_sym_longdouble);
            END_STATE();
        case 711:
            ACCEPT_TOKEN(anon_sym_char);
            END_STATE();
        case 712:
            ACCEPT_TOKEN(anon_sym_char);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 713:
            ACCEPT_TOKEN(anon_sym_wchar);
            END_STATE();
        case 714:
            ACCEPT_TOKEN(anon_sym_wchar);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 715:
            ACCEPT_TOKEN(anon_sym_COLON_COLON);
            END_STATE();
        case 716:
            ACCEPT_TOKEN(anon_sym_string);
            END_STATE();
        case 717:
            ACCEPT_TOKEN(anon_sym_string);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 718:
            ACCEPT_TOKEN(anon_sym_wstring);
            END_STATE();
        case 719:
            ACCEPT_TOKEN(anon_sym_wstring);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 720:
            ACCEPT_TOKEN(anon_sym_LT);
            END_STATE();
        case 721:
            ACCEPT_TOKEN(anon_sym_GT);
            END_STATE();
        case 722:
            ACCEPT_TOKEN(anon_sym_GT);
            if(lookahead == '>')
                ADVANCE(733);
            END_STATE();
        case 723:
            ACCEPT_TOKEN(anon_sym_any);
            END_STATE();
        case 724:
            ACCEPT_TOKEN(anon_sym_any);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 725:
            ACCEPT_TOKEN(anon_sym_COMMA);
            END_STATE();
        case 726:
            ACCEPT_TOKEN(anon_sym_sequence);
            END_STATE();
        case 727:
            ACCEPT_TOKEN(anon_sym_sequence);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 728:
            ACCEPT_TOKEN(anon_sym_map);
            END_STATE();
        case 729:
            ACCEPT_TOKEN(anon_sym_map);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 730:
            ACCEPT_TOKEN(anon_sym_PIPE);
            END_STATE();
        case 731:
            ACCEPT_TOKEN(anon_sym_CARET);
            END_STATE();
        case 732:
            ACCEPT_TOKEN(anon_sym_AMP);
            END_STATE();
        case 733:
            ACCEPT_TOKEN(anon_sym_GT_GT);
            END_STATE();
        case 734:
            ACCEPT_TOKEN(anon_sym_LT_LT);
            END_STATE();
        case 735:
            ACCEPT_TOKEN(anon_sym_PLUS);
            END_STATE();
        case 736:
            ACCEPT_TOKEN(anon_sym_PLUS);
            if(lookahead == '.')
                ADVANCE(654);
            if(lookahead == '0')
                ADVANCE(771);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(775);
            END_STATE();
        case 737:
            ACCEPT_TOKEN(anon_sym_DASH);
            END_STATE();
        case 738:
            ACCEPT_TOKEN(anon_sym_DASH);
            if(lookahead == '.')
                ADVANCE(654);
            if(lookahead == '0')
                ADVANCE(771);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(775);
            END_STATE();
        case 739:
            ACCEPT_TOKEN(anon_sym_STAR);
            END_STATE();
        case 740:
            ACCEPT_TOKEN(anon_sym_SLASH);
            if(lookahead == '*')
                ADVANCE(1398);
            if(lookahead == '/')
                ADVANCE(1386);
            END_STATE();
        case 741:
            ACCEPT_TOKEN(anon_sym_PERCENT);
            END_STATE();
        case 742:
            ACCEPT_TOKEN(anon_sym_LPAREN);
            END_STATE();
        case 743:
            ACCEPT_TOKEN(anon_sym_RPAREN);
            END_STATE();
        case 744:
            ACCEPT_TOKEN(anon_sym_TILDE);
            END_STATE();
        case 745:
            ACCEPT_TOKEN(sym_escape_sequence);
            END_STATE();
        case 746:
            ACCEPT_TOKEN(sym_escape_sequence);
            if(lookahead == '\\')
                ADVANCE(50);
            END_STATE();
        case 747:
            ACCEPT_TOKEN(sym_escape_sequence);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(745);
            END_STATE();
        case 748:
            ACCEPT_TOKEN(sym_escape_sequence);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(747);
            END_STATE();
        case 749:
            ACCEPT_TOKEN(anon_sym_L);
            END_STATE();
        case 750:
            ACCEPT_TOKEN(anon_sym_L);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 751:
            ACCEPT_TOKEN(anon_sym_DQUOTE);
            END_STATE();
        case 752:
            ACCEPT_TOKEN(aux_sym_string_literal_token1);
            if(lookahead == '*')
                ADVANCE(754);
            if(lookahead == '/')
                ADVANCE(754);
            if(lookahead != 0 &&
               lookahead != '\n' &&
               lookahead != '"' &&
               lookahead != '\\')
                ADVANCE(754);
            END_STATE();
        case 753:
            ACCEPT_TOKEN(aux_sym_string_literal_token1);
            if(lookahead == '/')
                ADVANCE(752);
            if(lookahead == '\t' ||
               (0x0b <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                ADVANCE(753);
            if(lookahead != 0 &&
               (lookahead < '\t' || '\r' < lookahead) &&
               lookahead != '"' &&
               lookahead != '\\')
                ADVANCE(754);
            END_STATE();
        case 754:
            ACCEPT_TOKEN(aux_sym_string_literal_token1);
            if(lookahead != 0 &&
               lookahead != '\n' &&
               lookahead != '"' &&
               lookahead != '\\')
                ADVANCE(754);
            END_STATE();
        case 755:
            ACCEPT_TOKEN(anon_sym_SQUOTE);
            END_STATE();
        case 756:
            ACCEPT_TOKEN(aux_sym_char_literal_token1);
            END_STATE();
        case 757:
            ACCEPT_TOKEN(aux_sym_char_literal_token1);
            if(lookahead == '\n')
                ADVANCE(746);
            if(lookahead == '\r')
                ADVANCE(745);
            if(lookahead == 'U')
                ADVANCE(666);
            if(lookahead == 'u')
                ADVANCE(662);
            if(lookahead == 'x')
                ADVANCE(660);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(748);
            if(lookahead != 0)
                ADVANCE(745);
            END_STATE();
        case 758:
            ACCEPT_TOKEN(aux_sym_char_literal_token1);
            if(lookahead == '*')
                ADVANCE(1398);
            if(lookahead == '/')
                ADVANCE(1386);
            END_STATE();
        case 759:
            ACCEPT_TOKEN(aux_sym_char_literal_token1);
            if(lookahead == '\\')
                ADVANCE(50);
            END_STATE();
        case 760:
            ACCEPT_TOKEN(anon_sym_TRUE);
            END_STATE();
        case 761:
            ACCEPT_TOKEN(anon_sym_TRUE);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 762:
            ACCEPT_TOKEN(anon_sym_FALSE);
            END_STATE();
        case 763:
            ACCEPT_TOKEN(anon_sym_FALSE);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 764:
            ACCEPT_TOKEN(sym_number_literal);
            if(lookahead == '\'')
                ADVANCE(654);
            if(lookahead == 'E' ||
               lookahead == 'P' ||
               lookahead == 'e' ||
               lookahead == 'p')
                ADVANCE(787);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(764);
            if(set_contains(sym_number_literal_character_set_13, 13, lookahead))
                ADVANCE(792);
            END_STATE();
        case 765:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 658,
                'B', 765,
                'D', 765,
                'F', 765,
                'b', 765,
                'd', 765,
                'f', 765,
                'L', 792,
                'U', 792,
                'W', 792,
                'l', 792,
                'u', 792,
                'w', 792,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'E') ||
               ('a' <= lookahead && lookahead <= 'e'))
                ADVANCE(765);
            END_STATE();
        case 766:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 658,
                'B', 766,
                'D', 766,
                'F', 766,
                'b', 766,
                'd', 766,
                'f', 766,
                'L', 793,
                'U', 793,
                'W', 793,
                'l', 793,
                'u', 793,
                'w', 793,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'E') ||
               ('a' <= lookahead && lookahead <= 'e'))
                ADVANCE(766);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 767:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 655,
                '.', 789,
                'B', 781,
                'b', 781,
                'E', 779,
                'e', 779,
                'P', 787,
                'p', 787,
                'X', 657,
                'x', 657,
                'A', 782,
                'C', 782,
                'a', 782,
                'c', 782,
                'D', 782,
                'F', 782,
                'd', 782,
                'f', 782,
                'L', 792,
                'U', 792,
                'W', 792,
                'l', 792,
                'u', 792,
                'w', 792,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(769);
            END_STATE();
        case 768:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 655,
                '.', 789,
                'B', 783,
                'b', 783,
                'E', 780,
                'e', 780,
                'P', 788,
                'p', 788,
                'X', 1384,
                'x', 1384,
                'A', 784,
                'C', 784,
                'a', 784,
                'c', 784,
                'D', 784,
                'F', 784,
                'd', 784,
                'f', 784,
                'L', 793,
                'U', 793,
                'W', 793,
                'l', 793,
                'u', 793,
                'w', 793,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(770);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 769:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 655,
                '.', 789,
                'E', 779,
                'e', 779,
                'P', 787,
                'p', 787,
                'A', 782,
                'C', 782,
                'a', 782,
                'c', 782,
                'B', 782,
                'D', 782,
                'F', 782,
                'b', 782,
                'd', 782,
                'f', 782,
                'L', 792,
                'U', 792,
                'W', 792,
                'l', 792,
                'u', 792,
                'w', 792,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(769);
            END_STATE();
        case 770:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 655,
                '.', 789,
                'E', 780,
                'e', 780,
                'P', 788,
                'p', 788,
                'A', 784,
                'C', 784,
                'a', 784,
                'c', 784,
                'B', 784,
                'D', 784,
                'F', 784,
                'b', 784,
                'd', 784,
                'f', 784,
                'L', 793,
                'U', 793,
                'W', 793,
                'l', 793,
                'u', 793,
                'w', 793,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(770);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 771:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 653,
                '.', 789,
                'B', 785,
                'b', 785,
                'X', 88,
                'x', 88,
                'E', 787,
                'P', 787,
                'e', 787,
                'p', 787,
                'D', 792,
                'F', 792,
                'L', 792,
                'U', 792,
                'W', 792,
                'd', 792,
                'f', 792,
                'l', 792,
                'u', 792,
                'w', 792,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(775);
            END_STATE();
        case 772:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 653,
                '.', 789,
                'B', 790,
                'b', 790,
                'X', 657,
                'x', 657,
                'E', 787,
                'P', 787,
                'e', 787,
                'p', 787,
                'D', 792,
                'F', 792,
                'L', 792,
                'U', 792,
                'W', 792,
                'd', 792,
                'f', 792,
                'l', 792,
                'u', 792,
                'w', 792,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(775);
            END_STATE();
        case 773:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 653,
                '.', 789,
                'B', 786,
                'b', 786,
                'X', 979,
                'x', 979,
                'E', 788,
                'P', 788,
                'e', 788,
                'p', 788,
                'D', 793,
                'F', 793,
                'L', 793,
                'U', 793,
                'W', 793,
                'd', 793,
                'f', 793,
                'l', 793,
                'u', 793,
                'w', 793,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(776);
            if(('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 774:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 653,
                '.', 789,
                'B', 791,
                'b', 791,
                'X', 1384,
                'x', 1384,
                'E', 788,
                'P', 788,
                'e', 788,
                'p', 788,
                'D', 793,
                'F', 793,
                'L', 793,
                'U', 793,
                'W', 793,
                'd', 793,
                'f', 793,
                'l', 793,
                'u', 793,
                'w', 793,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(776);
            if(('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 775:
            ACCEPT_TOKEN(sym_number_literal);
            if(lookahead == '\'')
                ADVANCE(653);
            if(lookahead == '.')
                ADVANCE(789);
            if(lookahead == 'E' ||
               lookahead == 'P' ||
               lookahead == 'e' ||
               lookahead == 'p')
                ADVANCE(787);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(775);
            if(set_contains(sym_number_literal_character_set_13, 13, lookahead))
                ADVANCE(792);
            END_STATE();
        case 776:
            ACCEPT_TOKEN(sym_number_literal);
            if(lookahead == '\'')
                ADVANCE(653);
            if(lookahead == '.')
                ADVANCE(789);
            if(lookahead == 'E' ||
               lookahead == 'P' ||
               lookahead == 'e' ||
               lookahead == 'p')
                ADVANCE(788);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(776);
            if(set_contains(sym_number_literal_character_set_13, 13, lookahead))
                ADVANCE(793);
            if(('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 777:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 656,
                '+', 658,
                '-', 658,
                'E', 777,
                'e', 777,
                'P', 787,
                'p', 787,
                'B', 778,
                'D', 778,
                'F', 778,
                'b', 778,
                'd', 778,
                'f', 778,
                'L', 792,
                'U', 792,
                'W', 792,
                'l', 792,
                'u', 792,
                'w', 792,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'C') ||
               ('a' <= lookahead && lookahead <= 'c'))
                ADVANCE(778);
            END_STATE();
        case 778:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 656,
                'E', 777,
                'e', 777,
                'P', 787,
                'p', 787,
                'B', 778,
                'D', 778,
                'F', 778,
                'b', 778,
                'd', 778,
                'f', 778,
                'L', 792,
                'U', 792,
                'W', 792,
                'l', 792,
                'u', 792,
                'w', 792,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'C') ||
               ('a' <= lookahead && lookahead <= 'c'))
                ADVANCE(778);
            END_STATE();
        case 779:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 657,
                '.', 789,
                '+', 658,
                '-', 658,
                'E', 779,
                'e', 779,
                'P', 787,
                'p', 787,
                'B', 782,
                'D', 782,
                'F', 782,
                'b', 782,
                'd', 782,
                'f', 782,
                'L', 792,
                'U', 792,
                'W', 792,
                'l', 792,
                'u', 792,
                'w', 792,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'C') ||
               ('a' <= lookahead && lookahead <= 'c'))
                ADVANCE(782);
            END_STATE();
        case 780:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 657,
                '.', 789,
                '+', 658,
                '-', 658,
                'E', 780,
                'e', 780,
                'P', 788,
                'p', 788,
                'B', 784,
                'D', 784,
                'F', 784,
                'b', 784,
                'd', 784,
                'f', 784,
                'L', 793,
                'U', 793,
                'W', 793,
                'l', 793,
                'u', 793,
                'w', 793,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'C') ||
               ('a' <= lookahead && lookahead <= 'c'))
                ADVANCE(784);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 781:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 657,
                '.', 789,
                'E', 779,
                'e', 779,
                'P', 787,
                'p', 787,
                'A', 782,
                'C', 782,
                'a', 782,
                'c', 782,
                'B', 782,
                'D', 782,
                'F', 782,
                'b', 782,
                'd', 782,
                'f', 782,
                'L', 792,
                'U', 792,
                'W', 792,
                'l', 792,
                'u', 792,
                'w', 792,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(769);
            END_STATE();
        case 782:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 657,
                '.', 789,
                'E', 779,
                'e', 779,
                'P', 787,
                'p', 787,
                'B', 782,
                'D', 782,
                'F', 782,
                'b', 782,
                'd', 782,
                'f', 782,
                'L', 792,
                'U', 792,
                'W', 792,
                'l', 792,
                'u', 792,
                'w', 792,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'C') ||
               ('a' <= lookahead && lookahead <= 'c'))
                ADVANCE(782);
            END_STATE();
        case 783:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 657,
                '.', 789,
                'E', 780,
                'e', 780,
                'P', 788,
                'p', 788,
                'A', 784,
                'C', 784,
                'a', 784,
                'c', 784,
                'B', 784,
                'D', 784,
                'F', 784,
                'b', 784,
                'd', 784,
                'f', 784,
                'L', 793,
                'U', 793,
                'W', 793,
                'l', 793,
                'u', 793,
                'w', 793,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(770);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 784:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 657,
                '.', 789,
                'E', 780,
                'e', 780,
                'P', 788,
                'p', 788,
                'B', 784,
                'D', 784,
                'F', 784,
                'b', 784,
                'd', 784,
                'f', 784,
                'L', 793,
                'U', 793,
                'W', 793,
                'l', 793,
                'u', 793,
                'w', 793,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'C') ||
               ('a' <= lookahead && lookahead <= 'c'))
                ADVANCE(784);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 785:
            ACCEPT_TOKEN(sym_number_literal);
            if(lookahead == '.')
                ADVANCE(654);
            if(lookahead == '0')
                ADVANCE(772);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(775);
            if(set_contains(sym_number_literal_character_set_13, 13, lookahead))
                ADVANCE(792);
            END_STATE();
        case 786:
            ACCEPT_TOKEN(sym_number_literal);
            if(lookahead == '.')
                ADVANCE(654);
            if(lookahead == '0')
                ADVANCE(774);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(776);
            if(set_contains(sym_number_literal_character_set_13, 13, lookahead))
                ADVANCE(793);
            if(('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 787:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '+', 658,
                '-', 658,
                'B', 765,
                'D', 765,
                'F', 765,
                'b', 765,
                'd', 765,
                'f', 765,
                'L', 792,
                'U', 792,
                'W', 792,
                'l', 792,
                'u', 792,
                'w', 792,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'E') ||
               ('a' <= lookahead && lookahead <= 'e'))
                ADVANCE(765);
            END_STATE();
        case 788:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '+', 658,
                '-', 658,
                'B', 766,
                'D', 766,
                'F', 766,
                'b', 766,
                'd', 766,
                'f', 766,
                'L', 793,
                'U', 793,
                'W', 793,
                'l', 793,
                'u', 793,
                'w', 793,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'E') ||
               ('a' <= lookahead && lookahead <= 'e'))
                ADVANCE(766);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 789:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                'E', 777,
                'e', 777,
                'P', 787,
                'p', 787,
                'B', 778,
                'D', 778,
                'F', 778,
                'b', 778,
                'd', 778,
                'f', 778,
                'L', 792,
                'U', 792,
                'W', 792,
                'l', 792,
                'u', 792,
                'w', 792,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'C') ||
               ('a' <= lookahead && lookahead <= 'c'))
                ADVANCE(778);
            END_STATE();
        case 790:
            ACCEPT_TOKEN(sym_number_literal);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(775);
            if(set_contains(sym_number_literal_character_set_13, 13, lookahead))
                ADVANCE(792);
            END_STATE();
        case 791:
            ACCEPT_TOKEN(sym_number_literal);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(776);
            if(set_contains(sym_number_literal_character_set_13, 13, lookahead))
                ADVANCE(793);
            if(('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 792:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                'B', 792,
                'D', 792,
                'F', 792,
                'L', 792,
                'U', 792,
                'W', 792,
                'b', 792,
                'd', 792,
                'f', 792,
                'l', 792,
                'u', 792,
                'w', 792,
            );
            END_STATE();
        case 793:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                'B', 793,
                'D', 793,
                'F', 793,
                'L', 793,
                'U', 793,
                'W', 793,
                'b', 793,
                'd', 793,
                'f', 793,
                'l', 793,
                'u', 793,
                'w', 793,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 794:
            ACCEPT_TOKEN(anon_sym_POUNDdefine);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(811);
            END_STATE();
        case 795:
            ACCEPT_TOKEN(aux_sym_preproc_define_token1);
            if(lookahead == '\r')
                ADVANCE(798);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(798);
            END_STATE();
        case 796:
            ACCEPT_TOKEN(aux_sym_preproc_define_token1);
            if(lookahead == '*')
                ADVANCE(1402);
            if(lookahead == '/')
                ADVANCE(1390);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(798);
            END_STATE();
        case 797:
            ACCEPT_TOKEN(aux_sym_preproc_define_token1);
            if(lookahead == '/')
                ADVANCE(796);
            if(lookahead == '\\')
                ADVANCE(795);
            if(lookahead == '\t' ||
               (0x0b <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                ADVANCE(797);
            if(lookahead != 0 &&
               (lookahead < '\t' || '\r' < lookahead))
                ADVANCE(798);
            END_STATE();
        case 798:
            ACCEPT_TOKEN(aux_sym_preproc_define_token1);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(798);
            END_STATE();
        case 799:
            ACCEPT_TOKEN(aux_sym_preproc_call_token1);
            END_STATE();
        case 800:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'c')
                ADVANCE(807);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(811);
            END_STATE();
        case 801:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'd')
                ADVANCE(804);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(811);
            END_STATE();
        case 802:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'e')
                ADVANCE(805);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(811);
            END_STATE();
        case 803:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'e')
                ADVANCE(794);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(811);
            END_STATE();
        case 804:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'e')
                ADVANCE(818);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(811);
            END_STATE();
        case 805:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'f')
                ADVANCE(806);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(811);
            END_STATE();
        case 806:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'i')
                ADVANCE(809);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(811);
            END_STATE();
        case 807:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'l')
                ADVANCE(810);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(811);
            END_STATE();
        case 808:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'n')
                ADVANCE(800);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(811);
            END_STATE();
        case 809:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'n')
                ADVANCE(803);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(811);
            END_STATE();
        case 810:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'u')
                ADVANCE(801);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(811);
            END_STATE();
        case 811:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(811);
            END_STATE();
        case 812:
            ACCEPT_TOKEN(sym_preproc_arg);
            if(lookahead == '\n')
                SKIP(104);
            if(lookahead == '\r')
                ADVANCE(813);
            if(lookahead == '/')
                ADVANCE(667);
            if(lookahead == '\\')
                ADVANCE(814);
            if(lookahead != 0)
                ADVANCE(816);
            END_STATE();
        case 813:
            ACCEPT_TOKEN(sym_preproc_arg);
            if(lookahead == '\n')
                SKIP(104);
            if(lookahead == '/')
                ADVANCE(667);
            if(lookahead == '\\')
                ADVANCE(814);
            if(lookahead != 0)
                ADVANCE(816);
            END_STATE();
        case 814:
            ACCEPT_TOKEN(sym_preproc_arg);
            if(lookahead == '\r')
                ADVANCE(817);
            if(lookahead == '/')
                ADVANCE(667);
            if(lookahead == '\\')
                ADVANCE(814);
            if(lookahead != 0)
                ADVANCE(816);
            END_STATE();
        case 815:
            ACCEPT_TOKEN(sym_preproc_arg);
            if(lookahead == '*')
                ADVANCE(1398);
            if(lookahead == '/')
                ADVANCE(1386);
            if(lookahead == '\\')
                ADVANCE(814);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(816);
            END_STATE();
        case 816:
            ACCEPT_TOKEN(sym_preproc_arg);
            if(lookahead == '/')
                ADVANCE(667);
            if(lookahead == '\\')
                ADVANCE(814);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(816);
            END_STATE();
        case 817:
            ACCEPT_TOKEN(sym_preproc_arg);
            if(lookahead == '/')
                ADVANCE(667);
            if(lookahead == '\\')
                ADVANCE(814);
            if(lookahead != 0)
                ADVANCE(816);
            END_STATE();
        case 818:
            ACCEPT_TOKEN(aux_sym_preproc_include_token1);
            END_STATE();
        case 819:
            ACCEPT_TOKEN(sym_system_lib_path);
            if(lookahead == '\r')
                ADVANCE(822);
            if(lookahead == '\\')
                ADVANCE(823);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(822);
            END_STATE();
        case 820:
            ACCEPT_TOKEN(sym_system_lib_path);
            if(lookahead == '*')
                ADVANCE(1401);
            if(lookahead == '/')
                ADVANCE(1389);
            if(lookahead == '\\')
                ADVANCE(823);
            if(lookahead != 0 &&
               lookahead != '\n' &&
               lookahead != '>')
                ADVANCE(822);
            END_STATE();
        case 821:
            ACCEPT_TOKEN(sym_system_lib_path);
            if(lookahead == '/')
                ADVANCE(820);
            if(lookahead == '\\')
                ADVANCE(819);
            if(lookahead == '\t' ||
               (0x0b <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                ADVANCE(821);
            if(lookahead != 0 &&
               (lookahead < '\t' || '\r' < lookahead) &&
               lookahead != '>')
                ADVANCE(822);
            END_STATE();
        case 822:
            ACCEPT_TOKEN(sym_system_lib_path);
            if(lookahead == '\\')
                ADVANCE(823);
            if(lookahead != 0 &&
               lookahead != '\n' &&
               lookahead != '>')
                ADVANCE(822);
            END_STATE();
        case 823:
            ACCEPT_TOKEN(sym_system_lib_path);
            if(lookahead == '\\')
                ADVANCE(823);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(822);
            END_STATE();
        case 824:
            ACCEPT_TOKEN(anon_sym_exception);
            END_STATE();
        case 825:
            ACCEPT_TOKEN(anon_sym_exception);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 826:
            ACCEPT_TOKEN(anon_sym_LBRACE);
            END_STATE();
        case 827:
            ACCEPT_TOKEN(anon_sym_RBRACE);
            END_STATE();
        case 828:
            ACCEPT_TOKEN(anon_sym_local);
            END_STATE();
        case 829:
            ACCEPT_TOKEN(anon_sym_abstract);
            END_STATE();
        case 830:
            ACCEPT_TOKEN(anon_sym_abstract);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 831:
            ACCEPT_TOKEN(anon_sym_interface);
            END_STATE();
        case 832:
            ACCEPT_TOKEN(anon_sym_interface);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 833:
            ACCEPT_TOKEN(anon_sym_COLON);
            END_STATE();
        case 834:
            ACCEPT_TOKEN(anon_sym_COLON);
            if(lookahead == ':')
                ADVANCE(715);
            END_STATE();
        case 835:
            ACCEPT_TOKEN(anon_sym_SEMI);
            END_STATE();
        case 836:
            ACCEPT_TOKEN(anon_sym_void);
            END_STATE();
        case 837:
            ACCEPT_TOKEN(anon_sym_void);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 838:
            ACCEPT_TOKEN(anon_sym_in);
            END_STATE();
        case 839:
            ACCEPT_TOKEN(anon_sym_in);
            if(lookahead == 'o')
                ADVANCE(622);
            if(lookahead == 't')
                ADVANCE(105);
            END_STATE();
        case 840:
            ACCEPT_TOKEN(anon_sym_in);
            if(lookahead == 'o')
                ADVANCE(1354);
            if(lookahead == 't')
                ADVANCE(981);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 841:
            ACCEPT_TOKEN(anon_sym_out);
            END_STATE();
        case 842:
            ACCEPT_TOKEN(anon_sym_out);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 843:
            ACCEPT_TOKEN(anon_sym_inout);
            END_STATE();
        case 844:
            ACCEPT_TOKEN(anon_sym_inout);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 845:
            ACCEPT_TOKEN(anon_sym_raises);
            END_STATE();
        case 846:
            ACCEPT_TOKEN(anon_sym_readonly);
            END_STATE();
        case 847:
            ACCEPT_TOKEN(anon_sym_readonly);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 848:
            ACCEPT_TOKEN(anon_sym_attribute);
            END_STATE();
        case 849:
            ACCEPT_TOKEN(anon_sym_attribute);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 850:
            ACCEPT_TOKEN(anon_sym_getraises);
            END_STATE();
        case 851:
            ACCEPT_TOKEN(anon_sym_setraises);
            END_STATE();
        case 852:
            ACCEPT_TOKEN(anon_sym_bitset);
            END_STATE();
        case 853:
            ACCEPT_TOKEN(anon_sym_bitset);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 854:
            ACCEPT_TOKEN(anon_sym_bitfield);
            END_STATE();
        case 855:
            ACCEPT_TOKEN(anon_sym_bitmask);
            END_STATE();
        case 856:
            ACCEPT_TOKEN(anon_sym_bitmask);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 857:
            ACCEPT_TOKEN(anon_sym_ATannotation);
            END_STATE();
        case 858:
            ACCEPT_TOKEN(anon_sym_default);
            END_STATE();
        case 859:
            ACCEPT_TOKEN(anon_sym_default);
            if(lookahead == '_')
                ADVANCE(391);
            END_STATE();
        case 860:
            ACCEPT_TOKEN(anon_sym_default);
            if(lookahead == '_')
                ADVANCE(1184);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 861:
            ACCEPT_TOKEN(anon_sym_default);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 862:
            ACCEPT_TOKEN(anon_sym_AT);
            END_STATE();
        case 863:
            ACCEPT_TOKEN(anon_sym_AT);
            if(lookahead == 'a')
                ADVANCE(422);
            END_STATE();
        case 864:
            ACCEPT_TOKEN(anon_sym_EQ);
            END_STATE();
        case 865:
            ACCEPT_TOKEN(anon_sym_id);
            END_STATE();
        case 866:
            ACCEPT_TOKEN(anon_sym_id);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 867:
            ACCEPT_TOKEN(anon_sym_autoid);
            END_STATE();
        case 868:
            ACCEPT_TOKEN(anon_sym_autoid);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 869:
            ACCEPT_TOKEN(anon_sym_optional);
            END_STATE();
        case 870:
            ACCEPT_TOKEN(anon_sym_optional);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 871:
            ACCEPT_TOKEN(anon_sym_position);
            END_STATE();
        case 872:
            ACCEPT_TOKEN(anon_sym_position);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 873:
            ACCEPT_TOKEN(anon_sym_value);
            END_STATE();
        case 874:
            ACCEPT_TOKEN(anon_sym_value);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 875:
            ACCEPT_TOKEN(anon_sym_extensibility);
            END_STATE();
        case 876:
            ACCEPT_TOKEN(anon_sym_extensibility);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 877:
            ACCEPT_TOKEN(anon_sym_final);
            END_STATE();
        case 878:
            ACCEPT_TOKEN(anon_sym_final);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 879:
            ACCEPT_TOKEN(anon_sym_appendable);
            END_STATE();
        case 880:
            ACCEPT_TOKEN(anon_sym_appendable);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 881:
            ACCEPT_TOKEN(anon_sym_mutable);
            END_STATE();
        case 882:
            ACCEPT_TOKEN(anon_sym_mutable);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 883:
            ACCEPT_TOKEN(anon_sym_key);
            END_STATE();
        case 884:
            ACCEPT_TOKEN(anon_sym_key);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 885:
            ACCEPT_TOKEN(anon_sym_must_understand);
            END_STATE();
        case 886:
            ACCEPT_TOKEN(anon_sym_must_understand);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 887:
            ACCEPT_TOKEN(anon_sym_default_literal);
            END_STATE();
        case 888:
            ACCEPT_TOKEN(anon_sym_default_literal);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 889:
            ACCEPT_TOKEN(anon_sym_range);
            END_STATE();
        case 890:
            ACCEPT_TOKEN(anon_sym_range);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 891:
            ACCEPT_TOKEN(anon_sym_min);
            END_STATE();
        case 892:
            ACCEPT_TOKEN(anon_sym_min);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 893:
            ACCEPT_TOKEN(anon_sym_max);
            END_STATE();
        case 894:
            ACCEPT_TOKEN(anon_sym_max);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 895:
            ACCEPT_TOKEN(anon_sym_unit);
            END_STATE();
        case 896:
            ACCEPT_TOKEN(anon_sym_unit);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 897:
            ACCEPT_TOKEN(anon_sym_bit_bound);
            END_STATE();
        case 898:
            ACCEPT_TOKEN(anon_sym_bit_bound);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 899:
            ACCEPT_TOKEN(anon_sym_external);
            END_STATE();
        case 900:
            ACCEPT_TOKEN(anon_sym_external);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 901:
            ACCEPT_TOKEN(anon_sym_nested);
            END_STATE();
        case 902:
            ACCEPT_TOKEN(anon_sym_nested);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 903:
            ACCEPT_TOKEN(anon_sym_verbatim);
            END_STATE();
        case 904:
            ACCEPT_TOKEN(anon_sym_verbatim);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 905:
            ACCEPT_TOKEN(anon_sym_service);
            END_STATE();
        case 906:
            ACCEPT_TOKEN(anon_sym_service);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 907:
            ACCEPT_TOKEN(anon_sym_oneway);
            END_STATE();
        case 908:
            ACCEPT_TOKEN(anon_sym_oneway);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 909:
            ACCEPT_TOKEN(anon_sym_ami);
            END_STATE();
        case 910:
            ACCEPT_TOKEN(anon_sym_ami);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 911:
            ACCEPT_TOKEN(anon_sym_module);
            END_STATE();
        case 912:
            ACCEPT_TOKEN(anon_sym_typename);
            END_STATE();
        case 913:
            ACCEPT_TOKEN(anon_sym_typename);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 914:
            ACCEPT_TOKEN(anon_sym_valuetype);
            END_STATE();
        case 915:
            ACCEPT_TOKEN(anon_sym_valuetype);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 916:
            ACCEPT_TOKEN(anon_sym_eventtype);
            END_STATE();
        case 917:
            ACCEPT_TOKEN(anon_sym_eventtype);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 918:
            ACCEPT_TOKEN(anon_sym_struct);
            END_STATE();
        case 919:
            ACCEPT_TOKEN(anon_sym_struct);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 920:
            ACCEPT_TOKEN(anon_sym_union);
            END_STATE();
        case 921:
            ACCEPT_TOKEN(anon_sym_union);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 922:
            ACCEPT_TOKEN(anon_sym_enum);
            END_STATE();
        case 923:
            ACCEPT_TOKEN(anon_sym_enum);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 924:
            ACCEPT_TOKEN(anon_sym_const);
            END_STATE();
        case 925:
            ACCEPT_TOKEN(anon_sym_const);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 926:
            ACCEPT_TOKEN(anon_sym_alias);
            END_STATE();
        case 927:
            ACCEPT_TOKEN(anon_sym_custom);
            END_STATE();
        case 928:
            ACCEPT_TOKEN(anon_sym_custom);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 929:
            ACCEPT_TOKEN(anon_sym_truncatable);
            END_STATE();
        case 930:
            ACCEPT_TOKEN(anon_sym_truncatable);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 931:
            ACCEPT_TOKEN(anon_sym_supports);
            END_STATE();
        case 932:
            ACCEPT_TOKEN(anon_sym_supports);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 933:
            ACCEPT_TOKEN(anon_sym_public);
            END_STATE();
        case 934:
            ACCEPT_TOKEN(anon_sym_public);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 935:
            ACCEPT_TOKEN(anon_sym_private);
            END_STATE();
        case 936:
            ACCEPT_TOKEN(anon_sym_private);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 937:
            ACCEPT_TOKEN(anon_sym_factory);
            END_STATE();
        case 938:
            ACCEPT_TOKEN(anon_sym_factory);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 939:
            ACCEPT_TOKEN(anon_sym_typedef);
            END_STATE();
        case 940:
            ACCEPT_TOKEN(anon_sym_typedef);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 941:
            ACCEPT_TOKEN(anon_sym_LBRACK);
            END_STATE();
        case 942:
            ACCEPT_TOKEN(anon_sym_RBRACK);
            END_STATE();
        case 943:
            ACCEPT_TOKEN(anon_sym_ATdefault_literal);
            END_STATE();
        case 944:
            ACCEPT_TOKEN(anon_sym_ATignore_literal_names);
            END_STATE();
        case 945:
            ACCEPT_TOKEN(anon_sym_switch);
            END_STATE();
        case 946:
            ACCEPT_TOKEN(anon_sym_switch);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 947:
            ACCEPT_TOKEN(anon_sym_case);
            END_STATE();
        case 948:
            ACCEPT_TOKEN(anon_sym_case);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 949:
            ACCEPT_TOKEN(anon_sym_typeid);
            END_STATE();
        case 950:
            ACCEPT_TOKEN(anon_sym_typeid);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 951:
            ACCEPT_TOKEN(anon_sym_typeprefix);
            END_STATE();
        case 952:
            ACCEPT_TOKEN(anon_sym_import);
            END_STATE();
        case 953:
            ACCEPT_TOKEN(anon_sym_import);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 954:
            ACCEPT_TOKEN(anon_sym_Object);
            END_STATE();
        case 955:
            ACCEPT_TOKEN(anon_sym_Object);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 956:
            ACCEPT_TOKEN(anon_sym_context);
            END_STATE();
        case 957:
            ACCEPT_TOKEN(sym_value_base_type);
            END_STATE();
        case 958:
            ACCEPT_TOKEN(sym_value_base_type);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 959:
            ACCEPT_TOKEN(anon_sym_component);
            END_STATE();
        case 960:
            ACCEPT_TOKEN(anon_sym_provides);
            END_STATE();
        case 961:
            ACCEPT_TOKEN(anon_sym_uses);
            END_STATE();
        case 962:
            ACCEPT_TOKEN(anon_sym_multiple);
            END_STATE();
        case 963:
            ACCEPT_TOKEN(anon_sym_multiple);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 964:
            ACCEPT_TOKEN(anon_sym_home);
            END_STATE();
        case 965:
            ACCEPT_TOKEN(anon_sym_manages);
            END_STATE();
        case 966:
            ACCEPT_TOKEN(anon_sym_emits);
            END_STATE();
        case 967:
            ACCEPT_TOKEN(anon_sym_publishes);
            END_STATE();
        case 968:
            ACCEPT_TOKEN(anon_sym_consumes);
            END_STATE();
        case 969:
            ACCEPT_TOKEN(anon_sym_primarykey);
            END_STATE();
        case 970:
            ACCEPT_TOKEN(anon_sym_finder);
            END_STATE();
        case 971:
            ACCEPT_TOKEN(anon_sym_finder);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 972:
            ACCEPT_TOKEN(anon_sym_porttype);
            END_STATE();
        case 973:
            ACCEPT_TOKEN(anon_sym_port);
            END_STATE();
        case 974:
            ACCEPT_TOKEN(anon_sym_mirrorport);
            END_STATE();
        case 975:
            ACCEPT_TOKEN(anon_sym_connector);
            END_STATE();
        case 976:
            ACCEPT_TOKEN(anon_sym_native);
            END_STATE();
        case 977:
            ACCEPT_TOKEN(anon_sym_native);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 978:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == ' ')
                ADVANCE(394);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 979:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '.')
                ADVANCE(654);
            if(lookahead == '0')
                ADVANCE(768);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(770);
            if(('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(784);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 980:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '1')
                ADVANCE(987);
            if(lookahead == '3')
                ADVANCE(983);
            if(lookahead == '6')
                ADVANCE(985);
            if(lookahead == '8')
                ADVANCE(696);
            if(lookahead == 'e')
                ADVANCE(1287);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 981:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '1')
                ADVANCE(987);
            if(lookahead == '3')
                ADVANCE(983);
            if(lookahead == '6')
                ADVANCE(985);
            if(lookahead == '8')
                ADVANCE(696);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 982:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '1')
                ADVANCE(988);
            if(lookahead == '3')
                ADVANCE(984);
            if(lookahead == '6')
                ADVANCE(986);
            if(lookahead == '8')
                ADVANCE(688);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 983:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '2')
                ADVANCE(683);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 984:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '2')
                ADVANCE(702);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 985:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '4')
                ADVANCE(686);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 986:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '4')
                ADVANCE(705);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 987:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '6')
                ADVANCE(677);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 988:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '6')
                ADVANCE(699);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 989:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'A')
                ADVANCE(993);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('B' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 990:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'B')
                ADVANCE(1006);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 991:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'E')
                ADVANCE(761);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 992:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'E')
                ADVANCE(763);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 993:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'L')
                ADVANCE(995);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 994:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'R')
                ADVANCE(996);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 995:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'S')
                ADVANCE(992);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 996:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'U')
                ADVANCE(991);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 997:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '_')
                ADVANCE(1040);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 998:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '_')
                ADVANCE(1355);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 999:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1179);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1000:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1074);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1001:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1291);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1002:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1053);
            if(lookahead == 'i')
                ADVANCE(1371);
            if(lookahead == 'l')
                ADVANCE(1253);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1003:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1053);
            if(lookahead == 'i')
                ADVANCE(1221);
            if(lookahead == 'l')
                ADVANCE(1253);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1004:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1258);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1005:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1374);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1006:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1297);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1007:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1370);
            if(lookahead == 'i')
                ADVANCE(1208);
            if(lookahead == 'u')
                ADVANCE(1299);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1008:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1273);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1009:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1202);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1010:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1341);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1011:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1351);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1012:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1274);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1013:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1175);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1014:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1176);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1015:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1177);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1016:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1307);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1017:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1205);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1018:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1178);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1019:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1220);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1020:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1225);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1021:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1335);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1022:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1347);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1023:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1298);
            if(lookahead == 'h')
                ADVANCE(1008);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1024:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1334);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1025:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1058);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1026:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1041);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1027:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1042);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1028:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1057);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1029:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1044);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1030:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1193);
            if(lookahead == 'o')
                ADVANCE(1148);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1031:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1193);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1032:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1360);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1033:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1194);
            if(lookahead == 'e')
                ADVANCE(1277);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1034:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1173);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1035:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1301);
            if(lookahead == 'n')
                ADVANCE(1373);
            if(lookahead == 't')
                ADVANCE(1322);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1036:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1182);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1037:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1183);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1038:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1362);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1039:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1166);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1040:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1255);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1041:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1188);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1042:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1189);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1043:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1021);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1044:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1191);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1045:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1141);
            if(lookahead == 's')
                ADVANCE(1342);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1046:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1141);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1047:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(934);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1048:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1136);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1049:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1105);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1050:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1328);
            if(lookahead == 'n')
                ADVANCE(1080);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1051:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1328);
            if(lookahead == 'u')
                ADVANCE(1316);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1052:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1328);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1053:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1330);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1054:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1310);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1055:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1087);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1056:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1313);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1057:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1314);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1058:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1094);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1059:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1099);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1060:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1022);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1061:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(837);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1062:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(692);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1063:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(950);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1064:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(978);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1065:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(866);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1066:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(868);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1067:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(902);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1068:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(898);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1069:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(886);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1070:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(1085);
            if(lookahead == 'i')
                ADVANCE(1063);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1071:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(1085);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1072:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(1110);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1073:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(1115);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1074:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(1247);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1075:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(1027);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1076:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1270);
            if(lookahead == 'h')
                ADVANCE(1244);
            if(lookahead == 't')
                ADVANCE(1272);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1077:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1270);
            if(lookahead == 'h')
                ADVANCE(1244);
            if(lookahead == 't')
                ADVANCE(1280);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1078:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1270);
            if(lookahead == 'h')
                ADVANCE(1244);
            if(lookahead == 't')
                ADVANCE(1282);
            if(lookahead == 'u')
                ADVANCE(1269);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1079:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1270);
            if(lookahead == 'h')
                ADVANCE(1244);
            if(lookahead == 't')
                ADVANCE(1282);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1080:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1368);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1081:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1070);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1082:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(990);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1083:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(709);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1084:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(977);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1085:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1126);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1086:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(936);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1087:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(727);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1088:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(958);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1089:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(849);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1090:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(915);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1091:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(948);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1092:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(913);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1093:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(917);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1094:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(832);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1095:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1233);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1096:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(890);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1097:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(874);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1098:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(882);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1099:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(906);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1100:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(880);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1101:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(963);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1102:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(930);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1103:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1127);
            if(lookahead == 'o')
                ADVANCE(1359);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1104:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1062);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1105:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1260);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1106:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1000);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1107:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1064);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1108:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1377);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1109:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1231);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1110:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1275);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1111:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1017);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1112:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1067);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1113:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1308);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1114:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1276);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1115:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1290);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1116:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1311);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1117:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1289);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1118:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1226);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1119:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1344);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1120:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1223);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1121:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1054);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1122:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1071);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1123:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1229);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1124:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1303);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1125:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1129);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1126:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'f')
                ADVANCE(940);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1127:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'f')
                ADVANCE(1011);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1128:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'f')
                ADVANCE(1025);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1129:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'f')
                ADVANCE(1032);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1130:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'g')
                ADVANCE(679);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1131:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'g')
                ADVANCE(717);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1132:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'g')
                ADVANCE(719);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1133:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'g')
                ADVANCE(681);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1134:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'g')
                ADVANCE(1227);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1135:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'g')
                ADVANCE(1096);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1136:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'h')
                ADVANCE(946);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1137:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'h')
                ADVANCE(1008);
            if(lookahead == 'o')
                ADVANCE(1236);
            if(lookahead == 'u')
                ADVANCE(1294);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1138:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'h')
                ADVANCE(1008);
            if(lookahead == 'o')
                ADVANCE(1236);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1139:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'h')
                ADVANCE(1008);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1140:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'h')
                ADVANCE(1244);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1141:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'h')
                ADVANCE(1012);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1142:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1371);
            if(lookahead == 'l')
                ADVANCE(1253);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1143:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1367);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1144:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(910);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1145:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1304);
            if(lookahead == 'o')
                ADVANCE(1240);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1146:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1134);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1147:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1365);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1148:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1061);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1149:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1038);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1150:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1222);
            if(lookahead == 'n')
                ADVANCE(1165);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1151:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1222);
            if(lookahead == 'n')
                ADVANCE(1293);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1152:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1047);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1153:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1216);
            if(lookahead == 'u')
                ADVANCE(1056);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1154:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1216);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1155:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1199);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1156:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1039);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1157:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1268);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1158:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1217);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1159:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1066);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1160:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1230);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1161:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1319);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1162:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1320);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1163:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1331);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1164:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1329);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1165:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1245);
            if(lookahead == 's')
                ADVANCE(1146);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1166:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1195);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1167:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1059);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1168:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1249);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1169:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1257);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1170:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1250);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1171:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1340);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1172:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1346);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1173:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'j')
                ADVANCE(1121);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1174:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'k')
                ADVANCE(856);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1175:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(878);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1176:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(900);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1177:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(870);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1178:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(888);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1179:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1352);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1180:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1253);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1181:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1376);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1182:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1152);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1183:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1083);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1184:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1171);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1185:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1315);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1186:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1321);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1187:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1336);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1188:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1098);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1189:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1100);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1190:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1101);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1191:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1102);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1192:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1111);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1193:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1363);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1194:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1358);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1195:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1163);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1196:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'm')
                ADVANCE(1266);
            if(lookahead == 'n')
                ADVANCE(1305);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1197:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'm')
                ADVANCE(923);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1198:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'm')
                ADVANCE(928);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1199:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'm')
                ADVANCE(904);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1200:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'm')
                ADVANCE(1001);
            if(lookahead == 's')
                ADVANCE(1116);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1201:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'm')
                ADVANCE(1144);
            if(lookahead == 'p')
                ADVANCE(1265);
            if(lookahead == 'u')
                ADVANCE(1333);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1202:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'm')
                ADVANCE(1092);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1203:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1130);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1204:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(921);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1205:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(690);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1206:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(825);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1207:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(840);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1208:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(892);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1209:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(872);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1210:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1080);
            if(lookahead == 'p')
                ADVANCE(1345);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1211:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1373);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1212:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1350);
            if(lookahead == 'v')
                ADVANCE(1123);
            if(lookahead == 'x')
                ADVANCE(1049);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1213:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1350);
            if(lookahead == 'x')
                ADVANCE(1049);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1214:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1350);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1215:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1305);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1216:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1131);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1217:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1132);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1218:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1181);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1219:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1060);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1220:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1135);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1221:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1072);
            if(lookahead == 'x')
                ADVANCE(1104);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1222:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1323);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1223:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1075);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1224:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1068);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1225:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1069);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1226:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1009);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1227:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1107);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1228:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1318);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1229:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1349);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1230:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1013);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1231:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1055);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1232:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1133);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1233:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1296);
            if(lookahead == 'r')
                ADVANCE(1235);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1234:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1162);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1235:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1014);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1236:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1295);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1237:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1073);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1238:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1015);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1239:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1359);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1240:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1192);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1241:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1203);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1242:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1198);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1243:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1240);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1244:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1284);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1245:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1204);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1246:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1302);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1247:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1218);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1248:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1278);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1249:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1206);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1250:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1209);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1251:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1232);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1252:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1159);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1253:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1016);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1254:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1285);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1255:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1356);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1256:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1286);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1257:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1238);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1258:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(729);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1259:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1081);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1260:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1332);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1261:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1090);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1262:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1122);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1263:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1118);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1264:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1093);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1265:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1120);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1266:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1254);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1267:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1256);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1268:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1190);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1269:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1267);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1270:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'q')
                ADVANCE(1353);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1271:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1143);
            if(lookahead == 'u')
                ADVANCE(1036);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1272:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1153);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1273:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(712);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1274:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(714);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1275:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(971);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1276:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1366);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1277:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1043);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1278:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1375);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1279:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1149);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1280:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1361);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1281:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1158);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1282:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1154);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1283:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1028);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1284:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1309);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1285:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1312);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1286:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1325);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1287:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1128);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1288:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1357);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1289:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1018);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1290:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1300);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1291:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1174);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1292:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(932);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1293:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1146);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1294:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1327);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1295:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1306);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1296:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1156);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1297:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1088);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1298:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1091);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1299:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1324);
            if(lookahead == 't')
                ADVANCE(1026);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1300:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1343);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1301:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1326);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1302:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1172);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1303:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1339);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1304:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1200);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1305:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(981);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1306:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(925);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1307:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(707);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1308:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(694);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1309:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(675);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1310:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(955);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1311:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(853);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1312:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(953);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1313:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(919);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1314:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(830);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1315:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(861);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1316:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(842);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1317:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(844);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1318:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(980);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1319:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(997);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1320:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(896);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1321:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(860);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1322:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1279);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1323:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(982);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1324:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(998);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1325:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1292);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1326:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1283);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1327:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1242);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1328:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1113);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1329:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1048);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1330:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1248);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1331:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1378);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1332:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1168);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1333:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1252);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1334:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1086);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1335:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1155);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1336:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1157);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1337:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1089);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1338:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1095);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1339:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1112);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1340:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1117);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1341:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1147);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1342:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1281);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1343:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1020);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1344:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1380);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1345:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1169);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1346:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1170);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1347:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1029);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1348:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1383);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1349:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1348);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1350:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1197);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1351:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1185);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1352:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1082);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1353:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1109);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1354:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1317);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1355:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1237);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1356:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1224);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1357:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1219);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1358:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1097);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1359:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1037);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1360:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1186);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1361:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1056);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1362:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1337);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1363:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1119);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1364:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1187);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1365:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'v')
                ADVANCE(1084);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1366:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'v')
                ADVANCE(1167);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1367:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'v')
                ADVANCE(1024);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1368:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'w')
                ADVANCE(1005);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1369:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'w')
                ADVANCE(1164);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1370:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'x')
                ADVANCE(894);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1371:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'x')
                ADVANCE(1104);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1372:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'x')
                ADVANCE(1338);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1373:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(724);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1374:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(908);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1375:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(938);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1376:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(847);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1377:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(884);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1378:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(876);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1379:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(1259);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1380:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(1261);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1381:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(1262);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1382:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(1263);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1383:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(1264);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1384:
            ACCEPT_TOKEN(sym_identifier);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(784);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1385:
            ACCEPT_TOKEN(sym_identifier);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1385);
            END_STATE();
        case 1386:
            ACCEPT_TOKEN(anon_sym_SLASH_SLASH);
            END_STATE();
        case 1387:
            ACCEPT_TOKEN(anon_sym_SLASH_SLASH);
            if(lookahead == '*')
                ADVANCE(1403);
            if(lookahead != 0)
                ADVANCE(85);
            END_STATE();
        case 1388:
            ACCEPT_TOKEN(anon_sym_SLASH_SLASH);
            if(lookahead == '\\')
                ADVANCE(68);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(1396);
            END_STATE();
        case 1389:
            ACCEPT_TOKEN(anon_sym_SLASH_SLASH);
            if(lookahead == '\\')
                ADVANCE(823);
            if(lookahead != 0 &&
               lookahead != '\n' &&
               lookahead != '>')
                ADVANCE(822);
            END_STATE();
        case 1390:
            ACCEPT_TOKEN(anon_sym_SLASH_SLASH);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(798);
            END_STATE();
        case 1391:
            ACCEPT_TOKEN(aux_sym_comment_token1);
            if(lookahead == '\n')
                ADVANCE(1391);
            if(lookahead == '\r')
                ADVANCE(55);
            if(lookahead == '@')
                ADVANCE(862);
            END_STATE();
        case 1392:
            ACCEPT_TOKEN(aux_sym_comment_token2);
            if(lookahead == '\n')
                ADVANCE(1395);
            if(lookahead == '\\')
                ADVANCE(68);
            if(lookahead != 0)
                ADVANCE(1396);
            END_STATE();
        case 1393:
            ACCEPT_TOKEN(aux_sym_comment_token2);
            if(lookahead == '\r')
                ADVANCE(1397);
            if(lookahead == '\\')
                ADVANCE(1393);
            if(lookahead != 0)
                ADVANCE(1396);
            END_STATE();
        case 1394:
            ACCEPT_TOKEN(aux_sym_comment_token2);
            if(lookahead == '*')
                ADVANCE(1400);
            if(lookahead == '/')
                ADVANCE(1388);
            if(lookahead == '\\')
                ADVANCE(68);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(1396);
            END_STATE();
        case 1395:
            ACCEPT_TOKEN(aux_sym_comment_token2);
            if(lookahead == '/')
                ADVANCE(1394);
            if(lookahead == '@')
                ADVANCE(862);
            if(lookahead == '\\')
                ADVANCE(52);
            if(lookahead == '\t' ||
               (0x0b <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                ADVANCE(1395);
            if(lookahead != 0 &&
               (lookahead < '\t' || '\r' < lookahead))
                ADVANCE(1396);
            END_STATE();
        case 1396:
            ACCEPT_TOKEN(aux_sym_comment_token2);
            if(lookahead == '\\')
                ADVANCE(68);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(1396);
            END_STATE();
        case 1397:
            ACCEPT_TOKEN(aux_sym_comment_token2);
            if(lookahead == '\\')
                ADVANCE(68);
            if(lookahead != 0)
                ADVANCE(1396);
            END_STATE();
        case 1398:
            ACCEPT_TOKEN(anon_sym_SLASH_STAR);
            END_STATE();
        case 1399:
            ACCEPT_TOKEN(anon_sym_SLASH_STAR);
            if(lookahead == '*')
                ADVANCE(1403);
            if(lookahead != 0 &&
               lookahead != '/')
                ADVANCE(85);
            END_STATE();
        case 1400:
            ACCEPT_TOKEN(anon_sym_SLASH_STAR);
            if(lookahead == '\\')
                ADVANCE(68);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(1396);
            END_STATE();
        case 1401:
            ACCEPT_TOKEN(anon_sym_SLASH_STAR);
            if(lookahead == '\\')
                ADVANCE(823);
            if(lookahead != 0 &&
               lookahead != '\n' &&
               lookahead != '>')
                ADVANCE(822);
            END_STATE();
        case 1402:
            ACCEPT_TOKEN(anon_sym_SLASH_STAR);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(798);
            END_STATE();
        case 1403:
            ACCEPT_TOKEN(aux_sym_comment_token3);
            if(lookahead == '*')
                ADVANCE(1403);
            if(lookahead != 0 &&
               lookahead != '/')
                ADVANCE(85);
            END_STATE();
        default:
            return false;
    }
}

static const TSLexMode ts_lex_modes[STATE_COUNT] = {
    [0] = { .lex_state = 0 },
    [1] = { .lex_state = 672 },
    [2] = { .lex_state = 87 },
    [3] = { .lex_state = 87 },
    [4] = { .lex_state = 87 },
    [5] = { .lex_state = 87 },
    [6] = { .lex_state = 90 },
    [7] = { .lex_state = 87 },
    [8] = { .lex_state = 90 },
    [9] = { .lex_state = 90 },
    [10] = { .lex_state = 91 },
    [11] = { .lex_state = 91 },
    [12] = { .lex_state = 91 },
    [13] = { .lex_state = 91 },
    [14] = { .lex_state = 91 },
    [15] = { .lex_state = 91 },
    [16] = { .lex_state = 91 },
    [17] = { .lex_state = 91 },
    [18] = { .lex_state = 91 },
    [19] = { .lex_state = 91 },
    [20] = { .lex_state = 91 },
    [21] = { .lex_state = 91 },
    [22] = { .lex_state = 672 },
    [23] = { .lex_state = 672 },
    [24] = { .lex_state = 672 },
    [25] = { .lex_state = 672 },
    [26] = { .lex_state = 672 },
    [27] = { .lex_state = 672 },
    [28] = { .lex_state = 672 },
    [29] = { .lex_state = 672 },
    [30] = { .lex_state = 71 },
    [31] = { .lex_state = 71 },
    [32] = { .lex_state = 92 },
    [33] = { .lex_state = 93 },
    [34] = { .lex_state = 82 },
    [35] = { .lex_state = 89 },
    [36] = { .lex_state = 81 },
    [37] = { .lex_state = 81 },
    [38] = { .lex_state = 81 },
    [39] = { .lex_state = 81 },
    [40] = { .lex_state = 81 },
    [41] = { .lex_state = 81 },
    [42] = { .lex_state = 81 },
    [43] = { .lex_state = 81 },
    [44] = { .lex_state = 81 },
    [45] = { .lex_state = 81 },
    [46] = { .lex_state = 81 },
    [47] = { .lex_state = 94 },
    [48] = { .lex_state = 94 },
    [49] = { .lex_state = 82 },
    [50] = { .lex_state = 94 },
    [51] = { .lex_state = 81 },
    [52] = { .lex_state = 95 },
    [53] = { .lex_state = 87 },
    [54] = { .lex_state = 87 },
    [55] = { .lex_state = 87 },
    [56] = { .lex_state = 87 },
    [57] = { .lex_state = 95 },
    [58] = { .lex_state = 87 },
    [59] = { .lex_state = 87 },
    [60] = { .lex_state = 87 },
    [61] = { .lex_state = 90 },
    [62] = { .lex_state = 90 },
    [63] = { .lex_state = 90 },
    [64] = { .lex_state = 90 },
    [65] = { .lex_state = 81 },
    [66] = { .lex_state = 81 },
    [67] = { .lex_state = 81 },
    [68] = { .lex_state = 81 },
    [69] = { .lex_state = 81 },
    [70] = { .lex_state = 81 },
    [71] = { .lex_state = 81 },
    [72] = { .lex_state = 81 },
    [73] = { .lex_state = 81 },
    [74] = { .lex_state = 81 },
    [75] = { .lex_state = 91 },
    [76] = { .lex_state = 91 },
    [77] = { .lex_state = 98 },
    [78] = { .lex_state = 98 },
    [79] = { .lex_state = 92 },
    [80] = { .lex_state = 92 },
    [81] = { .lex_state = 81 },
    [82] = { .lex_state = 94 },
    [83] = { .lex_state = 81 },
    [84] = { .lex_state = 94 },
    [85] = { .lex_state = 81 },
    [86] = { .lex_state = 81 },
    [87] = { .lex_state = 81 },
    [88] = { .lex_state = 94 },
    [89] = { .lex_state = 81 },
    [90] = { .lex_state = 94 },
    [91] = { .lex_state = 81 },
    [92] = { .lex_state = 81 },
    [93] = { .lex_state = 81 },
    [94] = { .lex_state = 81 },
    [95] = { .lex_state = 81 },
    [96] = { .lex_state = 94 },
    [97] = { .lex_state = 81 },
    [98] = { .lex_state = 672 },
    [99] = { .lex_state = 81 },
    [100] = { .lex_state = 81 },
    [101] = { .lex_state = 81 },
    [102] = { .lex_state = 99 },
    [103] = { .lex_state = 672 },
    [104] = { .lex_state = 70 },
    [105] = { .lex_state = 672 },
    [106] = { .lex_state = 672 },
    [107] = { .lex_state = 672 },
    [108] = { .lex_state = 672 },
    [109] = { .lex_state = 72 },
    [110] = { .lex_state = 72 },
    [111] = { .lex_state = 72 },
    [112] = { .lex_state = 72 },
    [113] = { .lex_state = 672 },
    [114] = { .lex_state = 72 },
    [115] = { .lex_state = 72 },
    [116] = { .lex_state = 100 },
    [117] = { .lex_state = 672 },
    [118] = { .lex_state = 100 },
    [119] = { .lex_state = 72 },
    [120] = { .lex_state = 100 },
    [121] = { .lex_state = 100 },
    [122] = { .lex_state = 672 },
    [123] = { .lex_state = 72 },
    [124] = { .lex_state = 72 },
    [125] = { .lex_state = 72 },
    [126] = { .lex_state = 72 },
    [127] = { .lex_state = 672 },
    [128] = { .lex_state = 72 },
    [129] = { .lex_state = 72 },
    [130] = { .lex_state = 72 },
    [131] = { .lex_state = 72 },
    [132] = { .lex_state = 72 },
    [133] = { .lex_state = 72 },
    [134] = { .lex_state = 672 },
    [135] = { .lex_state = 72 },
    [136] = { .lex_state = 72 },
    [137] = { .lex_state = 72 },
    [138] = { .lex_state = 0 },
    [139] = { .lex_state = 72 },
    [140] = { .lex_state = 0 },
    [141] = { .lex_state = 72 },
    [142] = { .lex_state = 0 },
    [143] = { .lex_state = 76 },
    [144] = { .lex_state = 76 },
    [145] = { .lex_state = 72 },
    [146] = { .lex_state = 73 },
    [147] = { .lex_state = 73 },
    [148] = { .lex_state = 672 },
    [149] = { .lex_state = 0 },
    [150] = { .lex_state = 77 },
    [151] = { .lex_state = 77 },
    [152] = { .lex_state = 77 },
    [153] = { .lex_state = 77 },
    [154] = { .lex_state = 77 },
    [155] = { .lex_state = 0 },
    [156] = { .lex_state = 77 },
    [157] = { .lex_state = 77 },
    [158] = { .lex_state = 0 },
    [159] = { .lex_state = 77 },
    [160] = { .lex_state = 77 },
    [161] = { .lex_state = 0 },
    [162] = { .lex_state = 77 },
    [163] = { .lex_state = 77 },
    [164] = { .lex_state = 77 },
    [165] = { .lex_state = 0 },
    [166] = { .lex_state = 77 },
    [167] = { .lex_state = 77 },
    [168] = { .lex_state = 77 },
    [169] = { .lex_state = 72 },
    [170] = { .lex_state = 0 },
    [171] = { .lex_state = 77 },
    [172] = { .lex_state = 77 },
    [173] = { .lex_state = 672 },
    [174] = { .lex_state = 672 },
    [175] = { .lex_state = 77 },
    [176] = { .lex_state = 77 },
    [177] = { .lex_state = 70 },
    [178] = { .lex_state = 0 },
    [179] = { .lex_state = 0 },
    [180] = { .lex_state = 0 },
    [181] = { .lex_state = 78 },
    [182] = { .lex_state = 78 },
    [183] = { .lex_state = 72 },
    [184] = { .lex_state = 78 },
    [185] = { .lex_state = 70 },
    [186] = { .lex_state = 0 },
    [187] = { .lex_state = 70 },
    [188] = { .lex_state = 78 },
    [189] = { .lex_state = 0 },
    [190] = { .lex_state = 77 },
    [191] = { .lex_state = 78 },
    [192] = { .lex_state = 0 },
    [193] = { .lex_state = 0 },
    [194] = { .lex_state = 0 },
    [195] = { .lex_state = 80 },
    [196] = { .lex_state = 0 },
    [197] = { .lex_state = 672 },
    [198] = { .lex_state = 70 },
    [199] = { .lex_state = 74 },
    [200] = { .lex_state = 77 },
    [201] = { .lex_state = 0 },
    [202] = { .lex_state = 70 },
    [203] = { .lex_state = 0 },
    [204] = { .lex_state = 76 },
    [205] = { .lex_state = 76 },
    [206] = { .lex_state = 672 },
    [207] = { .lex_state = 78 },
    [208] = { .lex_state = 77 },
    [209] = { .lex_state = 672 },
    [210] = { .lex_state = 672 },
    [211] = { .lex_state = 77 },
    [212] = { .lex_state = 77 },
    [213] = { .lex_state = 672 },
    [214] = { .lex_state = 74 },
    [215] = { .lex_state = 78 },
    [216] = { .lex_state = 672 },
    [217] = { .lex_state = 96 },
    [218] = { .lex_state = 70 },
    [219] = { .lex_state = 70 },
    [220] = { .lex_state = 672 },
    [221] = { .lex_state = 101 },
    [222] = { .lex_state = 77 },
    [223] = { .lex_state = 97 },
    [224] = { .lex_state = 0 },
    [225] = { .lex_state = 76 },
    [226] = { .lex_state = 78 },
    [227] = { .lex_state = 97 },
    [228] = { .lex_state = 78 },
    [229] = { .lex_state = 78 },
    [230] = { .lex_state = 78 },
    [231] = { .lex_state = 78 },
    [232] = { .lex_state = 78 },
    [233] = { .lex_state = 78 },
    [234] = { .lex_state = 78 },
    [235] = { .lex_state = 78 },
    [236] = { .lex_state = 78 },
    [237] = { .lex_state = 78 },
    [238] = { .lex_state = 78 },
    [239] = { .lex_state = 76 },
    [240] = { .lex_state = 70 },
    [241] = { .lex_state = 76 },
    [242] = { .lex_state = 76 },
    [243] = { .lex_state = 76 },
    [244] = { .lex_state = 0 },
    [245] = { .lex_state = 76 },
    [246] = { .lex_state = 76 },
    [247] = { .lex_state = 76 },
    [248] = { .lex_state = 0 },
    [249] = { .lex_state = 0 },
    [250] = { .lex_state = 0 },
    [251] = { .lex_state = 0 },
    [252] = { .lex_state = 0 },
    [253] = { .lex_state = 0 },
    [254] = { .lex_state = 0 },
    [255] = { .lex_state = 0 },
    [256] = { .lex_state = 78 },
    [257] = { .lex_state = 49 },
    [258] = { .lex_state = 76 },
    [259] = { .lex_state = 78 },
    [260] = { .lex_state = 51 },
    [261] = { .lex_state = 76 },
    [262] = { .lex_state = 0 },
    [263] = { .lex_state = 51 },
    [264] = { .lex_state = 51 },
    [265] = { .lex_state = 49 },
    [266] = { .lex_state = 51 },
    [267] = { .lex_state = 0 },
    [268] = { .lex_state = 672 },
    [269] = { .lex_state = 1395 },
    [270] = { .lex_state = 77 },
    [271] = { .lex_state = 77 },
    [272] = { .lex_state = 0 },
    [273] = { .lex_state = 0 },
    [274] = { .lex_state = 78 },
    [275] = { .lex_state = 672 },
    [276] = { .lex_state = 78 },
    [277] = { .lex_state = 672 },
    [278] = { .lex_state = 76 },
    [279] = { .lex_state = 78 },
    [280] = { .lex_state = 76 },
    [281] = { .lex_state = 78 },
    [282] = { .lex_state = 78 },
    [283] = { .lex_state = 78 },
    [284] = { .lex_state = 78 },
    [285] = { .lex_state = 672 },
    [286] = { .lex_state = 77 },
    [287] = { .lex_state = 77 },
    [288] = { .lex_state = 77 },
    [289] = { .lex_state = 78 },
    [290] = { .lex_state = 0 },
    [291] = { .lex_state = 0 },
    [292] = { .lex_state = 49 },
    [293] = { .lex_state = 0 },
    [294] = { .lex_state = 76 },
    [295] = { .lex_state = 0 },
    [296] = { .lex_state = 76 },
    [297] = { .lex_state = 76 },
    [298] = { .lex_state = 78 },
    [299] = { .lex_state = 76 },
    [300] = { .lex_state = 78 },
    [301] = { .lex_state = 78 },
    [302] = { .lex_state = 78 },
    [303] = { .lex_state = 0 },
    [304] = { .lex_state = 51 },
    [305] = { .lex_state = 55 },
    [306] = { .lex_state = 0 },
    [307] = { .lex_state = 0 },
    [308] = { .lex_state = 76 },
    [309] = { .lex_state = 78 },
    [310] = { .lex_state = 0 },
    [311] = { .lex_state = 0 },
    [312] = { .lex_state = 55 },
    [313] = { .lex_state = 55 },
    [314] = { .lex_state = 55 },
    [315] = { .lex_state = 55 },
    [316] = { .lex_state = 55 },
    [317] = { .lex_state = 76 },
    [318] = { .lex_state = 76 },
    [319] = { .lex_state = 76 },
    [320] = { .lex_state = 0 },
    [321] = { .lex_state = 0 },
    [322] = { .lex_state = 0 },
    [323] = { .lex_state = 78 },
    [324] = { .lex_state = 76 },
    [325] = { .lex_state = 51 },
    [326] = { .lex_state = 51 },
    [327] = { .lex_state = 672 },
    [328] = { .lex_state = 51 },
    [329] = { .lex_state = 51 },
    [330] = { .lex_state = 87 },
    [331] = { .lex_state = 0 },
    [332] = { .lex_state = 87 },
    [333] = { .lex_state = 0 },
    [334] = { .lex_state = 0 },
    [335] = { .lex_state = 0 },
    [336] = { .lex_state = 0 },
    [337] = { .lex_state = 0 },
    [338] = { .lex_state = 87 },
    [339] = { .lex_state = 0 },
    [340] = { .lex_state = 672 },
    [341] = { .lex_state = 0 },
    [342] = { .lex_state = 0 },
    [343] = { .lex_state = 76 },
    [344] = { .lex_state = 76 },
    [345] = { .lex_state = 87 },
    [346] = { .lex_state = 0 },
    [347] = { .lex_state = 0 },
    [348] = { .lex_state = 77 },
    [349] = { .lex_state = 76 },
    [350] = { .lex_state = 0 },
    [351] = { .lex_state = 87 },
    [352] = { .lex_state = 76 },
    [353] = { .lex_state = 76 },
    [354] = { .lex_state = 0 },
    [355] = { .lex_state = 76 },
    [356] = { .lex_state = 0 },
    [357] = { .lex_state = 0 },
    [358] = { .lex_state = 0 },
    [359] = { .lex_state = 87 },
    [360] = { .lex_state = 76 },
    [361] = { .lex_state = 76 },
    [362] = { .lex_state = 0 },
    [363] = { .lex_state = 0 },
    [364] = { .lex_state = 76 },
    [365] = { .lex_state = 55 },
    [366] = { .lex_state = 55 },
    [367] = { .lex_state = 0 },
    [368] = { .lex_state = 0 },
    [369] = { .lex_state = 87 },
    [370] = { .lex_state = 0 },
    [371] = { .lex_state = 0 },
    [372] = { .lex_state = 87 },
    [373] = { .lex_state = 87 },
    [374] = { .lex_state = 0 },
    [375] = { .lex_state = 76 },
    [376] = { .lex_state = 0 },
    [377] = { .lex_state = 0 },
    [378] = { .lex_state = 0 },
    [379] = { .lex_state = 76 },
    [380] = { .lex_state = 0 },
    [381] = { .lex_state = 76 },
    [382] = { .lex_state = 672 },
    [383] = { .lex_state = 0 },
    [384] = { .lex_state = 76 },
    [385] = { .lex_state = 87 },
    [386] = { .lex_state = 0 },
    [387] = { .lex_state = 0 },
    [388] = { .lex_state = 0 },
    [389] = { .lex_state = 672 },
    [390] = { .lex_state = 0 },
    [391] = { .lex_state = 76 },
    [392] = { .lex_state = 49 },
    [393] = { .lex_state = 0 },
    [394] = { .lex_state = 672 },
    [395] = { .lex_state = 0 },
    [396] = { .lex_state = 76 },
    [397] = { .lex_state = 76 },
    [398] = { .lex_state = 76 },
    [399] = { .lex_state = 0 },
    [400] = { .lex_state = 672 },
    [401] = { .lex_state = 102 },
    [402] = { .lex_state = 672 },
    [403] = { .lex_state = 0 },
    [404] = { .lex_state = 0 },
    [405] = { .lex_state = 0 },
    [406] = { .lex_state = 0 },
    [407] = { .lex_state = 0 },
    [408] = { .lex_state = 0 },
    [409] = { .lex_state = 0 },
    [410] = { .lex_state = 76 },
    [411] = { .lex_state = 0 },
    [412] = { .lex_state = 76 },
    [413] = { .lex_state = 0 },
    [414] = { .lex_state = 0 },
    [415] = { .lex_state = 76 },
    [416] = { .lex_state = 0 },
    [417] = { .lex_state = 76 },
    [418] = { .lex_state = 0 },
    [419] = { .lex_state = 0 },
    [420] = { .lex_state = 76 },
    [421] = { .lex_state = 0 },
    [422] = { .lex_state = 0 },
    [423] = { .lex_state = 0 },
    [424] = { .lex_state = 76 },
    [425] = { .lex_state = 76 },
    [426] = { .lex_state = 0 },
    [427] = { .lex_state = 0 },
    [428] = { .lex_state = 49 },
    [429] = { .lex_state = 49 },
    [430] = { .lex_state = 51 },
    [431] = { .lex_state = 0 },
    [432] = { .lex_state = 0 },
    [433] = { .lex_state = 0 },
    [434] = { .lex_state = 77 },
    [435] = { .lex_state = 0 },
    [436] = { .lex_state = 76 },
    [437] = { .lex_state = 0 },
    [438] = { .lex_state = 76 },
    [439] = { .lex_state = 0 },
    [440] = { .lex_state = 76 },
    [441] = { .lex_state = 0 },
    [442] = { .lex_state = 0 },
    [443] = { .lex_state = 76 },
    [444] = { .lex_state = 0 },
    [445] = { .lex_state = 87 },
    [446] = { .lex_state = 76 },
    [447] = { .lex_state = 672 },
    [448] = { .lex_state = 0 },
    [449] = { .lex_state = 0 },
    [450] = { .lex_state = 0 },
    [451] = { .lex_state = 0 },
    [452] = { .lex_state = 76 },
    [453] = { .lex_state = 0 },
    [454] = { .lex_state = 76 },
    [455] = { .lex_state = 76 },
    [456] = { .lex_state = 76 },
    [457] = { .lex_state = 87 },
    [458] = { .lex_state = 76 },
    [459] = { .lex_state = 0 },
    [460] = { .lex_state = 76 },
    [461] = { .lex_state = 76 },
    [462] = { .lex_state = 76 },
    [463] = { .lex_state = 0 },
    [464] = { .lex_state = 0 },
    [465] = { .lex_state = 77 },
    [466] = { .lex_state = 0 },
    [467] = { .lex_state = 77 },
    [468] = { .lex_state = 77 },
    [469] = { .lex_state = 76 },
    [470] = { .lex_state = 76 },
    [471] = { .lex_state = 0 },
    [472] = { .lex_state = 77 },
    [473] = { .lex_state = 0 },
    [474] = { .lex_state = 0 },
    [475] = { .lex_state = 0 },
    [476] = { .lex_state = 0 },
    [477] = { .lex_state = 76 },
    [478] = { .lex_state = 76 },
    [479] = { .lex_state = 76 },
    [480] = { .lex_state = 672 },
    [481] = { .lex_state = 76 },
    [482] = { .lex_state = 0 },
    [483] = { .lex_state = 0 },
    [484] = { .lex_state = 0 },
    [485] = { .lex_state = 0 },
    [486] = { .lex_state = 76 },
    [487] = { .lex_state = 76 },
    [488] = { .lex_state = 0 },
    [489] = { .lex_state = 0 },
    [490] = { .lex_state = 77 },
    [491] = { .lex_state = 0 },
    [492] = { .lex_state = 76 },
    [493] = { .lex_state = 0 },
    [494] = { .lex_state = 0 },
    [495] = { .lex_state = 0 },
    [496] = { .lex_state = 0 },
    [497] = { .lex_state = 0 },
    [498] = { .lex_state = 76 },
    [499] = { .lex_state = 0 },
    [500] = { .lex_state = 76 },
    [501] = { .lex_state = 76 },
    [502] = { .lex_state = 76 },
    [503] = { .lex_state = 76 },
    [504] = { .lex_state = 76 },
    [505] = { .lex_state = 76 },
    [506] = { .lex_state = 0 },
    [507] = { .lex_state = 76 },
    [508] = { .lex_state = 76 },
    [509] = { .lex_state = 0 },
    [510] = { .lex_state = 76 },
    [511] = { .lex_state = 76 },
    [512] = { .lex_state = 0 },
    [513] = { .lex_state = 76 },
    [514] = { .lex_state = 0 },
    [515] = { .lex_state = 76 },
    [516] = { .lex_state = 0 },
    [517] = { .lex_state = 0 },
    [518] = { .lex_state = 78 },
    [519] = { .lex_state = 76 },
    [520] = { .lex_state = 76 },
    [521] = { .lex_state = 87 },
    [522] = { .lex_state = 0 },
    [523] = { .lex_state = 76 },
    [524] = { .lex_state = 76 },
    [525] = { .lex_state = 76 },
    [526] = { .lex_state = 0 },
    [527] = { .lex_state = 76 },
    [528] = { .lex_state = 76 },
    [529] = { .lex_state = 76 },
    [530] = { .lex_state = 0 },
    [531] = { .lex_state = 0 },
    [532] = { .lex_state = 76 },
    [533] = { .lex_state = 0 },
    [534] = { .lex_state = 0 },
    [535] = { .lex_state = 87 },
    [536] = { .lex_state = 55 },
    [537] = { .lex_state = 0 },
    [538] = { .lex_state = 87 },
    [539] = { .lex_state = 0 },
    [540] = { .lex_state = 76 },
    [541] = { .lex_state = 55 },
    [542] = { .lex_state = 76 },
    [543] = { .lex_state = 76 },
    [544] = { .lex_state = 0 },
    [545] = { .lex_state = 0 },
    [546] = { .lex_state = 0 },
    [547] = { .lex_state = 76 },
    [548] = { .lex_state = 87 },
    [549] = { .lex_state = 672 },
    [550] = { .lex_state = 76 },
    [551] = { .lex_state = 87 },
    [552] = { .lex_state = 76 },
    [553] = { .lex_state = 0 },
    [554] = { .lex_state = 87 },
    [555] = { .lex_state = 58 },
    [556] = { .lex_state = 76 },
    [557] = { .lex_state = 0 },
    [558] = { .lex_state = 76 },
    [559] = { .lex_state = 78 },
    [560] = { .lex_state = 87 },
    [561] = { .lex_state = 0 },
    [562] = { .lex_state = 0 },
    [563] = { .lex_state = 0 },
    [564] = { .lex_state = 76 },
    [565] = { .lex_state = 0 },
    [566] = { .lex_state = 0 },
    [567] = { .lex_state = 78 },
    [568] = { .lex_state = 76 },
    [569] = { .lex_state = 0 },
    [570] = { .lex_state = 76 },
    [571] = { .lex_state = 0 },
    [572] = { .lex_state = 76 },
    [573] = { .lex_state = 76 },
    [574] = { .lex_state = 0 },
    [575] = { .lex_state = 59 },
    [576] = { .lex_state = 87 },
    [577] = { .lex_state = 0 },
    [578] = { .lex_state = 0 },
    [579] = { .lex_state = 87 },
    [580] = { .lex_state = 87 },
    [581] = { .lex_state = 0 },
    [582] = { .lex_state = 0 },
    [583] = { .lex_state = 797 },
    [584] = { .lex_state = 0 },
    [585] = { .lex_state = 0 },
    [586] = { .lex_state = 0 },
    [587] = { .lex_state = 0 },
    [588] = { .lex_state = 0 },
    [589] = { .lex_state = 76 },
    [590] = { .lex_state = 0 },
    [591] = { .lex_state = 0 },
    [592] = { .lex_state = 0 },
    [593] = { .lex_state = 0 },
    [594] = { .lex_state = 0 },
    [595] = { .lex_state = 0 },
    [596] = { .lex_state = 0 },
    [597] = { .lex_state = 0 },
    [598] = { .lex_state = 0 },
    [599] = { .lex_state = 0 },
    [600] = { .lex_state = 0 },
    [601] = { .lex_state = 0 },
    [602] = { .lex_state = 0 },
    [603] = { .lex_state = 0 },
    [604] = { .lex_state = 0 },
    [605] = { .lex_state = 0 },
    [606] = { .lex_state = 0 },
    [607] = { .lex_state = 0 },
    [608] = { .lex_state = 0 },
    [609] = { .lex_state = 0 },
    [610] = { .lex_state = 0 },
    [611] = { .lex_state = 0 },
    [612] = { .lex_state = 76 },
    [613] = { .lex_state = 0 },
    [614] = { .lex_state = 76 },
    [615] = { .lex_state = 76 },
    [616] = { .lex_state = 0 },
    [617] = { .lex_state = 0 },
    [618] = { .lex_state = 0 },
    [619] = { .lex_state = 0 },
    [620] = { .lex_state = 0 },
    [621] = { .lex_state = 0 },
    [622] = { .lex_state = 0 },
    [623] = { .lex_state = 0 },
    [624] = { .lex_state = 0 },
    [625] = { .lex_state = 0 },
    [626] = { .lex_state = 0 },
    [627] = { .lex_state = 672 },
    [628] = { .lex_state = 76 },
    [629] = { .lex_state = 0 },
    [630] = { .lex_state = 76 },
    [631] = { .lex_state = 0 },
    [632] = { .lex_state = 0 },
    [633] = { .lex_state = 0 },
    [634] = { .lex_state = 0 },
    [635] = { .lex_state = 0 },
    [636] = { .lex_state = 0 },
    [637] = { .lex_state = 76 },
    [638] = { .lex_state = 76 },
    [639] = { .lex_state = 0 },
    [640] = { .lex_state = 0 },
    [641] = { .lex_state = 0 },
    [642] = { .lex_state = 0 },
    [643] = { .lex_state = 0 },
    [644] = { .lex_state = 0 },
    [645] = { .lex_state = 76 },
    [646] = { .lex_state = 0 },
    [647] = { .lex_state = 0 },
    [648] = { .lex_state = 0 },
    [649] = { .lex_state = 0 },
    [650] = { .lex_state = 0 },
    [651] = { .lex_state = 0 },
    [652] = { .lex_state = 672 },
    [653] = { .lex_state = 0 },
    [654] = { .lex_state = 0 },
    [655] = { .lex_state = 0 },
    [656] = { .lex_state = 0 },
    [657] = { .lex_state = 0 },
    [658] = { .lex_state = 76 },
    [659] = { .lex_state = 0 },
    [660] = { .lex_state = 76 },
    [661] = { .lex_state = 76 },
    [662] = { .lex_state = 0 },
    [663] = { .lex_state = 0 },
    [664] = { .lex_state = 76 },
    [665] = { .lex_state = 0 },
    [666] = { .lex_state = 0 },
    [667] = { .lex_state = 0 },
    [668] = { .lex_state = 0 },
    [669] = { .lex_state = 0 },
    [670] = { .lex_state = 0 },
    [671] = { .lex_state = 0 },
    [672] = { .lex_state = 76 },
    [673] = { .lex_state = 0 },
    [674] = { .lex_state = 0 },
    [675] = { .lex_state = 0 },
    [676] = { .lex_state = 0 },
    [677] = { .lex_state = 0 },
    [678] = { .lex_state = 0 },
    [679] = { .lex_state = 0 },
    [680] = { .lex_state = 0 },
    [681] = { .lex_state = 59 },
    [682] = { .lex_state = 87 },
    [683] = { .lex_state = 87 },
    [684] = { .lex_state = 84 },
    [685] = { .lex_state = 87 },
    [686] = { .lex_state = 821 },
    [687] = { .lex_state = 0 },
    [688] = { .lex_state = 59 },
    [689] = { .lex_state = 76 },
    [690] = { .lex_state = 76 },
    [691] = { .lex_state = 76 },
    [692] = { .lex_state = 77 },
    [693] = { .lex_state = 0 },
    [694] = { .lex_state = 0 },
    [695] = { .lex_state = 0 },
    [696] = { .lex_state = 0 },
    [697] = { .lex_state = 87 },
    [698] = { .lex_state = 0 },
    [699] = { .lex_state = 0 },
    [700] = { .lex_state = 0 },
    [701] = { .lex_state = 76 },
    [702] = { .lex_state = 0 },
    [703] = { .lex_state = 0 },
    [704] = { .lex_state = 0 },
    [705] = { .lex_state = 0 },
    [706] = { .lex_state = 0 },
    [707] = { .lex_state = 59 },
    [708] = { .lex_state = 59 },
    [709] = { .lex_state = 0 },
    [710] = { .lex_state = 0 },
    [711] = { .lex_state = 0 },
    [712] = { .lex_state = 0 },
    [713] = { .lex_state = 0 },
    [714] = { .lex_state = 0 },
    [715] = { .lex_state = 0 },
    [716] = { .lex_state = 0 },
    [717] = { .lex_state = 0 },
    [718] = { .lex_state = 76 },
    [719] = { .lex_state = 0 },
    [720] = { .lex_state = 0 },
    [721] = { .lex_state = 0 },
    [722] = { .lex_state = 0 },
    [723] = { .lex_state = 59 },
    [724] = { .lex_state = 0 },
    [725] = { .lex_state = 76 },
    [726] = { .lex_state = 0 },
    [727] = { .lex_state = 77 },
    [728] = { .lex_state = 0 },
    [729] = { .lex_state = 0 },
    [730] = { .lex_state = 0 },
    [731] = { .lex_state = 0 },
    [732] = { .lex_state = 0 },
    [733] = { .lex_state = 0 },
    [734] = { .lex_state = 0 },
    [735] = { .lex_state = 0 },
    [736] = { .lex_state = 0 },
    [737] = { .lex_state = 0 },
    [738] = { .lex_state = 0 },
    [739] = { .lex_state = 0 },
    [740] = { .lex_state = 0 },
    [741] = { .lex_state = 87 },
    [742] = { .lex_state = 0 },
    [743] = { .lex_state = 0 },
    [744] = { .lex_state = 0 },
    [745] = { .lex_state = 76 },
    [746] = { .lex_state = 76 },
    [747] = { .lex_state = 87 },
    [748] = { .lex_state = 76 },
    [749] = { .lex_state = 76 },
    [750] = { .lex_state = 76 },
    [751] = { .lex_state = 76 },
    [752] = { .lex_state = 76 },
    [753] = { .lex_state = 0 },
    [754] = { .lex_state = 0 },
    [755] = { .lex_state = 0 },
    [756] = { .lex_state = 0 },
    [757] = { .lex_state = 0 },
    [758] = { .lex_state = 0 },
    [759] = { .lex_state = 0 },
    [760] = { .lex_state = 0 },
    [761] = { .lex_state = 76 },
    [762] = { .lex_state = 0 },
    [763] = { .lex_state = 0 },
    [764] = { .lex_state = 0 },
    [765] = { .lex_state = 0 },
    [766] = { .lex_state = 76 },
    [767] = { .lex_state = 0 },
    [768] = { .lex_state = 0 },
    [769] = { .lex_state = 0 },
    [770] = { .lex_state = 0 },
    [771] = { .lex_state = 76 },
    [772] = { .lex_state = 76 },
    [773] = { .lex_state = 76 },
    [774] = { .lex_state = 76 },
    [775] = { .lex_state = 87 },
    [776] = { .lex_state = 76 },
    [777] = { .lex_state = 0 },
    [778] = { .lex_state = 0 },
    [779] = { .lex_state = 0 },
    [780] = { .lex_state = 0 },
    [781] = { .lex_state = 76 },
    [782] = { .lex_state = 0 },
    [783] = { .lex_state = 76 },
    [784] = { .lex_state = 76 },
    [785] = { .lex_state = 76 },
    [786] = { .lex_state = 0 },
    [787] = { .lex_state = 76 },
    [788] = { .lex_state = 0 },
    [789] = { .lex_state = 76 },
    [790] = { .lex_state = 76 },
    [791] = { .lex_state = 76 },
    [792] = { .lex_state = 76 },
    [793] = { .lex_state = 0 },
    [794] = { .lex_state = 0 },
    [795] = { .lex_state = 76 },
    [796] = { .lex_state = 0 },
    [797] = { .lex_state = 76 },
    [798] = { .lex_state = 76 },
    [799] = { .lex_state = 76 },
    [800] = { .lex_state = 0 },
    [801] = { .lex_state = 0 },
    [802] = { .lex_state = 0 },
    [803] = { .lex_state = 0 },
    [804] = { .lex_state = 76 },
    [805] = { .lex_state = 0 },
    [806] = { .lex_state = 0 },
    [807] = { .lex_state = 672 },
    [808] = { .lex_state = 76 },
    [809] = { (TSStateId)(-1) },
    [810] = { (TSStateId)(-1) },
};

static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
    [0] = {
        [sym_comment] = STATE(0),
        [ts_builtin_sym_end] = ACTIONS(1),
        [anon_sym_short] = ACTIONS(1),
        [anon_sym_int16] = ACTIONS(1),
        [anon_sym_long] = ACTIONS(1),
        [anon_sym_int32] = ACTIONS(1),
        [anon_sym_longlong] = ACTIONS(1),
        [anon_sym_int64] = ACTIONS(1),
        [sym_unsigned_tiny_int] = ACTIONS(1),
        [sym_boolean_type] = ACTIONS(1),
        [anon_sym_fixed] = ACTIONS(1),
        [sym_octet_type] = ACTIONS(1),
        [sym_signed_tiny_int] = ACTIONS(1),
        [anon_sym_unsignedshort] = ACTIONS(1),
        [anon_sym_uint16] = ACTIONS(1),
        [anon_sym_unsignedlong] = ACTIONS(1),
        [anon_sym_uint32] = ACTIONS(1),
        [anon_sym_unsignedlonglong] = ACTIONS(1),
        [anon_sym_uint64] = ACTIONS(1),
        [anon_sym_float] = ACTIONS(1),
        [anon_sym_double] = ACTIONS(1),
        [anon_sym_longdouble] = ACTIONS(1),
        [anon_sym_char] = ACTIONS(1),
        [anon_sym_wchar] = ACTIONS(1),
        [anon_sym_COLON_COLON] = ACTIONS(1),
        [anon_sym_string] = ACTIONS(1),
        [anon_sym_wstring] = ACTIONS(1),
        [anon_sym_LT] = ACTIONS(1),
        [anon_sym_GT] = ACTIONS(1),
        [anon_sym_any] = ACTIONS(1),
        [anon_sym_COMMA] = ACTIONS(1),
        [anon_sym_sequence] = ACTIONS(1),
        [anon_sym_map] = ACTIONS(1),
        [anon_sym_PIPE] = ACTIONS(1),
        [anon_sym_CARET] = ACTIONS(1),
        [anon_sym_AMP] = ACTIONS(1),
        [anon_sym_GT_GT] = ACTIONS(1),
        [anon_sym_PLUS] = ACTIONS(1),
        [anon_sym_DASH] = ACTIONS(1),
        [anon_sym_STAR] = ACTIONS(1),
        [anon_sym_SLASH] = ACTIONS(1),
        [anon_sym_PERCENT] = ACTIONS(1),
        [anon_sym_LPAREN] = ACTIONS(1),
        [anon_sym_RPAREN] = ACTIONS(1),
        [anon_sym_TILDE] = ACTIONS(1),
        [anon_sym_L] = ACTIONS(1),
        [anon_sym_DQUOTE] = ACTIONS(1),
        [anon_sym_SQUOTE] = ACTIONS(1),
        [anon_sym_TRUE] = ACTIONS(1),
        [anon_sym_FALSE] = ACTIONS(1),
        [sym_number_literal] = ACTIONS(1),
        [anon_sym_POUNDdefine] = ACTIONS(1),
        [sym_preproc_directive] = ACTIONS(1),
        [aux_sym_preproc_include_token1] = ACTIONS(1),
        [anon_sym_exception] = ACTIONS(1),
        [anon_sym_LBRACE] = ACTIONS(1),
        [anon_sym_RBRACE] = ACTIONS(1),
        [anon_sym_local] = ACTIONS(1),
        [anon_sym_abstract] = ACTIONS(1),
        [anon_sym_COLON] = ACTIONS(1),
        [anon_sym_SEMI] = ACTIONS(1),
        [anon_sym_void] = ACTIONS(1),
        [anon_sym_in] = ACTIONS(1),
        [anon_sym_out] = ACTIONS(1),
        [anon_sym_inout] = ACTIONS(1),
        [anon_sym_raises] = ACTIONS(1),
        [anon_sym_readonly] = ACTIONS(1),
        [anon_sym_attribute] = ACTIONS(1),
        [anon_sym_getraises] = ACTIONS(1),
        [anon_sym_setraises] = ACTIONS(1),
        [anon_sym_bitset] = ACTIONS(1),
        [anon_sym_bitfield] = ACTIONS(1),
        [anon_sym_bitmask] = ACTIONS(1),
        [anon_sym_ATannotation] = ACTIONS(1),
        [anon_sym_default] = ACTIONS(1),
        [anon_sym_AT] = ACTIONS(1),
        [anon_sym_EQ] = ACTIONS(1),
        [anon_sym_id] = ACTIONS(1),
        [anon_sym_autoid] = ACTIONS(1),
        [anon_sym_optional] = ACTIONS(1),
        [anon_sym_position] = ACTIONS(1),
        [anon_sym_value] = ACTIONS(1),
        [anon_sym_extensibility] = ACTIONS(1),
        [anon_sym_final] = ACTIONS(1),
        [anon_sym_appendable] = ACTIONS(1),
        [anon_sym_mutable] = ACTIONS(1),
        [anon_sym_key] = ACTIONS(1),
        [anon_sym_must_understand] = ACTIONS(1),
        [anon_sym_default_literal] = ACTIONS(1),
        [anon_sym_range] = ACTIONS(1),
        [anon_sym_min] = ACTIONS(1),
        [anon_sym_max] = ACTIONS(1),
        [anon_sym_unit] = ACTIONS(1),
        [anon_sym_bit_bound] = ACTIONS(1),
        [anon_sym_external] = ACTIONS(1),
        [anon_sym_nested] = ACTIONS(1),
        [anon_sym_verbatim] = ACTIONS(1),
        [anon_sym_service] = ACTIONS(1),
        [anon_sym_oneway] = ACTIONS(1),
        [anon_sym_ami] = ACTIONS(1),
        [anon_sym_module] = ACTIONS(1),
        [anon_sym_typename] = ACTIONS(1),
        [anon_sym_eventtype] = ACTIONS(1),
        [anon_sym_struct] = ACTIONS(1),
        [anon_sym_union] = ACTIONS(1),
        [anon_sym_enum] = ACTIONS(1),
        [anon_sym_const] = ACTIONS(1),
        [anon_sym_alias] = ACTIONS(1),
        [anon_sym_custom] = ACTIONS(1),
        [anon_sym_truncatable] = ACTIONS(1),
        [anon_sym_supports] = ACTIONS(1),
        [anon_sym_public] = ACTIONS(1),
        [anon_sym_private] = ACTIONS(1),
        [anon_sym_factory] = ACTIONS(1),
        [anon_sym_typedef] = ACTIONS(1),
        [anon_sym_LBRACK] = ACTIONS(1),
        [anon_sym_RBRACK] = ACTIONS(1),
        [anon_sym_ATdefault_literal] = ACTIONS(1),
        [anon_sym_ATignore_literal_names] = ACTIONS(1),
        [anon_sym_switch] = ACTIONS(1),
        [anon_sym_case] = ACTIONS(1),
        [anon_sym_typeid] = ACTIONS(1),
        [anon_sym_typeprefix] = ACTIONS(1),
        [anon_sym_import] = ACTIONS(1),
        [anon_sym_Object] = ACTIONS(1),
        [anon_sym_context] = ACTIONS(1),
        [sym_value_base_type] = ACTIONS(1),
        [anon_sym_component] = ACTIONS(1),
        [anon_sym_provides] = ACTIONS(1),
        [anon_sym_uses] = ACTIONS(1),
        [anon_sym_multiple] = ACTIONS(1),
        [anon_sym_home] = ACTIONS(1),
        [anon_sym_manages] = ACTIONS(1),
        [anon_sym_emits] = ACTIONS(1),
        [anon_sym_publishes] = ACTIONS(1),
        [anon_sym_consumes] = ACTIONS(1),
        [anon_sym_primarykey] = ACTIONS(1),
        [anon_sym_finder] = ACTIONS(1),
        [anon_sym_port] = ACTIONS(1),
        [anon_sym_mirrorport] = ACTIONS(1),
        [anon_sym_connector] = ACTIONS(1),
        [anon_sym_native] = ACTIONS(1),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [1] = {
        [sym_specification] = STATE(769),
        [sym_preproc_define] = STATE(103),
        [sym_preproc_call] = STATE(103),
        [sym_preproc_include] = STATE(103),
        [sym_except_dcl] = STATE(768),
        [sym_interface_dcl] = STATE(768),
        [sym_interface_kind] = STATE(766),
        [sym_interface_forward_dcl] = STATE(765),
        [sym_interface_def] = STATE(765),
        [sym_interface_header] = STATE(764),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_dcl] = STATE(768),
        [sym_annotation_appl] = STATE(219),
        [sym_template_module_dcl] = STATE(768),
        [sym_template_module_inst] = STATE(768),
        [sym_value_dcl] = STATE(768),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(758),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(768),
        [sym_type_prefix_dcl] = STATE(768),
        [sym_import_dcl] = STATE(768),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_component_dcl] = STATE(768),
        [sym_component_forward_dcl] = STATE(739),
        [sym_component_def] = STATE(739),
        [sym_component_header] = STATE(733),
        [sym_home_dcl] = STATE(768),
        [sym_home_header] = STATE(732),
        [sym_event_dcl] = STATE(768),
        [sym_event_forward_dcl] = STATE(731),
        [sym_event_abs_def] = STATE(731),
        [sym_event_def] = STATE(731),
        [sym_event_header] = STATE(728),
        [sym_porttype_dcl] = STATE(768),
        [sym_porttype_forward_dcl] = STATE(726),
        [sym_porttype_def] = STATE(726),
        [sym_connector_dcl] = STATE(768),
        [sym_connector_header] = STATE(711),
        [sym_definition] = STATE(103),
        [sym_type_dcl] = STATE(768),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_module_dcl] = STATE(768),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(768),
        [sym_comment] = STATE(1),
        [aux_sym_specification_repeat1] = STATE(23),
        [aux_sym_interface_def_repeat1] = STATE(177),
        [ts_builtin_sym_end] = ACTIONS(7),
        [anon_sym_POUNDdefine] = ACTIONS(9),
        [sym_preproc_directive] = ACTIONS(11),
        [aux_sym_preproc_include_token1] = ACTIONS(13),
        [anon_sym_exception] = ACTIONS(15),
        [anon_sym_local] = ACTIONS(17),
        [anon_sym_abstract] = ACTIONS(19),
        [anon_sym_interface] = ACTIONS(21),
        [anon_sym_bitset] = ACTIONS(23),
        [anon_sym_bitmask] = ACTIONS(25),
        [anon_sym_ATannotation] = ACTIONS(27),
        [anon_sym_AT] = ACTIONS(29),
        [anon_sym_module] = ACTIONS(31),
        [anon_sym_valuetype] = ACTIONS(33),
        [anon_sym_eventtype] = ACTIONS(35),
        [anon_sym_struct] = ACTIONS(37),
        [anon_sym_union] = ACTIONS(39),
        [anon_sym_enum] = ACTIONS(41),
        [anon_sym_const] = ACTIONS(43),
        [anon_sym_custom] = ACTIONS(45),
        [anon_sym_typedef] = ACTIONS(47),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(51),
        [anon_sym_typeprefix] = ACTIONS(53),
        [anon_sym_import] = ACTIONS(55),
        [anon_sym_component] = ACTIONS(57),
        [anon_sym_home] = ACTIONS(59),
        [anon_sym_porttype] = ACTIONS(61),
        [anon_sym_connector] = ACTIONS(63),
        [anon_sym_native] = ACTIONS(65),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [2] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(793),
        [sym_export] = STATE(59),
        [sym_op_dcl] = STATE(342),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(793),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(793),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_element] = STATE(60),
        [sym_state_member] = STATE(59),
        [sym_init_dcl] = STATE(59),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(793),
        [sym_import_dcl] = STATE(793),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(342),
        [sym_op_with_context] = STATE(793),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(793),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(793),
        [sym_comment] = STATE(2),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_value_def_repeat1] = STATE(4),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(111),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_public] = ACTIONS(141),
        [anon_sym_private] = ACTIONS(141),
        [anon_sym_factory] = ACTIONS(143),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [3] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(793),
        [sym_export] = STATE(59),
        [sym_op_dcl] = STATE(342),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(793),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(793),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_element] = STATE(60),
        [sym_state_member] = STATE(59),
        [sym_init_dcl] = STATE(59),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(793),
        [sym_import_dcl] = STATE(793),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(342),
        [sym_op_with_context] = STATE(793),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(793),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(793),
        [sym_comment] = STATE(3),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_value_def_repeat1] = STATE(4),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(157),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_public] = ACTIONS(141),
        [anon_sym_private] = ACTIONS(141),
        [anon_sym_factory] = ACTIONS(143),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [4] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(793),
        [sym_export] = STATE(59),
        [sym_op_dcl] = STATE(342),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(793),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(793),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_element] = STATE(60),
        [sym_state_member] = STATE(59),
        [sym_init_dcl] = STATE(59),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(793),
        [sym_import_dcl] = STATE(793),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(342),
        [sym_op_with_context] = STATE(793),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(793),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(793),
        [sym_comment] = STATE(4),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_value_def_repeat1] = STATE(4),
        [anon_sym_short] = ACTIONS(159),
        [anon_sym_int16] = ACTIONS(159),
        [anon_sym_long] = ACTIONS(162),
        [anon_sym_int32] = ACTIONS(162),
        [anon_sym_longlong] = ACTIONS(165),
        [anon_sym_int64] = ACTIONS(168),
        [sym_unsigned_tiny_int] = ACTIONS(171),
        [sym_boolean_type] = ACTIONS(174),
        [anon_sym_fixed] = ACTIONS(177),
        [sym_octet_type] = ACTIONS(174),
        [sym_signed_tiny_int] = ACTIONS(180),
        [anon_sym_unsignedshort] = ACTIONS(183),
        [anon_sym_uint16] = ACTIONS(186),
        [anon_sym_unsignedlong] = ACTIONS(189),
        [anon_sym_uint32] = ACTIONS(189),
        [anon_sym_unsignedlonglong] = ACTIONS(192),
        [anon_sym_uint64] = ACTIONS(195),
        [anon_sym_float] = ACTIONS(198),
        [anon_sym_double] = ACTIONS(198),
        [anon_sym_longdouble] = ACTIONS(201),
        [anon_sym_char] = ACTIONS(204),
        [anon_sym_wchar] = ACTIONS(204),
        [anon_sym_COLON_COLON] = ACTIONS(207),
        [anon_sym_string] = ACTIONS(210),
        [anon_sym_wstring] = ACTIONS(210),
        [anon_sym_any] = ACTIONS(213),
        [anon_sym_sequence] = ACTIONS(216),
        [anon_sym_map] = ACTIONS(219),
        [anon_sym_exception] = ACTIONS(222),
        [anon_sym_RBRACE] = ACTIONS(225),
        [anon_sym_abstract] = ACTIONS(227),
        [anon_sym_void] = ACTIONS(230),
        [anon_sym_readonly] = ACTIONS(233),
        [anon_sym_attribute] = ACTIONS(236),
        [anon_sym_bitset] = ACTIONS(239),
        [anon_sym_bitmask] = ACTIONS(242),
        [anon_sym_AT] = ACTIONS(245),
        [anon_sym_oneway] = ACTIONS(248),
        [anon_sym_valuetype] = ACTIONS(251),
        [anon_sym_struct] = ACTIONS(254),
        [anon_sym_union] = ACTIONS(257),
        [anon_sym_enum] = ACTIONS(260),
        [anon_sym_const] = ACTIONS(263),
        [anon_sym_custom] = ACTIONS(266),
        [anon_sym_public] = ACTIONS(269),
        [anon_sym_private] = ACTIONS(269),
        [anon_sym_factory] = ACTIONS(272),
        [anon_sym_typedef] = ACTIONS(275),
        [anon_sym_ATignore_literal_names] = ACTIONS(278),
        [anon_sym_typeid] = ACTIONS(281),
        [anon_sym_import] = ACTIONS(284),
        [anon_sym_Object] = ACTIONS(287),
        [sym_value_base_type] = ACTIONS(174),
        [anon_sym_native] = ACTIONS(290),
        [sym_identifier] = ACTIONS(293),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [5] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(793),
        [sym_export] = STATE(59),
        [sym_op_dcl] = STATE(342),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(793),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(793),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_element] = STATE(60),
        [sym_state_member] = STATE(59),
        [sym_init_dcl] = STATE(59),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(793),
        [sym_import_dcl] = STATE(793),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(342),
        [sym_op_with_context] = STATE(793),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(793),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(793),
        [sym_comment] = STATE(5),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_value_def_repeat1] = STATE(3),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(296),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_public] = ACTIONS(141),
        [anon_sym_private] = ACTIONS(141),
        [anon_sym_factory] = ACTIONS(143),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [6] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(800),
        [sym_export] = STATE(62),
        [sym_op_dcl] = STATE(341),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(800),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(800),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(800),
        [sym_import_dcl] = STATE(800),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(341),
        [sym_op_with_context] = STATE(800),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_home_body] = STATE(694),
        [sym_home_export] = STATE(64),
        [sym_factory_dcl] = STATE(698),
        [sym_finder_dcl] = STATE(698),
        [sym_type_dcl] = STATE(800),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(800),
        [sym_comment] = STATE(6),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_home_body_repeat1] = STATE(9),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(298),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_factory] = ACTIONS(300),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_finder] = ACTIONS(302),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [7] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(793),
        [sym_export] = STATE(59),
        [sym_op_dcl] = STATE(342),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(793),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(793),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_element] = STATE(60),
        [sym_state_member] = STATE(59),
        [sym_init_dcl] = STATE(59),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(793),
        [sym_import_dcl] = STATE(793),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(342),
        [sym_op_with_context] = STATE(793),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(793),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(793),
        [sym_comment] = STATE(7),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_value_def_repeat1] = STATE(2),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(304),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_public] = ACTIONS(141),
        [anon_sym_private] = ACTIONS(141),
        [anon_sym_factory] = ACTIONS(143),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [8] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(800),
        [sym_export] = STATE(62),
        [sym_op_dcl] = STATE(341),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(800),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(800),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(800),
        [sym_import_dcl] = STATE(800),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(341),
        [sym_op_with_context] = STATE(800),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_home_export] = STATE(64),
        [sym_factory_dcl] = STATE(698),
        [sym_finder_dcl] = STATE(698),
        [sym_type_dcl] = STATE(800),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(800),
        [sym_comment] = STATE(8),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_home_body_repeat1] = STATE(8),
        [anon_sym_short] = ACTIONS(306),
        [anon_sym_int16] = ACTIONS(306),
        [anon_sym_long] = ACTIONS(309),
        [anon_sym_int32] = ACTIONS(309),
        [anon_sym_longlong] = ACTIONS(312),
        [anon_sym_int64] = ACTIONS(315),
        [sym_unsigned_tiny_int] = ACTIONS(318),
        [sym_boolean_type] = ACTIONS(321),
        [anon_sym_fixed] = ACTIONS(324),
        [sym_octet_type] = ACTIONS(321),
        [sym_signed_tiny_int] = ACTIONS(327),
        [anon_sym_unsignedshort] = ACTIONS(330),
        [anon_sym_uint16] = ACTIONS(333),
        [anon_sym_unsignedlong] = ACTIONS(336),
        [anon_sym_uint32] = ACTIONS(336),
        [anon_sym_unsignedlonglong] = ACTIONS(339),
        [anon_sym_uint64] = ACTIONS(342),
        [anon_sym_float] = ACTIONS(345),
        [anon_sym_double] = ACTIONS(345),
        [anon_sym_longdouble] = ACTIONS(348),
        [anon_sym_char] = ACTIONS(351),
        [anon_sym_wchar] = ACTIONS(351),
        [anon_sym_COLON_COLON] = ACTIONS(354),
        [anon_sym_string] = ACTIONS(357),
        [anon_sym_wstring] = ACTIONS(357),
        [anon_sym_any] = ACTIONS(360),
        [anon_sym_sequence] = ACTIONS(363),
        [anon_sym_map] = ACTIONS(366),
        [anon_sym_exception] = ACTIONS(369),
        [anon_sym_RBRACE] = ACTIONS(372),
        [anon_sym_abstract] = ACTIONS(374),
        [anon_sym_void] = ACTIONS(377),
        [anon_sym_readonly] = ACTIONS(380),
        [anon_sym_attribute] = ACTIONS(383),
        [anon_sym_bitset] = ACTIONS(386),
        [anon_sym_bitmask] = ACTIONS(389),
        [anon_sym_AT] = ACTIONS(392),
        [anon_sym_oneway] = ACTIONS(395),
        [anon_sym_valuetype] = ACTIONS(398),
        [anon_sym_struct] = ACTIONS(401),
        [anon_sym_union] = ACTIONS(404),
        [anon_sym_enum] = ACTIONS(407),
        [anon_sym_const] = ACTIONS(410),
        [anon_sym_custom] = ACTIONS(413),
        [anon_sym_factory] = ACTIONS(416),
        [anon_sym_typedef] = ACTIONS(419),
        [anon_sym_ATignore_literal_names] = ACTIONS(422),
        [anon_sym_typeid] = ACTIONS(425),
        [anon_sym_import] = ACTIONS(428),
        [anon_sym_Object] = ACTIONS(431),
        [sym_value_base_type] = ACTIONS(321),
        [anon_sym_finder] = ACTIONS(434),
        [anon_sym_native] = ACTIONS(437),
        [sym_identifier] = ACTIONS(440),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [9] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(800),
        [sym_export] = STATE(62),
        [sym_op_dcl] = STATE(341),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(800),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(800),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(800),
        [sym_import_dcl] = STATE(800),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(341),
        [sym_op_with_context] = STATE(800),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_home_export] = STATE(64),
        [sym_factory_dcl] = STATE(698),
        [sym_finder_dcl] = STATE(698),
        [sym_type_dcl] = STATE(800),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(800),
        [sym_comment] = STATE(9),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_home_body_repeat1] = STATE(8),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(443),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_factory] = ACTIONS(300),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_finder] = ACTIONS(302),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [10] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(655),
        [sym_interface_body] = STATE(657),
        [sym_export] = STATE(76),
        [sym_op_dcl] = STATE(418),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(655),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(655),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(655),
        [sym_import_dcl] = STATE(655),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(418),
        [sym_op_with_context] = STATE(655),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(655),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(655),
        [sym_comment] = STATE(10),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_interface_body_repeat1] = STATE(19),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(445),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [11] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(655),
        [sym_interface_body] = STATE(724),
        [sym_export] = STATE(76),
        [sym_op_dcl] = STATE(418),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(655),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(655),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(655),
        [sym_import_dcl] = STATE(655),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(418),
        [sym_op_with_context] = STATE(655),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(655),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(655),
        [sym_comment] = STATE(11),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_interface_body_repeat1] = STATE(19),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(447),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [12] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(655),
        [sym_export] = STATE(76),
        [sym_op_dcl] = STATE(418),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(655),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(655),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(655),
        [sym_import_dcl] = STATE(655),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(418),
        [sym_op_with_context] = STATE(655),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(655),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(655),
        [sym_comment] = STATE(12),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_interface_body_repeat1] = STATE(16),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(449),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [13] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(655),
        [sym_export] = STATE(76),
        [sym_op_dcl] = STATE(418),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(655),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(655),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(655),
        [sym_import_dcl] = STATE(655),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(418),
        [sym_op_with_context] = STATE(655),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(655),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(655),
        [sym_comment] = STATE(13),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_interface_body_repeat1] = STATE(17),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(449),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [14] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(655),
        [sym_export] = STATE(76),
        [sym_op_dcl] = STATE(418),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(655),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(655),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(655),
        [sym_import_dcl] = STATE(655),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(418),
        [sym_op_with_context] = STATE(655),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(655),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(655),
        [sym_comment] = STATE(14),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_interface_body_repeat1] = STATE(12),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(451),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [15] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(655),
        [sym_export] = STATE(76),
        [sym_op_dcl] = STATE(418),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(655),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(655),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(655),
        [sym_import_dcl] = STATE(655),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(418),
        [sym_op_with_context] = STATE(655),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(655),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(655),
        [sym_comment] = STATE(15),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_interface_body_repeat1] = STATE(21),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(453),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [16] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(655),
        [sym_export] = STATE(76),
        [sym_op_dcl] = STATE(418),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(655),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(655),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(655),
        [sym_import_dcl] = STATE(655),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(418),
        [sym_op_with_context] = STATE(655),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(655),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(655),
        [sym_comment] = STATE(16),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_interface_body_repeat1] = STATE(16),
        [anon_sym_short] = ACTIONS(455),
        [anon_sym_int16] = ACTIONS(455),
        [anon_sym_long] = ACTIONS(458),
        [anon_sym_int32] = ACTIONS(458),
        [anon_sym_longlong] = ACTIONS(461),
        [anon_sym_int64] = ACTIONS(464),
        [sym_unsigned_tiny_int] = ACTIONS(467),
        [sym_boolean_type] = ACTIONS(470),
        [anon_sym_fixed] = ACTIONS(473),
        [sym_octet_type] = ACTIONS(470),
        [sym_signed_tiny_int] = ACTIONS(476),
        [anon_sym_unsignedshort] = ACTIONS(479),
        [anon_sym_uint16] = ACTIONS(482),
        [anon_sym_unsignedlong] = ACTIONS(485),
        [anon_sym_uint32] = ACTIONS(485),
        [anon_sym_unsignedlonglong] = ACTIONS(488),
        [anon_sym_uint64] = ACTIONS(491),
        [anon_sym_float] = ACTIONS(494),
        [anon_sym_double] = ACTIONS(494),
        [anon_sym_longdouble] = ACTIONS(497),
        [anon_sym_char] = ACTIONS(500),
        [anon_sym_wchar] = ACTIONS(500),
        [anon_sym_COLON_COLON] = ACTIONS(503),
        [anon_sym_string] = ACTIONS(506),
        [anon_sym_wstring] = ACTIONS(506),
        [anon_sym_any] = ACTIONS(509),
        [anon_sym_sequence] = ACTIONS(512),
        [anon_sym_map] = ACTIONS(515),
        [anon_sym_exception] = ACTIONS(518),
        [anon_sym_RBRACE] = ACTIONS(521),
        [anon_sym_abstract] = ACTIONS(523),
        [anon_sym_void] = ACTIONS(526),
        [anon_sym_readonly] = ACTIONS(529),
        [anon_sym_attribute] = ACTIONS(532),
        [anon_sym_bitset] = ACTIONS(535),
        [anon_sym_bitmask] = ACTIONS(538),
        [anon_sym_AT] = ACTIONS(541),
        [anon_sym_oneway] = ACTIONS(544),
        [anon_sym_valuetype] = ACTIONS(547),
        [anon_sym_struct] = ACTIONS(550),
        [anon_sym_union] = ACTIONS(553),
        [anon_sym_enum] = ACTIONS(556),
        [anon_sym_const] = ACTIONS(559),
        [anon_sym_custom] = ACTIONS(562),
        [anon_sym_typedef] = ACTIONS(565),
        [anon_sym_ATignore_literal_names] = ACTIONS(568),
        [anon_sym_typeid] = ACTIONS(571),
        [anon_sym_import] = ACTIONS(574),
        [anon_sym_Object] = ACTIONS(577),
        [sym_value_base_type] = ACTIONS(470),
        [anon_sym_native] = ACTIONS(580),
        [sym_identifier] = ACTIONS(583),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [17] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(655),
        [sym_export] = STATE(76),
        [sym_op_dcl] = STATE(418),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(655),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(655),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(655),
        [sym_import_dcl] = STATE(655),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(418),
        [sym_op_with_context] = STATE(655),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(655),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(655),
        [sym_comment] = STATE(17),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_interface_body_repeat1] = STATE(16),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(586),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [18] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(655),
        [sym_export] = STATE(76),
        [sym_op_dcl] = STATE(418),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(655),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(655),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(655),
        [sym_import_dcl] = STATE(655),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(418),
        [sym_op_with_context] = STATE(655),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(655),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(655),
        [sym_comment] = STATE(18),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_interface_body_repeat1] = STATE(16),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(588),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [19] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(655),
        [sym_export] = STATE(76),
        [sym_op_dcl] = STATE(418),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(655),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(655),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(655),
        [sym_import_dcl] = STATE(655),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(418),
        [sym_op_with_context] = STATE(655),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(655),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(655),
        [sym_comment] = STATE(19),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_interface_body_repeat1] = STATE(16),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(590),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [20] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(655),
        [sym_export] = STATE(76),
        [sym_op_dcl] = STATE(418),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(655),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(655),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(655),
        [sym_import_dcl] = STATE(655),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(418),
        [sym_op_with_context] = STATE(655),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(655),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(655),
        [sym_comment] = STATE(20),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_interface_body_repeat1] = STATE(18),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(592),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [21] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(645),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_except_dcl] = STATE(655),
        [sym_export] = STATE(76),
        [sym_op_dcl] = STATE(418),
        [sym_op_type_spec] = STATE(658),
        [sym_attr_dcl] = STATE(655),
        [sym_readonly_attr_spec] = STATE(663),
        [sym_attr_spec] = STATE(663),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_value_dcl] = STATE(655),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(699),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(655),
        [sym_import_dcl] = STATE(655),
        [sym_object_type] = STATE(284),
        [sym_op_oneway_dcl] = STATE(418),
        [sym_op_with_context] = STATE(655),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_type_dcl] = STATE(655),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(655),
        [sym_comment] = STATE(21),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [aux_sym_interface_body_repeat1] = STATE(16),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_exception] = ACTIONS(109),
        [anon_sym_RBRACE] = ACTIONS(592),
        [anon_sym_abstract] = ACTIONS(113),
        [anon_sym_void] = ACTIONS(115),
        [anon_sym_readonly] = ACTIONS(117),
        [anon_sym_attribute] = ACTIONS(119),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_oneway] = ACTIONS(127),
        [anon_sym_valuetype] = ACTIONS(129),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_const] = ACTIONS(137),
        [anon_sym_custom] = ACTIONS(139),
        [anon_sym_typedef] = ACTIONS(145),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(147),
        [anon_sym_import] = ACTIONS(149),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [anon_sym_native] = ACTIONS(153),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [22] = {
        [sym_preproc_define] = STATE(103),
        [sym_preproc_call] = STATE(103),
        [sym_preproc_include] = STATE(103),
        [sym_except_dcl] = STATE(768),
        [sym_interface_dcl] = STATE(768),
        [sym_interface_kind] = STATE(766),
        [sym_interface_forward_dcl] = STATE(765),
        [sym_interface_def] = STATE(765),
        [sym_interface_header] = STATE(764),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_dcl] = STATE(768),
        [sym_annotation_appl] = STATE(219),
        [sym_template_module_dcl] = STATE(768),
        [sym_template_module_inst] = STATE(768),
        [sym_value_dcl] = STATE(768),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(758),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(768),
        [sym_type_prefix_dcl] = STATE(768),
        [sym_import_dcl] = STATE(768),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_component_dcl] = STATE(768),
        [sym_component_forward_dcl] = STATE(739),
        [sym_component_def] = STATE(739),
        [sym_component_header] = STATE(733),
        [sym_home_dcl] = STATE(768),
        [sym_home_header] = STATE(732),
        [sym_event_dcl] = STATE(768),
        [sym_event_forward_dcl] = STATE(731),
        [sym_event_abs_def] = STATE(731),
        [sym_event_def] = STATE(731),
        [sym_event_header] = STATE(728),
        [sym_porttype_dcl] = STATE(768),
        [sym_porttype_forward_dcl] = STATE(726),
        [sym_porttype_def] = STATE(726),
        [sym_connector_dcl] = STATE(768),
        [sym_connector_header] = STATE(711),
        [sym_definition] = STATE(103),
        [sym_type_dcl] = STATE(768),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_module_dcl] = STATE(768),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(768),
        [sym_comment] = STATE(22),
        [aux_sym_specification_repeat1] = STATE(22),
        [aux_sym_interface_def_repeat1] = STATE(177),
        [ts_builtin_sym_end] = ACTIONS(594),
        [anon_sym_POUNDdefine] = ACTIONS(596),
        [sym_preproc_directive] = ACTIONS(599),
        [aux_sym_preproc_include_token1] = ACTIONS(602),
        [anon_sym_exception] = ACTIONS(605),
        [anon_sym_local] = ACTIONS(608),
        [anon_sym_abstract] = ACTIONS(611),
        [anon_sym_interface] = ACTIONS(614),
        [anon_sym_bitset] = ACTIONS(617),
        [anon_sym_bitmask] = ACTIONS(620),
        [anon_sym_ATannotation] = ACTIONS(623),
        [anon_sym_AT] = ACTIONS(626),
        [anon_sym_module] = ACTIONS(629),
        [anon_sym_valuetype] = ACTIONS(632),
        [anon_sym_eventtype] = ACTIONS(635),
        [anon_sym_struct] = ACTIONS(638),
        [anon_sym_union] = ACTIONS(641),
        [anon_sym_enum] = ACTIONS(644),
        [anon_sym_const] = ACTIONS(647),
        [anon_sym_custom] = ACTIONS(650),
        [anon_sym_typedef] = ACTIONS(653),
        [anon_sym_ATignore_literal_names] = ACTIONS(656),
        [anon_sym_typeid] = ACTIONS(659),
        [anon_sym_typeprefix] = ACTIONS(662),
        [anon_sym_import] = ACTIONS(665),
        [anon_sym_component] = ACTIONS(668),
        [anon_sym_home] = ACTIONS(671),
        [anon_sym_porttype] = ACTIONS(674),
        [anon_sym_connector] = ACTIONS(677),
        [anon_sym_native] = ACTIONS(680),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [23] = {
        [sym_preproc_define] = STATE(103),
        [sym_preproc_call] = STATE(103),
        [sym_preproc_include] = STATE(103),
        [sym_except_dcl] = STATE(768),
        [sym_interface_dcl] = STATE(768),
        [sym_interface_kind] = STATE(766),
        [sym_interface_forward_dcl] = STATE(765),
        [sym_interface_def] = STATE(765),
        [sym_interface_header] = STATE(764),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_dcl] = STATE(768),
        [sym_annotation_appl] = STATE(219),
        [sym_template_module_dcl] = STATE(768),
        [sym_template_module_inst] = STATE(768),
        [sym_value_dcl] = STATE(768),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(758),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(768),
        [sym_type_prefix_dcl] = STATE(768),
        [sym_import_dcl] = STATE(768),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_component_dcl] = STATE(768),
        [sym_component_forward_dcl] = STATE(739),
        [sym_component_def] = STATE(739),
        [sym_component_header] = STATE(733),
        [sym_home_dcl] = STATE(768),
        [sym_home_header] = STATE(732),
        [sym_event_dcl] = STATE(768),
        [sym_event_forward_dcl] = STATE(731),
        [sym_event_abs_def] = STATE(731),
        [sym_event_def] = STATE(731),
        [sym_event_header] = STATE(728),
        [sym_porttype_dcl] = STATE(768),
        [sym_porttype_forward_dcl] = STATE(726),
        [sym_porttype_def] = STATE(726),
        [sym_connector_dcl] = STATE(768),
        [sym_connector_header] = STATE(711),
        [sym_definition] = STATE(103),
        [sym_type_dcl] = STATE(768),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_module_dcl] = STATE(768),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(768),
        [sym_comment] = STATE(23),
        [aux_sym_specification_repeat1] = STATE(22),
        [aux_sym_interface_def_repeat1] = STATE(177),
        [ts_builtin_sym_end] = ACTIONS(683),
        [anon_sym_POUNDdefine] = ACTIONS(9),
        [sym_preproc_directive] = ACTIONS(11),
        [aux_sym_preproc_include_token1] = ACTIONS(13),
        [anon_sym_exception] = ACTIONS(15),
        [anon_sym_local] = ACTIONS(17),
        [anon_sym_abstract] = ACTIONS(19),
        [anon_sym_interface] = ACTIONS(21),
        [anon_sym_bitset] = ACTIONS(23),
        [anon_sym_bitmask] = ACTIONS(25),
        [anon_sym_ATannotation] = ACTIONS(27),
        [anon_sym_AT] = ACTIONS(29),
        [anon_sym_module] = ACTIONS(31),
        [anon_sym_valuetype] = ACTIONS(33),
        [anon_sym_eventtype] = ACTIONS(35),
        [anon_sym_struct] = ACTIONS(37),
        [anon_sym_union] = ACTIONS(39),
        [anon_sym_enum] = ACTIONS(41),
        [anon_sym_const] = ACTIONS(43),
        [anon_sym_custom] = ACTIONS(45),
        [anon_sym_typedef] = ACTIONS(47),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(51),
        [anon_sym_typeprefix] = ACTIONS(53),
        [anon_sym_import] = ACTIONS(55),
        [anon_sym_component] = ACTIONS(57),
        [anon_sym_home] = ACTIONS(59),
        [anon_sym_porttype] = ACTIONS(61),
        [anon_sym_connector] = ACTIONS(63),
        [anon_sym_native] = ACTIONS(65),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [24] = {
        [sym_except_dcl] = STATE(768),
        [sym_interface_dcl] = STATE(768),
        [sym_interface_kind] = STATE(766),
        [sym_interface_forward_dcl] = STATE(765),
        [sym_interface_def] = STATE(765),
        [sym_interface_header] = STATE(764),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_dcl] = STATE(768),
        [sym_annotation_appl] = STATE(219),
        [sym_template_module_dcl] = STATE(768),
        [sym_tpl_definition] = STATE(122),
        [sym_template_module_inst] = STATE(768),
        [sym_template_module_ref] = STATE(629),
        [sym_value_dcl] = STATE(768),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(758),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(768),
        [sym_type_prefix_dcl] = STATE(768),
        [sym_import_dcl] = STATE(768),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_component_dcl] = STATE(768),
        [sym_component_forward_dcl] = STATE(739),
        [sym_component_def] = STATE(739),
        [sym_component_header] = STATE(733),
        [sym_home_dcl] = STATE(768),
        [sym_home_header] = STATE(732),
        [sym_event_dcl] = STATE(768),
        [sym_event_forward_dcl] = STATE(731),
        [sym_event_abs_def] = STATE(731),
        [sym_event_def] = STATE(731),
        [sym_event_header] = STATE(728),
        [sym_porttype_dcl] = STATE(768),
        [sym_porttype_forward_dcl] = STATE(726),
        [sym_porttype_def] = STATE(726),
        [sym_connector_dcl] = STATE(768),
        [sym_connector_header] = STATE(711),
        [sym_definition] = STATE(117),
        [sym_type_dcl] = STATE(768),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_module_dcl] = STATE(768),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(768),
        [sym_comment] = STATE(24),
        [aux_sym_interface_def_repeat1] = STATE(177),
        [aux_sym_template_module_dcl_repeat1] = STATE(25),
        [anon_sym_exception] = ACTIONS(15),
        [anon_sym_RBRACE] = ACTIONS(685),
        [anon_sym_local] = ACTIONS(17),
        [anon_sym_abstract] = ACTIONS(19),
        [anon_sym_interface] = ACTIONS(21),
        [anon_sym_bitset] = ACTIONS(23),
        [anon_sym_bitmask] = ACTIONS(25),
        [anon_sym_ATannotation] = ACTIONS(27),
        [anon_sym_AT] = ACTIONS(29),
        [anon_sym_module] = ACTIONS(31),
        [anon_sym_valuetype] = ACTIONS(33),
        [anon_sym_eventtype] = ACTIONS(35),
        [anon_sym_struct] = ACTIONS(37),
        [anon_sym_union] = ACTIONS(39),
        [anon_sym_enum] = ACTIONS(41),
        [anon_sym_const] = ACTIONS(43),
        [anon_sym_alias] = ACTIONS(687),
        [anon_sym_custom] = ACTIONS(45),
        [anon_sym_typedef] = ACTIONS(47),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(51),
        [anon_sym_typeprefix] = ACTIONS(53),
        [anon_sym_import] = ACTIONS(55),
        [anon_sym_component] = ACTIONS(57),
        [anon_sym_home] = ACTIONS(59),
        [anon_sym_porttype] = ACTIONS(61),
        [anon_sym_connector] = ACTIONS(63),
        [anon_sym_native] = ACTIONS(65),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [25] = {
        [sym_except_dcl] = STATE(768),
        [sym_interface_dcl] = STATE(768),
        [sym_interface_kind] = STATE(766),
        [sym_interface_forward_dcl] = STATE(765),
        [sym_interface_def] = STATE(765),
        [sym_interface_header] = STATE(764),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_dcl] = STATE(768),
        [sym_annotation_appl] = STATE(219),
        [sym_template_module_dcl] = STATE(768),
        [sym_tpl_definition] = STATE(122),
        [sym_template_module_inst] = STATE(768),
        [sym_template_module_ref] = STATE(629),
        [sym_value_dcl] = STATE(768),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(758),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(768),
        [sym_type_prefix_dcl] = STATE(768),
        [sym_import_dcl] = STATE(768),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_component_dcl] = STATE(768),
        [sym_component_forward_dcl] = STATE(739),
        [sym_component_def] = STATE(739),
        [sym_component_header] = STATE(733),
        [sym_home_dcl] = STATE(768),
        [sym_home_header] = STATE(732),
        [sym_event_dcl] = STATE(768),
        [sym_event_forward_dcl] = STATE(731),
        [sym_event_abs_def] = STATE(731),
        [sym_event_def] = STATE(731),
        [sym_event_header] = STATE(728),
        [sym_porttype_dcl] = STATE(768),
        [sym_porttype_forward_dcl] = STATE(726),
        [sym_porttype_def] = STATE(726),
        [sym_connector_dcl] = STATE(768),
        [sym_connector_header] = STATE(711),
        [sym_definition] = STATE(117),
        [sym_type_dcl] = STATE(768),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_module_dcl] = STATE(768),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(768),
        [sym_comment] = STATE(25),
        [aux_sym_interface_def_repeat1] = STATE(177),
        [aux_sym_template_module_dcl_repeat1] = STATE(26),
        [anon_sym_exception] = ACTIONS(15),
        [anon_sym_RBRACE] = ACTIONS(689),
        [anon_sym_local] = ACTIONS(17),
        [anon_sym_abstract] = ACTIONS(19),
        [anon_sym_interface] = ACTIONS(21),
        [anon_sym_bitset] = ACTIONS(23),
        [anon_sym_bitmask] = ACTIONS(25),
        [anon_sym_ATannotation] = ACTIONS(27),
        [anon_sym_AT] = ACTIONS(29),
        [anon_sym_module] = ACTIONS(31),
        [anon_sym_valuetype] = ACTIONS(33),
        [anon_sym_eventtype] = ACTIONS(35),
        [anon_sym_struct] = ACTIONS(37),
        [anon_sym_union] = ACTIONS(39),
        [anon_sym_enum] = ACTIONS(41),
        [anon_sym_const] = ACTIONS(43),
        [anon_sym_alias] = ACTIONS(687),
        [anon_sym_custom] = ACTIONS(45),
        [anon_sym_typedef] = ACTIONS(47),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(51),
        [anon_sym_typeprefix] = ACTIONS(53),
        [anon_sym_import] = ACTIONS(55),
        [anon_sym_component] = ACTIONS(57),
        [anon_sym_home] = ACTIONS(59),
        [anon_sym_porttype] = ACTIONS(61),
        [anon_sym_connector] = ACTIONS(63),
        [anon_sym_native] = ACTIONS(65),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [26] = {
        [sym_except_dcl] = STATE(768),
        [sym_interface_dcl] = STATE(768),
        [sym_interface_kind] = STATE(766),
        [sym_interface_forward_dcl] = STATE(765),
        [sym_interface_def] = STATE(765),
        [sym_interface_header] = STATE(764),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_dcl] = STATE(768),
        [sym_annotation_appl] = STATE(219),
        [sym_template_module_dcl] = STATE(768),
        [sym_tpl_definition] = STATE(122),
        [sym_template_module_inst] = STATE(768),
        [sym_template_module_ref] = STATE(629),
        [sym_value_dcl] = STATE(768),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(758),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(768),
        [sym_type_prefix_dcl] = STATE(768),
        [sym_import_dcl] = STATE(768),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_component_dcl] = STATE(768),
        [sym_component_forward_dcl] = STATE(739),
        [sym_component_def] = STATE(739),
        [sym_component_header] = STATE(733),
        [sym_home_dcl] = STATE(768),
        [sym_home_header] = STATE(732),
        [sym_event_dcl] = STATE(768),
        [sym_event_forward_dcl] = STATE(731),
        [sym_event_abs_def] = STATE(731),
        [sym_event_def] = STATE(731),
        [sym_event_header] = STATE(728),
        [sym_porttype_dcl] = STATE(768),
        [sym_porttype_forward_dcl] = STATE(726),
        [sym_porttype_def] = STATE(726),
        [sym_connector_dcl] = STATE(768),
        [sym_connector_header] = STATE(711),
        [sym_definition] = STATE(117),
        [sym_type_dcl] = STATE(768),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_module_dcl] = STATE(768),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(768),
        [sym_comment] = STATE(26),
        [aux_sym_interface_def_repeat1] = STATE(177),
        [aux_sym_template_module_dcl_repeat1] = STATE(26),
        [anon_sym_exception] = ACTIONS(691),
        [anon_sym_RBRACE] = ACTIONS(694),
        [anon_sym_local] = ACTIONS(696),
        [anon_sym_abstract] = ACTIONS(699),
        [anon_sym_interface] = ACTIONS(702),
        [anon_sym_bitset] = ACTIONS(705),
        [anon_sym_bitmask] = ACTIONS(708),
        [anon_sym_ATannotation] = ACTIONS(711),
        [anon_sym_AT] = ACTIONS(714),
        [anon_sym_module] = ACTIONS(717),
        [anon_sym_valuetype] = ACTIONS(720),
        [anon_sym_eventtype] = ACTIONS(723),
        [anon_sym_struct] = ACTIONS(726),
        [anon_sym_union] = ACTIONS(729),
        [anon_sym_enum] = ACTIONS(732),
        [anon_sym_const] = ACTIONS(735),
        [anon_sym_alias] = ACTIONS(738),
        [anon_sym_custom] = ACTIONS(741),
        [anon_sym_typedef] = ACTIONS(744),
        [anon_sym_ATignore_literal_names] = ACTIONS(747),
        [anon_sym_typeid] = ACTIONS(750),
        [anon_sym_typeprefix] = ACTIONS(753),
        [anon_sym_import] = ACTIONS(756),
        [anon_sym_component] = ACTIONS(759),
        [anon_sym_home] = ACTIONS(762),
        [anon_sym_porttype] = ACTIONS(765),
        [anon_sym_connector] = ACTIONS(768),
        [anon_sym_native] = ACTIONS(771),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [27] = {
        [sym_except_dcl] = STATE(768),
        [sym_interface_dcl] = STATE(768),
        [sym_interface_kind] = STATE(766),
        [sym_interface_forward_dcl] = STATE(765),
        [sym_interface_def] = STATE(765),
        [sym_interface_header] = STATE(764),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_dcl] = STATE(768),
        [sym_annotation_appl] = STATE(219),
        [sym_template_module_dcl] = STATE(768),
        [sym_template_module_inst] = STATE(768),
        [sym_value_dcl] = STATE(768),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(758),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(768),
        [sym_type_prefix_dcl] = STATE(768),
        [sym_import_dcl] = STATE(768),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_component_dcl] = STATE(768),
        [sym_component_forward_dcl] = STATE(739),
        [sym_component_def] = STATE(739),
        [sym_component_header] = STATE(733),
        [sym_home_dcl] = STATE(768),
        [sym_home_header] = STATE(732),
        [sym_event_dcl] = STATE(768),
        [sym_event_forward_dcl] = STATE(731),
        [sym_event_abs_def] = STATE(731),
        [sym_event_def] = STATE(731),
        [sym_event_header] = STATE(728),
        [sym_porttype_dcl] = STATE(768),
        [sym_porttype_forward_dcl] = STATE(726),
        [sym_porttype_def] = STATE(726),
        [sym_connector_dcl] = STATE(768),
        [sym_connector_header] = STATE(711),
        [sym_definition] = STATE(127),
        [sym_type_dcl] = STATE(768),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_module_dcl] = STATE(768),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(768),
        [sym_comment] = STATE(27),
        [aux_sym_interface_def_repeat1] = STATE(177),
        [aux_sym_module_dcl_repeat1] = STATE(28),
        [anon_sym_exception] = ACTIONS(15),
        [anon_sym_RBRACE] = ACTIONS(774),
        [anon_sym_local] = ACTIONS(17),
        [anon_sym_abstract] = ACTIONS(19),
        [anon_sym_interface] = ACTIONS(21),
        [anon_sym_bitset] = ACTIONS(23),
        [anon_sym_bitmask] = ACTIONS(25),
        [anon_sym_ATannotation] = ACTIONS(27),
        [anon_sym_AT] = ACTIONS(29),
        [anon_sym_module] = ACTIONS(31),
        [anon_sym_valuetype] = ACTIONS(33),
        [anon_sym_eventtype] = ACTIONS(35),
        [anon_sym_struct] = ACTIONS(37),
        [anon_sym_union] = ACTIONS(39),
        [anon_sym_enum] = ACTIONS(41),
        [anon_sym_const] = ACTIONS(43),
        [anon_sym_custom] = ACTIONS(45),
        [anon_sym_typedef] = ACTIONS(47),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(51),
        [anon_sym_typeprefix] = ACTIONS(53),
        [anon_sym_import] = ACTIONS(55),
        [anon_sym_component] = ACTIONS(57),
        [anon_sym_home] = ACTIONS(59),
        [anon_sym_porttype] = ACTIONS(61),
        [anon_sym_connector] = ACTIONS(63),
        [anon_sym_native] = ACTIONS(65),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [28] = {
        [sym_except_dcl] = STATE(768),
        [sym_interface_dcl] = STATE(768),
        [sym_interface_kind] = STATE(766),
        [sym_interface_forward_dcl] = STATE(765),
        [sym_interface_def] = STATE(765),
        [sym_interface_header] = STATE(764),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_dcl] = STATE(768),
        [sym_annotation_appl] = STATE(219),
        [sym_template_module_dcl] = STATE(768),
        [sym_template_module_inst] = STATE(768),
        [sym_value_dcl] = STATE(768),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(758),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(768),
        [sym_type_prefix_dcl] = STATE(768),
        [sym_import_dcl] = STATE(768),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_component_dcl] = STATE(768),
        [sym_component_forward_dcl] = STATE(739),
        [sym_component_def] = STATE(739),
        [sym_component_header] = STATE(733),
        [sym_home_dcl] = STATE(768),
        [sym_home_header] = STATE(732),
        [sym_event_dcl] = STATE(768),
        [sym_event_forward_dcl] = STATE(731),
        [sym_event_abs_def] = STATE(731),
        [sym_event_def] = STATE(731),
        [sym_event_header] = STATE(728),
        [sym_porttype_dcl] = STATE(768),
        [sym_porttype_forward_dcl] = STATE(726),
        [sym_porttype_def] = STATE(726),
        [sym_connector_dcl] = STATE(768),
        [sym_connector_header] = STATE(711),
        [sym_definition] = STATE(127),
        [sym_type_dcl] = STATE(768),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_module_dcl] = STATE(768),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(768),
        [sym_comment] = STATE(28),
        [aux_sym_interface_def_repeat1] = STATE(177),
        [aux_sym_module_dcl_repeat1] = STATE(29),
        [anon_sym_exception] = ACTIONS(15),
        [anon_sym_RBRACE] = ACTIONS(776),
        [anon_sym_local] = ACTIONS(17),
        [anon_sym_abstract] = ACTIONS(19),
        [anon_sym_interface] = ACTIONS(21),
        [anon_sym_bitset] = ACTIONS(23),
        [anon_sym_bitmask] = ACTIONS(25),
        [anon_sym_ATannotation] = ACTIONS(27),
        [anon_sym_AT] = ACTIONS(29),
        [anon_sym_module] = ACTIONS(31),
        [anon_sym_valuetype] = ACTIONS(33),
        [anon_sym_eventtype] = ACTIONS(35),
        [anon_sym_struct] = ACTIONS(37),
        [anon_sym_union] = ACTIONS(39),
        [anon_sym_enum] = ACTIONS(41),
        [anon_sym_const] = ACTIONS(43),
        [anon_sym_custom] = ACTIONS(45),
        [anon_sym_typedef] = ACTIONS(47),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_typeid] = ACTIONS(51),
        [anon_sym_typeprefix] = ACTIONS(53),
        [anon_sym_import] = ACTIONS(55),
        [anon_sym_component] = ACTIONS(57),
        [anon_sym_home] = ACTIONS(59),
        [anon_sym_porttype] = ACTIONS(61),
        [anon_sym_connector] = ACTIONS(63),
        [anon_sym_native] = ACTIONS(65),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [29] = {
        [sym_except_dcl] = STATE(768),
        [sym_interface_dcl] = STATE(768),
        [sym_interface_kind] = STATE(766),
        [sym_interface_forward_dcl] = STATE(765),
        [sym_interface_def] = STATE(765),
        [sym_interface_header] = STATE(764),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_dcl] = STATE(768),
        [sym_annotation_appl] = STATE(219),
        [sym_template_module_dcl] = STATE(768),
        [sym_template_module_inst] = STATE(768),
        [sym_value_dcl] = STATE(768),
        [sym_value_def] = STATE(762),
        [sym_value_kind] = STATE(761),
        [sym_value_header] = STATE(760),
        [sym_value_forward_dcl] = STATE(762),
        [sym_typedef_dcl] = STATE(758),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_type_id_dcl] = STATE(768),
        [sym_type_prefix_dcl] = STATE(768),
        [sym_import_dcl] = STATE(768),
        [sym_value_box_def] = STATE(762),
        [sym_value_abs_def] = STATE(762),
        [sym_component_dcl] = STATE(768),
        [sym_component_forward_dcl] = STATE(739),
        [sym_component_def] = STATE(739),
        [sym_component_header] = STATE(733),
        [sym_home_dcl] = STATE(768),
        [sym_home_header] = STATE(732),
        [sym_event_dcl] = STATE(768),
        [sym_event_forward_dcl] = STATE(731),
        [sym_event_abs_def] = STATE(731),
        [sym_event_def] = STATE(731),
        [sym_event_header] = STATE(728),
        [sym_porttype_dcl] = STATE(768),
        [sym_porttype_forward_dcl] = STATE(726),
        [sym_porttype_def] = STATE(726),
        [sym_connector_dcl] = STATE(768),
        [sym_connector_header] = STATE(711),
        [sym_definition] = STATE(127),
        [sym_type_dcl] = STATE(768),
        [sym_constr_type_dcl] = STATE(699),
        [sym_native_dcl] = STATE(699),
        [sym_module_dcl] = STATE(768),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_const_dcl] = STATE(768),
        [sym_comment] = STATE(29),
        [aux_sym_interface_def_repeat1] = STATE(177),
        [aux_sym_module_dcl_repeat1] = STATE(29),
        [anon_sym_exception] = ACTIONS(778),
        [anon_sym_RBRACE] = ACTIONS(781),
        [anon_sym_local] = ACTIONS(783),
        [anon_sym_abstract] = ACTIONS(786),
        [anon_sym_interface] = ACTIONS(789),
        [anon_sym_bitset] = ACTIONS(792),
        [anon_sym_bitmask] = ACTIONS(795),
        [anon_sym_ATannotation] = ACTIONS(798),
        [anon_sym_AT] = ACTIONS(801),
        [anon_sym_module] = ACTIONS(804),
        [anon_sym_valuetype] = ACTIONS(807),
        [anon_sym_eventtype] = ACTIONS(810),
        [anon_sym_struct] = ACTIONS(813),
        [anon_sym_union] = ACTIONS(816),
        [anon_sym_enum] = ACTIONS(819),
        [anon_sym_const] = ACTIONS(822),
        [anon_sym_custom] = ACTIONS(825),
        [anon_sym_typedef] = ACTIONS(828),
        [anon_sym_ATignore_literal_names] = ACTIONS(831),
        [anon_sym_typeid] = ACTIONS(834),
        [anon_sym_typeprefix] = ACTIONS(837),
        [anon_sym_import] = ACTIONS(840),
        [anon_sym_component] = ACTIONS(843),
        [anon_sym_home] = ACTIONS(846),
        [anon_sym_porttype] = ACTIONS(849),
        [anon_sym_connector] = ACTIONS(852),
        [anon_sym_native] = ACTIONS(855),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [30] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(173),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(538),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_const_expr] = STATE(538),
        [sym_or_expr] = STATE(191),
        [sym_xor_expr] = STATE(188),
        [sym_and_expr] = STATE(182),
        [sym_shift_expr] = STATE(175),
        [sym_add_expr] = STATE(172),
        [sym_mult_expr] = STATE(153),
        [sym_unary_expr] = STATE(151),
        [sym_primary_expr] = STATE(163),
        [sym_unary_operator] = STATE(169),
        [sym_literal] = STATE(157),
        [sym_string_literal] = STATE(162),
        [sym_char_literal] = STATE(162),
        [sym_boolean_literal] = STATE(162),
        [sym_actual_parameters] = STATE(775),
        [sym_actual_parameter] = STATE(359),
        [sym_object_type] = STATE(284),
        [sym_comment] = STATE(30),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_PLUS] = ACTIONS(858),
        [anon_sym_DASH] = ACTIONS(858),
        [anon_sym_LPAREN] = ACTIONS(860),
        [anon_sym_TILDE] = ACTIONS(862),
        [anon_sym_L] = ACTIONS(864),
        [anon_sym_DQUOTE] = ACTIONS(866),
        [anon_sym_SQUOTE] = ACTIONS(868),
        [anon_sym_TRUE] = ACTIONS(870),
        [anon_sym_FALSE] = ACTIONS(870),
        [sym_number_literal] = ACTIONS(872),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [sym_identifier] = ACTIONS(874),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [31] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(173),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(538),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_const_expr] = STATE(538),
        [sym_or_expr] = STATE(191),
        [sym_xor_expr] = STATE(188),
        [sym_and_expr] = STATE(182),
        [sym_shift_expr] = STATE(175),
        [sym_add_expr] = STATE(172),
        [sym_mult_expr] = STATE(153),
        [sym_unary_expr] = STATE(151),
        [sym_primary_expr] = STATE(163),
        [sym_unary_operator] = STATE(169),
        [sym_literal] = STATE(157),
        [sym_string_literal] = STATE(162),
        [sym_char_literal] = STATE(162),
        [sym_boolean_literal] = STATE(162),
        [sym_actual_parameter] = STATE(551),
        [sym_object_type] = STATE(284),
        [sym_comment] = STATE(31),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_PLUS] = ACTIONS(858),
        [anon_sym_DASH] = ACTIONS(858),
        [anon_sym_LPAREN] = ACTIONS(860),
        [anon_sym_TILDE] = ACTIONS(862),
        [anon_sym_L] = ACTIONS(864),
        [anon_sym_DQUOTE] = ACTIONS(866),
        [anon_sym_SQUOTE] = ACTIONS(868),
        [anon_sym_TRUE] = ACTIONS(870),
        [anon_sym_FALSE] = ACTIONS(870),
        [sym_number_literal] = ACTIONS(872),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [sym_identifier] = ACTIONS(874),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [32] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_type_spec] = STATE(308),
        [sym_simple_type_spec] = STATE(274),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(274),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_element_spec] = STATE(729),
        [sym_object_type] = STATE(284),
        [sym_constr_type_dcl] = STATE(308),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_comment] = STATE(32),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(876),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_default] = ACTIONS(878),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_case] = ACTIONS(878),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [33] = {
        [sym_signed_short_int] = STATE(232),
        [sym_signed_long_int] = STATE(232),
        [sym_signed_longlong_int] = STATE(232),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(284),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(231),
        [sym_unsigned_long_int] = STATE(231),
        [sym_unsigned_longlong_int] = STATE(231),
        [sym_floating_pt_type] = STATE(284),
        [sym_char_type] = STATE(284),
        [sym_scoped_name] = STATE(520),
        [sym_string_type] = STATE(281),
        [sym_simple_type_spec] = STATE(239),
        [sym_base_type_spec] = STATE(279),
        [sym_any_type] = STATE(284),
        [sym_fixed_pt_type] = STATE(281),
        [sym_template_type_spec] = STATE(239),
        [sym_sequence_type] = STATE(281),
        [sym_map_type] = STATE(281),
        [sym_bitset_dcl] = STATE(540),
        [sym_bitmask_dcl] = STATE(540),
        [sym_annotation_appl] = STATE(219),
        [sym_type_declarator] = STATE(597),
        [sym_enum_dcl] = STATE(540),
        [sym_enum_anno] = STATE(757),
        [sym_union_dcl] = STATE(540),
        [sym_union_forward_dcl] = STATE(519),
        [sym_union_def] = STATE(519),
        [sym_object_type] = STATE(284),
        [sym_constr_type_dcl] = STATE(239),
        [sym_struct_dcl] = STATE(540),
        [sym_struct_forward_dcl] = STATE(458),
        [sym_struct_def] = STATE(458),
        [sym_comment] = STATE(33),
        [aux_sym_interface_def_repeat1] = STATE(240),
        [anon_sym_short] = ACTIONS(67),
        [anon_sym_int16] = ACTIONS(67),
        [anon_sym_long] = ACTIONS(69),
        [anon_sym_int32] = ACTIONS(69),
        [anon_sym_longlong] = ACTIONS(71),
        [anon_sym_int64] = ACTIONS(73),
        [sym_unsigned_tiny_int] = ACTIONS(75),
        [sym_boolean_type] = ACTIONS(77),
        [anon_sym_fixed] = ACTIONS(79),
        [sym_octet_type] = ACTIONS(77),
        [sym_signed_tiny_int] = ACTIONS(81),
        [anon_sym_unsignedshort] = ACTIONS(83),
        [anon_sym_uint16] = ACTIONS(85),
        [anon_sym_unsignedlong] = ACTIONS(87),
        [anon_sym_uint32] = ACTIONS(87),
        [anon_sym_unsignedlonglong] = ACTIONS(89),
        [anon_sym_uint64] = ACTIONS(91),
        [anon_sym_float] = ACTIONS(93),
        [anon_sym_double] = ACTIONS(93),
        [anon_sym_longdouble] = ACTIONS(95),
        [anon_sym_char] = ACTIONS(97),
        [anon_sym_wchar] = ACTIONS(97),
        [anon_sym_COLON_COLON] = ACTIONS(99),
        [anon_sym_string] = ACTIONS(101),
        [anon_sym_wstring] = ACTIONS(101),
        [anon_sym_any] = ACTIONS(103),
        [anon_sym_sequence] = ACTIONS(105),
        [anon_sym_map] = ACTIONS(107),
        [anon_sym_bitset] = ACTIONS(121),
        [anon_sym_bitmask] = ACTIONS(123),
        [anon_sym_AT] = ACTIONS(125),
        [anon_sym_struct] = ACTIONS(131),
        [anon_sym_union] = ACTIONS(133),
        [anon_sym_enum] = ACTIONS(135),
        [anon_sym_ATignore_literal_names] = ACTIONS(49),
        [anon_sym_Object] = ACTIONS(151),
        [sym_value_base_type] = ACTIONS(77),
        [sym_identifier] = ACTIONS(155),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
};

static const uint16_t ts_small_parse_table[] = {
    [0] = 40,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(880),
    1,
    anon_sym_RPAREN,
    STATE(34),
    1,
    sym_comment,
    STATE(67),
    1,
    sym_param_attribute,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(363),
    1,
    sym_param_dcl,
    STATE(520),
    1,
    sym_scoped_name,
    STATE(543),
    1,
    sym_type_spec,
    STATE(592),
    1,
    sym_parameter_dcls,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    ACTIONS(882),
    3,
    anon_sym_in,
    anon_sym_out,
    anon_sym_inout,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [144] = 42,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(874),
    1,
    sym_identifier,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(886),
    1,
    anon_sym_LBRACE,
    ACTIONS(888),
    1,
    anon_sym_COLON,
    ACTIONS(890),
    1,
    anon_sym_SEMI,
    ACTIONS(892),
    1,
    anon_sym_supports,
    STATE(35),
    1,
    sym_comment,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(330),
    1,
    sym_scoped_name,
    STATE(362),
    1,
    sym_value_inheritance,
    STATE(595),
    1,
    sym_value_supports,
    STATE(667),
    1,
    sym_type_spec,
    STATE(668),
    1,
    sym_value_inheritance_spec,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [292] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(894),
    1,
    anon_sym_RBRACE,
    ACTIONS(896),
    1,
    anon_sym_AT,
    STATE(36),
    1,
    sym_comment,
    STATE(42),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(51),
    1,
    aux_sym_interface_def_repeat1,
    STATE(87),
    1,
    sym_member,
    STATE(99),
    1,
    sym_annotation_appl,
    STATE(247),
    1,
    sym_type_spec,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [437] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(896),
    1,
    anon_sym_AT,
    ACTIONS(898),
    1,
    anon_sym_RBRACE,
    STATE(37),
    1,
    sym_comment,
    STATE(40),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(51),
    1,
    aux_sym_interface_def_repeat1,
    STATE(87),
    1,
    sym_member,
    STATE(99),
    1,
    sym_annotation_appl,
    STATE(247),
    1,
    sym_type_spec,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [582] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(896),
    1,
    anon_sym_AT,
    ACTIONS(900),
    1,
    anon_sym_RBRACE,
    STATE(38),
    1,
    sym_comment,
    STATE(42),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(51),
    1,
    aux_sym_interface_def_repeat1,
    STATE(87),
    1,
    sym_member,
    STATE(99),
    1,
    sym_annotation_appl,
    STATE(247),
    1,
    sym_type_spec,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [727] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(896),
    1,
    anon_sym_AT,
    ACTIONS(902),
    1,
    anon_sym_RBRACE,
    STATE(39),
    1,
    sym_comment,
    STATE(44),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(51),
    1,
    aux_sym_interface_def_repeat1,
    STATE(87),
    1,
    sym_member,
    STATE(99),
    1,
    sym_annotation_appl,
    STATE(247),
    1,
    sym_type_spec,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [872] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(896),
    1,
    anon_sym_AT,
    ACTIONS(904),
    1,
    anon_sym_RBRACE,
    STATE(40),
    1,
    sym_comment,
    STATE(42),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(51),
    1,
    aux_sym_interface_def_repeat1,
    STATE(87),
    1,
    sym_member,
    STATE(99),
    1,
    sym_annotation_appl,
    STATE(247),
    1,
    sym_type_spec,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [1017] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(896),
    1,
    anon_sym_AT,
    ACTIONS(904),
    1,
    anon_sym_RBRACE,
    STATE(36),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(41),
    1,
    sym_comment,
    STATE(51),
    1,
    aux_sym_interface_def_repeat1,
    STATE(87),
    1,
    sym_member,
    STATE(99),
    1,
    sym_annotation_appl,
    STATE(247),
    1,
    sym_type_spec,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [1162] = 40,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(912),
    1,
    anon_sym_longlong,
    ACTIONS(915),
    1,
    anon_sym_int64,
    ACTIONS(918),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(924),
    1,
    anon_sym_fixed,
    ACTIONS(927),
    1,
    sym_signed_tiny_int,
    ACTIONS(930),
    1,
    anon_sym_unsignedshort,
    ACTIONS(933),
    1,
    anon_sym_uint16,
    ACTIONS(939),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(942),
    1,
    anon_sym_uint64,
    ACTIONS(948),
    1,
    anon_sym_longdouble,
    ACTIONS(954),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(960),
    1,
    anon_sym_any,
    ACTIONS(963),
    1,
    anon_sym_sequence,
    ACTIONS(966),
    1,
    anon_sym_map,
    ACTIONS(969),
    1,
    anon_sym_RBRACE,
    ACTIONS(971),
    1,
    anon_sym_AT,
    ACTIONS(974),
    1,
    anon_sym_Object,
    ACTIONS(977),
    1,
    sym_identifier,
    STATE(51),
    1,
    aux_sym_interface_def_repeat1,
    STATE(87),
    1,
    sym_member,
    STATE(99),
    1,
    sym_annotation_appl,
    STATE(247),
    1,
    sym_type_spec,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(906),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(909),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(936),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(945),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(951),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(957),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(42),
    2,
    sym_comment,
    aux_sym_except_dcl_repeat1,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(921),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [1305] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(896),
    1,
    anon_sym_AT,
    ACTIONS(980),
    1,
    anon_sym_RBRACE,
    STATE(42),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(43),
    1,
    sym_comment,
    STATE(51),
    1,
    aux_sym_interface_def_repeat1,
    STATE(87),
    1,
    sym_member,
    STATE(99),
    1,
    sym_annotation_appl,
    STATE(247),
    1,
    sym_type_spec,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [1450] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(896),
    1,
    anon_sym_AT,
    ACTIONS(982),
    1,
    anon_sym_RBRACE,
    STATE(42),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(44),
    1,
    sym_comment,
    STATE(51),
    1,
    aux_sym_interface_def_repeat1,
    STATE(87),
    1,
    sym_member,
    STATE(99),
    1,
    sym_annotation_appl,
    STATE(247),
    1,
    sym_type_spec,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [1595] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(896),
    1,
    anon_sym_AT,
    ACTIONS(984),
    1,
    anon_sym_RBRACE,
    STATE(43),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(45),
    1,
    sym_comment,
    STATE(51),
    1,
    aux_sym_interface_def_repeat1,
    STATE(87),
    1,
    sym_member,
    STATE(99),
    1,
    sym_annotation_appl,
    STATE(247),
    1,
    sym_type_spec,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [1740] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(896),
    1,
    anon_sym_AT,
    ACTIONS(986),
    1,
    anon_sym_RBRACE,
    STATE(38),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(46),
    1,
    sym_comment,
    STATE(51),
    1,
    aux_sym_interface_def_repeat1,
    STATE(87),
    1,
    sym_member,
    STATE(99),
    1,
    sym_annotation_appl,
    STATE(247),
    1,
    sym_type_spec,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [1885] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(135),
    1,
    anon_sym_enum,
    ACTIONS(137),
    1,
    anon_sym_const,
    ACTIONS(145),
    1,
    anon_sym_typedef,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(990),
    1,
    anon_sym_fixed,
    ACTIONS(992),
    1,
    anon_sym_any,
    ACTIONS(994),
    1,
    anon_sym_RBRACE,
    ACTIONS(996),
    1,
    anon_sym_ATignore_literal_names,
    STATE(47),
    1,
    sym_comment,
    STATE(50),
    1,
    aux_sym_annotation_dcl_repeat1,
    STATE(82),
    1,
    sym_annotation_member,
    STATE(88),
    1,
    sym_annotation_body,
    STATE(498),
    1,
    sym_scoped_name,
    STATE(502),
    1,
    sym_annotation_member_type,
    STATE(757),
    1,
    sym_enum_anno,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    ACTIONS(988),
    2,
    sym_boolean_type,
    sym_octet_type,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(725),
    2,
    sym_any_const_type,
    sym_const_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(730),
    3,
    sym_typedef_dcl,
    sym_enum_dcl,
    sym_const_dcl,
    STATE(630),
    6,
    sym_fixed_pt_const_type,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_string_type,
    sym_sequence_type,
    [2029] = 40,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1004),
    1,
    anon_sym_longlong,
    ACTIONS(1007),
    1,
    anon_sym_int64,
    ACTIONS(1010),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(1016),
    1,
    anon_sym_fixed,
    ACTIONS(1019),
    1,
    sym_signed_tiny_int,
    ACTIONS(1022),
    1,
    anon_sym_unsignedshort,
    ACTIONS(1025),
    1,
    anon_sym_uint16,
    ACTIONS(1031),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(1034),
    1,
    anon_sym_uint64,
    ACTIONS(1040),
    1,
    anon_sym_longdouble,
    ACTIONS(1046),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1052),
    1,
    anon_sym_any,
    ACTIONS(1055),
    1,
    anon_sym_sequence,
    ACTIONS(1058),
    1,
    anon_sym_RBRACE,
    ACTIONS(1060),
    1,
    anon_sym_enum,
    ACTIONS(1063),
    1,
    anon_sym_const,
    ACTIONS(1066),
    1,
    anon_sym_typedef,
    ACTIONS(1069),
    1,
    anon_sym_ATignore_literal_names,
    ACTIONS(1072),
    1,
    sym_identifier,
    STATE(82),
    1,
    sym_annotation_member,
    STATE(88),
    1,
    sym_annotation_body,
    STATE(498),
    1,
    sym_scoped_name,
    STATE(502),
    1,
    sym_annotation_member_type,
    STATE(757),
    1,
    sym_enum_anno,
    ACTIONS(998),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(1001),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(1013),
    2,
    sym_boolean_type,
    sym_octet_type,
    ACTIONS(1028),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(1037),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(1043),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(1049),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(48),
    2,
    sym_comment,
    aux_sym_annotation_dcl_repeat1,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(725),
    2,
    sym_any_const_type,
    sym_const_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(730),
    3,
    sym_typedef_dcl,
    sym_enum_dcl,
    sym_const_dcl,
    STATE(630),
    6,
    sym_fixed_pt_const_type,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_string_type,
    sym_sequence_type,
    [2171] = 38,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    STATE(49),
    1,
    sym_comment,
    STATE(67),
    1,
    sym_param_attribute,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(473),
    1,
    sym_param_dcl,
    STATE(520),
    1,
    sym_scoped_name,
    STATE(543),
    1,
    sym_type_spec,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    ACTIONS(882),
    3,
    anon_sym_in,
    anon_sym_out,
    anon_sym_inout,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [2309] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(135),
    1,
    anon_sym_enum,
    ACTIONS(137),
    1,
    anon_sym_const,
    ACTIONS(145),
    1,
    anon_sym_typedef,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(990),
    1,
    anon_sym_fixed,
    ACTIONS(992),
    1,
    anon_sym_any,
    ACTIONS(996),
    1,
    anon_sym_ATignore_literal_names,
    ACTIONS(1075),
    1,
    anon_sym_RBRACE,
    STATE(48),
    1,
    aux_sym_annotation_dcl_repeat1,
    STATE(50),
    1,
    sym_comment,
    STATE(82),
    1,
    sym_annotation_member,
    STATE(88),
    1,
    sym_annotation_body,
    STATE(498),
    1,
    sym_scoped_name,
    STATE(502),
    1,
    sym_annotation_member_type,
    STATE(757),
    1,
    sym_enum_anno,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    ACTIONS(988),
    2,
    sym_boolean_type,
    sym_octet_type,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(725),
    2,
    sym_any_const_type,
    sym_const_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(730),
    3,
    sym_typedef_dcl,
    sym_enum_dcl,
    sym_const_dcl,
    STATE(630),
    6,
    sym_fixed_pt_const_type,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_string_type,
    sym_sequence_type,
    [2453] = 38,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(896),
    1,
    anon_sym_AT,
    STATE(51),
    1,
    sym_comment,
    STATE(81),
    1,
    aux_sym_interface_def_repeat1,
    STATE(99),
    1,
    sym_annotation_appl,
    STATE(242),
    1,
    sym_type_spec,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [2589] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(1077),
    1,
    anon_sym_sequence,
    ACTIONS(1081),
    1,
    anon_sym_const,
    STATE(52),
    1,
    sym_comment,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(372),
    1,
    sym_formal_parameter,
    STATE(520),
    1,
    sym_scoped_name,
    STATE(747),
    1,
    sym_formal_parameters,
    STATE(752),
    1,
    sym_formal_parameter_type,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(745),
    2,
    sym_simple_type_spec,
    sym_sequence_type,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    ACTIONS(1079),
    8,
    anon_sym_exception,
    anon_sym_interface,
    anon_sym_typename,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    [2719] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(53),
    1,
    sym_comment,
    ACTIONS(1085),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1083),
    48,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_public,
    anon_sym_private,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [2788] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(54),
    1,
    sym_comment,
    ACTIONS(1089),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1087),
    48,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_public,
    anon_sym_private,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [2857] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(55),
    1,
    sym_comment,
    ACTIONS(1093),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1091),
    48,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_public,
    anon_sym_private,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [2926] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(56),
    1,
    sym_comment,
    ACTIONS(1097),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1095),
    48,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_public,
    anon_sym_private,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [2995] = 34,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(1077),
    1,
    anon_sym_sequence,
    ACTIONS(1081),
    1,
    anon_sym_const,
    STATE(57),
    1,
    sym_comment,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    STATE(548),
    1,
    sym_formal_parameter,
    STATE(752),
    1,
    sym_formal_parameter_type,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(745),
    2,
    sym_simple_type_spec,
    sym_sequence_type,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    ACTIONS(1079),
    8,
    anon_sym_exception,
    anon_sym_interface,
    anon_sym_typename,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    [3122] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(58),
    1,
    sym_comment,
    ACTIONS(1101),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1099),
    48,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_public,
    anon_sym_private,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [3191] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(59),
    1,
    sym_comment,
    ACTIONS(1105),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1103),
    48,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_public,
    anon_sym_private,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [3260] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(60),
    1,
    sym_comment,
    ACTIONS(1109),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1107),
    48,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_public,
    anon_sym_private,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [3329] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(61),
    1,
    sym_comment,
    ACTIONS(1097),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1095),
    47,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_finder,
    anon_sym_native,
    sym_identifier,
    [3397] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(62),
    1,
    sym_comment,
    ACTIONS(1113),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1111),
    47,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_finder,
    anon_sym_native,
    sym_identifier,
    [3465] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(63),
    1,
    sym_comment,
    ACTIONS(1117),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1115),
    47,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_finder,
    anon_sym_native,
    sym_identifier,
    [3533] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(64),
    1,
    sym_comment,
    ACTIONS(1121),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1119),
    47,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_finder,
    anon_sym_native,
    sym_identifier,
    [3601] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    STATE(65),
    1,
    sym_comment,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(477),
    1,
    sym_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [3728] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    STATE(66),
    1,
    sym_comment,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(360),
    1,
    sym_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [3855] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    STATE(67),
    1,
    sym_comment,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(479),
    1,
    sym_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [3982] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    STATE(68),
    1,
    sym_comment,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(469),
    1,
    sym_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [4109] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    STATE(69),
    1,
    sym_comment,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(330),
    1,
    sym_scoped_name,
    STATE(554),
    1,
    sym_type_spec,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [4236] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    STATE(70),
    1,
    sym_comment,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(460),
    1,
    sym_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [4363] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(874),
    1,
    sym_identifier,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    STATE(71),
    1,
    sym_comment,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(330),
    1,
    sym_scoped_name,
    STATE(801),
    1,
    sym_type_spec,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [4490] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    STATE(72),
    1,
    sym_comment,
    STATE(225),
    1,
    sym_type_spec,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [4617] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    STATE(73),
    1,
    sym_comment,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(412),
    1,
    sym_type_spec,
    STATE(520),
    1,
    sym_scoped_name,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [4744] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    anon_sym_fixed,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(103),
    1,
    anon_sym_any,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(107),
    1,
    anon_sym_map,
    ACTIONS(151),
    1,
    anon_sym_Object,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    STATE(74),
    1,
    sym_comment,
    STATE(279),
    1,
    sym_base_type_spec,
    STATE(330),
    1,
    sym_scoped_name,
    STATE(560),
    1,
    sym_type_spec,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(274),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(77),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(281),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(284),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [4871] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(75),
    1,
    sym_comment,
    ACTIONS(1097),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1095),
    45,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [4937] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(76),
    1,
    sym_comment,
    ACTIONS(1125),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1123),
    45,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [5003] = 29,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(990),
    1,
    anon_sym_fixed,
    STATE(77),
    1,
    sym_comment,
    STATE(508),
    1,
    sym_scoped_name,
    STATE(701),
    1,
    sym_const_type,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    ACTIONS(988),
    2,
    sym_boolean_type,
    sym_octet_type,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(630),
    6,
    sym_fixed_pt_const_type,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_string_type,
    sym_sequence_type,
    [5108] = 29,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(95),
    1,
    anon_sym_longdouble,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(105),
    1,
    anon_sym_sequence,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(990),
    1,
    anon_sym_fixed,
    STATE(78),
    1,
    sym_comment,
    STATE(508),
    1,
    sym_scoped_name,
    STATE(615),
    1,
    sym_const_type,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(93),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(101),
    2,
    anon_sym_string,
    anon_sym_wstring,
    ACTIONS(988),
    2,
    sym_boolean_type,
    sym_octet_type,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(630),
    6,
    sym_fixed_pt_const_type,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_string_type,
    sym_sequence_type,
    [5213] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(79),
    1,
    sym_comment,
    ACTIONS(1129),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1127),
    34,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_default,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_ATignore_literal_names,
    anon_sym_case,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5268] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(80),
    1,
    sym_comment,
    ACTIONS(1133),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1131),
    34,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_default,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_ATignore_literal_names,
    anon_sym_case,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5323] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1139),
    1,
    anon_sym_AT,
    STATE(99),
    1,
    sym_annotation_appl,
    STATE(81),
    2,
    sym_comment,
    aux_sym_interface_def_repeat1,
    ACTIONS(1137),
    5,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    ACTIONS(1135),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5375] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(82),
    1,
    sym_comment,
    ACTIONS(1144),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_ATignore_literal_names,
    ACTIONS(1142),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_typedef,
    sym_identifier,
    [5422] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(83),
    1,
    sym_comment,
    ACTIONS(1148),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1146),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5469] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(84),
    1,
    sym_comment,
    ACTIONS(1152),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_ATignore_literal_names,
    ACTIONS(1150),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_typedef,
    sym_identifier,
    [5516] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(85),
    1,
    sym_comment,
    ACTIONS(1156),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_AT,
    ACTIONS(1154),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5563] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1162),
    1,
    anon_sym_LPAREN,
    STATE(86),
    1,
    sym_comment,
    ACTIONS(1160),
    6,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_AT,
    ACTIONS(1158),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5612] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(87),
    1,
    sym_comment,
    ACTIONS(1166),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1164),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5659] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(88),
    1,
    sym_comment,
    ACTIONS(1170),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_ATignore_literal_names,
    ACTIONS(1168),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_typedef,
    sym_identifier,
    [5706] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1162),
    1,
    anon_sym_LPAREN,
    STATE(89),
    1,
    sym_comment,
    ACTIONS(1160),
    6,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_AT,
    ACTIONS(1158),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5755] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(90),
    1,
    sym_comment,
    ACTIONS(1174),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_ATignore_literal_names,
    ACTIONS(1172),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_typedef,
    sym_identifier,
    [5802] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(91),
    1,
    sym_comment,
    ACTIONS(1178),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_AT,
    ACTIONS(1176),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5849] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(92),
    1,
    sym_comment,
    ACTIONS(1182),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1180),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5896] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(93),
    1,
    sym_comment,
    ACTIONS(1186),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1184),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5943] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(94),
    1,
    sym_comment,
    ACTIONS(1190),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_AT,
    ACTIONS(1188),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5990] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(95),
    1,
    sym_comment,
    ACTIONS(1194),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1192),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [6037] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(96),
    1,
    sym_comment,
    ACTIONS(1198),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_ATignore_literal_names,
    ACTIONS(1196),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_typedef,
    sym_identifier,
    [6084] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(97),
    1,
    sym_comment,
    ACTIONS(1202),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_AT,
    ACTIONS(1200),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [6131] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(98),
    1,
    sym_comment,
    ACTIONS(1206),
    4,
    anon_sym_POUNDdefine,
    sym_preproc_directive,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1204),
    28,
    ts_builtin_sym_end,
    aux_sym_preproc_include_token1,
    anon_sym_exception,
    anon_sym_RBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_alias,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [6177] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(99),
    1,
    sym_comment,
    ACTIONS(1210),
    6,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_AT,
    ACTIONS(1208),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [6223] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(100),
    1,
    sym_comment,
    ACTIONS(1214),
    6,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_AT,
    ACTIONS(1212),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [6269] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(101),
    1,
    sym_comment,
    ACTIONS(1218),
    5,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    ACTIONS(1216),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [6314] = 24,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(71),
    1,
    anon_sym_longlong,
    ACTIONS(73),
    1,
    anon_sym_int64,
    ACTIONS(75),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(81),
    1,
    sym_signed_tiny_int,
    ACTIONS(83),
    1,
    anon_sym_unsignedshort,
    ACTIONS(85),
    1,
    anon_sym_uint16,
    ACTIONS(89),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(91),
    1,
    anon_sym_uint64,
    ACTIONS(874),
    1,
    sym_identifier,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1220),
    1,
    sym_boolean_type,
    STATE(102),
    1,
    sym_comment,
    STATE(459),
    1,
    sym_scoped_name,
    STATE(677),
    1,
    sym_switch_type_spec,
    ACTIONS(67),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(69),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(87),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(97),
    2,
    anon_sym_char,
    anon_sym_wchar,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(678),
    2,
    sym_integer_type,
    sym_char_type,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    [6397] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(103),
    1,
    sym_comment,
    ACTIONS(1224),
    4,
    anon_sym_POUNDdefine,
    sym_preproc_directive,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1222),
    26,
    ts_builtin_sym_end,
    aux_sym_preproc_include_token1,
    anon_sym_exception,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [6441] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(104),
    1,
    sym_comment,
    ACTIONS(1200),
    3,
    anon_sym_GT,
    anon_sym_SLASH,
    anon_sym_COLON,
    ACTIONS(1202),
    27,
    anon_sym_COLON_COLON,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_LPAREN,
    anon_sym_RPAREN,
    anon_sym_L,
    anon_sym_DQUOTE,
    anon_sym_LBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_SEMI,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    anon_sym_supports,
    anon_sym_RBRACK,
    anon_sym_manages,
    anon_sym_primarykey,
    [6485] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(105),
    1,
    sym_comment,
    ACTIONS(1228),
    4,
    anon_sym_POUNDdefine,
    sym_preproc_directive,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1226),
    26,
    ts_builtin_sym_end,
    aux_sym_preproc_include_token1,
    anon_sym_exception,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [6529] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(106),
    1,
    sym_comment,
    ACTIONS(1232),
    4,
    anon_sym_POUNDdefine,
    sym_preproc_directive,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1230),
    26,
    ts_builtin_sym_end,
    aux_sym_preproc_include_token1,
    anon_sym_exception,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [6573] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(107),
    1,
    sym_comment,
    ACTIONS(1236),
    4,
    anon_sym_POUNDdefine,
    sym_preproc_directive,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1234),
    26,
    ts_builtin_sym_end,
    aux_sym_preproc_include_token1,
    anon_sym_exception,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [6617] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(108),
    1,
    sym_comment,
    ACTIONS(1240),
    4,
    anon_sym_POUNDdefine,
    sym_preproc_directive,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1238),
    26,
    ts_builtin_sym_end,
    aux_sym_preproc_include_token1,
    anon_sym_exception,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [6661] = 28,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(1242),
    1,
    sym_identifier,
    STATE(109),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(388),
    1,
    sym_annotation_appl_param,
    STATE(735),
    1,
    sym_const_expr,
    STATE(796),
    1,
    sym_annotation_appl_params,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [6750] = 28,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(1242),
    1,
    sym_identifier,
    STATE(110),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(388),
    1,
    sym_annotation_appl_param,
    STATE(735),
    1,
    sym_const_expr,
    STATE(805),
    1,
    sym_annotation_appl_params,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [6839] = 28,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(1242),
    1,
    sym_identifier,
    STATE(111),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(388),
    1,
    sym_annotation_appl_param,
    STATE(735),
    1,
    sym_const_expr,
    STATE(802),
    1,
    sym_annotation_appl_params,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [6928] = 28,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(1242),
    1,
    sym_identifier,
    STATE(112),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(388),
    1,
    sym_annotation_appl_param,
    STATE(735),
    1,
    sym_const_expr,
    STATE(737),
    1,
    sym_annotation_appl_params,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7017] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(113),
    1,
    sym_comment,
    ACTIONS(1246),
    2,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1244),
    26,
    anon_sym_exception,
    anon_sym_RBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_alias,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [7059] = 27,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(114),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(338),
    1,
    sym_const_expr,
    STATE(685),
    1,
    sym_positive_int_const,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7145] = 27,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(115),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(338),
    1,
    sym_const_expr,
    STATE(579),
    1,
    sym_positive_int_const,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7231] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(874),
    1,
    sym_identifier,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    STATE(116),
    1,
    sym_comment,
    STATE(187),
    1,
    sym_scoped_name,
    STATE(202),
    1,
    sym_annotation_built_name,
    ACTIONS(1248),
    24,
    anon_sym_default,
    anon_sym_id,
    anon_sym_autoid,
    anon_sym_optional,
    anon_sym_position,
    anon_sym_value,
    anon_sym_extensibility,
    anon_sym_final,
    anon_sym_appendable,
    anon_sym_mutable,
    anon_sym_key,
    anon_sym_must_understand,
    anon_sym_default_literal,
    anon_sym_range,
    anon_sym_min,
    anon_sym_max,
    anon_sym_unit,
    anon_sym_bit_bound,
    anon_sym_external,
    anon_sym_nested,
    anon_sym_verbatim,
    anon_sym_service,
    anon_sym_oneway,
    anon_sym_ami,
    [7279] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(117),
    1,
    sym_comment,
    ACTIONS(1252),
    2,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1250),
    26,
    anon_sym_exception,
    anon_sym_RBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_alias,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [7321] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1254),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1258),
    1,
    sym_identifier,
    STATE(118),
    1,
    sym_comment,
    STATE(312),
    1,
    sym_scoped_name,
    STATE(365),
    1,
    sym_annotation_built_name,
    ACTIONS(1256),
    24,
    anon_sym_default,
    anon_sym_id,
    anon_sym_autoid,
    anon_sym_optional,
    anon_sym_position,
    anon_sym_value,
    anon_sym_extensibility,
    anon_sym_final,
    anon_sym_appendable,
    anon_sym_mutable,
    anon_sym_key,
    anon_sym_must_understand,
    anon_sym_default_literal,
    anon_sym_range,
    anon_sym_min,
    anon_sym_max,
    anon_sym_unit,
    anon_sym_bit_bound,
    anon_sym_external,
    anon_sym_nested,
    anon_sym_verbatim,
    anon_sym_service,
    anon_sym_oneway,
    anon_sym_ami,
    [7369] = 27,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(119),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(338),
    1,
    sym_const_expr,
    STATE(803),
    1,
    sym_positive_int_const,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7455] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1260),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1264),
    1,
    sym_identifier,
    STATE(86),
    1,
    sym_scoped_name,
    STATE(89),
    1,
    sym_annotation_built_name,
    STATE(120),
    1,
    sym_comment,
    ACTIONS(1262),
    24,
    anon_sym_default,
    anon_sym_id,
    anon_sym_autoid,
    anon_sym_optional,
    anon_sym_position,
    anon_sym_value,
    anon_sym_extensibility,
    anon_sym_final,
    anon_sym_appendable,
    anon_sym_mutable,
    anon_sym_key,
    anon_sym_must_understand,
    anon_sym_default_literal,
    anon_sym_range,
    anon_sym_min,
    anon_sym_max,
    anon_sym_unit,
    anon_sym_bit_bound,
    anon_sym_external,
    anon_sym_nested,
    anon_sym_verbatim,
    anon_sym_service,
    anon_sym_oneway,
    anon_sym_ami,
    [7503] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(155),
    1,
    sym_identifier,
    STATE(121),
    1,
    sym_comment,
    STATE(317),
    1,
    sym_scoped_name,
    STATE(349),
    1,
    sym_annotation_built_name,
    ACTIONS(1266),
    24,
    anon_sym_default,
    anon_sym_id,
    anon_sym_autoid,
    anon_sym_optional,
    anon_sym_position,
    anon_sym_value,
    anon_sym_extensibility,
    anon_sym_final,
    anon_sym_appendable,
    anon_sym_mutable,
    anon_sym_key,
    anon_sym_must_understand,
    anon_sym_default_literal,
    anon_sym_range,
    anon_sym_min,
    anon_sym_max,
    anon_sym_unit,
    anon_sym_bit_bound,
    anon_sym_external,
    anon_sym_nested,
    anon_sym_verbatim,
    anon_sym_service,
    anon_sym_oneway,
    anon_sym_ami,
    [7551] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(122),
    1,
    sym_comment,
    ACTIONS(1270),
    2,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1268),
    26,
    anon_sym_exception,
    anon_sym_RBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_alias,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [7593] = 27,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(123),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(338),
    1,
    sym_const_expr,
    STATE(521),
    1,
    sym_positive_int_const,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7679] = 27,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(124),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(338),
    1,
    sym_const_expr,
    STATE(669),
    1,
    sym_positive_int_const,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7765] = 27,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(125),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(338),
    1,
    sym_const_expr,
    STATE(580),
    1,
    sym_positive_int_const,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7851] = 27,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(126),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(338),
    1,
    sym_const_expr,
    STATE(697),
    1,
    sym_positive_int_const,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7937] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(127),
    1,
    sym_comment,
    ACTIONS(1274),
    2,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1272),
    25,
    anon_sym_exception,
    anon_sym_RBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [7978] = 26,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(128),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(673),
    1,
    sym_const_expr,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8061] = 26,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(129),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(613),
    1,
    sym_const_expr,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8144] = 26,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(130),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(727),
    1,
    sym_const_expr,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8227] = 26,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(131),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(537),
    1,
    sym_const_expr,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8310] = 26,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(132),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(624),
    1,
    sym_const_expr,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8393] = 26,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(133),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    STATE(191),
    1,
    sym_or_expr,
    STATE(710),
    1,
    sym_const_expr,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8476] = 19,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_long,
    ACTIONS(87),
    1,
    anon_sym_unsignedlong,
    ACTIONS(1278),
    1,
    anon_sym_int32,
    ACTIONS(1280),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(1284),
    1,
    sym_signed_tiny_int,
    ACTIONS(1286),
    1,
    anon_sym_uint32,
    STATE(134),
    1,
    sym_comment,
    STATE(682),
    1,
    sym_integer_type,
    STATE(683),
    1,
    sym_destination_type,
    ACTIONS(71),
    2,
    anon_sym_longlong,
    anon_sym_int64,
    ACTIONS(83),
    2,
    anon_sym_unsignedshort,
    anon_sym_uint16,
    ACTIONS(89),
    2,
    anon_sym_unsignedlonglong,
    anon_sym_uint64,
    ACTIONS(1276),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(1282),
    2,
    sym_boolean_type,
    sym_octet_type,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(231),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(232),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    [8544] = 24,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(135),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(182),
    1,
    sym_and_expr,
    STATE(184),
    1,
    sym_xor_expr,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8621] = 23,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(136),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(175),
    1,
    sym_shift_expr,
    STATE(181),
    1,
    sym_and_expr,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8695] = 22,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(137),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(172),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8766] = 17,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1288),
    1,
    anon_sym_RBRACE,
    ACTIONS(1290),
    1,
    anon_sym_readonly,
    ACTIONS(1292),
    1,
    anon_sym_attribute,
    ACTIONS(1294),
    1,
    anon_sym_provides,
    ACTIONS(1296),
    1,
    anon_sym_uses,
    ACTIONS(1298),
    1,
    anon_sym_emits,
    ACTIONS(1300),
    1,
    anon_sym_publishes,
    ACTIONS(1302),
    1,
    anon_sym_consumes,
    STATE(138),
    1,
    sym_comment,
    STATE(140),
    1,
    aux_sym_component_body_repeat1,
    STATE(178),
    1,
    sym_component_export,
    STATE(675),
    1,
    sym_component_body,
    ACTIONS(1304),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(663),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(679),
    7,
    sym_attr_dcl,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_emits_dcl,
    sym_publishes_dcl,
    sym_consumes_dcl,
    sym_port_dcl,
    [8826] = 21,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(139),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(153),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    STATE(171),
    1,
    sym_add_expr,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8894] = 16,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1290),
    1,
    anon_sym_readonly,
    ACTIONS(1292),
    1,
    anon_sym_attribute,
    ACTIONS(1294),
    1,
    anon_sym_provides,
    ACTIONS(1296),
    1,
    anon_sym_uses,
    ACTIONS(1298),
    1,
    anon_sym_emits,
    ACTIONS(1300),
    1,
    anon_sym_publishes,
    ACTIONS(1302),
    1,
    anon_sym_consumes,
    ACTIONS(1306),
    1,
    anon_sym_RBRACE,
    STATE(140),
    1,
    sym_comment,
    STATE(142),
    1,
    aux_sym_component_body_repeat1,
    STATE(178),
    1,
    sym_component_export,
    ACTIONS(1304),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(663),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(679),
    7,
    sym_attr_dcl,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_emits_dcl,
    sym_publishes_dcl,
    sym_consumes_dcl,
    sym_port_dcl,
    [8951] = 20,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(141),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_unary_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(166),
    1,
    sym_mult_expr,
    STATE(169),
    1,
    sym_unary_operator,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [9016] = 15,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1308),
    1,
    anon_sym_RBRACE,
    ACTIONS(1310),
    1,
    anon_sym_readonly,
    ACTIONS(1313),
    1,
    anon_sym_attribute,
    ACTIONS(1316),
    1,
    anon_sym_provides,
    ACTIONS(1319),
    1,
    anon_sym_uses,
    ACTIONS(1322),
    1,
    anon_sym_emits,
    ACTIONS(1325),
    1,
    anon_sym_publishes,
    ACTIONS(1328),
    1,
    anon_sym_consumes,
    STATE(178),
    1,
    sym_component_export,
    ACTIONS(1331),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(142),
    2,
    sym_comment,
    aux_sym_component_body_repeat1,
    STATE(663),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(679),
    7,
    sym_attr_dcl,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_emits_dcl,
    sym_publishes_dcl,
    sym_consumes_dcl,
    sym_port_dcl,
    [9071] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(143),
    1,
    sym_comment,
    ACTIONS(1176),
    3,
    anon_sym_GT,
    anon_sym_SLASH,
    anon_sym_COLON,
    ACTIONS(1178),
    17,
    anon_sym_COLON_COLON,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_LPAREN,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    anon_sym_AT,
    anon_sym_RBRACK,
    sym_identifier,
    [9105] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(144),
    1,
    sym_comment,
    ACTIONS(1188),
    3,
    anon_sym_GT,
    anon_sym_SLASH,
    anon_sym_COLON,
    ACTIONS(1190),
    17,
    anon_sym_COLON_COLON,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_LPAREN,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    anon_sym_AT,
    anon_sym_RBRACK,
    sym_identifier,
    [9139] = 19,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(862),
    1,
    anon_sym_TILDE,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(145),
    1,
    sym_comment,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(157),
    1,
    sym_literal,
    STATE(159),
    1,
    sym_unary_expr,
    STATE(163),
    1,
    sym_primary_expr,
    STATE(169),
    1,
    sym_unary_operator,
    ACTIONS(858),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [9201] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(146),
    1,
    sym_comment,
    ACTIONS(1178),
    19,
    anon_sym_COLON_COLON,
    anon_sym_LT,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_LPAREN,
    anon_sym_RPAREN,
    anon_sym_L,
    anon_sym_DQUOTE,
    anon_sym_LBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_SEMI,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    anon_sym_supports,
    anon_sym_manages,
    anon_sym_primarykey,
    [9232] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(147),
    1,
    sym_comment,
    ACTIONS(1190),
    19,
    anon_sym_COLON_COLON,
    anon_sym_LT,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_LPAREN,
    anon_sym_RPAREN,
    anon_sym_L,
    anon_sym_DQUOTE,
    anon_sym_LBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_SEMI,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    anon_sym_supports,
    anon_sym_manages,
    anon_sym_primarykey,
    [9263] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1334),
    1,
    anon_sym_COLON_COLON,
    STATE(148),
    1,
    sym_comment,
    ACTIONS(1336),
    3,
    anon_sym_GT,
    anon_sym_SLASH,
    anon_sym_COLON,
    ACTIONS(1338),
    13,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9296] = 15,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1290),
    1,
    anon_sym_readonly,
    ACTIONS(1292),
    1,
    anon_sym_attribute,
    ACTIONS(1294),
    1,
    anon_sym_provides,
    ACTIONS(1296),
    1,
    anon_sym_uses,
    ACTIONS(1340),
    1,
    anon_sym_RBRACE,
    STATE(149),
    1,
    sym_comment,
    STATE(155),
    1,
    aux_sym_port_body_repeat1,
    STATE(201),
    1,
    sym_port_ref,
    STATE(203),
    1,
    sym_port_export,
    STATE(659),
    1,
    sym_attr_dcl,
    ACTIONS(1304),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(663),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(704),
    3,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_port_dcl,
    [9346] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(150),
    1,
    sym_comment,
    ACTIONS(1342),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1344),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9376] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(151),
    1,
    sym_comment,
    ACTIONS(1346),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1348),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9406] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(152),
    1,
    sym_comment,
    ACTIONS(1350),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1352),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9436] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1354),
    1,
    anon_sym_GT,
    ACTIONS(1360),
    1,
    anon_sym_SLASH,
    STATE(153),
    1,
    sym_comment,
    ACTIONS(1358),
    2,
    anon_sym_STAR,
    anon_sym_PERCENT,
    ACTIONS(1356),
    12,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9470] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(154),
    1,
    sym_comment,
    ACTIONS(1362),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1364),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9500] = 15,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1290),
    1,
    anon_sym_readonly,
    ACTIONS(1292),
    1,
    anon_sym_attribute,
    ACTIONS(1294),
    1,
    anon_sym_provides,
    ACTIONS(1296),
    1,
    anon_sym_uses,
    ACTIONS(1366),
    1,
    anon_sym_RBRACE,
    STATE(155),
    1,
    sym_comment,
    STATE(158),
    1,
    aux_sym_port_body_repeat1,
    STATE(201),
    1,
    sym_port_ref,
    STATE(203),
    1,
    sym_port_export,
    STATE(659),
    1,
    sym_attr_dcl,
    ACTIONS(1304),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(663),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(704),
    3,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_port_dcl,
    [9550] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(156),
    1,
    sym_comment,
    ACTIONS(1368),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1370),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9580] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(157),
    1,
    sym_comment,
    ACTIONS(1336),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1338),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9610] = 14,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1372),
    1,
    anon_sym_RBRACE,
    ACTIONS(1374),
    1,
    anon_sym_readonly,
    ACTIONS(1377),
    1,
    anon_sym_attribute,
    ACTIONS(1380),
    1,
    anon_sym_provides,
    ACTIONS(1383),
    1,
    anon_sym_uses,
    STATE(201),
    1,
    sym_port_ref,
    STATE(203),
    1,
    sym_port_export,
    STATE(659),
    1,
    sym_attr_dcl,
    ACTIONS(1386),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(158),
    2,
    sym_comment,
    aux_sym_port_body_repeat1,
    STATE(663),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(704),
    3,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_port_dcl,
    [9658] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(159),
    1,
    sym_comment,
    ACTIONS(1389),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1391),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9688] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(160),
    1,
    sym_comment,
    ACTIONS(1393),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1395),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9718] = 14,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1397),
    1,
    anon_sym_RBRACE,
    ACTIONS(1399),
    1,
    anon_sym_readonly,
    ACTIONS(1402),
    1,
    anon_sym_attribute,
    ACTIONS(1405),
    1,
    anon_sym_provides,
    ACTIONS(1408),
    1,
    anon_sym_uses,
    STATE(192),
    1,
    sym_port_ref,
    STATE(194),
    1,
    sym_connector_export,
    STATE(703),
    1,
    sym_attr_dcl,
    ACTIONS(1411),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(161),
    2,
    sym_comment,
    aux_sym_connector_dcl_repeat1,
    STATE(663),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(704),
    3,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_port_dcl,
    [9766] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(162),
    1,
    sym_comment,
    ACTIONS(1414),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1416),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9796] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(163),
    1,
    sym_comment,
    ACTIONS(1418),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1420),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9826] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(164),
    1,
    sym_comment,
    ACTIONS(1422),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1424),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9856] = 15,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1290),
    1,
    anon_sym_readonly,
    ACTIONS(1292),
    1,
    anon_sym_attribute,
    ACTIONS(1294),
    1,
    anon_sym_provides,
    ACTIONS(1296),
    1,
    anon_sym_uses,
    ACTIONS(1426),
    1,
    anon_sym_RBRACE,
    STATE(161),
    1,
    aux_sym_connector_dcl_repeat1,
    STATE(165),
    1,
    sym_comment,
    STATE(192),
    1,
    sym_port_ref,
    STATE(194),
    1,
    sym_connector_export,
    STATE(703),
    1,
    sym_attr_dcl,
    ACTIONS(1304),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(663),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(704),
    3,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_port_dcl,
    [9906] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1360),
    1,
    anon_sym_SLASH,
    ACTIONS(1428),
    1,
    anon_sym_GT,
    STATE(166),
    1,
    sym_comment,
    ACTIONS(1358),
    2,
    anon_sym_STAR,
    anon_sym_PERCENT,
    ACTIONS(1430),
    12,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9940] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(167),
    1,
    sym_comment,
    ACTIONS(1432),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1434),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9970] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(168),
    1,
    sym_comment,
    ACTIONS(1436),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1438),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10000] = 15,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(860),
    1,
    anon_sym_LPAREN,
    ACTIONS(864),
    1,
    anon_sym_L,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(868),
    1,
    anon_sym_SQUOTE,
    ACTIONS(872),
    1,
    sym_number_literal,
    ACTIONS(874),
    1,
    sym_identifier,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(152),
    1,
    sym_primary_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(169),
    1,
    sym_comment,
    ACTIONS(870),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [10049] = 14,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1290),
    1,
    anon_sym_readonly,
    ACTIONS(1292),
    1,
    anon_sym_attribute,
    ACTIONS(1294),
    1,
    anon_sym_provides,
    ACTIONS(1296),
    1,
    anon_sym_uses,
    STATE(165),
    1,
    aux_sym_connector_dcl_repeat1,
    STATE(170),
    1,
    sym_comment,
    STATE(192),
    1,
    sym_port_ref,
    STATE(194),
    1,
    sym_connector_export,
    STATE(703),
    1,
    sym_attr_dcl,
    ACTIONS(1304),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(663),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(704),
    3,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_port_dcl,
    [10096] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1440),
    1,
    anon_sym_GT,
    STATE(171),
    1,
    sym_comment,
    ACTIONS(1444),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(1442),
    10,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10125] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1446),
    1,
    anon_sym_GT,
    STATE(172),
    1,
    sym_comment,
    ACTIONS(1444),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(1448),
    10,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10154] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1334),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1336),
    1,
    anon_sym_SLASH,
    ACTIONS(1450),
    1,
    anon_sym_GT,
    ACTIONS(1452),
    1,
    anon_sym_COMMA,
    STATE(173),
    1,
    sym_comment,
    ACTIONS(1338),
    9,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    [10187] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1200),
    1,
    anon_sym_SLASH,
    ACTIONS(1454),
    1,
    anon_sym_EQ,
    STATE(174),
    1,
    sym_comment,
    ACTIONS(1202),
    11,
    anon_sym_COLON_COLON,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    [10216] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1456),
    1,
    anon_sym_GT,
    STATE(175),
    1,
    sym_comment,
    ACTIONS(1460),
    2,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    ACTIONS(1458),
    8,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10243] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1462),
    1,
    anon_sym_GT,
    STATE(176),
    1,
    sym_comment,
    ACTIONS(1460),
    2,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    ACTIONS(1464),
    8,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_AMP,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10270] = 12,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(21),
    1,
    anon_sym_interface,
    ACTIONS(125),
    1,
    anon_sym_AT,
    ACTIONS(1466),
    1,
    anon_sym_bitmask,
    ACTIONS(1468),
    1,
    anon_sym_struct,
    STATE(177),
    1,
    sym_comment,
    STATE(185),
    1,
    aux_sym_interface_def_repeat1,
    STATE(219),
    1,
    sym_annotation_appl,
    STATE(585),
    1,
    sym_interface_header,
    STATE(689),
    1,
    sym_interface_kind,
    ACTIONS(17),
    2,
    anon_sym_local,
    anon_sym_abstract,
    [10308] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(178),
    1,
    sym_comment,
    ACTIONS(1470),
    10,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_emits,
    anon_sym_publishes,
    anon_sym_consumes,
    anon_sym_port,
    anon_sym_mirrorport,
    [10330] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(179),
    1,
    sym_comment,
    ACTIONS(1472),
    10,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_emits,
    anon_sym_publishes,
    anon_sym_consumes,
    anon_sym_port,
    anon_sym_mirrorport,
    [10352] = 10,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1294),
    1,
    anon_sym_provides,
    ACTIONS(1296),
    1,
    anon_sym_uses,
    ACTIONS(1474),
    1,
    anon_sym_RBRACE,
    STATE(149),
    1,
    sym_port_ref,
    STATE(180),
    1,
    sym_comment,
    STATE(778),
    1,
    sym_port_body,
    ACTIONS(1304),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(704),
    3,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_port_dcl,
    [10386] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1478),
    1,
    anon_sym_AMP,
    STATE(181),
    1,
    sym_comment,
    ACTIONS(1476),
    8,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10409] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1478),
    1,
    anon_sym_AMP,
    STATE(182),
    1,
    sym_comment,
    ACTIONS(1480),
    8,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10432] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(183),
    1,
    sym_comment,
    ACTIONS(1482),
    4,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_DQUOTE,
    anon_sym_SQUOTE,
    ACTIONS(1484),
    5,
    anon_sym_L,
    anon_sym_TRUE,
    anon_sym_FALSE,
    sym_number_literal,
    sym_identifier,
    [10455] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1488),
    1,
    anon_sym_CARET,
    STATE(184),
    1,
    sym_comment,
    ACTIONS(1486),
    7,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10477] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1490),
    1,
    anon_sym_AT,
    STATE(219),
    1,
    sym_annotation_appl,
    STATE(185),
    2,
    sym_comment,
    aux_sym_interface_def_repeat1,
    ACTIONS(1137),
    5,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitmask,
    anon_sym_struct,
    [10501] = 11,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1493),
    1,
    anon_sym_COMMA,
    ACTIONS(1495),
    1,
    anon_sym_SEMI,
    ACTIONS(1497),
    1,
    anon_sym_getraises,
    ACTIONS(1499),
    1,
    anon_sym_setraises,
    STATE(186),
    1,
    sym_comment,
    STATE(333),
    1,
    sym_get_excep_expr,
    STATE(451),
    1,
    aux_sym_readonly_attr_declarator_repeat1,
    STATE(582),
    1,
    sym_attr_raises_expr,
    STATE(584),
    1,
    sym_set_excep_expr,
    [10535] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1503),
    1,
    anon_sym_LPAREN,
    STATE(187),
    1,
    sym_comment,
    ACTIONS(1160),
    6,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    [10559] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1488),
    1,
    anon_sym_CARET,
    STATE(188),
    1,
    sym_comment,
    ACTIONS(1505),
    7,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10581] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(189),
    1,
    sym_comment,
    ACTIONS(1507),
    7,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_port,
    anon_sym_mirrorport,
    [10600] = 10,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1509),
    1,
    anon_sym_LBRACE,
    ACTIONS(1511),
    1,
    anon_sym_COLON,
    ACTIONS(1513),
    1,
    anon_sym_SEMI,
    ACTIONS(1515),
    1,
    anon_sym_supports,
    STATE(190),
    1,
    sym_comment,
    STATE(362),
    1,
    sym_value_inheritance,
    STATE(595),
    1,
    sym_value_supports,
    STATE(712),
    1,
    sym_value_inheritance_spec,
    [10631] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1519),
    1,
    anon_sym_PIPE,
    STATE(191),
    1,
    sym_comment,
    ACTIONS(1517),
    6,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10652] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(192),
    1,
    sym_comment,
    ACTIONS(1521),
    7,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_port,
    anon_sym_mirrorport,
    [10671] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(193),
    1,
    sym_comment,
    ACTIONS(1523),
    7,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_port,
    anon_sym_mirrorport,
    [10690] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(194),
    1,
    sym_comment,
    ACTIONS(1525),
    7,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_port,
    anon_sym_mirrorport,
    [10709] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(195),
    1,
    sym_comment,
    ACTIONS(1202),
    7,
    anon_sym_COLON_COLON,
    anon_sym_LT,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_LPAREN,
    anon_sym_AT,
    sym_identifier,
    [10728] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(196),
    1,
    sym_comment,
    ACTIONS(1527),
    7,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_port,
    anon_sym_mirrorport,
    [10747] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(197),
    1,
    sym_comment,
    ACTIONS(1529),
    7,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    anon_sym_raises,
    anon_sym_getraises,
    anon_sym_setraises,
    anon_sym_default,
    [10766] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(198),
    1,
    sym_comment,
    ACTIONS(1156),
    7,
    anon_sym_LPAREN,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    [10785] = 10,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(874),
    1,
    sym_identifier,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1531),
    1,
    anon_sym_L,
    STATE(199),
    1,
    sym_comment,
    STATE(539),
    1,
    sym_scoped_name,
    STATE(590),
    1,
    sym_imported_scope,
    STATE(594),
    1,
    sym_string_literal,
    [10816] = 10,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1511),
    1,
    anon_sym_COLON,
    ACTIONS(1515),
    1,
    anon_sym_supports,
    ACTIONS(1533),
    1,
    anon_sym_LBRACE,
    ACTIONS(1535),
    1,
    anon_sym_SEMI,
    STATE(200),
    1,
    sym_comment,
    STATE(362),
    1,
    sym_value_inheritance,
    STATE(593),
    1,
    sym_value_inheritance_spec,
    STATE(595),
    1,
    sym_value_supports,
    [10847] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(201),
    1,
    sym_comment,
    ACTIONS(1537),
    7,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_port,
    anon_sym_mirrorport,
    [10866] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1503),
    1,
    anon_sym_LPAREN,
    STATE(202),
    1,
    sym_comment,
    ACTIONS(1160),
    6,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    [10887] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(203),
    1,
    sym_comment,
    ACTIONS(1539),
    7,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_port,
    anon_sym_mirrorport,
    [10906] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1541),
    1,
    anon_sym_RBRACE,
    ACTIONS(1543),
    1,
    anon_sym_AT,
    ACTIONS(1545),
    1,
    sym_identifier,
    STATE(204),
    1,
    sym_comment,
    STATE(243),
    1,
    aux_sym_interface_def_repeat1,
    STATE(408),
    1,
    sym_bit_value,
    STATE(547),
    1,
    sym_annotation_appl,
    [10934] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1543),
    1,
    anon_sym_AT,
    ACTIONS(1545),
    1,
    sym_identifier,
    ACTIONS(1547),
    1,
    anon_sym_RBRACE,
    STATE(205),
    1,
    sym_comment,
    STATE(241),
    1,
    aux_sym_interface_def_repeat1,
    STATE(422),
    1,
    sym_bit_value,
    STATE(547),
    1,
    sym_annotation_appl,
    [10962] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1549),
    1,
    anon_sym_RBRACE,
    ACTIONS(1551),
    1,
    anon_sym_default,
    ACTIONS(1553),
    1,
    anon_sym_case,
    STATE(32),
    1,
    sym_case_label,
    STATE(206),
    1,
    sym_comment,
    STATE(216),
    1,
    aux_sym_union_def_repeat1,
    STATE(447),
    1,
    sym_case,
    [10990] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1555),
    1,
    anon_sym_RBRACE,
    ACTIONS(1557),
    1,
    anon_sym_ATdefault_literal,
    ACTIONS(1559),
    1,
    sym_identifier,
    STATE(207),
    1,
    sym_comment,
    STATE(259),
    1,
    aux_sym_enumerator_repeat1,
    STATE(335),
    1,
    sym_enumerator,
    STATE(559),
    1,
    sym_enum_modifier,
    [11018] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1561),
    1,
    anon_sym_LBRACE,
    ACTIONS(1563),
    1,
    anon_sym_COLON,
    ACTIONS(1565),
    1,
    anon_sym_SEMI,
    ACTIONS(1567),
    1,
    anon_sym_supports,
    STATE(208),
    1,
    sym_comment,
    STATE(380),
    1,
    sym_component_inheritance_spec,
    STATE(605),
    1,
    sym_supported_interface_spec,
    [11046] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1571),
    1,
    anon_sym_LBRACK,
    STATE(327),
    1,
    sym_fixed_array_size,
    STATE(209),
    2,
    sym_comment,
    aux_sym_array_declarator_repeat1,
    ACTIONS(1569),
    3,
    anon_sym_COMMA,
    anon_sym_SEMI,
    anon_sym_default,
    [11068] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1576),
    1,
    anon_sym_LBRACK,
    STATE(209),
    1,
    aux_sym_array_declarator_repeat1,
    STATE(210),
    1,
    sym_comment,
    STATE(327),
    1,
    sym_fixed_array_size,
    ACTIONS(1574),
    3,
    anon_sym_COMMA,
    anon_sym_SEMI,
    anon_sym_default,
    [11092] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1511),
    1,
    anon_sym_COLON,
    ACTIONS(1515),
    1,
    anon_sym_supports,
    ACTIONS(1578),
    1,
    anon_sym_LBRACE,
    STATE(211),
    1,
    sym_comment,
    STATE(362),
    1,
    sym_value_inheritance,
    STATE(595),
    1,
    sym_value_supports,
    STATE(695),
    1,
    sym_value_inheritance_spec,
    [11120] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1511),
    1,
    anon_sym_COLON,
    ACTIONS(1515),
    1,
    anon_sym_supports,
    ACTIONS(1580),
    1,
    anon_sym_LBRACE,
    STATE(212),
    1,
    sym_comment,
    STATE(362),
    1,
    sym_value_inheritance,
    STATE(595),
    1,
    sym_value_supports,
    STATE(794),
    1,
    sym_value_inheritance_spec,
    [11148] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1582),
    1,
    anon_sym_RBRACE,
    ACTIONS(1584),
    1,
    anon_sym_default,
    ACTIONS(1587),
    1,
    anon_sym_case,
    STATE(32),
    1,
    sym_case_label,
    STATE(447),
    1,
    sym_case,
    STATE(213),
    2,
    sym_comment,
    aux_sym_union_def_repeat1,
    [11174] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1590),
    1,
    anon_sym_LT,
    ACTIONS(1592),
    1,
    anon_sym_L,
    ACTIONS(1594),
    1,
    anon_sym_DQUOTE,
    ACTIONS(1596),
    1,
    sym_identifier,
    STATE(214),
    1,
    sym_comment,
    STATE(681),
    2,
    sym_string_literal,
    sym_system_lib_string,
    [11200] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1557),
    1,
    anon_sym_ATdefault_literal,
    ACTIONS(1559),
    1,
    sym_identifier,
    ACTIONS(1598),
    1,
    anon_sym_RBRACE,
    STATE(215),
    1,
    sym_comment,
    STATE(259),
    1,
    aux_sym_enumerator_repeat1,
    STATE(406),
    1,
    sym_enumerator,
    STATE(559),
    1,
    sym_enum_modifier,
    [11228] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1551),
    1,
    anon_sym_default,
    ACTIONS(1553),
    1,
    anon_sym_case,
    ACTIONS(1600),
    1,
    anon_sym_RBRACE,
    STATE(32),
    1,
    sym_case_label,
    STATE(213),
    1,
    aux_sym_union_def_repeat1,
    STATE(216),
    1,
    sym_comment,
    STATE(447),
    1,
    sym_case,
    [11256] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(1602),
    1,
    anon_sym_Object,
    ACTIONS(1604),
    1,
    anon_sym_multiple,
    STATE(217),
    1,
    sym_comment,
    STATE(532),
    1,
    sym_scoped_name,
    STATE(746),
    1,
    sym_interface_type,
    [11284] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(218),
    1,
    sym_comment,
    ACTIONS(1214),
    6,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    [11302] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(219),
    1,
    sym_comment,
    ACTIONS(1210),
    6,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    [11320] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1576),
    1,
    anon_sym_LBRACK,
    STATE(210),
    1,
    aux_sym_array_declarator_repeat1,
    STATE(220),
    1,
    sym_comment,
    STATE(327),
    1,
    sym_fixed_array_size,
    ACTIONS(1529),
    3,
    anon_sym_COMMA,
    anon_sym_SEMI,
    anon_sym_default,
    [11344] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(874),
    1,
    sym_identifier,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1606),
    1,
    anon_sym_truncatable,
    STATE(221),
    1,
    sym_comment,
    STATE(320),
    1,
    sym_scoped_name,
    STATE(321),
    1,
    sym_value_name,
    [11369] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1567),
    1,
    anon_sym_supports,
    ACTIONS(1608),
    1,
    anon_sym_COLON,
    ACTIONS(1610),
    1,
    anon_sym_manages,
    STATE(222),
    1,
    sym_comment,
    STATE(393),
    1,
    sym_home_inheritance_spec,
    STATE(619),
    1,
    sym_supported_interface_spec,
    [11394] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(1602),
    1,
    anon_sym_Object,
    STATE(223),
    1,
    sym_comment,
    STATE(532),
    1,
    sym_scoped_name,
    STATE(749),
    1,
    sym_interface_type,
    [11419] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1612),
    1,
    anon_sym_COMMA,
    STATE(224),
    1,
    sym_comment,
    STATE(295),
    1,
    aux_sym_raises_expr_repeat1,
    ACTIONS(1614),
    2,
    anon_sym_LBRACE,
    anon_sym_manages,
    [11442] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1616),
    1,
    sym_identifier,
    STATE(225),
    1,
    sym_comment,
    STATE(277),
    1,
    sym_declarator,
    STATE(646),
    1,
    sym_declarators,
    STATE(400),
    2,
    sym_simple_declarator,
    sym_array_declarator,
    [11465] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1557),
    1,
    anon_sym_ATdefault_literal,
    ACTIONS(1559),
    1,
    sym_identifier,
    STATE(226),
    1,
    sym_comment,
    STATE(259),
    1,
    aux_sym_enumerator_repeat1,
    STATE(557),
    1,
    sym_enumerator,
    STATE(559),
    1,
    sym_enum_modifier,
    [11490] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(155),
    1,
    sym_identifier,
    ACTIONS(1602),
    1,
    anon_sym_Object,
    STATE(227),
    1,
    sym_comment,
    STATE(532),
    1,
    sym_scoped_name,
    STATE(637),
    1,
    sym_interface_type,
    [11515] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(228),
    1,
    sym_comment,
    ACTIONS(1618),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11532] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(229),
    1,
    sym_comment,
    ACTIONS(1620),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11549] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(230),
    1,
    sym_comment,
    ACTIONS(1622),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11566] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(231),
    1,
    sym_comment,
    ACTIONS(1624),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11583] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(232),
    1,
    sym_comment,
    ACTIONS(1626),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11600] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(233),
    1,
    sym_comment,
    ACTIONS(1628),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11617] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(234),
    1,
    sym_comment,
    ACTIONS(1630),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11634] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(235),
    1,
    sym_comment,
    ACTIONS(1632),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11651] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(236),
    1,
    sym_comment,
    ACTIONS(1634),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11668] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1636),
    1,
    anon_sym_LT,
    STATE(237),
    1,
    sym_comment,
    ACTIONS(1638),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [11687] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(238),
    1,
    sym_comment,
    ACTIONS(1640),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11704] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1616),
    1,
    sym_identifier,
    STATE(239),
    1,
    sym_comment,
    STATE(370),
    1,
    sym_any_declarator,
    STATE(600),
    1,
    sym_any_declarators,
    STATE(534),
    2,
    sym_simple_declarator,
    sym_array_declarator,
    [11727] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(125),
    1,
    anon_sym_AT,
    ACTIONS(1466),
    1,
    anon_sym_bitmask,
    ACTIONS(1468),
    1,
    anon_sym_struct,
    STATE(185),
    1,
    aux_sym_interface_def_repeat1,
    STATE(219),
    1,
    sym_annotation_appl,
    STATE(240),
    1,
    sym_comment,
    [11752] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1543),
    1,
    anon_sym_AT,
    ACTIONS(1545),
    1,
    sym_identifier,
    STATE(241),
    1,
    sym_comment,
    STATE(318),
    1,
    aux_sym_interface_def_repeat1,
    STATE(387),
    1,
    sym_bit_value,
    STATE(547),
    1,
    sym_annotation_appl,
    [11777] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1616),
    1,
    sym_identifier,
    STATE(242),
    1,
    sym_comment,
    STATE(277),
    1,
    sym_declarator,
    STATE(389),
    1,
    sym_declarators,
    STATE(400),
    2,
    sym_simple_declarator,
    sym_array_declarator,
    [11800] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1543),
    1,
    anon_sym_AT,
    ACTIONS(1545),
    1,
    sym_identifier,
    STATE(243),
    1,
    sym_comment,
    STATE(318),
    1,
    aux_sym_interface_def_repeat1,
    STATE(422),
    1,
    sym_bit_value,
    STATE(547),
    1,
    sym_annotation_appl,
    [11825] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1642),
    1,
    anon_sym_RBRACE,
    ACTIONS(1644),
    1,
    anon_sym_bitfield,
    STATE(244),
    1,
    sym_comment,
    STATE(249),
    1,
    aux_sym_bitset_dcl_repeat1,
    STATE(417),
    1,
    sym_bitfield_spec,
    STATE(485),
    1,
    sym_bitfield,
    [11850] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1543),
    1,
    anon_sym_AT,
    ACTIONS(1545),
    1,
    sym_identifier,
    STATE(245),
    1,
    sym_comment,
    STATE(318),
    1,
    aux_sym_interface_def_repeat1,
    STATE(506),
    1,
    sym_bit_value,
    STATE(547),
    1,
    sym_annotation_appl,
    [11875] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1543),
    1,
    anon_sym_AT,
    ACTIONS(1545),
    1,
    sym_identifier,
    STATE(245),
    1,
    aux_sym_interface_def_repeat1,
    STATE(246),
    1,
    sym_comment,
    STATE(526),
    1,
    sym_bit_value,
    STATE(547),
    1,
    sym_annotation_appl,
    [11900] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1616),
    1,
    sym_identifier,
    STATE(247),
    1,
    sym_comment,
    STATE(277),
    1,
    sym_declarator,
    STATE(402),
    1,
    sym_declarators,
    STATE(400),
    2,
    sym_simple_declarator,
    sym_array_declarator,
    [11923] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1644),
    1,
    anon_sym_bitfield,
    ACTIONS(1646),
    1,
    anon_sym_RBRACE,
    STATE(244),
    1,
    aux_sym_bitset_dcl_repeat1,
    STATE(248),
    1,
    sym_comment,
    STATE(417),
    1,
    sym_bitfield_spec,
    STATE(485),
    1,
    sym_bitfield,
    [11948] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1648),
    1,
    anon_sym_RBRACE,
    ACTIONS(1650),
    1,
    anon_sym_bitfield,
    STATE(417),
    1,
    sym_bitfield_spec,
    STATE(485),
    1,
    sym_bitfield,
    STATE(249),
    2,
    sym_comment,
    aux_sym_bitset_dcl_repeat1,
    [11971] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1644),
    1,
    anon_sym_bitfield,
    ACTIONS(1653),
    1,
    anon_sym_RBRACE,
    STATE(250),
    1,
    sym_comment,
    STATE(254),
    1,
    aux_sym_bitset_dcl_repeat1,
    STATE(417),
    1,
    sym_bitfield_spec,
    STATE(485),
    1,
    sym_bitfield,
    [11996] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1493),
    1,
    anon_sym_COMMA,
    ACTIONS(1655),
    1,
    anon_sym_SEMI,
    ACTIONS(1657),
    1,
    anon_sym_raises,
    STATE(251),
    1,
    sym_comment,
    STATE(407),
    1,
    aux_sym_readonly_attr_declarator_repeat1,
    STATE(643),
    1,
    sym_raises_expr,
    [12021] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    STATE(252),
    1,
    sym_comment,
    ACTIONS(1659),
    4,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_LBRACE,
    anon_sym_manages,
    [12040] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1661),
    1,
    anon_sym_COMMA,
    STATE(253),
    2,
    sym_comment,
    aux_sym_raises_expr_repeat1,
    ACTIONS(1659),
    3,
    anon_sym_RPAREN,
    anon_sym_LBRACE,
    anon_sym_manages,
    [12059] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1644),
    1,
    anon_sym_bitfield,
    ACTIONS(1664),
    1,
    anon_sym_RBRACE,
    STATE(249),
    1,
    aux_sym_bitset_dcl_repeat1,
    STATE(254),
    1,
    sym_comment,
    STATE(417),
    1,
    sym_bitfield_spec,
    STATE(485),
    1,
    sym_bitfield,
    [12084] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1666),
    1,
    anon_sym_L,
    STATE(255),
    1,
    sym_comment,
    STATE(602),
    1,
    sym_string_literal,
    [12106] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(256),
    1,
    sym_comment,
    ACTIONS(1668),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [12122] = 5,
    ACTIONS(1673),
    1,
    anon_sym_SQUOTE,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1670),
    2,
    sym_escape_sequence,
    aux_sym_char_literal_token1,
    STATE(257),
    2,
    sym_comment,
    aux_sym_char_literal_repeat1,
    [12140] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(258),
    1,
    sym_comment,
    STATE(356),
    1,
    sym_scoped_name,
    STATE(782),
    1,
    sym_interface_name,
    [12162] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1557),
    1,
    anon_sym_ATdefault_literal,
    ACTIONS(1681),
    1,
    sym_identifier,
    STATE(259),
    1,
    sym_comment,
    STATE(323),
    1,
    aux_sym_enumerator_repeat1,
    STATE(559),
    1,
    sym_enum_modifier,
    [12184] = 7,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1683),
    1,
    sym_escape_sequence,
    ACTIONS(1685),
    1,
    anon_sym_DQUOTE,
    ACTIONS(1687),
    1,
    aux_sym_string_literal_token1,
    STATE(260),
    1,
    sym_comment,
    STATE(264),
    1,
    aux_sym_string_literal_repeat1,
    [12206] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(261),
    1,
    sym_comment,
    STATE(356),
    1,
    sym_scoped_name,
    STATE(399),
    1,
    sym_interface_name,
    [12228] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1689),
    1,
    anon_sym_COMMA,
    ACTIONS(1691),
    1,
    anon_sym_LBRACE,
    ACTIONS(1693),
    1,
    anon_sym_supports,
    STATE(262),
    1,
    sym_comment,
    STATE(267),
    1,
    aux_sym_value_inheritance_spec_repeat1,
    [12250] = 7,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1683),
    1,
    sym_escape_sequence,
    ACTIONS(1687),
    1,
    aux_sym_string_literal_token1,
    ACTIONS(1695),
    1,
    anon_sym_DQUOTE,
    STATE(263),
    1,
    sym_comment,
    STATE(264),
    1,
    aux_sym_string_literal_repeat1,
    [12272] = 6,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1697),
    1,
    sym_escape_sequence,
    ACTIONS(1700),
    1,
    anon_sym_DQUOTE,
    ACTIONS(1702),
    1,
    aux_sym_string_literal_token1,
    STATE(264),
    2,
    sym_comment,
    aux_sym_string_literal_repeat1,
    [12292] = 6,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1707),
    1,
    anon_sym_SQUOTE,
    STATE(257),
    1,
    aux_sym_char_literal_repeat1,
    STATE(265),
    1,
    sym_comment,
    ACTIONS(1705),
    2,
    sym_escape_sequence,
    aux_sym_char_literal_token1,
    [12312] = 7,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1683),
    1,
    sym_escape_sequence,
    ACTIONS(1685),
    1,
    anon_sym_DQUOTE,
    ACTIONS(1687),
    1,
    aux_sym_string_literal_token1,
    STATE(263),
    1,
    aux_sym_string_literal_repeat1,
    STATE(266),
    1,
    sym_comment,
    [12334] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1709),
    1,
    anon_sym_COMMA,
    ACTIONS(1712),
    2,
    anon_sym_LBRACE,
    anon_sym_supports,
    STATE(267),
    2,
    sym_comment,
    aux_sym_value_inheritance_spec_repeat1,
    [12352] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(268),
    1,
    sym_comment,
    ACTIONS(1714),
    4,
    anon_sym_COMMA,
    anon_sym_SEMI,
    anon_sym_default,
    anon_sym_LBRACK,
    [12368] = 7,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1716),
    1,
    anon_sym_AT,
    ACTIONS(1718),
    1,
    aux_sym_comment_token2,
    STATE(269),
    1,
    sym_comment,
    STATE(305),
    1,
    aux_sym_interface_def_repeat1,
    STATE(536),
    1,
    sym_annotation_appl,
    [12390] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1720),
    1,
    anon_sym_LBRACE,
    ACTIONS(1722),
    1,
    anon_sym_COLON,
    ACTIONS(1724),
    1,
    anon_sym_SEMI,
    STATE(270),
    1,
    sym_comment,
    STATE(622),
    1,
    sym_interface_inheritance_spec,
    [12412] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1726),
    1,
    anon_sym_RPAREN,
    ACTIONS(1728),
    1,
    anon_sym_in,
    STATE(271),
    1,
    sym_comment,
    STATE(414),
    1,
    sym_in_param_dcl,
    STATE(653),
    1,
    sym_in_parameter_dcls,
    [12434] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1657),
    1,
    anon_sym_raises,
    STATE(272),
    1,
    sym_comment,
    STATE(483),
    1,
    sym_raises_expr,
    ACTIONS(1730),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [12454] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1666),
    1,
    anon_sym_L,
    STATE(273),
    1,
    sym_comment,
    STATE(603),
    1,
    sym_string_literal,
    [12476] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(274),
    1,
    sym_comment,
    ACTIONS(1732),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [12492] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1734),
    1,
    anon_sym_COMMA,
    STATE(275),
    1,
    sym_comment,
    STATE(285),
    1,
    aux_sym_declarators_repeat1,
    ACTIONS(1736),
    2,
    anon_sym_SEMI,
    anon_sym_default,
    [12512] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(276),
    1,
    sym_comment,
    ACTIONS(1738),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [12528] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1734),
    1,
    anon_sym_COMMA,
    STATE(275),
    1,
    aux_sym_declarators_repeat1,
    STATE(277),
    1,
    sym_comment,
    ACTIONS(1740),
    2,
    anon_sym_SEMI,
    anon_sym_default,
    [12548] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1616),
    1,
    sym_identifier,
    STATE(278),
    1,
    sym_comment,
    STATE(394),
    1,
    sym_declarator,
    STATE(400),
    2,
    sym_simple_declarator,
    sym_array_declarator,
    [12568] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(279),
    1,
    sym_comment,
    ACTIONS(1452),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [12584] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(280),
    1,
    sym_comment,
    STATE(356),
    1,
    sym_scoped_name,
    STATE(358),
    1,
    sym_interface_name,
    [12606] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(281),
    1,
    sym_comment,
    ACTIONS(1742),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [12622] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(282),
    1,
    sym_comment,
    ACTIONS(1744),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [12638] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(283),
    1,
    sym_comment,
    ACTIONS(1746),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [12654] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(284),
    1,
    sym_comment,
    ACTIONS(1748),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [12670] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1750),
    1,
    anon_sym_COMMA,
    ACTIONS(1753),
    2,
    anon_sym_SEMI,
    anon_sym_default,
    STATE(285),
    2,
    sym_comment,
    aux_sym_declarators_repeat1,
    [12688] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1755),
    1,
    anon_sym_RPAREN,
    ACTIONS(1757),
    1,
    anon_sym_in,
    STATE(286),
    1,
    sym_comment,
    STATE(368),
    1,
    sym_init_param_dcl,
    STATE(607),
    1,
    sym_init_param_dcls,
    [12710] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1759),
    1,
    anon_sym_RPAREN,
    ACTIONS(1761),
    1,
    anon_sym_in,
    STATE(287),
    1,
    sym_comment,
    STATE(383),
    1,
    sym_factory_param_dcl,
    STATE(604),
    1,
    sym_factory_param_dcls,
    [12732] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1757),
    1,
    anon_sym_in,
    ACTIONS(1763),
    1,
    anon_sym_RPAREN,
    STATE(288),
    1,
    sym_comment,
    STATE(368),
    1,
    sym_init_param_dcl,
    STATE(598),
    1,
    sym_init_param_dcls,
    [12754] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(289),
    1,
    sym_comment,
    ACTIONS(1765),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [12770] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(1666),
    1,
    anon_sym_L,
    ACTIONS(1767),
    1,
    anon_sym_RPAREN,
    STATE(290),
    1,
    sym_comment,
    STATE(354),
    1,
    sym_string_literal,
    [12792] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1769),
    1,
    anon_sym_LBRACE,
    ACTIONS(1771),
    1,
    anon_sym_primarykey,
    STATE(291),
    1,
    sym_comment,
    STATE(641),
    1,
    sym_primary_key_spec,
    [12814] = 6,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1773),
    1,
    anon_sym_SQUOTE,
    STATE(257),
    1,
    aux_sym_char_literal_repeat1,
    STATE(292),
    1,
    sym_comment,
    ACTIONS(1705),
    2,
    sym_escape_sequence,
    aux_sym_char_literal_token1,
    [12834] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1689),
    1,
    anon_sym_COMMA,
    ACTIONS(1775),
    1,
    anon_sym_LBRACE,
    ACTIONS(1777),
    1,
    anon_sym_supports,
    STATE(262),
    1,
    aux_sym_value_inheritance_spec_repeat1,
    STATE(293),
    1,
    sym_comment,
    [12856] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(294),
    1,
    sym_comment,
    STATE(356),
    1,
    sym_scoped_name,
    STATE(562),
    1,
    sym_interface_name,
    [12878] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1612),
    1,
    anon_sym_COMMA,
    STATE(253),
    1,
    aux_sym_raises_expr_repeat1,
    STATE(295),
    1,
    sym_comment,
    ACTIONS(1779),
    2,
    anon_sym_LBRACE,
    anon_sym_manages,
    [12898] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(296),
    1,
    sym_comment,
    STATE(320),
    1,
    sym_scoped_name,
    STATE(339),
    1,
    sym_value_name,
    [12920] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(297),
    1,
    sym_comment,
    STATE(337),
    1,
    sym_interface_name,
    STATE(356),
    1,
    sym_scoped_name,
    [12942] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1781),
    1,
    anon_sym_LBRACE,
    ACTIONS(1783),
    1,
    anon_sym_COLON,
    STATE(298),
    1,
    sym_comment,
    ACTIONS(1785),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [12962] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(299),
    1,
    sym_comment,
    STATE(356),
    1,
    sym_scoped_name,
    STATE(449),
    1,
    sym_interface_name,
    [12984] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(300),
    1,
    sym_comment,
    ACTIONS(1787),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [13000] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(301),
    1,
    sym_comment,
    ACTIONS(1789),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [13016] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(302),
    1,
    sym_comment,
    ACTIONS(1791),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [13032] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1657),
    1,
    anon_sym_raises,
    STATE(303),
    1,
    sym_comment,
    STATE(471),
    1,
    sym_raises_expr,
    ACTIONS(1793),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [13052] = 7,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1683),
    1,
    sym_escape_sequence,
    ACTIONS(1687),
    1,
    aux_sym_string_literal_token1,
    ACTIONS(1795),
    1,
    anon_sym_DQUOTE,
    STATE(260),
    1,
    aux_sym_string_literal_repeat1,
    STATE(304),
    1,
    sym_comment,
    [13074] = 7,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1716),
    1,
    anon_sym_AT,
    ACTIONS(1797),
    1,
    aux_sym_comment_token1,
    STATE(305),
    1,
    sym_comment,
    STATE(313),
    1,
    aux_sym_interface_def_repeat1,
    STATE(536),
    1,
    sym_annotation_appl,
    [13096] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1612),
    1,
    anon_sym_COMMA,
    ACTIONS(1799),
    1,
    anon_sym_RPAREN,
    STATE(306),
    1,
    sym_comment,
    STATE(390),
    1,
    aux_sym_raises_expr_repeat1,
    [13118] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1689),
    1,
    anon_sym_COMMA,
    ACTIONS(1775),
    1,
    anon_sym_LBRACE,
    ACTIONS(1777),
    1,
    anon_sym_supports,
    STATE(267),
    1,
    aux_sym_value_inheritance_spec_repeat1,
    STATE(307),
    1,
    sym_comment,
    [13140] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1616),
    1,
    sym_identifier,
    STATE(308),
    1,
    sym_comment,
    STATE(743),
    1,
    sym_declarator,
    STATE(400),
    2,
    sym_simple_declarator,
    sym_array_declarator,
    [13160] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(309),
    1,
    sym_comment,
    ACTIONS(1801),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [13176] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1612),
    1,
    anon_sym_COMMA,
    ACTIONS(1803),
    1,
    anon_sym_RPAREN,
    STATE(310),
    1,
    sym_comment,
    STATE(376),
    1,
    aux_sym_raises_expr_repeat1,
    [13198] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1771),
    1,
    anon_sym_primarykey,
    ACTIONS(1805),
    1,
    anon_sym_LBRACE,
    STATE(311),
    1,
    sym_comment,
    STATE(571),
    1,
    sym_primary_key_spec,
    [13220] = 6,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1807),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1809),
    1,
    anon_sym_LPAREN,
    STATE(312),
    1,
    sym_comment,
    ACTIONS(1158),
    2,
    anon_sym_AT,
    aux_sym_comment_token1,
    [13240] = 6,
    ACTIONS(1135),
    1,
    aux_sym_comment_token1,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1811),
    1,
    anon_sym_AT,
    STATE(536),
    1,
    sym_annotation_appl,
    STATE(313),
    2,
    sym_comment,
    aux_sym_interface_def_repeat1,
    [13260] = 4,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    STATE(314),
    1,
    sym_comment,
    ACTIONS(1200),
    4,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_AT,
    aux_sym_comment_token1,
    [13276] = 4,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    STATE(315),
    1,
    sym_comment,
    ACTIONS(1188),
    4,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_AT,
    aux_sym_comment_token1,
    [13292] = 4,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    STATE(316),
    1,
    sym_comment,
    ACTIONS(1176),
    4,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_AT,
    aux_sym_comment_token1,
    [13308] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1334),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1814),
    1,
    anon_sym_LPAREN,
    STATE(317),
    1,
    sym_comment,
    ACTIONS(1160),
    2,
    anon_sym_AT,
    sym_identifier,
    [13328] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1137),
    1,
    sym_identifier,
    ACTIONS(1816),
    1,
    anon_sym_AT,
    STATE(547),
    1,
    sym_annotation_appl,
    STATE(318),
    2,
    sym_comment,
    aux_sym_interface_def_repeat1,
    [13348] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(293),
    1,
    sym_value_name,
    STATE(319),
    1,
    sym_comment,
    STATE(320),
    1,
    sym_scoped_name,
    [13370] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    STATE(320),
    1,
    sym_comment,
    ACTIONS(1819),
    3,
    anon_sym_COMMA,
    anon_sym_LBRACE,
    anon_sym_supports,
    [13388] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1689),
    1,
    anon_sym_COMMA,
    ACTIONS(1821),
    1,
    anon_sym_LBRACE,
    ACTIONS(1823),
    1,
    anon_sym_supports,
    STATE(307),
    1,
    aux_sym_value_inheritance_spec_repeat1,
    STATE(321),
    1,
    sym_comment,
    [13410] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1771),
    1,
    anon_sym_primarykey,
    ACTIONS(1825),
    1,
    anon_sym_LBRACE,
    STATE(322),
    1,
    sym_comment,
    STATE(666),
    1,
    sym_primary_key_spec,
    [13432] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1827),
    1,
    anon_sym_ATdefault_literal,
    ACTIONS(1830),
    1,
    sym_identifier,
    STATE(559),
    1,
    sym_enum_modifier,
    STATE(323),
    2,
    sym_comment,
    aux_sym_enumerator_repeat1,
    [13452] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1616),
    1,
    sym_identifier,
    STATE(324),
    1,
    sym_comment,
    STATE(474),
    1,
    sym_any_declarator,
    STATE(534),
    2,
    sym_simple_declarator,
    sym_array_declarator,
    [13472] = 7,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1683),
    1,
    sym_escape_sequence,
    ACTIONS(1687),
    1,
    aux_sym_string_literal_token1,
    ACTIONS(1832),
    1,
    anon_sym_DQUOTE,
    STATE(325),
    1,
    sym_comment,
    STATE(328),
    1,
    aux_sym_string_literal_repeat1,
    [13494] = 7,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1683),
    1,
    sym_escape_sequence,
    ACTIONS(1687),
    1,
    aux_sym_string_literal_token1,
    ACTIONS(1834),
    1,
    anon_sym_DQUOTE,
    STATE(326),
    1,
    sym_comment,
    STATE(329),
    1,
    aux_sym_string_literal_repeat1,
    [13516] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(327),
    1,
    sym_comment,
    ACTIONS(1836),
    4,
    anon_sym_COMMA,
    anon_sym_SEMI,
    anon_sym_default,
    anon_sym_LBRACK,
    [13532] = 7,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1683),
    1,
    sym_escape_sequence,
    ACTIONS(1687),
    1,
    aux_sym_string_literal_token1,
    ACTIONS(1834),
    1,
    anon_sym_DQUOTE,
    STATE(264),
    1,
    aux_sym_string_literal_repeat1,
    STATE(328),
    1,
    sym_comment,
    [13554] = 7,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1683),
    1,
    sym_escape_sequence,
    ACTIONS(1687),
    1,
    aux_sym_string_literal_token1,
    ACTIONS(1838),
    1,
    anon_sym_DQUOTE,
    STATE(264),
    1,
    aux_sym_string_literal_repeat1,
    STATE(329),
    1,
    sym_comment,
    [13576] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    STATE(330),
    1,
    sym_comment,
    ACTIONS(1452),
    3,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    [13594] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1657),
    1,
    anon_sym_raises,
    ACTIONS(1840),
    1,
    anon_sym_SEMI,
    STATE(331),
    1,
    sym_comment,
    STATE(676),
    1,
    sym_raises_expr,
    [13613] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1842),
    1,
    anon_sym_GT,
    ACTIONS(1844),
    1,
    anon_sym_COMMA,
    STATE(332),
    1,
    sym_comment,
    STATE(345),
    1,
    aux_sym_actual_parameters_repeat1,
    [13632] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1499),
    1,
    anon_sym_setraises,
    ACTIONS(1846),
    1,
    anon_sym_SEMI,
    STATE(333),
    1,
    sym_comment,
    STATE(649),
    1,
    sym_set_excep_expr,
    [13651] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1848),
    1,
    anon_sym_COMMA,
    ACTIONS(1851),
    1,
    anon_sym_LBRACE,
    STATE(334),
    2,
    sym_comment,
    aux_sym_interface_inheritance_spec_repeat1,
    [13668] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1598),
    1,
    anon_sym_RBRACE,
    ACTIONS(1853),
    1,
    anon_sym_COMMA,
    STATE(335),
    1,
    sym_comment,
    STATE(439),
    1,
    aux_sym_enum_dcl_repeat1,
    [13687] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1855),
    1,
    anon_sym_COMMA,
    ACTIONS(1858),
    1,
    anon_sym_RBRACE,
    STATE(336),
    2,
    sym_comment,
    aux_sym_enum_dcl_repeat1,
    [13704] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1691),
    1,
    anon_sym_LBRACE,
    ACTIONS(1860),
    1,
    anon_sym_COMMA,
    STATE(337),
    1,
    sym_comment,
    STATE(403),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    [13723] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(338),
    1,
    sym_comment,
    ACTIONS(1862),
    3,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RBRACK,
    [13738] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(339),
    1,
    sym_comment,
    ACTIONS(1712),
    3,
    anon_sym_COMMA,
    anon_sym_LBRACE,
    anon_sym_supports,
    [13753] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1864),
    1,
    anon_sym_interface,
    ACTIONS(1866),
    1,
    anon_sym_valuetype,
    ACTIONS(1868),
    1,
    anon_sym_eventtype,
    STATE(340),
    1,
    sym_comment,
    [13772] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1870),
    1,
    anon_sym_SEMI,
    ACTIONS(1872),
    1,
    anon_sym_context,
    STATE(341),
    1,
    sym_comment,
    STATE(763),
    1,
    sym_context_expr,
    [13791] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1872),
    1,
    anon_sym_context,
    ACTIONS(1874),
    1,
    anon_sym_SEMI,
    STATE(342),
    1,
    sym_comment,
    STATE(763),
    1,
    sym_context_expr,
    [13810] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1876),
    1,
    sym_identifier,
    STATE(343),
    1,
    sym_comment,
    STATE(499),
    1,
    sym_scoped_name,
    [13829] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(344),
    1,
    sym_comment,
    STATE(489),
    1,
    sym_scoped_name,
    [13848] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1878),
    1,
    anon_sym_GT,
    ACTIONS(1880),
    1,
    anon_sym_COMMA,
    STATE(345),
    2,
    sym_comment,
    aux_sym_actual_parameters_repeat1,
    [13865] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1883),
    1,
    anon_sym_COMMA,
    ACTIONS(1885),
    1,
    anon_sym_SEMI,
    STATE(346),
    1,
    sym_comment,
    STATE(426),
    1,
    aux_sym_any_declarators_repeat1,
    [13884] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    STATE(347),
    1,
    sym_comment,
    ACTIONS(1887),
    2,
    anon_sym_LBRACE,
    anon_sym_supports,
    [13901] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1889),
    1,
    anon_sym_LBRACE,
    ACTIONS(1891),
    1,
    anon_sym_COLON,
    STATE(348),
    1,
    sym_comment,
    STATE(621),
    1,
    sym_connector_inherit_spec,
    [13920] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1814),
    1,
    anon_sym_LPAREN,
    STATE(349),
    1,
    sym_comment,
    ACTIONS(1160),
    2,
    anon_sym_AT,
    sym_identifier,
    [13937] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    STATE(350),
    1,
    sym_comment,
    ACTIONS(1893),
    2,
    anon_sym_supports,
    anon_sym_manages,
    [13954] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1895),
    1,
    anon_sym_GT,
    ACTIONS(1897),
    1,
    anon_sym_COMMA,
    STATE(351),
    2,
    sym_comment,
    aux_sym_formal_parameters_repeat1,
    [13971] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(311),
    1,
    sym_scoped_name,
    STATE(352),
    1,
    sym_comment,
    [13990] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(353),
    1,
    sym_comment,
    ACTIONS(1156),
    3,
    anon_sym_LPAREN,
    anon_sym_AT,
    sym_identifier,
    [14005] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1900),
    1,
    anon_sym_COMMA,
    ACTIONS(1902),
    1,
    anon_sym_RPAREN,
    STATE(354),
    1,
    sym_comment,
    STATE(419),
    1,
    aux_sym_context_expr_repeat1,
    [14024] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(255),
    1,
    sym_scoped_name,
    STATE(355),
    1,
    sym_comment,
    [14043] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    STATE(356),
    1,
    sym_comment,
    ACTIONS(1904),
    2,
    anon_sym_COMMA,
    anon_sym_LBRACE,
    [14060] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1906),
    1,
    anon_sym_COMMA,
    ACTIONS(1909),
    1,
    anon_sym_RPAREN,
    STATE(357),
    2,
    sym_comment,
    aux_sym_annotation_appl_params_repeat1,
    [14077] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1860),
    1,
    anon_sym_COMMA,
    ACTIONS(1911),
    1,
    anon_sym_LBRACE,
    STATE(358),
    1,
    sym_comment,
    STATE(413),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    [14096] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1844),
    1,
    anon_sym_COMMA,
    ACTIONS(1913),
    1,
    anon_sym_GT,
    STATE(332),
    1,
    aux_sym_actual_parameters_repeat1,
    STATE(359),
    1,
    sym_comment,
    [14115] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1915),
    1,
    sym_identifier,
    STATE(186),
    1,
    sym_simple_declarator,
    STATE(360),
    1,
    sym_comment,
    STATE(654),
    1,
    sym_attr_declarator,
    [14134] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(273),
    1,
    sym_scoped_name,
    STATE(361),
    1,
    sym_comment,
    [14153] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1515),
    1,
    anon_sym_supports,
    ACTIONS(1917),
    1,
    anon_sym_LBRACE,
    STATE(362),
    1,
    sym_comment,
    STATE(788),
    1,
    sym_value_supports,
    [14172] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1919),
    1,
    anon_sym_COMMA,
    ACTIONS(1921),
    1,
    anon_sym_RPAREN,
    STATE(363),
    1,
    sym_comment,
    STATE(423),
    1,
    aux_sym_parameter_dcls_repeat1,
    [14191] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(364),
    1,
    sym_comment,
    STATE(553),
    1,
    sym_scoped_name,
    [14210] = 5,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1809),
    1,
    anon_sym_LPAREN,
    STATE(365),
    1,
    sym_comment,
    ACTIONS(1158),
    2,
    anon_sym_AT,
    aux_sym_comment_token1,
    [14227] = 4,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    STATE(366),
    1,
    sym_comment,
    ACTIONS(1154),
    3,
    anon_sym_LPAREN,
    anon_sym_AT,
    aux_sym_comment_token1,
    [14242] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1657),
    1,
    anon_sym_raises,
    ACTIONS(1923),
    1,
    anon_sym_SEMI,
    STATE(367),
    1,
    sym_comment,
    STATE(665),
    1,
    sym_raises_expr,
    [14261] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1925),
    1,
    anon_sym_COMMA,
    ACTIONS(1927),
    1,
    anon_sym_RPAREN,
    STATE(368),
    1,
    sym_comment,
    STATE(432),
    1,
    aux_sym_init_param_dcls_repeat1,
    [14280] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1929),
    1,
    anon_sym_GT,
    ACTIONS(1931),
    1,
    anon_sym_COMMA,
    STATE(369),
    2,
    sym_comment,
    aux_sym_formal_parameter_names_repeat1,
    [14297] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1883),
    1,
    anon_sym_COMMA,
    ACTIONS(1934),
    1,
    anon_sym_SEMI,
    STATE(346),
    1,
    aux_sym_any_declarators_repeat1,
    STATE(370),
    1,
    sym_comment,
    [14316] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1853),
    1,
    anon_sym_COMMA,
    ACTIONS(1936),
    1,
    anon_sym_RBRACE,
    STATE(336),
    1,
    aux_sym_enum_dcl_repeat1,
    STATE(371),
    1,
    sym_comment,
    [14335] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1938),
    1,
    anon_sym_GT,
    ACTIONS(1940),
    1,
    anon_sym_COMMA,
    STATE(372),
    1,
    sym_comment,
    STATE(445),
    1,
    aux_sym_formal_parameters_repeat1,
    [14354] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1942),
    1,
    anon_sym_GT,
    ACTIONS(1944),
    1,
    anon_sym_COMMA,
    STATE(369),
    1,
    aux_sym_formal_parameter_names_repeat1,
    STATE(373),
    1,
    sym_comment,
    [14373] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1657),
    1,
    anon_sym_raises,
    ACTIONS(1946),
    1,
    anon_sym_SEMI,
    STATE(374),
    1,
    sym_comment,
    STATE(671),
    1,
    sym_raises_expr,
    [14392] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(347),
    1,
    sym_scoped_name,
    STATE(375),
    1,
    sym_comment,
    [14411] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1612),
    1,
    anon_sym_COMMA,
    ACTIONS(1948),
    1,
    anon_sym_RPAREN,
    STATE(253),
    1,
    aux_sym_raises_expr_repeat1,
    STATE(376),
    1,
    sym_comment,
    [14430] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1950),
    1,
    anon_sym_COMMA,
    ACTIONS(1952),
    1,
    anon_sym_RBRACE,
    STATE(377),
    1,
    sym_comment,
    STATE(378),
    1,
    aux_sym_bitmask_dcl_repeat1,
    [14449] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1954),
    1,
    anon_sym_COMMA,
    ACTIONS(1957),
    1,
    anon_sym_RBRACE,
    STATE(378),
    2,
    sym_comment,
    aux_sym_bitmask_dcl_repeat1,
    [14466] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(224),
    1,
    sym_scoped_name,
    STATE(379),
    1,
    sym_comment,
    [14485] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1567),
    1,
    anon_sym_supports,
    ACTIONS(1959),
    1,
    anon_sym_LBRACE,
    STATE(380),
    1,
    sym_comment,
    STATE(786),
    1,
    sym_supported_interface_spec,
    [14504] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1961),
    1,
    anon_sym_SEMI,
    ACTIONS(1963),
    1,
    sym_identifier,
    STATE(381),
    2,
    sym_comment,
    aux_sym_bitfield_repeat1,
    [14521] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(382),
    1,
    sym_comment,
    ACTIONS(1966),
    3,
    anon_sym_RBRACE,
    anon_sym_default,
    anon_sym_case,
    [14536] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1968),
    1,
    anon_sym_COMMA,
    ACTIONS(1970),
    1,
    anon_sym_RPAREN,
    STATE(383),
    1,
    sym_comment,
    STATE(442),
    1,
    aux_sym_factory_param_dcls_repeat1,
    [14555] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(350),
    1,
    sym_scoped_name,
    STATE(384),
    1,
    sym_comment,
    [14574] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1944),
    1,
    anon_sym_COMMA,
    ACTIONS(1972),
    1,
    anon_sym_GT,
    STATE(373),
    1,
    aux_sym_formal_parameter_names_repeat1,
    STATE(385),
    1,
    sym_comment,
    [14593] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1974),
    1,
    anon_sym_COMMA,
    ACTIONS(1977),
    1,
    anon_sym_RPAREN,
    STATE(386),
    2,
    sym_comment,
    aux_sym_in_parameter_dcls_repeat1,
    [14610] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1950),
    1,
    anon_sym_COMMA,
    ACTIONS(1952),
    1,
    anon_sym_RBRACE,
    STATE(387),
    1,
    sym_comment,
    STATE(448),
    1,
    aux_sym_bitmask_dcl_repeat1,
    [14629] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1979),
    1,
    anon_sym_COMMA,
    ACTIONS(1981),
    1,
    anon_sym_RPAREN,
    STATE(388),
    1,
    sym_comment,
    STATE(441),
    1,
    aux_sym_annotation_appl_params_repeat1,
    [14648] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1983),
    1,
    anon_sym_SEMI,
    ACTIONS(1985),
    1,
    anon_sym_default,
    STATE(389),
    1,
    sym_comment,
    STATE(616),
    1,
    sym_default,
    [14667] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1612),
    1,
    anon_sym_COMMA,
    ACTIONS(1987),
    1,
    anon_sym_RPAREN,
    STATE(253),
    1,
    aux_sym_raises_expr_repeat1,
    STATE(390),
    1,
    sym_comment,
    [14686] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(322),
    1,
    sym_scoped_name,
    STATE(391),
    1,
    sym_comment,
    [14705] = 5,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    STATE(265),
    1,
    aux_sym_char_literal_repeat1,
    STATE(392),
    1,
    sym_comment,
    ACTIONS(1705),
    2,
    sym_escape_sequence,
    aux_sym_char_literal_token1,
    [14722] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1567),
    1,
    anon_sym_supports,
    ACTIONS(1989),
    1,
    anon_sym_manages,
    STATE(393),
    1,
    sym_comment,
    STATE(780),
    1,
    sym_supported_interface_spec,
    [14741] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(394),
    1,
    sym_comment,
    ACTIONS(1753),
    3,
    anon_sym_COMMA,
    anon_sym_SEMI,
    anon_sym_default,
    [14756] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1860),
    1,
    anon_sym_COMMA,
    ACTIONS(1991),
    1,
    anon_sym_LBRACE,
    STATE(334),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    STATE(395),
    1,
    sym_comment,
    [14775] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(396),
    1,
    sym_comment,
    STATE(546),
    1,
    sym_scoped_name,
    [14794] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(397),
    1,
    sym_comment,
    STATE(509),
    1,
    sym_scoped_name,
    [14813] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1993),
    1,
    sym_identifier,
    STATE(398),
    1,
    sym_comment,
    STATE(453),
    1,
    sym_scoped_name,
    [14832] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1860),
    1,
    anon_sym_COMMA,
    ACTIONS(1995),
    1,
    anon_sym_LBRACE,
    STATE(399),
    1,
    sym_comment,
    STATE(450),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    [14851] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(400),
    1,
    sym_comment,
    ACTIONS(1997),
    3,
    anon_sym_COMMA,
    anon_sym_SEMI,
    anon_sym_default,
    [14866] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1999),
    1,
    anon_sym_SEMI,
    ACTIONS(2001),
    1,
    anon_sym_switch,
    ACTIONS(2003),
    1,
    sym_identifier,
    STATE(401),
    1,
    sym_comment,
    [14885] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1985),
    1,
    anon_sym_default,
    ACTIONS(2005),
    1,
    anon_sym_SEMI,
    STATE(402),
    1,
    sym_comment,
    STATE(611),
    1,
    sym_default,
    [14904] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1860),
    1,
    anon_sym_COMMA,
    ACTIONS(1995),
    1,
    anon_sym_LBRACE,
    STATE(334),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    STATE(403),
    1,
    sym_comment,
    [14923] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1202),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2007),
    1,
    anon_sym_LT,
    ACTIONS(2009),
    1,
    anon_sym_LBRACE,
    STATE(404),
    1,
    sym_comment,
    [14942] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2011),
    1,
    anon_sym_COMMA,
    ACTIONS(2014),
    1,
    anon_sym_RPAREN,
    STATE(405),
    2,
    sym_comment,
    aux_sym_factory_param_dcls_repeat1,
    [14959] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1853),
    1,
    anon_sym_COMMA,
    ACTIONS(2016),
    1,
    anon_sym_RBRACE,
    STATE(371),
    1,
    aux_sym_enum_dcl_repeat1,
    STATE(406),
    1,
    sym_comment,
    [14978] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1493),
    1,
    anon_sym_COMMA,
    ACTIONS(2018),
    1,
    anon_sym_SEMI,
    STATE(407),
    1,
    sym_comment,
    STATE(411),
    1,
    aux_sym_readonly_attr_declarator_repeat1,
    [14997] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1547),
    1,
    anon_sym_RBRACE,
    ACTIONS(1950),
    1,
    anon_sym_COMMA,
    STATE(408),
    1,
    sym_comment,
    STATE(421),
    1,
    aux_sym_bitmask_dcl_repeat1,
    [15016] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2020),
    1,
    anon_sym_COMMA,
    ACTIONS(2023),
    1,
    anon_sym_RPAREN,
    STATE(409),
    2,
    sym_comment,
    aux_sym_init_param_dcls_repeat1,
    [15033] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(306),
    1,
    sym_scoped_name,
    STATE(410),
    1,
    sym_comment,
    [15052] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2025),
    1,
    anon_sym_COMMA,
    ACTIONS(2028),
    1,
    anon_sym_SEMI,
    STATE(411),
    2,
    sym_comment,
    aux_sym_readonly_attr_declarator_repeat1,
    [15069] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1915),
    1,
    sym_identifier,
    STATE(251),
    1,
    sym_simple_declarator,
    STATE(412),
    1,
    sym_comment,
    STATE(577),
    1,
    sym_readonly_attr_declarator,
    [15088] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1860),
    1,
    anon_sym_COMMA,
    ACTIONS(2030),
    1,
    anon_sym_LBRACE,
    STATE(334),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    STATE(413),
    1,
    sym_comment,
    [15107] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2032),
    1,
    anon_sym_COMMA,
    ACTIONS(2034),
    1,
    anon_sym_RPAREN,
    STATE(414),
    1,
    sym_comment,
    STATE(437),
    1,
    aux_sym_in_parameter_dcls_repeat1,
    [15126] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2036),
    1,
    anon_sym_SEMI,
    ACTIONS(2038),
    1,
    sym_identifier,
    STATE(381),
    1,
    aux_sym_bitfield_repeat1,
    STATE(415),
    1,
    sym_comment,
    [15145] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(866),
    1,
    anon_sym_DQUOTE,
    ACTIONS(1666),
    1,
    anon_sym_L,
    STATE(416),
    1,
    sym_comment,
    STATE(466),
    1,
    sym_string_literal,
    [15164] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2038),
    1,
    sym_identifier,
    ACTIONS(2040),
    1,
    anon_sym_SEMI,
    STATE(415),
    1,
    aux_sym_bitfield_repeat1,
    STATE(417),
    1,
    sym_comment,
    [15183] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1872),
    1,
    anon_sym_context,
    ACTIONS(2042),
    1,
    anon_sym_SEMI,
    STATE(418),
    1,
    sym_comment,
    STATE(763),
    1,
    sym_context_expr,
    [15202] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1900),
    1,
    anon_sym_COMMA,
    ACTIONS(2044),
    1,
    anon_sym_RPAREN,
    STATE(419),
    1,
    sym_comment,
    STATE(433),
    1,
    aux_sym_context_expr_repeat1,
    [15221] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(291),
    1,
    sym_scoped_name,
    STATE(420),
    1,
    sym_comment,
    [15240] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1950),
    1,
    anon_sym_COMMA,
    ACTIONS(2046),
    1,
    anon_sym_RBRACE,
    STATE(378),
    1,
    aux_sym_bitmask_dcl_repeat1,
    STATE(421),
    1,
    sym_comment,
    [15259] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1950),
    1,
    anon_sym_COMMA,
    ACTIONS(2046),
    1,
    anon_sym_RBRACE,
    STATE(377),
    1,
    aux_sym_bitmask_dcl_repeat1,
    STATE(422),
    1,
    sym_comment,
    [15278] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1919),
    1,
    anon_sym_COMMA,
    ACTIONS(2048),
    1,
    anon_sym_RPAREN,
    STATE(423),
    1,
    sym_comment,
    STATE(427),
    1,
    aux_sym_parameter_dcls_repeat1,
    [15297] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(424),
    1,
    sym_comment,
    STATE(561),
    1,
    sym_scoped_name,
    [15316] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(252),
    1,
    sym_scoped_name,
    STATE(425),
    1,
    sym_comment,
    [15335] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2050),
    1,
    anon_sym_COMMA,
    ACTIONS(2053),
    1,
    anon_sym_SEMI,
    STATE(426),
    2,
    sym_comment,
    aux_sym_any_declarators_repeat1,
    [15352] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2055),
    1,
    anon_sym_COMMA,
    ACTIONS(2058),
    1,
    anon_sym_RPAREN,
    STATE(427),
    2,
    sym_comment,
    aux_sym_parameter_dcls_repeat1,
    [15369] = 5,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    STATE(292),
    1,
    aux_sym_char_literal_repeat1,
    STATE(428),
    1,
    sym_comment,
    ACTIONS(1705),
    2,
    sym_escape_sequence,
    aux_sym_char_literal_token1,
    [15386] = 4,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    STATE(429),
    1,
    sym_comment,
    ACTIONS(2060),
    3,
    sym_escape_sequence,
    anon_sym_SQUOTE,
    aux_sym_char_literal_token1,
    [15401] = 5,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2064),
    1,
    aux_sym_string_literal_token1,
    STATE(430),
    1,
    sym_comment,
    ACTIONS(2062),
    2,
    sym_escape_sequence,
    anon_sym_DQUOTE,
    [15418] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1657),
    1,
    anon_sym_raises,
    ACTIONS(2066),
    1,
    anon_sym_SEMI,
    STATE(431),
    1,
    sym_comment,
    STATE(713),
    1,
    sym_raises_expr,
    [15437] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1925),
    1,
    anon_sym_COMMA,
    ACTIONS(2068),
    1,
    anon_sym_RPAREN,
    STATE(409),
    1,
    aux_sym_init_param_dcls_repeat1,
    STATE(432),
    1,
    sym_comment,
    [15456] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2070),
    1,
    anon_sym_COMMA,
    ACTIONS(2073),
    1,
    anon_sym_RPAREN,
    STATE(433),
    2,
    sym_comment,
    aux_sym_context_expr_repeat1,
    [15473] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1720),
    1,
    anon_sym_LBRACE,
    ACTIONS(1722),
    1,
    anon_sym_COLON,
    STATE(434),
    1,
    sym_comment,
    STATE(622),
    1,
    sym_interface_inheritance_spec,
    [15492] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1657),
    1,
    anon_sym_raises,
    ACTIONS(2075),
    1,
    anon_sym_SEMI,
    STATE(435),
    1,
    sym_comment,
    STATE(717),
    1,
    sym_raises_expr,
    [15511] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1993),
    1,
    sym_identifier,
    STATE(436),
    1,
    sym_comment,
    STATE(529),
    1,
    sym_scoped_name,
    [15530] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2032),
    1,
    anon_sym_COMMA,
    ACTIONS(2077),
    1,
    anon_sym_RPAREN,
    STATE(386),
    1,
    aux_sym_in_parameter_dcls_repeat1,
    STATE(437),
    1,
    sym_comment,
    [15549] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1993),
    1,
    sym_identifier,
    STATE(438),
    1,
    sym_comment,
    STATE(527),
    1,
    sym_scoped_name,
    [15568] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1853),
    1,
    anon_sym_COMMA,
    ACTIONS(2016),
    1,
    anon_sym_RBRACE,
    STATE(336),
    1,
    aux_sym_enum_dcl_repeat1,
    STATE(439),
    1,
    sym_comment,
    [15587] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1993),
    1,
    sym_identifier,
    STATE(440),
    1,
    sym_comment,
    STATE(525),
    1,
    sym_scoped_name,
    [15606] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1979),
    1,
    anon_sym_COMMA,
    ACTIONS(2079),
    1,
    anon_sym_RPAREN,
    STATE(357),
    1,
    aux_sym_annotation_appl_params_repeat1,
    STATE(441),
    1,
    sym_comment,
    [15625] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1968),
    1,
    anon_sym_COMMA,
    ACTIONS(2081),
    1,
    anon_sym_RPAREN,
    STATE(405),
    1,
    aux_sym_factory_param_dcls_repeat1,
    STATE(442),
    1,
    sym_comment,
    [15644] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(884),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1679),
    1,
    sym_identifier,
    STATE(310),
    1,
    sym_scoped_name,
    STATE(443),
    1,
    sym_comment,
    [15663] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1657),
    1,
    anon_sym_raises,
    ACTIONS(2083),
    1,
    anon_sym_SEMI,
    STATE(444),
    1,
    sym_comment,
    STATE(720),
    1,
    sym_raises_expr,
    [15682] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1940),
    1,
    anon_sym_COMMA,
    ACTIONS(2085),
    1,
    anon_sym_GT,
    STATE(351),
    1,
    aux_sym_formal_parameters_repeat1,
    STATE(445),
    1,
    sym_comment,
    [15701] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(99),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1993),
    1,
    sym_identifier,
    STATE(446),
    1,
    sym_comment,
    STATE(523),
    1,
    sym_scoped_name,
    [15720] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(447),
    1,
    sym_comment,
    ACTIONS(2087),
    3,
    anon_sym_RBRACE,
    anon_sym_default,
    anon_sym_case,
    [15735] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1950),
    1,
    anon_sym_COMMA,
    ACTIONS(2089),
    1,
    anon_sym_RBRACE,
    STATE(378),
    1,
    aux_sym_bitmask_dcl_repeat1,
    STATE(448),
    1,
    sym_comment,
    [15754] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1860),
    1,
    anon_sym_COMMA,
    ACTIONS(2091),
    1,
    anon_sym_LBRACE,
    STATE(395),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    STATE(449),
    1,
    sym_comment,
    [15773] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1860),
    1,
    anon_sym_COMMA,
    ACTIONS(2091),
    1,
    anon_sym_LBRACE,
    STATE(334),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    STATE(450),
    1,
    sym_comment,
    [15792] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1493),
    1,
    anon_sym_COMMA,
    ACTIONS(2093),
    1,
    anon_sym_SEMI,
    STATE(411),
    1,
    aux_sym_readonly_attr_declarator_repeat1,
    STATE(451),
    1,
    sym_comment,
    [15811] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(452),
    1,
    sym_comment,
    ACTIONS(2095),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [15825] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2097),
    1,
    anon_sym_LT,
    STATE(453),
    1,
    sym_comment,
    [15841] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(454),
    1,
    sym_comment,
    ACTIONS(2099),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [15855] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(455),
    1,
    sym_comment,
    ACTIONS(2101),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [15869] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(456),
    1,
    sym_comment,
    ACTIONS(2103),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [15883] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(457),
    1,
    sym_comment,
    ACTIONS(2105),
    2,
    anon_sym_GT,
    anon_sym_COMMA,
    [15897] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(458),
    1,
    sym_comment,
    ACTIONS(2107),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [15911] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2109),
    1,
    anon_sym_RPAREN,
    STATE(459),
    1,
    sym_comment,
    [15927] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1915),
    1,
    sym_identifier,
    STATE(460),
    1,
    sym_comment,
    STATE(516),
    1,
    sym_simple_declarator,
    [15943] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2111),
    1,
    sym_identifier,
    STATE(461),
    1,
    sym_comment,
    STATE(545),
    1,
    sym_annotation_appl_param,
    [15959] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(462),
    1,
    sym_comment,
    ACTIONS(2113),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [15973] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(463),
    1,
    sym_comment,
    ACTIONS(2115),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [15987] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(464),
    1,
    sym_comment,
    ACTIONS(2117),
    2,
    anon_sym_COMMA,
    anon_sym_RBRACE,
    [16001] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1728),
    1,
    anon_sym_in,
    STATE(465),
    1,
    sym_comment,
    STATE(517),
    1,
    sym_in_param_dcl,
    [16017] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(466),
    1,
    sym_comment,
    ACTIONS(2073),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16031] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1761),
    1,
    anon_sym_in,
    STATE(467),
    1,
    sym_comment,
    STATE(497),
    1,
    sym_factory_param_dcl,
    [16047] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2119),
    1,
    anon_sym_LBRACE,
    ACTIONS(2121),
    1,
    anon_sym_COLON,
    STATE(468),
    1,
    sym_comment,
    [16063] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1915),
    1,
    sym_identifier,
    STATE(469),
    1,
    sym_comment,
    STATE(496),
    1,
    sym_simple_declarator,
    [16079] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(470),
    1,
    sym_comment,
    ACTIONS(2123),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16093] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(471),
    1,
    sym_comment,
    ACTIONS(2125),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [16107] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1757),
    1,
    anon_sym_in,
    STATE(472),
    1,
    sym_comment,
    STATE(484),
    1,
    sym_init_param_dcl,
    [16123] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(473),
    1,
    sym_comment,
    ACTIONS(2058),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16137] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(474),
    1,
    sym_comment,
    ACTIONS(2053),
    2,
    anon_sym_COMMA,
    anon_sym_SEMI,
    [16151] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(475),
    1,
    sym_comment,
    ACTIONS(2127),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16165] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(476),
    1,
    sym_comment,
    ACTIONS(2129),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16179] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1915),
    1,
    sym_identifier,
    STATE(476),
    1,
    sym_simple_declarator,
    STATE(477),
    1,
    sym_comment,
    [16195] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(478),
    1,
    sym_comment,
    ACTIONS(2131),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16209] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1915),
    1,
    sym_identifier,
    STATE(475),
    1,
    sym_simple_declarator,
    STATE(479),
    1,
    sym_comment,
    [16225] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2133),
    1,
    anon_sym_SEMI,
    ACTIONS(2135),
    1,
    anon_sym_default,
    STATE(480),
    1,
    sym_comment,
    [16241] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(481),
    1,
    sym_comment,
    ACTIONS(2137),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16255] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(482),
    1,
    sym_comment,
    ACTIONS(2139),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16269] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(483),
    1,
    sym_comment,
    ACTIONS(1793),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [16283] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(484),
    1,
    sym_comment,
    ACTIONS(2023),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16297] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(485),
    1,
    sym_comment,
    ACTIONS(2141),
    2,
    anon_sym_RBRACE,
    anon_sym_bitfield,
    [16311] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(486),
    1,
    sym_comment,
    ACTIONS(2143),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16325] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(487),
    1,
    sym_comment,
    ACTIONS(2145),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16339] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(488),
    1,
    sym_comment,
    ACTIONS(2147),
    2,
    anon_sym_RBRACE,
    anon_sym_bitfield,
    [16353] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2149),
    1,
    anon_sym_LBRACE,
    STATE(489),
    1,
    sym_comment,
    [16369] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2151),
    1,
    anon_sym_LBRACE,
    ACTIONS(2153),
    1,
    anon_sym_COLON,
    STATE(490),
    1,
    sym_comment,
    [16385] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(491),
    1,
    sym_comment,
    ACTIONS(2155),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [16399] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(492),
    1,
    sym_comment,
    ACTIONS(2157),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16413] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(493),
    1,
    sym_comment,
    ACTIONS(2159),
    2,
    anon_sym_SEMI,
    anon_sym_setraises,
    [16427] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(494),
    1,
    sym_comment,
    ACTIONS(2161),
    2,
    anon_sym_COMMA,
    anon_sym_RBRACE,
    [16441] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(495),
    1,
    sym_comment,
    ACTIONS(2028),
    2,
    anon_sym_COMMA,
    anon_sym_SEMI,
    [16455] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(496),
    1,
    sym_comment,
    ACTIONS(2163),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16469] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(497),
    1,
    sym_comment,
    ACTIONS(2014),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16483] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1334),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2165),
    1,
    sym_identifier,
    STATE(498),
    1,
    sym_comment,
    [16499] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2167),
    1,
    anon_sym_LT,
    STATE(499),
    1,
    sym_comment,
    [16515] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(500),
    1,
    sym_comment,
    ACTIONS(2169),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16529] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(501),
    1,
    sym_comment,
    ACTIONS(2171),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16543] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1915),
    1,
    sym_identifier,
    STATE(480),
    1,
    sym_simple_declarator,
    STATE(502),
    1,
    sym_comment,
    [16559] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(503),
    1,
    sym_comment,
    ACTIONS(2173),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16573] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(504),
    1,
    sym_comment,
    ACTIONS(2175),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16587] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(505),
    1,
    sym_comment,
    ACTIONS(2177),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16601] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(506),
    1,
    sym_comment,
    ACTIONS(2179),
    2,
    anon_sym_COMMA,
    anon_sym_RBRACE,
    [16615] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(507),
    1,
    sym_comment,
    ACTIONS(2181),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16629] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1334),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2183),
    1,
    sym_identifier,
    STATE(508),
    1,
    sym_comment,
    [16645] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2185),
    1,
    anon_sym_LBRACE,
    STATE(509),
    1,
    sym_comment,
    [16661] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(510),
    1,
    sym_comment,
    ACTIONS(2187),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16675] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2189),
    1,
    sym_identifier,
    STATE(511),
    1,
    sym_comment,
    STATE(741),
    1,
    sym_formal_parameter_names,
    [16691] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2191),
    1,
    anon_sym_DQUOTE,
    ACTIONS(2193),
    1,
    anon_sym_SQUOTE,
    STATE(512),
    1,
    sym_comment,
    [16707] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(513),
    1,
    sym_comment,
    ACTIONS(2195),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16721] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(514),
    1,
    sym_comment,
    ACTIONS(2197),
    2,
    anon_sym_SEMI,
    anon_sym_setraises,
    [16735] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(515),
    1,
    sym_comment,
    ACTIONS(2199),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16749] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(516),
    1,
    sym_comment,
    ACTIONS(2201),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16763] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(517),
    1,
    sym_comment,
    ACTIONS(1977),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16777] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2203),
    1,
    anon_sym_LT,
    ACTIONS(2205),
    1,
    sym_identifier,
    STATE(518),
    1,
    sym_comment,
    [16793] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(519),
    1,
    sym_comment,
    ACTIONS(2207),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16807] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1334),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1452),
    1,
    sym_identifier,
    STATE(520),
    1,
    sym_comment,
    [16823] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2209),
    1,
    anon_sym_GT,
    ACTIONS(2211),
    1,
    anon_sym_COMMA,
    STATE(521),
    1,
    sym_comment,
    [16839] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(522),
    1,
    sym_comment,
    ACTIONS(2213),
    2,
    anon_sym_RBRACE,
    anon_sym_bitfield,
    [16853] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1334),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2215),
    1,
    sym_identifier,
    STATE(523),
    1,
    sym_comment,
    [16869] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(524),
    1,
    sym_comment,
    ACTIONS(2217),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16883] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1334),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2219),
    1,
    sym_identifier,
    STATE(525),
    1,
    sym_comment,
    [16899] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(526),
    1,
    sym_comment,
    ACTIONS(1957),
    2,
    anon_sym_COMMA,
    anon_sym_RBRACE,
    [16913] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1334),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2221),
    1,
    sym_identifier,
    STATE(527),
    1,
    sym_comment,
    [16929] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(528),
    1,
    sym_comment,
    ACTIONS(2223),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16943] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1334),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2225),
    1,
    sym_identifier,
    STATE(529),
    1,
    sym_comment,
    [16959] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(530),
    1,
    sym_comment,
    ACTIONS(2227),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [16973] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(531),
    1,
    sym_comment,
    ACTIONS(2229),
    2,
    anon_sym_SEMI,
    anon_sym_setraises,
    [16987] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1334),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2231),
    1,
    sym_identifier,
    STATE(532),
    1,
    sym_comment,
    [17003] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(533),
    1,
    sym_comment,
    ACTIONS(2233),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [17017] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(534),
    1,
    sym_comment,
    ACTIONS(2235),
    2,
    anon_sym_COMMA,
    anon_sym_SEMI,
    [17031] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(535),
    1,
    sym_comment,
    ACTIONS(1929),
    2,
    anon_sym_GT,
    anon_sym_COMMA,
    [17045] = 4,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    STATE(536),
    1,
    sym_comment,
    ACTIONS(1208),
    2,
    anon_sym_AT,
    aux_sym_comment_token1,
    [17059] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(537),
    1,
    sym_comment,
    ACTIONS(2237),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [17073] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(538),
    1,
    sym_comment,
    ACTIONS(2239),
    2,
    anon_sym_GT,
    anon_sym_COMMA,
    [17087] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2241),
    1,
    anon_sym_SEMI,
    STATE(539),
    1,
    sym_comment,
    [17103] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(540),
    1,
    sym_comment,
    ACTIONS(2243),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [17117] = 4,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    STATE(541),
    1,
    sym_comment,
    ACTIONS(1212),
    2,
    anon_sym_AT,
    aux_sym_comment_token1,
    [17131] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1915),
    1,
    sym_identifier,
    STATE(542),
    1,
    sym_comment,
    STATE(578),
    1,
    sym_simple_declarator,
    [17147] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1915),
    1,
    sym_identifier,
    STATE(482),
    1,
    sym_simple_declarator,
    STATE(543),
    1,
    sym_comment,
    [17163] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2245),
    1,
    anon_sym_LBRACE,
    ACTIONS(2247),
    1,
    anon_sym_SEMI,
    STATE(544),
    1,
    sym_comment,
    [17179] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(545),
    1,
    sym_comment,
    ACTIONS(1909),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [17193] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2249),
    1,
    anon_sym_LBRACE,
    STATE(546),
    1,
    sym_comment,
    [17209] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(547),
    1,
    sym_comment,
    ACTIONS(1210),
    2,
    anon_sym_AT,
    sym_identifier,
    [17223] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(548),
    1,
    sym_comment,
    ACTIONS(1895),
    2,
    anon_sym_GT,
    anon_sym_COMMA,
    [17237] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2251),
    1,
    anon_sym_valuetype,
    ACTIONS(2253),
    1,
    anon_sym_eventtype,
    STATE(549),
    1,
    sym_comment,
    [17253] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(550),
    1,
    sym_comment,
    ACTIONS(1214),
    2,
    anon_sym_AT,
    sym_identifier,
    [17267] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(551),
    1,
    sym_comment,
    ACTIONS(1878),
    2,
    anon_sym_GT,
    anon_sym_COMMA,
    [17281] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(552),
    1,
    sym_comment,
    ACTIONS(2255),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [17295] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2257),
    1,
    anon_sym_LBRACE,
    STATE(553),
    1,
    sym_comment,
    [17311] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2259),
    1,
    anon_sym_GT,
    ACTIONS(2261),
    1,
    anon_sym_COMMA,
    STATE(554),
    1,
    sym_comment,
    [17327] = 5,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2263),
    1,
    aux_sym_preproc_call_token1,
    ACTIONS(2265),
    1,
    sym_preproc_arg,
    STATE(555),
    1,
    sym_comment,
    [17343] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(556),
    1,
    sym_comment,
    ACTIONS(2267),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [17357] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(557),
    1,
    sym_comment,
    ACTIONS(1858),
    2,
    anon_sym_COMMA,
    anon_sym_RBRACE,
    [17371] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(558),
    1,
    sym_comment,
    ACTIONS(2269),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [17385] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(559),
    1,
    sym_comment,
    ACTIONS(2271),
    2,
    anon_sym_ATdefault_literal,
    sym_identifier,
    [17399] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2273),
    1,
    anon_sym_GT,
    ACTIONS(2275),
    1,
    anon_sym_COMMA,
    STATE(560),
    1,
    sym_comment,
    [17415] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1501),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2277),
    1,
    anon_sym_LBRACE,
    STATE(561),
    1,
    sym_comment,
    [17431] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(562),
    1,
    sym_comment,
    ACTIONS(1851),
    2,
    anon_sym_COMMA,
    anon_sym_LBRACE,
    [17445] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(563),
    1,
    sym_comment,
    ACTIONS(2279),
    2,
    anon_sym_COMMA,
    anon_sym_RBRACE,
    [17459] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1915),
    1,
    sym_identifier,
    STATE(495),
    1,
    sym_simple_declarator,
    STATE(564),
    1,
    sym_comment,
    [17475] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2281),
    1,
    anon_sym_LPAREN,
    STATE(493),
    1,
    sym_exception_list,
    STATE(565),
    1,
    sym_comment,
    [17491] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2281),
    1,
    anon_sym_LPAREN,
    STATE(566),
    1,
    sym_comment,
    STATE(648),
    1,
    sym_exception_list,
    [17507] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(567),
    1,
    sym_comment,
    ACTIONS(2283),
    2,
    anon_sym_ATdefault_literal,
    sym_identifier,
    [17521] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2285),
    1,
    sym_identifier,
    STATE(568),
    1,
    sym_comment,
    [17534] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2287),
    1,
    anon_sym_SEMI,
    STATE(569),
    1,
    sym_comment,
    [17547] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2289),
    1,
    sym_identifier,
    STATE(570),
    1,
    sym_comment,
    [17560] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1769),
    1,
    anon_sym_LBRACE,
    STATE(571),
    1,
    sym_comment,
    [17573] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2291),
    1,
    sym_identifier,
    STATE(572),
    1,
    sym_comment,
    [17586] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2293),
    1,
    sym_identifier,
    STATE(573),
    1,
    sym_comment,
    [17599] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2295),
    1,
    anon_sym_DQUOTE,
    STATE(574),
    1,
    sym_comment,
    [17612] = 4,
    ACTIONS(1370),
    1,
    aux_sym_preproc_call_token1,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    STATE(575),
    1,
    sym_comment,
    [17625] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2297),
    1,
    anon_sym_GT,
    STATE(576),
    1,
    sym_comment,
    [17638] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2299),
    1,
    anon_sym_SEMI,
    STATE(577),
    1,
    sym_comment,
    [17651] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2301),
    1,
    anon_sym_SEMI,
    STATE(578),
    1,
    sym_comment,
    [17664] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2303),
    1,
    anon_sym_GT,
    STATE(579),
    1,
    sym_comment,
    [17677] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2305),
    1,
    anon_sym_GT,
    STATE(580),
    1,
    sym_comment,
    [17690] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2307),
    1,
    anon_sym_LBRACE,
    STATE(581),
    1,
    sym_comment,
    [17703] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2093),
    1,
    anon_sym_SEMI,
    STATE(582),
    1,
    sym_comment,
    [17716] = 4,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2309),
    1,
    aux_sym_preproc_define_token1,
    STATE(583),
    1,
    sym_comment,
    [17729] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1846),
    1,
    anon_sym_SEMI,
    STATE(584),
    1,
    sym_comment,
    [17742] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2311),
    1,
    anon_sym_LBRACE,
    STATE(585),
    1,
    sym_comment,
    [17755] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2313),
    1,
    anon_sym_SEMI,
    STATE(586),
    1,
    sym_comment,
    [17768] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2315),
    1,
    anon_sym_SEMI,
    STATE(587),
    1,
    sym_comment,
    [17781] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2317),
    1,
    anon_sym_SEMI,
    STATE(588),
    1,
    sym_comment,
    [17794] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2319),
    1,
    sym_identifier,
    STATE(589),
    1,
    sym_comment,
    [17807] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2321),
    1,
    anon_sym_SEMI,
    STATE(590),
    1,
    sym_comment,
    [17820] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1454),
    1,
    anon_sym_EQ,
    STATE(591),
    1,
    sym_comment,
    [17833] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2323),
    1,
    anon_sym_RPAREN,
    STATE(592),
    1,
    sym_comment,
    [17846] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1578),
    1,
    anon_sym_LBRACE,
    STATE(593),
    1,
    sym_comment,
    [17859] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2241),
    1,
    anon_sym_SEMI,
    STATE(594),
    1,
    sym_comment,
    [17872] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1917),
    1,
    anon_sym_LBRACE,
    STATE(595),
    1,
    sym_comment,
    [17885] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2325),
    1,
    anon_sym_LPAREN,
    STATE(596),
    1,
    sym_comment,
    [17898] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2327),
    1,
    anon_sym_SEMI,
    STATE(597),
    1,
    sym_comment,
    [17911] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2329),
    1,
    anon_sym_RPAREN,
    STATE(598),
    1,
    sym_comment,
    [17924] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2331),
    1,
    anon_sym_EQ,
    STATE(599),
    1,
    sym_comment,
    [17937] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2333),
    1,
    anon_sym_SEMI,
    STATE(600),
    1,
    sym_comment,
    [17950] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2335),
    1,
    anon_sym_SEMI,
    STATE(601),
    1,
    sym_comment,
    [17963] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2337),
    1,
    anon_sym_SEMI,
    STATE(602),
    1,
    sym_comment,
    [17976] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2339),
    1,
    anon_sym_SEMI,
    STATE(603),
    1,
    sym_comment,
    [17989] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2341),
    1,
    anon_sym_RPAREN,
    STATE(604),
    1,
    sym_comment,
    [18002] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1959),
    1,
    anon_sym_LBRACE,
    STATE(605),
    1,
    sym_comment,
    [18015] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2343),
    1,
    anon_sym_LT,
    STATE(606),
    1,
    sym_comment,
    [18028] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2345),
    1,
    anon_sym_RPAREN,
    STATE(607),
    1,
    sym_comment,
    [18041] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2347),
    1,
    anon_sym_SEMI,
    STATE(608),
    1,
    sym_comment,
    [18054] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2349),
    1,
    anon_sym_SEMI,
    STATE(609),
    1,
    sym_comment,
    [18067] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2351),
    1,
    anon_sym_LT,
    STATE(610),
    1,
    sym_comment,
    [18080] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2353),
    1,
    anon_sym_SEMI,
    STATE(611),
    1,
    sym_comment,
    [18093] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2355),
    1,
    sym_identifier,
    STATE(612),
    1,
    sym_comment,
    [18106] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2357),
    1,
    anon_sym_SEMI,
    STATE(613),
    1,
    sym_comment,
    [18119] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2359),
    1,
    sym_identifier,
    STATE(614),
    1,
    sym_comment,
    [18132] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2361),
    1,
    sym_identifier,
    STATE(615),
    1,
    sym_comment,
    [18145] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2363),
    1,
    anon_sym_SEMI,
    STATE(616),
    1,
    sym_comment,
    [18158] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2365),
    1,
    anon_sym_SEMI,
    STATE(617),
    1,
    sym_comment,
    [18171] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2367),
    1,
    anon_sym_SEMI,
    STATE(618),
    1,
    sym_comment,
    [18184] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1989),
    1,
    anon_sym_manages,
    STATE(619),
    1,
    sym_comment,
    [18197] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2369),
    1,
    anon_sym_SEMI,
    STATE(620),
    1,
    sym_comment,
    [18210] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2371),
    1,
    anon_sym_LBRACE,
    STATE(621),
    1,
    sym_comment,
    [18223] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2373),
    1,
    anon_sym_LBRACE,
    STATE(622),
    1,
    sym_comment,
    [18236] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2375),
    1,
    anon_sym_SEMI,
    STATE(623),
    1,
    sym_comment,
    [18249] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2377),
    1,
    anon_sym_SEMI,
    STATE(624),
    1,
    sym_comment,
    [18262] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2203),
    1,
    anon_sym_LT,
    STATE(625),
    1,
    sym_comment,
    [18275] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2379),
    1,
    anon_sym_SEMI,
    STATE(626),
    1,
    sym_comment,
    [18288] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1866),
    1,
    anon_sym_valuetype,
    STATE(627),
    1,
    sym_comment,
    [18301] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2381),
    1,
    sym_identifier,
    STATE(628),
    1,
    sym_comment,
    [18314] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2383),
    1,
    anon_sym_SEMI,
    STATE(629),
    1,
    sym_comment,
    [18327] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2183),
    1,
    sym_identifier,
    STATE(630),
    1,
    sym_comment,
    [18340] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2385),
    1,
    anon_sym_LBRACE,
    STATE(631),
    1,
    sym_comment,
    [18353] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2387),
    1,
    anon_sym_SEMI,
    STATE(632),
    1,
    sym_comment,
    [18366] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2389),
    1,
    anon_sym_SEMI,
    STATE(633),
    1,
    sym_comment,
    [18379] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2391),
    1,
    anon_sym_SEMI,
    STATE(634),
    1,
    sym_comment,
    [18392] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2393),
    1,
    anon_sym_SEMI,
    STATE(635),
    1,
    sym_comment,
    [18405] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2395),
    1,
    anon_sym_SEMI,
    STATE(636),
    1,
    sym_comment,
    [18418] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2397),
    1,
    sym_identifier,
    STATE(637),
    1,
    sym_comment,
    [18431] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2399),
    1,
    sym_identifier,
    STATE(638),
    1,
    sym_comment,
    [18444] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2401),
    1,
    anon_sym_LBRACE,
    STATE(639),
    1,
    sym_comment,
    [18457] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2403),
    1,
    anon_sym_LBRACE,
    STATE(640),
    1,
    sym_comment,
    [18470] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2405),
    1,
    anon_sym_LBRACE,
    STATE(641),
    1,
    sym_comment,
    [18483] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2407),
    1,
    anon_sym_LPAREN,
    STATE(642),
    1,
    sym_comment,
    [18496] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2018),
    1,
    anon_sym_SEMI,
    STATE(643),
    1,
    sym_comment,
    [18509] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2409),
    1,
    anon_sym_SEMI,
    STATE(644),
    1,
    sym_comment,
    [18522] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2411),
    1,
    sym_identifier,
    STATE(645),
    1,
    sym_comment,
    [18535] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2413),
    1,
    anon_sym_SEMI,
    STATE(646),
    1,
    sym_comment,
    [18548] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2415),
    1,
    anon_sym_attribute,
    STATE(647),
    1,
    sym_comment,
    [18561] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2417),
    1,
    anon_sym_SEMI,
    STATE(648),
    1,
    sym_comment,
    [18574] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2419),
    1,
    anon_sym_SEMI,
    STATE(649),
    1,
    sym_comment,
    [18587] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2421),
    1,
    anon_sym_void,
    STATE(650),
    1,
    sym_comment,
    [18600] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2423),
    1,
    anon_sym_LPAREN,
    STATE(651),
    1,
    sym_comment,
    [18613] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2251),
    1,
    anon_sym_valuetype,
    STATE(652),
    1,
    sym_comment,
    [18626] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2425),
    1,
    anon_sym_RPAREN,
    STATE(653),
    1,
    sym_comment,
    [18639] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2427),
    1,
    anon_sym_SEMI,
    STATE(654),
    1,
    sym_comment,
    [18652] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2042),
    1,
    anon_sym_SEMI,
    STATE(655),
    1,
    sym_comment,
    [18665] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2429),
    1,
    anon_sym_SEMI,
    STATE(656),
    1,
    sym_comment,
    [18678] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(447),
    1,
    anon_sym_RBRACE,
    STATE(657),
    1,
    sym_comment,
    [18691] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2431),
    1,
    sym_identifier,
    STATE(658),
    1,
    sym_comment,
    [18704] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2433),
    1,
    anon_sym_SEMI,
    STATE(659),
    1,
    sym_comment,
    [18717] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2435),
    1,
    sym_identifier,
    STATE(660),
    1,
    sym_comment,
    [18730] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2437),
    1,
    sym_identifier,
    STATE(661),
    1,
    sym_comment,
    [18743] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2439),
    1,
    anon_sym_SEMI,
    STATE(662),
    1,
    sym_comment,
    [18756] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2441),
    1,
    anon_sym_SEMI,
    STATE(663),
    1,
    sym_comment,
    [18769] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2443),
    1,
    sym_identifier,
    STATE(664),
    1,
    sym_comment,
    [18782] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2066),
    1,
    anon_sym_SEMI,
    STATE(665),
    1,
    sym_comment,
    [18795] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1805),
    1,
    anon_sym_LBRACE,
    STATE(666),
    1,
    sym_comment,
    [18808] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2445),
    1,
    anon_sym_SEMI,
    STATE(667),
    1,
    sym_comment,
    [18821] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2447),
    1,
    anon_sym_LBRACE,
    STATE(668),
    1,
    sym_comment,
    [18834] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2449),
    1,
    anon_sym_RBRACK,
    STATE(669),
    1,
    sym_comment,
    [18847] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2451),
    1,
    anon_sym_SEMI,
    STATE(670),
    1,
    sym_comment,
    [18860] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2075),
    1,
    anon_sym_SEMI,
    STATE(671),
    1,
    sym_comment,
    [18873] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2453),
    1,
    sym_identifier,
    STATE(672),
    1,
    sym_comment,
    [18886] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2455),
    1,
    anon_sym_SEMI,
    STATE(673),
    1,
    sym_comment,
    [18899] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2457),
    1,
    anon_sym_LBRACE,
    STATE(674),
    1,
    sym_comment,
    [18912] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2459),
    1,
    anon_sym_RBRACE,
    STATE(675),
    1,
    sym_comment,
    [18925] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2083),
    1,
    anon_sym_SEMI,
    STATE(676),
    1,
    sym_comment,
    [18938] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2461),
    1,
    anon_sym_RPAREN,
    STATE(677),
    1,
    sym_comment,
    [18951] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2109),
    1,
    anon_sym_RPAREN,
    STATE(678),
    1,
    sym_comment,
    [18964] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2463),
    1,
    anon_sym_SEMI,
    STATE(679),
    1,
    sym_comment,
    [18977] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2465),
    1,
    anon_sym_LBRACE,
    STATE(680),
    1,
    sym_comment,
    [18990] = 4,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2467),
    1,
    aux_sym_preproc_call_token1,
    STATE(681),
    1,
    sym_comment,
    [19003] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2469),
    1,
    anon_sym_GT,
    STATE(682),
    1,
    sym_comment,
    [19016] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2471),
    1,
    anon_sym_GT,
    STATE(683),
    1,
    sym_comment,
    [19029] = 4,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2473),
    1,
    aux_sym_comment_token3,
    STATE(684),
    1,
    sym_comment,
    [19042] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2475),
    1,
    anon_sym_GT,
    STATE(685),
    1,
    sym_comment,
    [19055] = 4,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2477),
    1,
    sym_system_lib_path,
    STATE(686),
    1,
    sym_comment,
    [19068] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2479),
    1,
    anon_sym_SEMI,
    STATE(687),
    1,
    sym_comment,
    [19081] = 4,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2481),
    1,
    aux_sym_preproc_call_token1,
    STATE(688),
    1,
    sym_comment,
    [19094] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2483),
    1,
    sym_identifier,
    STATE(689),
    1,
    sym_comment,
    [19107] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2485),
    1,
    sym_identifier,
    STATE(690),
    1,
    sym_comment,
    [19120] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2487),
    1,
    sym_identifier,
    STATE(691),
    1,
    sym_comment,
    [19133] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2489),
    1,
    anon_sym_COLON,
    STATE(692),
    1,
    sym_comment,
    [19146] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1797),
    1,
    anon_sym_SLASH,
    STATE(693),
    1,
    sym_comment,
    [19159] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2491),
    1,
    anon_sym_RBRACE,
    STATE(694),
    1,
    sym_comment,
    [19172] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2493),
    1,
    anon_sym_LBRACE,
    STATE(695),
    1,
    sym_comment,
    [19185] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2495),
    1,
    anon_sym_SEMI,
    STATE(696),
    1,
    sym_comment,
    [19198] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2497),
    1,
    anon_sym_GT,
    STATE(697),
    1,
    sym_comment,
    [19211] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2499),
    1,
    anon_sym_SEMI,
    STATE(698),
    1,
    sym_comment,
    [19224] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2501),
    1,
    anon_sym_SEMI,
    STATE(699),
    1,
    sym_comment,
    [19237] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2503),
    1,
    anon_sym_LBRACE,
    STATE(700),
    1,
    sym_comment,
    [19250] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2505),
    1,
    sym_identifier,
    STATE(701),
    1,
    sym_comment,
    [19263] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2507),
    1,
    anon_sym_SEMI,
    STATE(702),
    1,
    sym_comment,
    [19276] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2509),
    1,
    anon_sym_SEMI,
    STATE(703),
    1,
    sym_comment,
    [19289] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2511),
    1,
    anon_sym_SEMI,
    STATE(704),
    1,
    sym_comment,
    [19302] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2513),
    1,
    anon_sym_SEMI,
    STATE(705),
    1,
    sym_comment,
    [19315] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2515),
    1,
    anon_sym_LBRACE,
    STATE(706),
    1,
    sym_comment,
    [19328] = 4,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2517),
    1,
    aux_sym_preproc_call_token1,
    STATE(707),
    1,
    sym_comment,
    [19341] = 4,
    ACTIONS(1395),
    1,
    aux_sym_preproc_call_token1,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    STATE(708),
    1,
    sym_comment,
    [19354] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2519),
    1,
    anon_sym_SEMI,
    STATE(709),
    1,
    sym_comment,
    [19367] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2521),
    1,
    anon_sym_RPAREN,
    STATE(710),
    1,
    sym_comment,
    [19380] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2523),
    1,
    anon_sym_LBRACE,
    STATE(711),
    1,
    sym_comment,
    [19393] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2525),
    1,
    anon_sym_LBRACE,
    STATE(712),
    1,
    sym_comment,
    [19406] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2527),
    1,
    anon_sym_SEMI,
    STATE(713),
    1,
    sym_comment,
    [19419] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2529),
    1,
    anon_sym_SEMI,
    STATE(714),
    1,
    sym_comment,
    [19432] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2531),
    1,
    anon_sym_LT,
    STATE(715),
    1,
    sym_comment,
    [19445] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2533),
    1,
    anon_sym_SEMI,
    STATE(716),
    1,
    sym_comment,
    [19458] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2535),
    1,
    anon_sym_SEMI,
    STATE(717),
    1,
    sym_comment,
    [19471] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2537),
    1,
    sym_identifier,
    STATE(718),
    1,
    sym_comment,
    [19484] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2539),
    1,
    anon_sym_SEMI,
    STATE(719),
    1,
    sym_comment,
    [19497] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2541),
    1,
    anon_sym_SEMI,
    STATE(720),
    1,
    sym_comment,
    [19510] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2543),
    1,
    anon_sym_SEMI,
    STATE(721),
    1,
    sym_comment,
    [19523] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2545),
    1,
    anon_sym_SEMI,
    STATE(722),
    1,
    sym_comment,
    [19536] = 4,
    ACTIONS(1438),
    1,
    aux_sym_preproc_call_token1,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1677),
    1,
    anon_sym_SLASH_STAR,
    STATE(723),
    1,
    sym_comment,
    [19549] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2547),
    1,
    anon_sym_RBRACE,
    STATE(724),
    1,
    sym_comment,
    [19562] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2165),
    1,
    sym_identifier,
    STATE(725),
    1,
    sym_comment,
    [19575] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2549),
    1,
    anon_sym_SEMI,
    STATE(726),
    1,
    sym_comment,
    [19588] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2551),
    1,
    anon_sym_COLON,
    STATE(727),
    1,
    sym_comment,
    [19601] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2553),
    1,
    anon_sym_LBRACE,
    STATE(728),
    1,
    sym_comment,
    [19614] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2555),
    1,
    anon_sym_SEMI,
    STATE(729),
    1,
    sym_comment,
    [19627] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2557),
    1,
    anon_sym_SEMI,
    STATE(730),
    1,
    sym_comment,
    [19640] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2559),
    1,
    anon_sym_SEMI,
    STATE(731),
    1,
    sym_comment,
    [19653] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2561),
    1,
    anon_sym_LBRACE,
    STATE(732),
    1,
    sym_comment,
    [19666] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2563),
    1,
    anon_sym_LBRACE,
    STATE(733),
    1,
    sym_comment,
    [19679] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2565),
    1,
    anon_sym_SEMI,
    STATE(734),
    1,
    sym_comment,
    [19692] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1981),
    1,
    anon_sym_RPAREN,
    STATE(735),
    1,
    sym_comment,
    [19705] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2567),
    1,
    anon_sym_SEMI,
    STATE(736),
    1,
    sym_comment,
    [19718] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2569),
    1,
    anon_sym_RPAREN,
    STATE(737),
    1,
    sym_comment,
    [19731] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2571),
    1,
    anon_sym_SEMI,
    STATE(738),
    1,
    sym_comment,
    [19744] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2573),
    1,
    anon_sym_SEMI,
    STATE(739),
    1,
    sym_comment,
    [19757] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2575),
    1,
    anon_sym_LPAREN,
    STATE(740),
    1,
    sym_comment,
    [19770] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2577),
    1,
    anon_sym_GT,
    STATE(741),
    1,
    sym_comment,
    [19783] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2579),
    1,
    anon_sym_LPAREN,
    STATE(742),
    1,
    sym_comment,
    [19796] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2581),
    1,
    anon_sym_SEMI,
    STATE(743),
    1,
    sym_comment,
    [19809] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2583),
    1,
    anon_sym_SEMI,
    STATE(744),
    1,
    sym_comment,
    [19822] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2205),
    1,
    sym_identifier,
    STATE(745),
    1,
    sym_comment,
    [19835] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2585),
    1,
    sym_identifier,
    STATE(746),
    1,
    sym_comment,
    [19848] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2587),
    1,
    anon_sym_GT,
    STATE(747),
    1,
    sym_comment,
    [19861] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2589),
    1,
    sym_identifier,
    STATE(748),
    1,
    sym_comment,
    [19874] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2591),
    1,
    sym_identifier,
    STATE(749),
    1,
    sym_comment,
    [19887] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2593),
    1,
    sym_identifier,
    STATE(750),
    1,
    sym_comment,
    [19900] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2231),
    1,
    sym_identifier,
    STATE(751),
    1,
    sym_comment,
    [19913] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2595),
    1,
    sym_identifier,
    STATE(752),
    1,
    sym_comment,
    [19926] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2597),
    1,
    anon_sym_SEMI,
    STATE(753),
    1,
    sym_comment,
    [19939] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2599),
    1,
    anon_sym_SEMI,
    STATE(754),
    1,
    sym_comment,
    [19952] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2601),
    1,
    anon_sym_LPAREN,
    STATE(755),
    1,
    sym_comment,
    [19965] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2603),
    1,
    anon_sym_SEMI,
    STATE(756),
    1,
    sym_comment,
    [19978] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2605),
    1,
    anon_sym_enum,
    STATE(757),
    1,
    sym_comment,
    [19991] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2607),
    1,
    anon_sym_SEMI,
    STATE(758),
    1,
    sym_comment,
    [20004] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2609),
    1,
    anon_sym_LPAREN,
    STATE(759),
    1,
    sym_comment,
    [20017] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2611),
    1,
    anon_sym_LBRACE,
    STATE(760),
    1,
    sym_comment,
    [20030] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2613),
    1,
    sym_identifier,
    STATE(761),
    1,
    sym_comment,
    [20043] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2615),
    1,
    anon_sym_SEMI,
    STATE(762),
    1,
    sym_comment,
    [20056] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2617),
    1,
    anon_sym_SEMI,
    STATE(763),
    1,
    sym_comment,
    [20069] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2619),
    1,
    anon_sym_LBRACE,
    STATE(764),
    1,
    sym_comment,
    [20082] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2621),
    1,
    anon_sym_SEMI,
    STATE(765),
    1,
    sym_comment,
    [20095] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2623),
    1,
    sym_identifier,
    STATE(766),
    1,
    sym_comment,
    [20108] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2625),
    1,
    anon_sym_LPAREN,
    STATE(767),
    1,
    sym_comment,
    [20121] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2607),
    1,
    anon_sym_SEMI,
    STATE(768),
    1,
    sym_comment,
    [20134] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2627),
    1,
    ts_builtin_sym_end,
    STATE(769),
    1,
    sym_comment,
    [20147] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2629),
    1,
    anon_sym_SEMI,
    STATE(770),
    1,
    sym_comment,
    [20160] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2631),
    1,
    sym_identifier,
    STATE(771),
    1,
    sym_comment,
    [20173] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2633),
    1,
    sym_identifier,
    STATE(772),
    1,
    sym_comment,
    [20186] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2635),
    1,
    sym_identifier,
    STATE(773),
    1,
    sym_comment,
    [20199] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2637),
    1,
    sym_identifier,
    STATE(774),
    1,
    sym_comment,
    [20212] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2639),
    1,
    anon_sym_GT,
    STATE(775),
    1,
    sym_comment,
    [20225] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2641),
    1,
    sym_identifier,
    STATE(776),
    1,
    sym_comment,
    [20238] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2643),
    1,
    anon_sym_enum,
    STATE(777),
    1,
    sym_comment,
    [20251] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2645),
    1,
    anon_sym_RBRACE,
    STATE(778),
    1,
    sym_comment,
    [20264] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2647),
    1,
    anon_sym_SEMI,
    STATE(779),
    1,
    sym_comment,
    [20277] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2649),
    1,
    anon_sym_manages,
    STATE(780),
    1,
    sym_comment,
    [20290] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2651),
    1,
    sym_identifier,
    STATE(781),
    1,
    sym_comment,
    [20303] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2653),
    1,
    anon_sym_LBRACE,
    STATE(782),
    1,
    sym_comment,
    [20316] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2655),
    1,
    sym_identifier,
    STATE(783),
    1,
    sym_comment,
    [20329] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2657),
    1,
    sym_identifier,
    STATE(784),
    1,
    sym_comment,
    [20342] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2659),
    1,
    sym_identifier,
    STATE(785),
    1,
    sym_comment,
    [20355] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2661),
    1,
    anon_sym_LBRACE,
    STATE(786),
    1,
    sym_comment,
    [20368] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2663),
    1,
    sym_identifier,
    STATE(787),
    1,
    sym_comment,
    [20381] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1821),
    1,
    anon_sym_LBRACE,
    STATE(788),
    1,
    sym_comment,
    [20394] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2665),
    1,
    sym_identifier,
    STATE(789),
    1,
    sym_comment,
    [20407] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2667),
    1,
    sym_identifier,
    STATE(790),
    1,
    sym_comment,
    [20420] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2669),
    1,
    sym_identifier,
    STATE(791),
    1,
    sym_comment,
    [20433] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2671),
    1,
    sym_identifier,
    STATE(792),
    1,
    sym_comment,
    [20446] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1874),
    1,
    anon_sym_SEMI,
    STATE(793),
    1,
    sym_comment,
    [20459] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2673),
    1,
    anon_sym_LBRACE,
    STATE(794),
    1,
    sym_comment,
    [20472] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2675),
    1,
    sym_identifier,
    STATE(795),
    1,
    sym_comment,
    [20485] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2677),
    1,
    anon_sym_RPAREN,
    STATE(796),
    1,
    sym_comment,
    [20498] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2679),
    1,
    sym_identifier,
    STATE(797),
    1,
    sym_comment,
    [20511] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2681),
    1,
    sym_identifier,
    STATE(798),
    1,
    sym_comment,
    [20524] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2683),
    1,
    sym_identifier,
    STATE(799),
    1,
    sym_comment,
    [20537] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1870),
    1,
    anon_sym_SEMI,
    STATE(800),
    1,
    sym_comment,
    [20550] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2685),
    1,
    anon_sym_COMMA,
    STATE(801),
    1,
    sym_comment,
    [20563] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2687),
    1,
    anon_sym_RPAREN,
    STATE(802),
    1,
    sym_comment,
    [20576] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2689),
    1,
    anon_sym_COMMA,
    STATE(803),
    1,
    sym_comment,
    [20589] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2691),
    1,
    sym_identifier,
    STATE(804),
    1,
    sym_comment,
    [20602] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2693),
    1,
    anon_sym_RPAREN,
    STATE(805),
    1,
    sym_comment,
    [20615] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2191),
    1,
    anon_sym_DQUOTE,
    STATE(806),
    1,
    sym_comment,
    [20628] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1864),
    1,
    anon_sym_interface,
    STATE(807),
    1,
    sym_comment,
    [20641] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2695),
    1,
    sym_identifier,
    STATE(808),
    1,
    sym_comment,
    [20654] = 1,
    ACTIONS(2697),
    1,
    ts_builtin_sym_end,
    [20658] = 1,
    ACTIONS(2699),
    1,
    ts_builtin_sym_end,
};

static const uint32_t ts_small_parse_table_map[] = {
    [SMALL_STATE(34)] = 0,
    [SMALL_STATE(35)] = 144,
    [SMALL_STATE(36)] = 292,
    [SMALL_STATE(37)] = 437,
    [SMALL_STATE(38)] = 582,
    [SMALL_STATE(39)] = 727,
    [SMALL_STATE(40)] = 872,
    [SMALL_STATE(41)] = 1017,
    [SMALL_STATE(42)] = 1162,
    [SMALL_STATE(43)] = 1305,
    [SMALL_STATE(44)] = 1450,
    [SMALL_STATE(45)] = 1595,
    [SMALL_STATE(46)] = 1740,
    [SMALL_STATE(47)] = 1885,
    [SMALL_STATE(48)] = 2029,
    [SMALL_STATE(49)] = 2171,
    [SMALL_STATE(50)] = 2309,
    [SMALL_STATE(51)] = 2453,
    [SMALL_STATE(52)] = 2589,
    [SMALL_STATE(53)] = 2719,
    [SMALL_STATE(54)] = 2788,
    [SMALL_STATE(55)] = 2857,
    [SMALL_STATE(56)] = 2926,
    [SMALL_STATE(57)] = 2995,
    [SMALL_STATE(58)] = 3122,
    [SMALL_STATE(59)] = 3191,
    [SMALL_STATE(60)] = 3260,
    [SMALL_STATE(61)] = 3329,
    [SMALL_STATE(62)] = 3397,
    [SMALL_STATE(63)] = 3465,
    [SMALL_STATE(64)] = 3533,
    [SMALL_STATE(65)] = 3601,
    [SMALL_STATE(66)] = 3728,
    [SMALL_STATE(67)] = 3855,
    [SMALL_STATE(68)] = 3982,
    [SMALL_STATE(69)] = 4109,
    [SMALL_STATE(70)] = 4236,
    [SMALL_STATE(71)] = 4363,
    [SMALL_STATE(72)] = 4490,
    [SMALL_STATE(73)] = 4617,
    [SMALL_STATE(74)] = 4744,
    [SMALL_STATE(75)] = 4871,
    [SMALL_STATE(76)] = 4937,
    [SMALL_STATE(77)] = 5003,
    [SMALL_STATE(78)] = 5108,
    [SMALL_STATE(79)] = 5213,
    [SMALL_STATE(80)] = 5268,
    [SMALL_STATE(81)] = 5323,
    [SMALL_STATE(82)] = 5375,
    [SMALL_STATE(83)] = 5422,
    [SMALL_STATE(84)] = 5469,
    [SMALL_STATE(85)] = 5516,
    [SMALL_STATE(86)] = 5563,
    [SMALL_STATE(87)] = 5612,
    [SMALL_STATE(88)] = 5659,
    [SMALL_STATE(89)] = 5706,
    [SMALL_STATE(90)] = 5755,
    [SMALL_STATE(91)] = 5802,
    [SMALL_STATE(92)] = 5849,
    [SMALL_STATE(93)] = 5896,
    [SMALL_STATE(94)] = 5943,
    [SMALL_STATE(95)] = 5990,
    [SMALL_STATE(96)] = 6037,
    [SMALL_STATE(97)] = 6084,
    [SMALL_STATE(98)] = 6131,
    [SMALL_STATE(99)] = 6177,
    [SMALL_STATE(100)] = 6223,
    [SMALL_STATE(101)] = 6269,
    [SMALL_STATE(102)] = 6314,
    [SMALL_STATE(103)] = 6397,
    [SMALL_STATE(104)] = 6441,
    [SMALL_STATE(105)] = 6485,
    [SMALL_STATE(106)] = 6529,
    [SMALL_STATE(107)] = 6573,
    [SMALL_STATE(108)] = 6617,
    [SMALL_STATE(109)] = 6661,
    [SMALL_STATE(110)] = 6750,
    [SMALL_STATE(111)] = 6839,
    [SMALL_STATE(112)] = 6928,
    [SMALL_STATE(113)] = 7017,
    [SMALL_STATE(114)] = 7059,
    [SMALL_STATE(115)] = 7145,
    [SMALL_STATE(116)] = 7231,
    [SMALL_STATE(117)] = 7279,
    [SMALL_STATE(118)] = 7321,
    [SMALL_STATE(119)] = 7369,
    [SMALL_STATE(120)] = 7455,
    [SMALL_STATE(121)] = 7503,
    [SMALL_STATE(122)] = 7551,
    [SMALL_STATE(123)] = 7593,
    [SMALL_STATE(124)] = 7679,
    [SMALL_STATE(125)] = 7765,
    [SMALL_STATE(126)] = 7851,
    [SMALL_STATE(127)] = 7937,
    [SMALL_STATE(128)] = 7978,
    [SMALL_STATE(129)] = 8061,
    [SMALL_STATE(130)] = 8144,
    [SMALL_STATE(131)] = 8227,
    [SMALL_STATE(132)] = 8310,
    [SMALL_STATE(133)] = 8393,
    [SMALL_STATE(134)] = 8476,
    [SMALL_STATE(135)] = 8544,
    [SMALL_STATE(136)] = 8621,
    [SMALL_STATE(137)] = 8695,
    [SMALL_STATE(138)] = 8766,
    [SMALL_STATE(139)] = 8826,
    [SMALL_STATE(140)] = 8894,
    [SMALL_STATE(141)] = 8951,
    [SMALL_STATE(142)] = 9016,
    [SMALL_STATE(143)] = 9071,
    [SMALL_STATE(144)] = 9105,
    [SMALL_STATE(145)] = 9139,
    [SMALL_STATE(146)] = 9201,
    [SMALL_STATE(147)] = 9232,
    [SMALL_STATE(148)] = 9263,
    [SMALL_STATE(149)] = 9296,
    [SMALL_STATE(150)] = 9346,
    [SMALL_STATE(151)] = 9376,
    [SMALL_STATE(152)] = 9406,
    [SMALL_STATE(153)] = 9436,
    [SMALL_STATE(154)] = 9470,
    [SMALL_STATE(155)] = 9500,
    [SMALL_STATE(156)] = 9550,
    [SMALL_STATE(157)] = 9580,
    [SMALL_STATE(158)] = 9610,
    [SMALL_STATE(159)] = 9658,
    [SMALL_STATE(160)] = 9688,
    [SMALL_STATE(161)] = 9718,
    [SMALL_STATE(162)] = 9766,
    [SMALL_STATE(163)] = 9796,
    [SMALL_STATE(164)] = 9826,
    [SMALL_STATE(165)] = 9856,
    [SMALL_STATE(166)] = 9906,
    [SMALL_STATE(167)] = 9940,
    [SMALL_STATE(168)] = 9970,
    [SMALL_STATE(169)] = 10000,
    [SMALL_STATE(170)] = 10049,
    [SMALL_STATE(171)] = 10096,
    [SMALL_STATE(172)] = 10125,
    [SMALL_STATE(173)] = 10154,
    [SMALL_STATE(174)] = 10187,
    [SMALL_STATE(175)] = 10216,
    [SMALL_STATE(176)] = 10243,
    [SMALL_STATE(177)] = 10270,
    [SMALL_STATE(178)] = 10308,
    [SMALL_STATE(179)] = 10330,
    [SMALL_STATE(180)] = 10352,
    [SMALL_STATE(181)] = 10386,
    [SMALL_STATE(182)] = 10409,
    [SMALL_STATE(183)] = 10432,
    [SMALL_STATE(184)] = 10455,
    [SMALL_STATE(185)] = 10477,
    [SMALL_STATE(186)] = 10501,
    [SMALL_STATE(187)] = 10535,
    [SMALL_STATE(188)] = 10559,
    [SMALL_STATE(189)] = 10581,
    [SMALL_STATE(190)] = 10600,
    [SMALL_STATE(191)] = 10631,
    [SMALL_STATE(192)] = 10652,
    [SMALL_STATE(193)] = 10671,
    [SMALL_STATE(194)] = 10690,
    [SMALL_STATE(195)] = 10709,
    [SMALL_STATE(196)] = 10728,
    [SMALL_STATE(197)] = 10747,
    [SMALL_STATE(198)] = 10766,
    [SMALL_STATE(199)] = 10785,
    [SMALL_STATE(200)] = 10816,
    [SMALL_STATE(201)] = 10847,
    [SMALL_STATE(202)] = 10866,
    [SMALL_STATE(203)] = 10887,
    [SMALL_STATE(204)] = 10906,
    [SMALL_STATE(205)] = 10934,
    [SMALL_STATE(206)] = 10962,
    [SMALL_STATE(207)] = 10990,
    [SMALL_STATE(208)] = 11018,
    [SMALL_STATE(209)] = 11046,
    [SMALL_STATE(210)] = 11068,
    [SMALL_STATE(211)] = 11092,
    [SMALL_STATE(212)] = 11120,
    [SMALL_STATE(213)] = 11148,
    [SMALL_STATE(214)] = 11174,
    [SMALL_STATE(215)] = 11200,
    [SMALL_STATE(216)] = 11228,
    [SMALL_STATE(217)] = 11256,
    [SMALL_STATE(218)] = 11284,
    [SMALL_STATE(219)] = 11302,
    [SMALL_STATE(220)] = 11320,
    [SMALL_STATE(221)] = 11344,
    [SMALL_STATE(222)] = 11369,
    [SMALL_STATE(223)] = 11394,
    [SMALL_STATE(224)] = 11419,
    [SMALL_STATE(225)] = 11442,
    [SMALL_STATE(226)] = 11465,
    [SMALL_STATE(227)] = 11490,
    [SMALL_STATE(228)] = 11515,
    [SMALL_STATE(229)] = 11532,
    [SMALL_STATE(230)] = 11549,
    [SMALL_STATE(231)] = 11566,
    [SMALL_STATE(232)] = 11583,
    [SMALL_STATE(233)] = 11600,
    [SMALL_STATE(234)] = 11617,
    [SMALL_STATE(235)] = 11634,
    [SMALL_STATE(236)] = 11651,
    [SMALL_STATE(237)] = 11668,
    [SMALL_STATE(238)] = 11687,
    [SMALL_STATE(239)] = 11704,
    [SMALL_STATE(240)] = 11727,
    [SMALL_STATE(241)] = 11752,
    [SMALL_STATE(242)] = 11777,
    [SMALL_STATE(243)] = 11800,
    [SMALL_STATE(244)] = 11825,
    [SMALL_STATE(245)] = 11850,
    [SMALL_STATE(246)] = 11875,
    [SMALL_STATE(247)] = 11900,
    [SMALL_STATE(248)] = 11923,
    [SMALL_STATE(249)] = 11948,
    [SMALL_STATE(250)] = 11971,
    [SMALL_STATE(251)] = 11996,
    [SMALL_STATE(252)] = 12021,
    [SMALL_STATE(253)] = 12040,
    [SMALL_STATE(254)] = 12059,
    [SMALL_STATE(255)] = 12084,
    [SMALL_STATE(256)] = 12106,
    [SMALL_STATE(257)] = 12122,
    [SMALL_STATE(258)] = 12140,
    [SMALL_STATE(259)] = 12162,
    [SMALL_STATE(260)] = 12184,
    [SMALL_STATE(261)] = 12206,
    [SMALL_STATE(262)] = 12228,
    [SMALL_STATE(263)] = 12250,
    [SMALL_STATE(264)] = 12272,
    [SMALL_STATE(265)] = 12292,
    [SMALL_STATE(266)] = 12312,
    [SMALL_STATE(267)] = 12334,
    [SMALL_STATE(268)] = 12352,
    [SMALL_STATE(269)] = 12368,
    [SMALL_STATE(270)] = 12390,
    [SMALL_STATE(271)] = 12412,
    [SMALL_STATE(272)] = 12434,
    [SMALL_STATE(273)] = 12454,
    [SMALL_STATE(274)] = 12476,
    [SMALL_STATE(275)] = 12492,
    [SMALL_STATE(276)] = 12512,
    [SMALL_STATE(277)] = 12528,
    [SMALL_STATE(278)] = 12548,
    [SMALL_STATE(279)] = 12568,
    [SMALL_STATE(280)] = 12584,
    [SMALL_STATE(281)] = 12606,
    [SMALL_STATE(282)] = 12622,
    [SMALL_STATE(283)] = 12638,
    [SMALL_STATE(284)] = 12654,
    [SMALL_STATE(285)] = 12670,
    [SMALL_STATE(286)] = 12688,
    [SMALL_STATE(287)] = 12710,
    [SMALL_STATE(288)] = 12732,
    [SMALL_STATE(289)] = 12754,
    [SMALL_STATE(290)] = 12770,
    [SMALL_STATE(291)] = 12792,
    [SMALL_STATE(292)] = 12814,
    [SMALL_STATE(293)] = 12834,
    [SMALL_STATE(294)] = 12856,
    [SMALL_STATE(295)] = 12878,
    [SMALL_STATE(296)] = 12898,
    [SMALL_STATE(297)] = 12920,
    [SMALL_STATE(298)] = 12942,
    [SMALL_STATE(299)] = 12962,
    [SMALL_STATE(300)] = 12984,
    [SMALL_STATE(301)] = 13000,
    [SMALL_STATE(302)] = 13016,
    [SMALL_STATE(303)] = 13032,
    [SMALL_STATE(304)] = 13052,
    [SMALL_STATE(305)] = 13074,
    [SMALL_STATE(306)] = 13096,
    [SMALL_STATE(307)] = 13118,
    [SMALL_STATE(308)] = 13140,
    [SMALL_STATE(309)] = 13160,
    [SMALL_STATE(310)] = 13176,
    [SMALL_STATE(311)] = 13198,
    [SMALL_STATE(312)] = 13220,
    [SMALL_STATE(313)] = 13240,
    [SMALL_STATE(314)] = 13260,
    [SMALL_STATE(315)] = 13276,
    [SMALL_STATE(316)] = 13292,
    [SMALL_STATE(317)] = 13308,
    [SMALL_STATE(318)] = 13328,
    [SMALL_STATE(319)] = 13348,
    [SMALL_STATE(320)] = 13370,
    [SMALL_STATE(321)] = 13388,
    [SMALL_STATE(322)] = 13410,
    [SMALL_STATE(323)] = 13432,
    [SMALL_STATE(324)] = 13452,
    [SMALL_STATE(325)] = 13472,
    [SMALL_STATE(326)] = 13494,
    [SMALL_STATE(327)] = 13516,
    [SMALL_STATE(328)] = 13532,
    [SMALL_STATE(329)] = 13554,
    [SMALL_STATE(330)] = 13576,
    [SMALL_STATE(331)] = 13594,
    [SMALL_STATE(332)] = 13613,
    [SMALL_STATE(333)] = 13632,
    [SMALL_STATE(334)] = 13651,
    [SMALL_STATE(335)] = 13668,
    [SMALL_STATE(336)] = 13687,
    [SMALL_STATE(337)] = 13704,
    [SMALL_STATE(338)] = 13723,
    [SMALL_STATE(339)] = 13738,
    [SMALL_STATE(340)] = 13753,
    [SMALL_STATE(341)] = 13772,
    [SMALL_STATE(342)] = 13791,
    [SMALL_STATE(343)] = 13810,
    [SMALL_STATE(344)] = 13829,
    [SMALL_STATE(345)] = 13848,
    [SMALL_STATE(346)] = 13865,
    [SMALL_STATE(347)] = 13884,
    [SMALL_STATE(348)] = 13901,
    [SMALL_STATE(349)] = 13920,
    [SMALL_STATE(350)] = 13937,
    [SMALL_STATE(351)] = 13954,
    [SMALL_STATE(352)] = 13971,
    [SMALL_STATE(353)] = 13990,
    [SMALL_STATE(354)] = 14005,
    [SMALL_STATE(355)] = 14024,
    [SMALL_STATE(356)] = 14043,
    [SMALL_STATE(357)] = 14060,
    [SMALL_STATE(358)] = 14077,
    [SMALL_STATE(359)] = 14096,
    [SMALL_STATE(360)] = 14115,
    [SMALL_STATE(361)] = 14134,
    [SMALL_STATE(362)] = 14153,
    [SMALL_STATE(363)] = 14172,
    [SMALL_STATE(364)] = 14191,
    [SMALL_STATE(365)] = 14210,
    [SMALL_STATE(366)] = 14227,
    [SMALL_STATE(367)] = 14242,
    [SMALL_STATE(368)] = 14261,
    [SMALL_STATE(369)] = 14280,
    [SMALL_STATE(370)] = 14297,
    [SMALL_STATE(371)] = 14316,
    [SMALL_STATE(372)] = 14335,
    [SMALL_STATE(373)] = 14354,
    [SMALL_STATE(374)] = 14373,
    [SMALL_STATE(375)] = 14392,
    [SMALL_STATE(376)] = 14411,
    [SMALL_STATE(377)] = 14430,
    [SMALL_STATE(378)] = 14449,
    [SMALL_STATE(379)] = 14466,
    [SMALL_STATE(380)] = 14485,
    [SMALL_STATE(381)] = 14504,
    [SMALL_STATE(382)] = 14521,
    [SMALL_STATE(383)] = 14536,
    [SMALL_STATE(384)] = 14555,
    [SMALL_STATE(385)] = 14574,
    [SMALL_STATE(386)] = 14593,
    [SMALL_STATE(387)] = 14610,
    [SMALL_STATE(388)] = 14629,
    [SMALL_STATE(389)] = 14648,
    [SMALL_STATE(390)] = 14667,
    [SMALL_STATE(391)] = 14686,
    [SMALL_STATE(392)] = 14705,
    [SMALL_STATE(393)] = 14722,
    [SMALL_STATE(394)] = 14741,
    [SMALL_STATE(395)] = 14756,
    [SMALL_STATE(396)] = 14775,
    [SMALL_STATE(397)] = 14794,
    [SMALL_STATE(398)] = 14813,
    [SMALL_STATE(399)] = 14832,
    [SMALL_STATE(400)] = 14851,
    [SMALL_STATE(401)] = 14866,
    [SMALL_STATE(402)] = 14885,
    [SMALL_STATE(403)] = 14904,
    [SMALL_STATE(404)] = 14923,
    [SMALL_STATE(405)] = 14942,
    [SMALL_STATE(406)] = 14959,
    [SMALL_STATE(407)] = 14978,
    [SMALL_STATE(408)] = 14997,
    [SMALL_STATE(409)] = 15016,
    [SMALL_STATE(410)] = 15033,
    [SMALL_STATE(411)] = 15052,
    [SMALL_STATE(412)] = 15069,
    [SMALL_STATE(413)] = 15088,
    [SMALL_STATE(414)] = 15107,
    [SMALL_STATE(415)] = 15126,
    [SMALL_STATE(416)] = 15145,
    [SMALL_STATE(417)] = 15164,
    [SMALL_STATE(418)] = 15183,
    [SMALL_STATE(419)] = 15202,
    [SMALL_STATE(420)] = 15221,
    [SMALL_STATE(421)] = 15240,
    [SMALL_STATE(422)] = 15259,
    [SMALL_STATE(423)] = 15278,
    [SMALL_STATE(424)] = 15297,
    [SMALL_STATE(425)] = 15316,
    [SMALL_STATE(426)] = 15335,
    [SMALL_STATE(427)] = 15352,
    [SMALL_STATE(428)] = 15369,
    [SMALL_STATE(429)] = 15386,
    [SMALL_STATE(430)] = 15401,
    [SMALL_STATE(431)] = 15418,
    [SMALL_STATE(432)] = 15437,
    [SMALL_STATE(433)] = 15456,
    [SMALL_STATE(434)] = 15473,
    [SMALL_STATE(435)] = 15492,
    [SMALL_STATE(436)] = 15511,
    [SMALL_STATE(437)] = 15530,
    [SMALL_STATE(438)] = 15549,
    [SMALL_STATE(439)] = 15568,
    [SMALL_STATE(440)] = 15587,
    [SMALL_STATE(441)] = 15606,
    [SMALL_STATE(442)] = 15625,
    [SMALL_STATE(443)] = 15644,
    [SMALL_STATE(444)] = 15663,
    [SMALL_STATE(445)] = 15682,
    [SMALL_STATE(446)] = 15701,
    [SMALL_STATE(447)] = 15720,
    [SMALL_STATE(448)] = 15735,
    [SMALL_STATE(449)] = 15754,
    [SMALL_STATE(450)] = 15773,
    [SMALL_STATE(451)] = 15792,
    [SMALL_STATE(452)] = 15811,
    [SMALL_STATE(453)] = 15825,
    [SMALL_STATE(454)] = 15841,
    [SMALL_STATE(455)] = 15855,
    [SMALL_STATE(456)] = 15869,
    [SMALL_STATE(457)] = 15883,
    [SMALL_STATE(458)] = 15897,
    [SMALL_STATE(459)] = 15911,
    [SMALL_STATE(460)] = 15927,
    [SMALL_STATE(461)] = 15943,
    [SMALL_STATE(462)] = 15959,
    [SMALL_STATE(463)] = 15973,
    [SMALL_STATE(464)] = 15987,
    [SMALL_STATE(465)] = 16001,
    [SMALL_STATE(466)] = 16017,
    [SMALL_STATE(467)] = 16031,
    [SMALL_STATE(468)] = 16047,
    [SMALL_STATE(469)] = 16063,
    [SMALL_STATE(470)] = 16079,
    [SMALL_STATE(471)] = 16093,
    [SMALL_STATE(472)] = 16107,
    [SMALL_STATE(473)] = 16123,
    [SMALL_STATE(474)] = 16137,
    [SMALL_STATE(475)] = 16151,
    [SMALL_STATE(476)] = 16165,
    [SMALL_STATE(477)] = 16179,
    [SMALL_STATE(478)] = 16195,
    [SMALL_STATE(479)] = 16209,
    [SMALL_STATE(480)] = 16225,
    [SMALL_STATE(481)] = 16241,
    [SMALL_STATE(482)] = 16255,
    [SMALL_STATE(483)] = 16269,
    [SMALL_STATE(484)] = 16283,
    [SMALL_STATE(485)] = 16297,
    [SMALL_STATE(486)] = 16311,
    [SMALL_STATE(487)] = 16325,
    [SMALL_STATE(488)] = 16339,
    [SMALL_STATE(489)] = 16353,
    [SMALL_STATE(490)] = 16369,
    [SMALL_STATE(491)] = 16385,
    [SMALL_STATE(492)] = 16399,
    [SMALL_STATE(493)] = 16413,
    [SMALL_STATE(494)] = 16427,
    [SMALL_STATE(495)] = 16441,
    [SMALL_STATE(496)] = 16455,
    [SMALL_STATE(497)] = 16469,
    [SMALL_STATE(498)] = 16483,
    [SMALL_STATE(499)] = 16499,
    [SMALL_STATE(500)] = 16515,
    [SMALL_STATE(501)] = 16529,
    [SMALL_STATE(502)] = 16543,
    [SMALL_STATE(503)] = 16559,
    [SMALL_STATE(504)] = 16573,
    [SMALL_STATE(505)] = 16587,
    [SMALL_STATE(506)] = 16601,
    [SMALL_STATE(507)] = 16615,
    [SMALL_STATE(508)] = 16629,
    [SMALL_STATE(509)] = 16645,
    [SMALL_STATE(510)] = 16661,
    [SMALL_STATE(511)] = 16675,
    [SMALL_STATE(512)] = 16691,
    [SMALL_STATE(513)] = 16707,
    [SMALL_STATE(514)] = 16721,
    [SMALL_STATE(515)] = 16735,
    [SMALL_STATE(516)] = 16749,
    [SMALL_STATE(517)] = 16763,
    [SMALL_STATE(518)] = 16777,
    [SMALL_STATE(519)] = 16793,
    [SMALL_STATE(520)] = 16807,
    [SMALL_STATE(521)] = 16823,
    [SMALL_STATE(522)] = 16839,
    [SMALL_STATE(523)] = 16853,
    [SMALL_STATE(524)] = 16869,
    [SMALL_STATE(525)] = 16883,
    [SMALL_STATE(526)] = 16899,
    [SMALL_STATE(527)] = 16913,
    [SMALL_STATE(528)] = 16929,
    [SMALL_STATE(529)] = 16943,
    [SMALL_STATE(530)] = 16959,
    [SMALL_STATE(531)] = 16973,
    [SMALL_STATE(532)] = 16987,
    [SMALL_STATE(533)] = 17003,
    [SMALL_STATE(534)] = 17017,
    [SMALL_STATE(535)] = 17031,
    [SMALL_STATE(536)] = 17045,
    [SMALL_STATE(537)] = 17059,
    [SMALL_STATE(538)] = 17073,
    [SMALL_STATE(539)] = 17087,
    [SMALL_STATE(540)] = 17103,
    [SMALL_STATE(541)] = 17117,
    [SMALL_STATE(542)] = 17131,
    [SMALL_STATE(543)] = 17147,
    [SMALL_STATE(544)] = 17163,
    [SMALL_STATE(545)] = 17179,
    [SMALL_STATE(546)] = 17193,
    [SMALL_STATE(547)] = 17209,
    [SMALL_STATE(548)] = 17223,
    [SMALL_STATE(549)] = 17237,
    [SMALL_STATE(550)] = 17253,
    [SMALL_STATE(551)] = 17267,
    [SMALL_STATE(552)] = 17281,
    [SMALL_STATE(553)] = 17295,
    [SMALL_STATE(554)] = 17311,
    [SMALL_STATE(555)] = 17327,
    [SMALL_STATE(556)] = 17343,
    [SMALL_STATE(557)] = 17357,
    [SMALL_STATE(558)] = 17371,
    [SMALL_STATE(559)] = 17385,
    [SMALL_STATE(560)] = 17399,
    [SMALL_STATE(561)] = 17415,
    [SMALL_STATE(562)] = 17431,
    [SMALL_STATE(563)] = 17445,
    [SMALL_STATE(564)] = 17459,
    [SMALL_STATE(565)] = 17475,
    [SMALL_STATE(566)] = 17491,
    [SMALL_STATE(567)] = 17507,
    [SMALL_STATE(568)] = 17521,
    [SMALL_STATE(569)] = 17534,
    [SMALL_STATE(570)] = 17547,
    [SMALL_STATE(571)] = 17560,
    [SMALL_STATE(572)] = 17573,
    [SMALL_STATE(573)] = 17586,
    [SMALL_STATE(574)] = 17599,
    [SMALL_STATE(575)] = 17612,
    [SMALL_STATE(576)] = 17625,
    [SMALL_STATE(577)] = 17638,
    [SMALL_STATE(578)] = 17651,
    [SMALL_STATE(579)] = 17664,
    [SMALL_STATE(580)] = 17677,
    [SMALL_STATE(581)] = 17690,
    [SMALL_STATE(582)] = 17703,
    [SMALL_STATE(583)] = 17716,
    [SMALL_STATE(584)] = 17729,
    [SMALL_STATE(585)] = 17742,
    [SMALL_STATE(586)] = 17755,
    [SMALL_STATE(587)] = 17768,
    [SMALL_STATE(588)] = 17781,
    [SMALL_STATE(589)] = 17794,
    [SMALL_STATE(590)] = 17807,
    [SMALL_STATE(591)] = 17820,
    [SMALL_STATE(592)] = 17833,
    [SMALL_STATE(593)] = 17846,
    [SMALL_STATE(594)] = 17859,
    [SMALL_STATE(595)] = 17872,
    [SMALL_STATE(596)] = 17885,
    [SMALL_STATE(597)] = 17898,
    [SMALL_STATE(598)] = 17911,
    [SMALL_STATE(599)] = 17924,
    [SMALL_STATE(600)] = 17937,
    [SMALL_STATE(601)] = 17950,
    [SMALL_STATE(602)] = 17963,
    [SMALL_STATE(603)] = 17976,
    [SMALL_STATE(604)] = 17989,
    [SMALL_STATE(605)] = 18002,
    [SMALL_STATE(606)] = 18015,
    [SMALL_STATE(607)] = 18028,
    [SMALL_STATE(608)] = 18041,
    [SMALL_STATE(609)] = 18054,
    [SMALL_STATE(610)] = 18067,
    [SMALL_STATE(611)] = 18080,
    [SMALL_STATE(612)] = 18093,
    [SMALL_STATE(613)] = 18106,
    [SMALL_STATE(614)] = 18119,
    [SMALL_STATE(615)] = 18132,
    [SMALL_STATE(616)] = 18145,
    [SMALL_STATE(617)] = 18158,
    [SMALL_STATE(618)] = 18171,
    [SMALL_STATE(619)] = 18184,
    [SMALL_STATE(620)] = 18197,
    [SMALL_STATE(621)] = 18210,
    [SMALL_STATE(622)] = 18223,
    [SMALL_STATE(623)] = 18236,
    [SMALL_STATE(624)] = 18249,
    [SMALL_STATE(625)] = 18262,
    [SMALL_STATE(626)] = 18275,
    [SMALL_STATE(627)] = 18288,
    [SMALL_STATE(628)] = 18301,
    [SMALL_STATE(629)] = 18314,
    [SMALL_STATE(630)] = 18327,
    [SMALL_STATE(631)] = 18340,
    [SMALL_STATE(632)] = 18353,
    [SMALL_STATE(633)] = 18366,
    [SMALL_STATE(634)] = 18379,
    [SMALL_STATE(635)] = 18392,
    [SMALL_STATE(636)] = 18405,
    [SMALL_STATE(637)] = 18418,
    [SMALL_STATE(638)] = 18431,
    [SMALL_STATE(639)] = 18444,
    [SMALL_STATE(640)] = 18457,
    [SMALL_STATE(641)] = 18470,
    [SMALL_STATE(642)] = 18483,
    [SMALL_STATE(643)] = 18496,
    [SMALL_STATE(644)] = 18509,
    [SMALL_STATE(645)] = 18522,
    [SMALL_STATE(646)] = 18535,
    [SMALL_STATE(647)] = 18548,
    [SMALL_STATE(648)] = 18561,
    [SMALL_STATE(649)] = 18574,
    [SMALL_STATE(650)] = 18587,
    [SMALL_STATE(651)] = 18600,
    [SMALL_STATE(652)] = 18613,
    [SMALL_STATE(653)] = 18626,
    [SMALL_STATE(654)] = 18639,
    [SMALL_STATE(655)] = 18652,
    [SMALL_STATE(656)] = 18665,
    [SMALL_STATE(657)] = 18678,
    [SMALL_STATE(658)] = 18691,
    [SMALL_STATE(659)] = 18704,
    [SMALL_STATE(660)] = 18717,
    [SMALL_STATE(661)] = 18730,
    [SMALL_STATE(662)] = 18743,
    [SMALL_STATE(663)] = 18756,
    [SMALL_STATE(664)] = 18769,
    [SMALL_STATE(665)] = 18782,
    [SMALL_STATE(666)] = 18795,
    [SMALL_STATE(667)] = 18808,
    [SMALL_STATE(668)] = 18821,
    [SMALL_STATE(669)] = 18834,
    [SMALL_STATE(670)] = 18847,
    [SMALL_STATE(671)] = 18860,
    [SMALL_STATE(672)] = 18873,
    [SMALL_STATE(673)] = 18886,
    [SMALL_STATE(674)] = 18899,
    [SMALL_STATE(675)] = 18912,
    [SMALL_STATE(676)] = 18925,
    [SMALL_STATE(677)] = 18938,
    [SMALL_STATE(678)] = 18951,
    [SMALL_STATE(679)] = 18964,
    [SMALL_STATE(680)] = 18977,
    [SMALL_STATE(681)] = 18990,
    [SMALL_STATE(682)] = 19003,
    [SMALL_STATE(683)] = 19016,
    [SMALL_STATE(684)] = 19029,
    [SMALL_STATE(685)] = 19042,
    [SMALL_STATE(686)] = 19055,
    [SMALL_STATE(687)] = 19068,
    [SMALL_STATE(688)] = 19081,
    [SMALL_STATE(689)] = 19094,
    [SMALL_STATE(690)] = 19107,
    [SMALL_STATE(691)] = 19120,
    [SMALL_STATE(692)] = 19133,
    [SMALL_STATE(693)] = 19146,
    [SMALL_STATE(694)] = 19159,
    [SMALL_STATE(695)] = 19172,
    [SMALL_STATE(696)] = 19185,
    [SMALL_STATE(697)] = 19198,
    [SMALL_STATE(698)] = 19211,
    [SMALL_STATE(699)] = 19224,
    [SMALL_STATE(700)] = 19237,
    [SMALL_STATE(701)] = 19250,
    [SMALL_STATE(702)] = 19263,
    [SMALL_STATE(703)] = 19276,
    [SMALL_STATE(704)] = 19289,
    [SMALL_STATE(705)] = 19302,
    [SMALL_STATE(706)] = 19315,
    [SMALL_STATE(707)] = 19328,
    [SMALL_STATE(708)] = 19341,
    [SMALL_STATE(709)] = 19354,
    [SMALL_STATE(710)] = 19367,
    [SMALL_STATE(711)] = 19380,
    [SMALL_STATE(712)] = 19393,
    [SMALL_STATE(713)] = 19406,
    [SMALL_STATE(714)] = 19419,
    [SMALL_STATE(715)] = 19432,
    [SMALL_STATE(716)] = 19445,
    [SMALL_STATE(717)] = 19458,
    [SMALL_STATE(718)] = 19471,
    [SMALL_STATE(719)] = 19484,
    [SMALL_STATE(720)] = 19497,
    [SMALL_STATE(721)] = 19510,
    [SMALL_STATE(722)] = 19523,
    [SMALL_STATE(723)] = 19536,
    [SMALL_STATE(724)] = 19549,
    [SMALL_STATE(725)] = 19562,
    [SMALL_STATE(726)] = 19575,
    [SMALL_STATE(727)] = 19588,
    [SMALL_STATE(728)] = 19601,
    [SMALL_STATE(729)] = 19614,
    [SMALL_STATE(730)] = 19627,
    [SMALL_STATE(731)] = 19640,
    [SMALL_STATE(732)] = 19653,
    [SMALL_STATE(733)] = 19666,
    [SMALL_STATE(734)] = 19679,
    [SMALL_STATE(735)] = 19692,
    [SMALL_STATE(736)] = 19705,
    [SMALL_STATE(737)] = 19718,
    [SMALL_STATE(738)] = 19731,
    [SMALL_STATE(739)] = 19744,
    [SMALL_STATE(740)] = 19757,
    [SMALL_STATE(741)] = 19770,
    [SMALL_STATE(742)] = 19783,
    [SMALL_STATE(743)] = 19796,
    [SMALL_STATE(744)] = 19809,
    [SMALL_STATE(745)] = 19822,
    [SMALL_STATE(746)] = 19835,
    [SMALL_STATE(747)] = 19848,
    [SMALL_STATE(748)] = 19861,
    [SMALL_STATE(749)] = 19874,
    [SMALL_STATE(750)] = 19887,
    [SMALL_STATE(751)] = 19900,
    [SMALL_STATE(752)] = 19913,
    [SMALL_STATE(753)] = 19926,
    [SMALL_STATE(754)] = 19939,
    [SMALL_STATE(755)] = 19952,
    [SMALL_STATE(756)] = 19965,
    [SMALL_STATE(757)] = 19978,
    [SMALL_STATE(758)] = 19991,
    [SMALL_STATE(759)] = 20004,
    [SMALL_STATE(760)] = 20017,
    [SMALL_STATE(761)] = 20030,
    [SMALL_STATE(762)] = 20043,
    [SMALL_STATE(763)] = 20056,
    [SMALL_STATE(764)] = 20069,
    [SMALL_STATE(765)] = 20082,
    [SMALL_STATE(766)] = 20095,
    [SMALL_STATE(767)] = 20108,
    [SMALL_STATE(768)] = 20121,
    [SMALL_STATE(769)] = 20134,
    [SMALL_STATE(770)] = 20147,
    [SMALL_STATE(771)] = 20160,
    [SMALL_STATE(772)] = 20173,
    [SMALL_STATE(773)] = 20186,
    [SMALL_STATE(774)] = 20199,
    [SMALL_STATE(775)] = 20212,
    [SMALL_STATE(776)] = 20225,
    [SMALL_STATE(777)] = 20238,
    [SMALL_STATE(778)] = 20251,
    [SMALL_STATE(779)] = 20264,
    [SMALL_STATE(780)] = 20277,
    [SMALL_STATE(781)] = 20290,
    [SMALL_STATE(782)] = 20303,
    [SMALL_STATE(783)] = 20316,
    [SMALL_STATE(784)] = 20329,
    [SMALL_STATE(785)] = 20342,
    [SMALL_STATE(786)] = 20355,
    [SMALL_STATE(787)] = 20368,
    [SMALL_STATE(788)] = 20381,
    [SMALL_STATE(789)] = 20394,
    [SMALL_STATE(790)] = 20407,
    [SMALL_STATE(791)] = 20420,
    [SMALL_STATE(792)] = 20433,
    [SMALL_STATE(793)] = 20446,
    [SMALL_STATE(794)] = 20459,
    [SMALL_STATE(795)] = 20472,
    [SMALL_STATE(796)] = 20485,
    [SMALL_STATE(797)] = 20498,
    [SMALL_STATE(798)] = 20511,
    [SMALL_STATE(799)] = 20524,
    [SMALL_STATE(800)] = 20537,
    [SMALL_STATE(801)] = 20550,
    [SMALL_STATE(802)] = 20563,
    [SMALL_STATE(803)] = 20576,
    [SMALL_STATE(804)] = 20589,
    [SMALL_STATE(805)] = 20602,
    [SMALL_STATE(806)] = 20615,
    [SMALL_STATE(807)] = 20628,
    [SMALL_STATE(808)] = 20641,
    [SMALL_STATE(809)] = 20654,
    [SMALL_STATE(810)] = 20658,
};

static const TSParseActionEntry ts_parse_actions[] = {
    [0] = { .entry = { .count = 0, .reusable = false } },
    [1] = { .entry = { .count = 1, .reusable = false } },
    RECOVER(),
    [3] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(269),
    [5] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(684),
    [7] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_specification, 0, 0, 0),
    [9] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(583),
    [11] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(555),
    [13] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(214),
    [15] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(808),
    [17] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(807),
    [19] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(340),
    [21] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(797),
    [23] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(795),
    [25] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(791),
    [27] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(790),
    [29] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(116),
    [31] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(343),
    [33] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(787),
    [35] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(785),
    [37] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(784),
    [39] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(783),
    [41] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(781),
    [43] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(78),
    [45] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(549),
    [47] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(33),
    [49] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(777),
    [51] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(355),
    [53] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(361),
    [55] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(199),
    [57] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(774),
    [59] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(773),
    [61] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(772),
    [63] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(771),
    [65] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(542),
    [67] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(228),
    [69] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(229),
    [71] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(230),
    [73] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(230),
    [75] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(231),
    [77] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(284),
    [79] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(610),
    [81] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(232),
    [83] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(233),
    [85] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(233),
    [87] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(234),
    [89] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(235),
    [91] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(235),
    [93] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(289),
    [95] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(289),
    [97] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(236),
    [99] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(789),
    [101] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(237),
    [103] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(283),
    [105] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(625),
    [107] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(606),
    [109] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(808),
    [111] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(736),
    [113] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(627),
    [115] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(645),
    [117] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(647),
    [119] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(66),
    [121] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(795),
    [123] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(791),
    [125] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(116),
    [127] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(650),
    [129] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(787),
    [131] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(784),
    [133] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(783),
    [135] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(781),
    [137] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(78),
    [139] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(652),
    [141] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(72),
    [143] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(672),
    [145] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(33),
    [147] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(355),
    [149] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(199),
    [151] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(282),
    [153] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(542),
    [155] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(195),
    [157] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(753),
    [159] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(228),
    [162] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(229),
    [165] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(230),
    [168] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(230),
    [171] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(231),
    [174] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(284),
    [177] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(610),
    [180] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(232),
    [183] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(233),
    [186] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(233),
    [189] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(234),
    [192] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [195] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [198] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(289),
    [201] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(289),
    [204] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(236),
    [207] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(789),
    [210] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(237),
    [213] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(283),
    [216] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(625),
    [219] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(606),
    [222] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(808),
    [225] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    [227] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(627),
    [230] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(645),
    [233] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(647),
    [236] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(66),
    [239] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(795),
    [242] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(791),
    [245] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(116),
    [248] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(650),
    [251] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(787),
    [254] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(784),
    [257] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(783),
    [260] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(781),
    [263] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(78),
    [266] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(652),
    [269] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(72),
    [272] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(672),
    [275] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(33),
    [278] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(777),
    [281] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(355),
    [284] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(199),
    [287] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(282),
    [290] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(542),
    [293] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(195),
    [296] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(670),
    [298] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(569),
    [300] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(690),
    [302] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(568),
    [304] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(702),
    [306] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(228),
    [309] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(229),
    [312] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(230),
    [315] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(230),
    [318] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(231),
    [321] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(284),
    [324] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(610),
    [327] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(232),
    [330] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(233),
    [333] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(233),
    [336] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(234),
    [339] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [342] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [345] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(289),
    [348] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(289),
    [351] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(236),
    [354] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(789),
    [357] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(237),
    [360] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(283),
    [363] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(625),
    [366] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(606),
    [369] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(808),
    [372] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    [374] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(627),
    [377] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(645),
    [380] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(647),
    [383] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(66),
    [386] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(795),
    [389] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(791),
    [392] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(116),
    [395] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(650),
    [398] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(787),
    [401] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(784),
    [404] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(783),
    [407] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(781),
    [410] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(78),
    [413] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(652),
    [416] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(690),
    [419] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(33),
    [422] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(777),
    [425] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(355),
    [428] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(199),
    [431] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(282),
    [434] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(568),
    [437] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(542),
    [440] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(195),
    [443] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_body, 1, 0, 0),
    [445] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(623),
    [447] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(770),
    [449] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(609),
    [451] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(719),
    [453] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(716),
    [455] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(228),
    [458] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(229),
    [461] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(230),
    [464] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(230),
    [467] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(231),
    [470] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(284),
    [473] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(610),
    [476] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(232),
    [479] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(233),
    [482] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(233),
    [485] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(234),
    [488] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [491] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [494] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(289),
    [497] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(289),
    [500] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(236),
    [503] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(789),
    [506] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(237),
    [509] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(283),
    [512] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(625),
    [515] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(606),
    [518] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(808),
    [521] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    [523] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(627),
    [526] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(645),
    [529] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(647),
    [532] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(66),
    [535] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(795),
    [538] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(791),
    [541] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(116),
    [544] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(650),
    [547] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(787),
    [550] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(784),
    [553] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(783),
    [556] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(781),
    [559] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(78),
    [562] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(652),
    [565] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(33),
    [568] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(777),
    [571] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(355),
    [574] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(199),
    [577] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(282),
    [580] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(542),
    [583] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(195),
    [586] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(617),
    [588] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(618),
    [590] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_body, 1, 0, 0),
    [592] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(608),
    [594] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    [596] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(583),
    [599] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(555),
    [602] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(214),
    [605] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(808),
    [608] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(807),
    [611] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(340),
    [614] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(797),
    [617] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(795),
    [620] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(791),
    [623] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(790),
    [626] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(116),
    [629] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(343),
    [632] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(787),
    [635] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(785),
    [638] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(784),
    [641] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(783),
    [644] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(781),
    [647] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(78),
    [650] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(549),
    [653] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(33),
    [656] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(777),
    [659] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(355),
    [662] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(361),
    [665] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(199),
    [668] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(774),
    [671] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(773),
    [674] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(772),
    [677] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(771),
    [680] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(542),
    [683] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_specification, 1, 0, 0),
    [685] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(626),
    [687] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(398),
    [689] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(687),
    [691] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(808),
    [694] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    [696] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(807),
    [699] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(340),
    [702] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(797),
    [705] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(795),
    [708] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(791),
    [711] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(790),
    [714] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(116),
    [717] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(343),
    [720] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(787),
    [723] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(785),
    [726] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(784),
    [729] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(783),
    [732] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(781),
    [735] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(78),
    [738] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(398),
    [741] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(549),
    [744] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(33),
    [747] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(777),
    [750] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(355),
    [753] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(361),
    [756] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(199),
    [759] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(774),
    [762] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(773),
    [765] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(772),
    [768] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(771),
    [771] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(542),
    [774] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(756),
    [776] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(696),
    [778] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(808),
    [781] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    [783] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(807),
    [786] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(340),
    [789] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(797),
    [792] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(795),
    [795] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(791),
    [798] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(790),
    [801] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(116),
    [804] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(343),
    [807] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(787),
    [810] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(785),
    [813] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(784),
    [816] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(783),
    [819] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(781),
    [822] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(78),
    [825] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(549),
    [828] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(33),
    [831] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(777),
    [834] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(355),
    [837] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(361),
    [840] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(199),
    [843] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(774),
    [846] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(773),
    [849] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(772),
    [852] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(771),
    [855] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(542),
    [858] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(183),
    [860] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(133),
    [862] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(183),
    [864] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(512),
    [866] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(325),
    [868] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(392),
    [870] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(167),
    [872] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(162),
    [874] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(104),
    [876] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_case, 1, 0, 0),
    [878] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_case, 1, 0, 0),
    [880] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(272),
    [882] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(101),
    [884] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(638),
    [886] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_header, 2, 0, 0),
    [888] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(221),
    [890] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_forward_dcl, 2, 0, 0),
    [892] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(258),
    [894] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(515),
    [896] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(120),
    [898] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(552),
    [900] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(503),
    [902] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(556),
    [904] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(456),
    [906] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(228),
    [909] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(229),
    [912] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(230),
    [915] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(230),
    [918] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(231),
    [921] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(284),
    [924] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(610),
    [927] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(232),
    [930] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(233),
    [933] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(233),
    [936] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(234),
    [939] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [942] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [945] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(289),
    [948] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(289),
    [951] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(236),
    [954] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(789),
    [957] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(237),
    [960] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(283),
    [963] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(625),
    [966] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(606),
    [969] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    [971] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(120),
    [974] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(282),
    [977] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(195),
    [980] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(722),
    [982] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(500),
    [984] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(709),
    [986] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(454),
    [988] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(630),
    [990] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(628),
    [992] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(718),
    [994] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(721),
    [996] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(777),
    [998] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(228),
    [1001] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(229),
    [1004] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(230),
    [1007] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(230),
    [1010] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(231),
    [1013] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(630),
    [1016] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(628),
    [1019] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(232),
    [1022] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(233),
    [1025] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(233),
    [1028] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(234),
    [1031] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [1034] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [1037] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(289),
    [1040] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(289),
    [1043] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(236),
    [1046] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(789),
    [1049] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(237),
    [1052] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(718),
    [1055] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(625),
    [1058] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    [1060] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(781),
    [1063] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(78),
    [1066] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(33),
    [1069] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(777),
    [1072] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(195),
    [1075] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(714),
    [1077] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(518),
    [1079] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(745),
    [1081] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(77),
    [1083] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_init_dcl, 7, 0, 0),
    [1085] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_init_dcl, 7, 0, 0),
    [1087] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_init_dcl, 6, 0, 0),
    [1089] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_init_dcl, 6, 0, 0),
    [1091] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_state_member, 4, 0, 0),
    [1093] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_state_member, 4, 0, 0),
    [1095] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_export, 2, 0, 0),
    [1097] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_export, 2, 0, 0),
    [1099] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_init_dcl, 5, 0, 0),
    [1101] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_init_dcl, 5, 0, 0),
    [1103] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_value_element, 1, 0, 0),
    [1105] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_element, 1, 0, 0),
    [1107] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 1, 0, 0),
    [1109] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 1, 0, 0),
    [1111] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_home_export, 1, 0, 0),
    [1113] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_export, 1, 0, 0),
    [1115] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_home_export, 2, 0, 0),
    [1117] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_export, 2, 0, 0),
    [1119] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 1, 0, 0),
    [1121] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 1, 0, 0),
    [1123] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 1, 0, 0),
    [1125] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 1, 0, 0),
    [1127] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_case_label, 3, 0, 0),
    [1129] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_case_label, 3, 0, 0),
    [1131] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_case_label, 2, 0, 0),
    [1133] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_case_label, 2, 0, 0),
    [1135] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_interface_def_repeat1, 2, 0, 0),
    [1137] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_interface_def_repeat1, 2, 0, 0),
    [1139] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(120),
    [1142] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_annotation_body, 1, 0, 0),
    [1144] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_body, 1, 0, 0),
    [1146] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_member, 4, 0, 4),
    [1148] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_member, 4, 0, 4),
    [1150] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_annotation_body, 2, 0, 0),
    [1152] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_body, 2, 0, 0),
    [1154] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_annotation_built_name, 1, 0, 0),
    [1156] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_built_name, 1, 0, 0),
    [1158] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_annotation_appl, 2, 0, 0),
    [1160] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_appl, 2, 0, 0),
    [1162] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(111),
    [1164] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 1, 0, 0),
    [1166] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 1, 0, 0),
    [1168] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 1, 0, 0),
    [1170] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 1, 0, 0),
    [1172] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_annotation_member, 5, 0, 0),
    [1174] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_member, 5, 0, 0),
    [1176] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_scoped_name, 3, 0, 0),
    [1178] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_scoped_name, 3, 0, 0),
    [1180] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_member, 3, 0, 4),
    [1182] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_member, 3, 0, 4),
    [1184] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_member, 5, 0, 6),
    [1186] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_member, 5, 0, 6),
    [1188] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_scoped_name, 2, 0, 0),
    [1190] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_scoped_name, 2, 0, 0),
    [1192] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_member, 4, 0, 6),
    [1194] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_member, 4, 0, 6),
    [1196] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_annotation_member, 3, 0, 0),
    [1198] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_member, 3, 0, 0),
    [1200] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_scoped_name, 1, 0, 0),
    [1202] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_scoped_name, 1, 0, 0),
    [1204] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_definition, 2, 0, 0),
    [1206] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_definition, 2, 0, 0),
    [1208] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_interface_def_repeat1, 1, 0, 0),
    [1210] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_interface_def_repeat1, 1, 0, 0),
    [1212] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_annotation_appl, 5, 0, 0),
    [1214] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_appl, 5, 0, 0),
    [1216] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_param_attribute, 1, 0, 0),
    [1218] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_param_attribute, 1, 0, 0),
    [1220] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(678),
    [1222] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 1, 0, 0),
    [1224] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_specification_repeat1, 1, 0, 0),
    [1226] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_preproc_define, 2, 0, 0),
    [1228] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_preproc_define, 2, 0, 0),
    [1230] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_preproc_call, 2, 0, 1),
    [1232] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_preproc_call, 2, 0, 1),
    [1234] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_preproc_include, 3, 0, 3),
    [1236] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_preproc_include, 3, 0, 3),
    [1238] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_preproc_call, 3, 0, 2),
    [1240] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_preproc_call, 3, 0, 2),
    [1242] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(174),
    [1244] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_tpl_definition, 2, 0, 0),
    [1246] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_tpl_definition, 2, 0, 0),
    [1248] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(198),
    [1250] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_tpl_definition, 1, 0, 0),
    [1252] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_tpl_definition, 1, 0, 0),
    [1254] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(798),
    [1256] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(366),
    [1258] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(314),
    [1260] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(804),
    [1262] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(85),
    [1264] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(97),
    [1266] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(353),
    [1268] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 1, 0, 0),
    [1270] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 1, 0, 0),
    [1272] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 1, 0, 0),
    [1274] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_module_dcl_repeat1, 1, 0, 0),
    [1276] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(228),
    [1278] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(229),
    [1280] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(231),
    [1282] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(682),
    [1284] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(232),
    [1286] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(234),
    [1288] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(586),
    [1290] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(647),
    [1292] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(66),
    [1294] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(223),
    [1296] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(217),
    [1298] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(436),
    [1300] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(438),
    [1302] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(440),
    [1304] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(446),
    [1306] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_body, 1, 0, 0),
    [1308] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    [1310] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(647),
    [1313] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(66),
    [1316] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(223),
    [1319] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(217),
    [1322] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(436),
    [1325] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(438),
    [1328] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(440),
    [1331] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(446),
    [1334] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(792),
    [1336] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_primary_expr, 1, 0, 0),
    [1338] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_primary_expr, 1, 0, 0),
    [1340] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_port_body, 1, 0, 0),
    [1342] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_primary_expr, 3, 0, 0),
    [1344] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_primary_expr, 3, 0, 0),
    [1346] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_mult_expr, 1, 0, 0),
    [1348] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_mult_expr, 1, 0, 0),
    [1350] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_unary_expr, 2, 0, 0),
    [1352] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unary_expr, 2, 0, 0),
    [1354] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_add_expr, 1, 0, 0),
    [1356] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_add_expr, 1, 0, 0),
    [1358] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(145),
    [1360] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(145),
    [1362] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_char_literal, 4, 0, 0),
    [1364] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_char_literal, 4, 0, 0),
    [1366] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_port_body, 2, 0, 0),
    [1368] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_string_literal, 2, 0, 0),
    [1370] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_string_literal, 2, 0, 0),
    [1372] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_port_body_repeat1, 2, 0, 0),
    [1374] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_port_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(647),
    [1377] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_port_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(66),
    [1380] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_port_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(223),
    [1383] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_port_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(217),
    [1386] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_port_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(446),
    [1389] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_mult_expr, 3, 0, 0),
    [1391] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_mult_expr, 3, 0, 0),
    [1393] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_string_literal, 3, 0, 0),
    [1395] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_string_literal, 3, 0, 0),
    [1397] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_connector_dcl_repeat1, 2, 0, 0),
    [1399] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_connector_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(647),
    [1402] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_connector_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(66),
    [1405] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_connector_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(223),
    [1408] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_connector_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(217),
    [1411] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_connector_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(446),
    [1414] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_literal, 1, 0, 0),
    [1416] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_literal, 1, 0, 0),
    [1418] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_unary_expr, 1, 0, 0),
    [1420] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unary_expr, 1, 0, 0),
    [1422] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_char_literal, 3, 0, 0),
    [1424] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_char_literal, 3, 0, 0),
    [1426] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(734),
    [1428] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_add_expr, 3, 0, 0),
    [1430] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_add_expr, 3, 0, 0),
    [1432] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_boolean_literal, 1, 0, 0),
    [1434] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_boolean_literal, 1, 0, 0),
    [1436] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_string_literal, 4, 0, 0),
    [1438] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_string_literal, 4, 0, 0),
    [1440] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_shift_expr, 3, 0, 0),
    [1442] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_shift_expr, 3, 0, 0),
    [1444] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(141),
    [1446] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_shift_expr, 1, 0, 0),
    [1448] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_shift_expr, 1, 0, 0),
    [1450] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_simple_type_spec, 1, 0, 0),
    [1452] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_simple_type_spec, 1, 0, 0),
    [1454] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(131),
    [1456] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_and_expr, 1, 0, 0),
    [1458] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_and_expr, 1, 0, 0),
    [1460] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(139),
    [1462] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_and_expr, 3, 0, 0),
    [1464] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_and_expr, 3, 0, 0),
    [1466] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(573),
    [1468] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(572),
    [1470] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 1, 0, 0),
    [1472] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_export, 2, 0, 0),
    [1474] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(779),
    [1476] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_xor_expr, 3, 0, 0),
    [1478] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(137),
    [1480] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_xor_expr, 1, 0, 0),
    [1482] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unary_operator, 1, 0, 0),
    [1484] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_unary_operator, 1, 0, 0),
    [1486] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_or_expr, 3, 0, 0),
    [1488] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(136),
    [1490] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(116),
    [1493] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(564),
    [1495] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_attr_declarator, 1, 0, 0),
    [1497] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(565),
    [1499] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(566),
    [1501] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(589),
    [1503] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(112),
    [1505] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_or_expr, 1, 0, 0),
    [1507] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_port_ref, 2, 0, 0),
    [1509] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(15),
    [1511] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(221),
    [1513] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_forward_dcl, 3, 0, 0),
    [1515] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(258),
    [1517] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_const_expr, 1, 0, 0),
    [1519] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(135),
    [1521] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_connector_export, 1, 0, 0),
    [1523] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_connector_export, 2, 0, 0),
    [1525] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_connector_dcl_repeat1, 1, 0, 0),
    [1527] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_port_export, 2, 0, 0),
    [1529] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_simple_declarator, 1, 0, 0),
    [1531] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(806),
    [1533] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_header, 2, 0, 0),
    [1535] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_forward_dcl, 2, 0, 0),
    [1537] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_port_export, 1, 0, 0),
    [1539] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_port_body_repeat1, 1, 0, 0),
    [1541] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(492),
    [1543] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(121),
    [1545] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(494),
    [1547] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(481),
    [1549] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(455),
    [1551] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(692),
    [1553] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(130),
    [1555] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(452),
    [1557] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(567),
    [1559] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(563),
    [1561] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_header, 2, 0, 0),
    [1563] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(375),
    [1565] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_forward_dcl, 2, 0, 0),
    [1567] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(379),
    [1569] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0),
    [1571] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0),
    SHIFT_REPEAT(124),
    [1574] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_array_declarator, 2, 0, 0),
    [1576] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(124),
    [1578] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_header, 3, 0, 0),
    [1580] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(14),
    [1582] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_union_def_repeat1, 2, 0, 0),
    [1584] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_union_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(692),
    [1587] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_union_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(130),
    [1590] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(686),
    [1592] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(574),
    [1594] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(304),
    [1596] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(681),
    [1598] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(462),
    [1600] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(513),
    [1602] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(751),
    [1604] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(227),
    [1606] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(319),
    [1608] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(384),
    [1610] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(391),
    [1612] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(425),
    [1614] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_supported_interface_spec, 2, 0, 0),
    [1616] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(220),
    [1618] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_signed_short_int, 1, 0, 0),
    [1620] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_signed_long_int, 1, 0, 0),
    [1622] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_signed_longlong_int, 1, 0, 0),
    [1624] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unsigned_int, 1, 0, 0),
    [1626] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_signed_int, 1, 0, 0),
    [1628] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unsigned_short_int, 1, 0, 0),
    [1630] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unsigned_long_int, 1, 0, 0),
    [1632] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unsigned_longlong_int, 1, 0, 0),
    [1634] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_char_type, 1, 0, 0),
    [1636] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(114),
    [1638] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_string_type, 1, 0, 0),
    [1640] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_integer_type, 1, 0, 0),
    [1642] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(507),
    [1644] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(715),
    [1646] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(524),
    [1648] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_bitset_dcl_repeat1, 2, 0, 0),
    [1650] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_bitset_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(715),
    [1653] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(478),
    [1655] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_readonly_attr_declarator, 1, 0, 0),
    [1657] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(642),
    [1659] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_raises_expr_repeat1, 2, 0, 0),
    [1661] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_raises_expr_repeat1, 2, 0, 0),
    SHIFT_REPEAT(425),
    [1664] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(486),
    [1666] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(806),
    [1668] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_sequence_type, 4, 0, 0),
    [1670] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_char_literal_repeat1, 2, 0, 0),
    SHIFT_REPEAT(429),
    [1673] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_char_literal_repeat1, 2, 0, 0),
    [1675] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(269),
    [1677] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(684),
    [1679] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(104),
    [1681] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(464),
    [1683] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(430),
    [1685] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(708),
    [1687] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(430),
    [1689] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(296),
    [1691] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_inheritance_spec, 4, 0, 0),
    [1693] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(299),
    [1695] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(723),
    [1697] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0),
    SHIFT_REPEAT(430),
    [1700] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0),
    [1702] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0),
    SHIFT_REPEAT(430),
    [1705] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(429),
    [1707] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(164),
    [1709] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_value_inheritance_spec_repeat1, 2, 0, 0),
    SHIFT_REPEAT(296),
    [1712] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_value_inheritance_spec_repeat1, 2, 0, 0),
    [1714] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_fixed_array_size, 3, 0, 0),
    [1716] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(118),
    [1718] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(809),
    [1720] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_header, 2, 0, 0),
    [1722] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(280),
    [1724] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_forward_dcl, 2, 0, 0),
    [1726] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(491),
    [1728] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(70),
    [1730] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_op_dcl, 4, 0, 0),
    [1732] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_type_spec, 1, 0, 0),
    [1734] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(278),
    [1736] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_declarators, 2, 0, 0),
    [1738] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_string_type, 4, 0, 0),
    [1740] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_declarators, 1, 0, 0),
    [1742] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_template_type_spec, 1, 0, 0),
    [1744] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_object_type, 1, 0, 0),
    [1746] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_any_type, 1, 0, 0),
    [1748] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_base_type_spec, 1, 0, 0),
    [1750] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_declarators_repeat1, 2, 0, 0),
    SHIFT_REPEAT(278),
    [1753] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_declarators_repeat1, 2, 0, 0),
    [1755] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(331),
    [1757] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(65),
    [1759] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(374),
    [1761] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(68),
    [1763] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(367),
    [1765] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_floating_pt_type, 1, 0, 0),
    [1767] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(587),
    [1769] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_header, 6, 0, 0),
    [1771] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(424),
    [1773] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(154),
    [1775] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_inheritance_spec, 3, 0, 0),
    [1777] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(261),
    [1779] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_supported_interface_spec, 3, 0, 0),
    [1781] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(37),
    [1783] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(364),
    [1785] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_forward_dcl, 2, 0, 0),
    [1787] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_sequence_type, 6, 0, 0),
    [1789] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_fixed_pt_type, 6, 0, 0),
    [1791] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_map_type, 6, 0, 0),
    [1793] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_op_dcl, 5, 0, 0),
    [1795] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(575),
    [1797] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(810),
    [1799] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(514),
    [1801] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_map_type, 8, 0, 0),
    [1803] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(530),
    [1805] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_header, 5, 0, 0),
    [1807] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(799),
    [1809] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(109),
    [1811] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(118),
    [1814] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(110),
    [1816] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(121),
    [1819] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_name, 1, 0, 0),
    [1821] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_inheritance_spec, 2, 0, 0),
    [1823] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(297),
    [1825] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_header, 4, 0, 0),
    [1827] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_enumerator_repeat1, 2, 0, 0),
    SHIFT_REPEAT(567),
    [1830] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_enumerator_repeat1, 2, 0, 0),
    [1832] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(156),
    [1834] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(160),
    [1836] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_array_declarator_repeat1, 1, 0, 0),
    [1838] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(168),
    [1840] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_finder_dcl, 4, 0, 0),
    [1842] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_actual_parameters, 2, 0, 0),
    [1844] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(31),
    [1846] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_attr_raises_expr, 1, 0, 0),
    [1848] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_inheritance_spec_repeat1, 2, 0, 0),
    SHIFT_REPEAT(294),
    [1851] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_interface_inheritance_spec_repeat1, 2, 0, 0),
    [1853] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(226),
    [1855] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_enum_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(226),
    [1858] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_enum_dcl_repeat1, 2, 0, 0),
    [1860] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(294),
    [1862] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_positive_int_const, 1, 0, 0),
    [1864] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(664),
    [1866] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(661),
    [1868] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(660),
    [1870] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(61),
    [1872] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(767),
    [1874] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(56),
    [1876] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(404),
    [1878] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_actual_parameters_repeat1, 2, 0, 0),
    [1880] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_actual_parameters_repeat1, 2, 0, 0),
    SHIFT_REPEAT(31),
    [1883] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(324),
    [1885] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_any_declarators, 2, 0, 0),
    [1887] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_inheritance_spec, 2, 0, 0),
    [1889] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_connector_header, 2, 0, 0),
    [1891] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(396),
    [1893] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_inheritance_spec, 2, 0, 0),
    [1895] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_formal_parameters_repeat1, 2, 0, 0),
    [1897] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_formal_parameters_repeat1, 2, 0, 0),
    SHIFT_REPEAT(57),
    [1900] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(416),
    [1902] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(656),
    [1904] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_name, 1, 0, 0),
    [1906] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_annotation_appl_params_repeat1, 2, 0, 0),
    SHIFT_REPEAT(461),
    [1909] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_annotation_appl_params_repeat1, 2, 0, 0),
    [1911] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_inheritance_spec, 2, 0, 0),
    [1913] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_actual_parameters, 1, 0, 0),
    [1915] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(197),
    [1917] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_inheritance_spec, 1, 0, 0),
    [1919] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(49),
    [1921] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_parameter_dcls, 1, 0, 0),
    [1923] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(58),
    [1925] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(472),
    [1927] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_init_param_dcls, 1, 0, 0),
    [1929] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_formal_parameter_names_repeat1, 2, 0, 0),
    [1931] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_formal_parameter_names_repeat1, 2, 0, 0),
    SHIFT_REPEAT(748),
    [1934] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_any_declarators, 1, 0, 0),
    [1936] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(470),
    [1938] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_formal_parameters, 1, 0, 0),
    [1940] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(57),
    [1942] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_formal_parameter_names, 2, 0, 0),
    [1944] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(748),
    [1946] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_factory_dcl, 4, 0, 0),
    [1948] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(533),
    [1950] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(246),
    [1952] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(505),
    [1954] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_bitmask_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(246),
    [1957] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_bitmask_dcl_repeat1, 2, 0, 0),
    [1959] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_header, 3, 0, 0),
    [1961] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_bitfield_repeat1, 2, 0, 0),
    [1963] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_bitfield_repeat1, 2, 0, 0),
    SHIFT_REPEAT(487),
    [1966] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_case, 3, 0, 0),
    [1968] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(467),
    [1970] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_factory_param_dcls, 1, 0, 0),
    [1972] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_formal_parameter_names, 1, 0, 0),
    [1974] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_in_parameter_dcls_repeat1, 2, 0, 0),
    SHIFT_REPEAT(465),
    [1977] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_in_parameter_dcls_repeat1, 2, 0, 0),
    [1979] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(461),
    [1981] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_appl_params, 1, 0, 0),
    [1983] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(95),
    [1985] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(129),
    [1987] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(531),
    [1989] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(352),
    [1991] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_inheritance_spec, 7, 0, 0),
    [1993] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(195),
    [1995] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_inheritance_spec, 5, 0, 0),
    [1997] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_declarator, 1, 0, 0),
    [1999] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_union_forward_dcl, 2, 0, 0),
    [2001] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(596),
    [2003] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_union_forward_dcl, 2, 0, 0),
    [2005] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(92),
    [2007] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(52),
    [2009] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(27),
    [2011] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_factory_param_dcls_repeat1, 2, 0, 0),
    SHIFT_REPEAT(467),
    [2014] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_factory_param_dcls_repeat1, 2, 0, 0),
    [2016] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(558),
    [2018] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_readonly_attr_declarator, 2, 0, 0),
    [2020] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_init_param_dcls_repeat1, 2, 0, 0),
    SHIFT_REPEAT(472),
    [2023] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_init_param_dcls_repeat1, 2, 0, 0),
    [2025] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_readonly_attr_declarator_repeat1, 2, 0, 0),
    SHIFT_REPEAT(564),
    [2028] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_readonly_attr_declarator_repeat1, 2, 0, 0),
    [2030] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_inheritance_spec, 3, 0, 0),
    [2032] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(465),
    [2034] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_in_parameter_dcls, 1, 0, 0),
    [2036] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(522),
    [2038] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(487),
    [2040] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(488),
    [2042] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(75),
    [2044] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(705),
    [2046] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(528),
    [2048] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_parameter_dcls, 2, 0, 0),
    [2050] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_any_declarators_repeat1, 2, 0, 0),
    SHIFT_REPEAT(324),
    [2053] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_any_declarators_repeat1, 2, 0, 0),
    [2055] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_parameter_dcls_repeat1, 2, 0, 0),
    SHIFT_REPEAT(49),
    [2058] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_parameter_dcls_repeat1, 2, 0, 0),
    [2060] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_char_literal_repeat1, 1, 0, 0),
    [2062] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_string_literal_repeat1, 1, 0, 0),
    [2064] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_string_literal_repeat1, 1, 0, 0),
    [2066] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(54),
    [2068] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_init_param_dcls, 2, 0, 0),
    [2070] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_context_expr_repeat1, 2, 0, 0),
    SHIFT_REPEAT(416),
    [2073] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_context_expr_repeat1, 2, 0, 0),
    [2075] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_factory_dcl, 5, 0, 0),
    [2077] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_in_parameter_dcls, 2, 0, 0),
    [2079] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_appl_params, 2, 0, 0),
    [2081] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_factory_param_dcls, 2, 0, 0),
    [2083] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_finder_dcl, 5, 0, 0),
    [2085] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_formal_parameters, 2, 0, 0),
    [2087] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_union_def_repeat1, 1, 0, 0),
    [2089] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(501),
    [2091] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_inheritance_spec, 6, 0, 0),
    [2093] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_attr_declarator, 2, 0, 0),
    [2095] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enum_dcl, 4, 0, 0),
    [2097] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(511),
    [2099] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_def, 7, 0, 7),
    [2101] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_union_def, 8, 0, 0),
    [2103] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_def, 5, 0, 0),
    [2105] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_formal_parameter, 2, 0, 0),
    [2107] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_dcl, 1, 0, 0),
    [2109] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_switch_type_spec, 1, 0, 0),
    [2111] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(591),
    [2113] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enum_dcl, 5, 0, 0),
    [2115] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_op_oneway_dcl, 6, 0, 0),
    [2117] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enumerator, 2, 0, 0),
    [2119] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(41),
    [2121] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(397),
    [2123] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enum_dcl, 7, 0, 0),
    [2125] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_op_dcl, 6, 0, 0),
    [2127] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_param_dcl, 3, 0, 0),
    [2129] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_init_param_dcl, 3, 0, 0),
    [2131] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitset_dcl, 4, 0, 0),
    [2133] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(96),
    [2135] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(132),
    [2137] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitmask_dcl, 5, 0, 0),
    [2139] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_param_dcl, 2, 0, 0),
    [2141] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_bitset_dcl_repeat1, 1, 0, 0),
    [2143] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitset_dcl, 5, 0, 0),
    [2145] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_bitfield_repeat1, 1, 0, 0),
    [2147] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitfield, 2, 0, 0),
    [2149] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(248),
    [2151] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(250),
    [2153] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(344),
    [2155] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_op_oneway_dcl, 5, 0, 0),
    [2157] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitmask_dcl, 4, 0, 0),
    [2159] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_get_excep_expr, 2, 0, 0),
    [2161] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bit_value, 1, 0, 0),
    [2163] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_factory_param_dcl, 3, 0, 0),
    [2165] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_member_type, 1, 0, 0),
    [2167] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(30),
    [2169] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_def, 7, 0, 5),
    [2171] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitmask_dcl, 8, 0, 0),
    [2173] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_def, 8, 0, 7),
    [2175] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitfield_spec, 6, 0, 0),
    [2177] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitmask_dcl, 7, 0, 0),
    [2179] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_bitmask_dcl_repeat1, 3, 0, 0),
    [2181] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitset_dcl, 7, 0, 0),
    [2183] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_const_type, 1, 0, 0),
    [2185] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(46),
    [2187] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitfield_spec, 4, 0, 0),
    [2189] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(385),
    [2191] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(326),
    [2193] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(428),
    [2195] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_union_def, 9, 0, 0),
    [2197] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_exception_list, 3, 0, 0),
    [2199] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_def, 6, 0, 0),
    [2201] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_in_param_dcl, 3, 0, 0),
    [2203] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(69),
    [2205] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_formal_parameter_type, 1, 0, 0),
    [2207] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_union_dcl, 1, 0, 0),
    [2209] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(510),
    [2211] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(134),
    [2213] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitfield, 3, 0, 0),
    [2215] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(632),
    [2217] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitset_dcl, 6, 0, 0),
    [2219] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(633),
    [2221] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(634),
    [2223] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitmask_dcl, 6, 0, 0),
    [2225] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(635),
    [2227] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_raises_expr, 4, 0, 0),
    [2229] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_exception_list, 4, 0, 0),
    [2231] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_type, 1, 0, 0),
    [2233] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_raises_expr, 5, 0, 0),
    [2235] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_any_declarator, 1, 0, 0),
    [2237] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_appl_param, 3, 0, 0),
    [2239] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_actual_parameter, 1, 0, 0),
    [2241] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_imported_scope, 1, 0, 0),
    [2243] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_constr_type_dcl, 1, 0, 0),
    [2245] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(180),
    [2247] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_porttype_forward_dcl, 2, 0, 0),
    [2249] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_connector_inherit_spec, 2, 0, 0),
    [2251] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(614),
    [2253] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(612),
    [2255] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_def, 4, 0, 0),
    [2257] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(39),
    [2259] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(256),
    [2261] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(115),
    [2263] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(106),
    [2265] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(688),
    [2267] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_def, 6, 0, 5),
    [2269] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enum_dcl, 6, 0, 0),
    [2271] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_enumerator_repeat1, 1, 0, 0),
    [2273] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(302),
    [2275] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(126),
    [2277] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_primary_key_spec, 2, 0, 0),
    [2279] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enumerator, 1, 0, 0),
    [2281] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(410),
    [2283] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enum_modifier, 1, 0, 0),
    [2285] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(740),
    [2287] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_dcl, 3, 0, 0),
    [2289] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(674),
    [2291] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(468),
    [2293] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(706),
    [2295] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(266),
    [2297] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(707),
    [2299] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_readonly_attr_spec, 4, 0, 0),
    [2301] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_native_dcl, 2, 0, 0),
    [2303] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(300),
    [2305] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(301),
    [2307] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(206),
    [2309] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(105),
    [2311] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(11),
    [2313] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_def, 3, 0, 0),
    [2315] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_context_expr, 3, 0, 0),
    [2317] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_template_module_inst, 6, 0, 0),
    [2319] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(146),
    [2321] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_import_dcl, 2, 0, 0),
    [2323] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(303),
    [2325] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(102),
    [2327] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_typedef_dcl, 2, 0, 0),
    [2329] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(431),
    [2331] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(128),
    [2333] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_type_declarator, 2, 0, 0),
    [2335] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_uses_dcl, 4, 0, 0),
    [2337] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_type_id_dcl, 3, 0, 0),
    [2339] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_type_prefix_dcl, 3, 0, 0),
    [2341] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(435),
    [2343] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(71),
    [2345] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(444),
    [2347] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_abs_def, 6, 0, 0),
    [2349] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_abs_def, 6, 0, 0),
    [2351] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(119),
    [2353] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(83),
    [2355] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(211),
    [2357] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_default, 2, 0, 0),
    [2359] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_kind, 2, 0, 0),
    [2361] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(599),
    [2363] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(93),
    [2365] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_abs_def, 7, 0, 0),
    [2367] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_abs_def, 7, 0, 0),
    [2369] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_def, 5, 0, 0),
    [2371] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_connector_header, 3, 0, 0),
    [2373] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_header, 3, 0, 0),
    [2375] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_def, 3, 0, 0),
    [2377] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(90),
    [2379] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_template_module_dcl, 7, 0, 0),
    [2381] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_fixed_pt_const_type, 1, 0, 0),
    [2383] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(113),
    [2385] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(207),
    [2387] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_port_dcl, 3, 0, 0),
    [2389] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_consumes_dcl, 3, 0, 0),
    [2391] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_publishes_dcl, 3, 0, 0),
    [2393] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_emits_dcl, 3, 0, 0),
    [2395] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_uses_dcl, 3, 0, 0),
    [2397] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(601),
    [2399] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(147),
    [2401] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(47),
    [2403] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(204),
    [2405] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_header, 7, 0, 0),
    [2407] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(443),
    [2409] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_provides_dcl, 3, 0, 0),
    [2411] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_op_type_spec, 1, 0, 0),
    [2413] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(55),
    [2415] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(73),
    [2417] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_set_excep_expr, 2, 0, 0),
    [2419] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_attr_raises_expr, 2, 0, 0),
    [2421] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(776),
    [2423] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(271),
    [2425] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(463),
    [2427] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_attr_spec, 3, 0, 0),
    [2429] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_context_expr, 4, 0, 0),
    [2431] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(759),
    [2433] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(196),
    [2435] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(190),
    [2437] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(212),
    [2439] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_porttype_def, 5, 0, 0),
    [2441] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_attr_dcl, 1, 0, 0),
    [2443] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_kind, 2, 0, 0),
    [2445] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_box_def, 3, 0, 0),
    [2447] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_header, 3, 0, 0),
    [2449] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(268),
    [2451] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_def, 3, 0, 0),
    [2453] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(755),
    [2455] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_const_dcl, 5, 0, 0),
    [2457] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(215),
    [2459] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(744),
    [2461] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(581),
    [2463] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(179),
    [2465] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(45),
    [2467] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(107),
    [2469] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_destination_type, 1, 0, 0),
    [2471] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(504),
    [2473] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(693),
    [2475] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(276),
    [2477] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(576),
    [2479] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_template_module_dcl, 8, 0, 0),
    [2481] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(108),
    [2483] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(434),
    [2485] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(742),
    [2487] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(588),
    [2489] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(80),
    [2491] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(738),
    [2493] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_header, 4, 0, 0),
    [2495] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_module_dcl, 5, 0, 0),
    [2497] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(309),
    [2499] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(63),
    [2501] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_type_dcl, 1, 0, 0),
    [2503] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(24),
    [2505] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_formal_parameter_type, 2, 0, 0),
    [2507] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_def, 3, 0, 0),
    [2509] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(193),
    [2511] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(189),
    [2513] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_context_expr, 5, 0, 0),
    [2515] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(205),
    [2517] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_system_lib_string, 3, 0, 0),
    [2519] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_except_dcl, 4, 0, 0),
    [2521] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(150),
    [2523] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(170),
    [2525] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(20),
    [2527] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(53),
    [2529] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_dcl, 5, 0, 0),
    [2531] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(123),
    [2533] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_abs_def, 5, 0, 0),
    [2535] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_factory_dcl, 6, 0, 0),
    [2537] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_any_const_type, 1, 0, 0),
    [2539] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_abs_def, 5, 0, 0),
    [2541] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_finder_dcl, 6, 0, 0),
    [2543] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_dcl, 4, 0, 0),
    [2545] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_except_dcl, 5, 0, 0),
    [2547] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(620),
    [2549] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_porttype_dcl, 1, 0, 0),
    [2551] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(79),
    [2553] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(7),
    [2555] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(382),
    [2557] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(84),
    [2559] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_dcl, 1, 0, 0),
    [2561] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(6),
    [2563] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(138),
    [2565] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_connector_dcl, 4, 0, 0),
    [2567] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_def, 4, 0, 0),
    [2569] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(218),
    [2571] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_dcl, 4, 0, 0),
    [2573] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_dcl, 1, 0, 0),
    [2575] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(286),
    [2577] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(750),
    [2579] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(287),
    [2581] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_element_spec, 2, 0, 0),
    [2583] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_def, 4, 0, 0),
    [2585] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(636),
    [2587] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(700),
    [2589] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(535),
    [2591] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(644),
    [2593] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(754),
    [2595] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(457),
    [2597] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_def, 4, 0, 0),
    [2599] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_template_module_ref, 6, 0, 0),
    [2601] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(288),
    [2603] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_module_dcl, 4, 0, 0),
    [2605] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(570),
    [2607] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(98),
    [2609] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(34),
    [2611] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(5),
    [2613] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(35),
    [2615] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_dcl, 1, 0, 0),
    [2617] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_op_with_context, 2, 0, 0),
    [2619] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(10),
    [2621] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_dcl, 1, 0, 0),
    [2623] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(270),
    [2625] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(290),
    [2627] = { .entry = { .count = 1, .reusable = true } },
    ACCEPT_INPUT(),
    [2629] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_def, 4, 0, 0),
    [2631] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(348),
    [2633] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(544),
    [2635] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(222),
    [2637] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(208),
    [2639] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(691),
    [2641] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(651),
    [2643] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enum_anno, 1, 0, 0),
    [2645] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(662),
    [2647] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_porttype_def, 4, 0, 0),
    [2649] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(420),
    [2651] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(631),
    [2653] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_supports, 2, 0, 0),
    [2655] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(401),
    [2657] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(298),
    [2659] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(200),
    [2661] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_header, 4, 0, 0),
    [2663] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_kind, 1, 0, 0),
    [2665] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(144),
    [2667] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(639),
    [2669] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(640),
    [2671] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(143),
    [2673] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(13),
    [2675] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(490),
    [2677] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(541),
    [2679] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_kind, 1, 0, 0),
    [2681] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(315),
    [2683] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(316),
    [2685] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(74),
    [2687] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(100),
    [2689] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(125),
    [2691] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(94),
    [2693] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(550),
    [2695] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(680),
    [2697] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_comment, 2, 0, 0),
    [2699] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_comment, 3, 0, 0),
};

#ifdef __cplusplus
extern "C" {
#endif
#ifdef TREE_SITTER_HIDE_SYMBOLS
#define TS_PUBLIC
#elif defined(_WIN32)
#define TS_PUBLIC __declspec(dllexport)
#else
#define TS_PUBLIC __attribute__((visibility("default")))
#endif

TS_PUBLIC const TSLanguage *tree_sitter_idl(void) {
    static const TSLanguage language = {
        .version = LANGUAGE_VERSION,
        .symbol_count = SYMBOL_COUNT,
        .alias_count = ALIAS_COUNT,
        .token_count = TOKEN_COUNT,
        .external_token_count = EXTERNAL_TOKEN_COUNT,
        .state_count = STATE_COUNT,
        .large_state_count = LARGE_STATE_COUNT,
        .production_id_count = PRODUCTION_ID_COUNT,
        .field_count = FIELD_COUNT,
        .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH,
        .parse_table = &ts_parse_table[0][0],
        .small_parse_table = ts_small_parse_table,
        .small_parse_table_map = ts_small_parse_table_map,
        .parse_actions = ts_parse_actions,
        .symbol_names = ts_symbol_names,
        .field_names = ts_field_names,
        .field_map_slices = ts_field_map_slices,
        .field_map_entries = ts_field_map_entries,
        .symbol_metadata = ts_symbol_metadata,
        .public_symbol_map = ts_symbol_map,
        .alias_map = ts_non_terminal_alias_map,
        .alias_sequences = &ts_alias_sequences[0][0],
        .lex_modes = ts_lex_modes,
        .lex_fn = ts_lex,
        .primary_state_ids = ts_primary_state_ids,
    };
    return &language;
}
#ifdef __cplusplus
}
#endif
