diff --git a/grammar.js b/grammar.js index cedbc2a..f477327 100644 --- a/grammar.js +++ b/grammar.js @@ -15,10 +15,8 @@ module.exports = grammar({ name: "aria", extras: ($) => [/\s/, $.comment], - - conflicts: $ => [ - [$.operator, $.type], - ], + + conflicts: ($) => [[$.operator, $.type]], conflicts: ($) => [[$.primary_expression, $.type]], @@ -272,9 +270,23 @@ module.exports = grammar({ type: ($) => seq($.identifier, repeat(seq(".", $.identifier))), - number: ($) => /\d+/, + fp_literal: ($) => /-?[0-9]+\.[0-9]+([eE][+-]?[0-9]+)?f?/, + hex_int_literal: ($) => /0x[0-9a-fA-F]+(_[0-9a-fA-F]+)*/, + oct_int_literal: ($) => /0o[0-7]+(_[0-7]+)*/, + bin_int_literal: ($) => /0b[01]+(_[01]+)*/, + dec_int_literal: ($) => /-?[0-9]+(_[0-9]+)*/, + number: ($) => + choice( + $.hex_int_literal, + $.oct_int_literal, + $.bin_int_literal, + $.dec_int_literal, + $.fp_literal, + ), - string: ($) => /"[^"]*"/, + str_literal_dbl_qt: ($) => /"[^"]*"/, + str_literal_sgl_qt: ($) => /'[^']*'/, + string: ($) => choice($.str_literal_dbl_qt, $.str_literal_sgl_qt), array: ($) => seq("[", optional(list_of(",", $.expression)), "]"), diff --git a/src/grammar.json b/src/grammar.json index b6e057b..5b65249 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -1494,14 +1494,72 @@ } ] }, - "number": { + "fp_literal": { "type": "PATTERN", - "value": "\\d+" + "value": "-?[0-9]+\\.[0-9]+([eE][+-]?[0-9]+)?f?" }, - "string": { + "hex_int_literal": { + "type": "PATTERN", + "value": "0x[0-9a-fA-F]+(_[0-9a-fA-F]+)*" + }, + "oct_int_literal": { + "type": "PATTERN", + "value": "0o[0-7]+(_[0-7]+)*" + }, + "bin_int_literal": { + "type": "PATTERN", + "value": "0b[01]+(_[01]+)*" + }, + "dec_int_literal": { + "type": "PATTERN", + "value": "-?[0-9]+(_[0-9]+)*" + }, + "number": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "hex_int_literal" + }, + { + "type": "SYMBOL", + "name": "oct_int_literal" + }, + { + "type": "SYMBOL", + "name": "bin_int_literal" + }, + { + "type": "SYMBOL", + "name": "dec_int_literal" + }, + { + "type": "SYMBOL", + "name": "fp_literal" + } + ] + }, + "str_literal_dbl_qt": { "type": "PATTERN", "value": "\"[^\"]*\"" }, + "str_literal_sgl_qt": { + "type": "PATTERN", + "value": "'[^']*'" + }, + "string": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "str_literal_dbl_qt" + }, + { + "type": "SYMBOL", + "name": "str_literal_sgl_qt" + } + ] + }, "array": { "type": "SEQ", "members": [ diff --git a/src/node-types.json b/src/node-types.json index 9adf796..feb41a9 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -565,6 +565,37 @@ ] } }, + { + "type": "number", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "bin_int_literal", + "named": true + }, + { + "type": "dec_int_literal", + "named": true + }, + { + "type": "fp_literal", + "named": true + }, + { + "type": "hex_int_literal", + "named": true + }, + { + "type": "oct_int_literal", + "named": true + } + ] + } + }, { "type": "operator_override", "named": true, @@ -759,6 +790,25 @@ ] } }, + { + "type": "string", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "str_literal_dbl_qt", + "named": true + }, + { + "type": "str_literal_sgl_qt", + "named": true + } + ] + } + }, { "type": "struct_block", "named": true, @@ -1084,6 +1134,10 @@ "type": "assert", "named": false }, + { + "type": "bin_int_literal", + "named": true + }, { "type": "case", "named": false @@ -1093,6 +1147,10 @@ "named": true, "extra": true }, + { + "type": "dec_int_literal", + "named": true + }, { "type": "else", "named": false @@ -1113,6 +1171,10 @@ "type": "for", "named": false }, + { + "type": "fp_literal", + "named": true + }, { "type": "from", "named": false @@ -1121,6 +1183,10 @@ "type": "func", "named": false }, + { + "type": "hex_int_literal", + "named": true + }, { "type": "identifier", "named": true @@ -1142,7 +1208,7 @@ "named": false }, { - "type": "number", + "type": "oct_int_literal", "named": true }, { @@ -1158,7 +1224,11 @@ "named": false }, { - "type": "string", + "type": "str_literal_dbl_qt", + "named": true + }, + { + "type": "str_literal_sgl_qt", "named": true }, { diff --git a/src/parser.c b/src/parser.c index 0d2bbde..4331496 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1,4 +1,4 @@ -/* Automatically @generated by tree-sitter v0.25.10 */ +/* Automatically @generated by tree-sitter v0.25.8 */ #include "tree_sitter/parser.h" @@ -7,11 +7,11 @@ #endif #define LANGUAGE_VERSION 15 -#define STATE_COUNT 307 +#define STATE_COUNT 309 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 128 +#define SYMBOL_COUNT 135 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 70 +#define TOKEN_COUNT 75 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 1 #define MAX_ALIAS_SEQUENCE_LENGTH 8 @@ -84,69 +84,76 @@ enum ts_symbol_identifiers { anon_sym_alloc_LPAREN = 62, anon_sym_COLON_COLON = 63, sym_identifier = 64, - sym_number = 65, - sym_string = 66, - anon_sym_LBRACK = 67, - anon_sym_RBRACK = 68, - sym_comment = 69, - sym_source_file = 70, - sym_import = 71, - sym_struct_definition = 72, - sym_extension_definition = 73, - sym_enum_definition = 74, - sym_enum_block = 75, - sym_enum_case = 76, - sym_struct_block = 77, - sym_function_definition = 78, - sym_type_function_definition = 79, - sym_operator_override = 80, - sym_assignment_operator = 81, - sym_parameter_list = 82, - sym_parameter = 83, - sym_logic_block = 84, - sym__statement = 85, - sym_return_statement = 86, - sym_expression_statement = 87, - sym_variable_declaration = 88, - sym_assignment_statement = 89, - sym_assert_statement = 90, - sym_control_flow_statement = 91, - sym_if_statement = 92, - sym_while_statement = 93, - sym_for_statement = 94, - sym_match_statement = 95, - sym_match_block = 96, - sym_match_arm = 97, - sym_elsif_clause = 98, - sym_else_clause = 99, - sym_expression = 100, - sym_binary_expression = 101, - sym_unary_expression = 102, - sym_primary_expression = 103, - sym_literal = 104, - sym_binary_operator = 105, - sym_suffix_operator = 106, - sym_prefix_operator = 107, - sym_alloc_call = 108, - sym_alloc_block = 109, - sym_enum_value = 110, - sym_function_call = 111, - sym_argument_list = 112, - sym_type = 113, - sym_array = 114, - sym_pattern = 115, - aux_sym_source_file_repeat1 = 116, - aux_sym_import_repeat1 = 117, - aux_sym_enum_block_repeat1 = 118, - aux_sym_enum_block_repeat2 = 119, - aux_sym_enum_case_repeat1 = 120, - aux_sym_struct_block_repeat1 = 121, - aux_sym_logic_block_repeat1 = 122, - aux_sym_if_statement_repeat1 = 123, - aux_sym_match_block_repeat1 = 124, - aux_sym_alloc_block_repeat1 = 125, - aux_sym_enum_value_repeat1 = 126, - aux_sym_type_repeat1 = 127, + sym_fp_literal = 65, + sym_hex_int_literal = 66, + sym_oct_int_literal = 67, + sym_bin_int_literal = 68, + sym_dec_int_literal = 69, + sym_str_literal_dbl_qt = 70, + sym_str_literal_sgl_qt = 71, + anon_sym_LBRACK = 72, + anon_sym_RBRACK = 73, + sym_comment = 74, + sym_source_file = 75, + sym_import = 76, + sym_struct_definition = 77, + sym_extension_definition = 78, + sym_enum_definition = 79, + sym_enum_block = 80, + sym_enum_case = 81, + sym_struct_block = 82, + sym_function_definition = 83, + sym_type_function_definition = 84, + sym_operator_override = 85, + sym_assignment_operator = 86, + sym_parameter_list = 87, + sym_parameter = 88, + sym_logic_block = 89, + sym__statement = 90, + sym_return_statement = 91, + sym_expression_statement = 92, + sym_variable_declaration = 93, + sym_assignment_statement = 94, + sym_assert_statement = 95, + sym_control_flow_statement = 96, + sym_if_statement = 97, + sym_while_statement = 98, + sym_for_statement = 99, + sym_match_statement = 100, + sym_match_block = 101, + sym_match_arm = 102, + sym_elsif_clause = 103, + sym_else_clause = 104, + sym_expression = 105, + sym_binary_expression = 106, + sym_unary_expression = 107, + sym_primary_expression = 108, + sym_literal = 109, + sym_binary_operator = 110, + sym_suffix_operator = 111, + sym_prefix_operator = 112, + sym_alloc_call = 113, + sym_alloc_block = 114, + sym_enum_value = 115, + sym_function_call = 116, + sym_argument_list = 117, + sym_type = 118, + sym_number = 119, + sym_string = 120, + sym_array = 121, + sym_pattern = 122, + aux_sym_source_file_repeat1 = 123, + aux_sym_import_repeat1 = 124, + aux_sym_enum_block_repeat1 = 125, + aux_sym_enum_block_repeat2 = 126, + aux_sym_enum_case_repeat1 = 127, + aux_sym_struct_block_repeat1 = 128, + aux_sym_logic_block_repeat1 = 129, + aux_sym_if_statement_repeat1 = 130, + aux_sym_match_block_repeat1 = 131, + aux_sym_alloc_block_repeat1 = 132, + aux_sym_enum_value_repeat1 = 133, + aux_sym_type_repeat1 = 134, }; static const char * const ts_symbol_names[] = { @@ -215,8 +222,13 @@ static const char * const ts_symbol_names[] = { [anon_sym_alloc_LPAREN] = "alloc(", [anon_sym_COLON_COLON] = "::", [sym_identifier] = "identifier", - [sym_number] = "number", - [sym_string] = "string", + [sym_fp_literal] = "fp_literal", + [sym_hex_int_literal] = "hex_int_literal", + [sym_oct_int_literal] = "oct_int_literal", + [sym_bin_int_literal] = "bin_int_literal", + [sym_dec_int_literal] = "dec_int_literal", + [sym_str_literal_dbl_qt] = "str_literal_dbl_qt", + [sym_str_literal_sgl_qt] = "str_literal_sgl_qt", [anon_sym_LBRACK] = "[", [anon_sym_RBRACK] = "]", [sym_comment] = "comment", @@ -264,6 +276,8 @@ static const char * const ts_symbol_names[] = { [sym_function_call] = "function_call", [sym_argument_list] = "argument_list", [sym_type] = "type", + [sym_number] = "number", + [sym_string] = "string", [sym_array] = "array", [sym_pattern] = "pattern", [aux_sym_source_file_repeat1] = "source_file_repeat1", @@ -346,8 +360,13 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_alloc_LPAREN] = anon_sym_alloc_LPAREN, [anon_sym_COLON_COLON] = anon_sym_COLON_COLON, [sym_identifier] = sym_identifier, - [sym_number] = sym_number, - [sym_string] = sym_string, + [sym_fp_literal] = sym_fp_literal, + [sym_hex_int_literal] = sym_hex_int_literal, + [sym_oct_int_literal] = sym_oct_int_literal, + [sym_bin_int_literal] = sym_bin_int_literal, + [sym_dec_int_literal] = sym_dec_int_literal, + [sym_str_literal_dbl_qt] = sym_str_literal_dbl_qt, + [sym_str_literal_sgl_qt] = sym_str_literal_sgl_qt, [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_RBRACK] = anon_sym_RBRACK, [sym_comment] = sym_comment, @@ -395,6 +414,8 @@ static const TSSymbol ts_symbol_map[] = { [sym_function_call] = sym_function_call, [sym_argument_list] = sym_argument_list, [sym_type] = sym_type, + [sym_number] = sym_number, + [sym_string] = sym_string, [sym_array] = sym_array, [sym_pattern] = sym_pattern, [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, @@ -672,11 +693,31 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_number] = { + [sym_fp_literal] = { .visible = true, .named = true, }, - [sym_string] = { + [sym_hex_int_literal] = { + .visible = true, + .named = true, + }, + [sym_oct_int_literal] = { + .visible = true, + .named = true, + }, + [sym_bin_int_literal] = { + .visible = true, + .named = true, + }, + [sym_dec_int_literal] = { + .visible = true, + .named = true, + }, + [sym_str_literal_dbl_qt] = { + .visible = true, + .named = true, + }, + [sym_str_literal_sgl_qt] = { .visible = true, .named = true, }, @@ -868,6 +909,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_number] = { + .visible = true, + .named = true, + }, + [sym_string] = { + .visible = true, + .named = true, + }, [sym_array] = { .visible = true, .named = true, @@ -962,19 +1011,19 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [3] = 3, [4] = 4, [5] = 5, - [6] = 4, - [7] = 7, + [6] = 6, + [7] = 5, [8] = 5, [9] = 4, - [10] = 5, - [11] = 4, - [12] = 5, - [13] = 4, - [14] = 5, + [10] = 4, + [11] = 5, + [12] = 4, + [13] = 5, + [14] = 4, [15] = 5, [16] = 4, - [17] = 5, - [18] = 4, + [17] = 4, + [18] = 5, [19] = 19, [20] = 19, [21] = 21, @@ -991,9 +1040,9 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [32] = 32, [33] = 33, [34] = 34, - [35] = 35, - [36] = 36, - [37] = 37, + [35] = 23, + [36] = 24, + [37] = 33, [38] = 38, [39] = 39, [40] = 40, @@ -1017,39 +1066,39 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [58] = 58, [59] = 59, [60] = 60, - [61] = 57, + [61] = 61, [62] = 62, - [63] = 56, - [64] = 58, - [65] = 60, + [63] = 63, + [64] = 64, + [65] = 65, [66] = 66, - [67] = 67, - [68] = 45, - [69] = 69, + [67] = 21, + [68] = 68, + [69] = 22, [70] = 70, - [71] = 30, - [72] = 72, + [71] = 23, + [72] = 24, [73] = 73, - [74] = 70, - [75] = 72, + [74] = 74, + [75] = 75, [76] = 76, - [77] = 67, - [78] = 69, - [79] = 73, + [77] = 77, + [78] = 78, + [79] = 79, [80] = 80, [81] = 81, [82] = 82, [83] = 83, [84] = 84, [85] = 85, - [86] = 86, + [86] = 75, [87] = 87, - [88] = 88, - [89] = 89, - [90] = 90, - [91] = 91, - [92] = 92, - [93] = 93, + [88] = 40, + [89] = 57, + [90] = 82, + [91] = 66, + [92] = 42, + [93] = 87, [94] = 94, [95] = 95, [96] = 96, @@ -1057,10 +1106,10 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [98] = 98, [99] = 99, [100] = 100, - [101] = 24, - [102] = 27, - [103] = 45, - [104] = 30, + [101] = 101, + [102] = 102, + [103] = 103, + [104] = 104, [105] = 105, [106] = 106, [107] = 107, @@ -1070,83 +1119,83 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [111] = 111, [112] = 112, [113] = 113, - [114] = 114, - [115] = 114, + [114] = 25, + [115] = 115, [116] = 116, - [117] = 32, + [117] = 117, [118] = 118, [119] = 119, [120] = 120, [121] = 121, [122] = 122, [123] = 123, - [124] = 124, + [124] = 27, [125] = 125, [126] = 126, [127] = 127, - [128] = 128, - [129] = 129, - [130] = 130, - [131] = 131, - [132] = 119, - [133] = 130, - [134] = 123, - [135] = 124, - [136] = 127, + [128] = 29, + [129] = 28, + [130] = 24, + [131] = 23, + [132] = 126, + [133] = 127, + [134] = 122, + [135] = 123, + [136] = 136, [137] = 137, - [138] = 137, - [139] = 122, - [140] = 45, - [141] = 30, - [142] = 142, - [143] = 143, - [144] = 55, - [145] = 59, - [146] = 62, - [147] = 30, - [148] = 45, - [149] = 110, - [150] = 111, - [151] = 95, - [152] = 45, - [153] = 100, - [154] = 84, - [155] = 112, - [156] = 30, - [157] = 105, - [158] = 86, - [159] = 85, - [160] = 87, - [161] = 94, - [162] = 93, - [163] = 92, - [164] = 113, - [165] = 97, - [166] = 98, + [138] = 138, + [139] = 139, + [140] = 140, + [141] = 23, + [142] = 24, + [143] = 136, + [144] = 144, + [145] = 140, + [146] = 137, + [147] = 139, + [148] = 144, + [149] = 83, + [150] = 68, + [151] = 46, + [152] = 43, + [153] = 45, + [154] = 52, + [155] = 56, + [156] = 55, + [157] = 59, + [158] = 62, + [159] = 63, + [160] = 58, + [161] = 23, + [162] = 84, + [163] = 24, + [164] = 80, + [165] = 81, + [166] = 53, [167] = 167, - [168] = 167, + [168] = 168, [169] = 169, - [170] = 170, - [171] = 170, + [170] = 169, + [171] = 171, [172] = 172, - [173] = 169, + [173] = 173, [174] = 174, [175] = 175, [176] = 176, - [177] = 177, - [178] = 178, - [179] = 91, + [177] = 176, + [178] = 175, + [179] = 179, [180] = 180, [181] = 181, [182] = 182, - [183] = 83, - [184] = 184, + [183] = 183, + [184] = 51, [185] = 185, - [186] = 45, - [187] = 30, + [186] = 24, + [187] = 23, [188] = 188, [189] = 189, - [190] = 190, + [190] = 39, [191] = 191, [192] = 192, [193] = 193, @@ -1154,8 +1203,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [195] = 195, [196] = 196, [197] = 197, - [198] = 196, - [199] = 199, + [198] = 198, + [199] = 198, [200] = 200, [201] = 201, [202] = 202, @@ -1173,24 +1222,24 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [214] = 214, [215] = 215, [216] = 216, - [217] = 211, + [217] = 217, [218] = 218, [219] = 219, [220] = 220, [221] = 221, - [222] = 218, + [222] = 222, [223] = 223, - [224] = 224, - [225] = 225, + [224] = 211, + [225] = 212, [226] = 226, [227] = 227, [228] = 228, - [229] = 82, + [229] = 229, [230] = 230, - [231] = 231, + [231] = 74, [232] = 232, - [233] = 89, - [234] = 234, + [233] = 233, + [234] = 49, [235] = 235, [236] = 236, [237] = 237, @@ -1204,27 +1253,27 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [245] = 245, [246] = 246, [247] = 247, - [248] = 245, + [248] = 248, [249] = 249, [250] = 250, [251] = 251, [252] = 252, - [253] = 252, + [253] = 253, [254] = 254, - [255] = 255, - [256] = 251, - [257] = 246, - [258] = 258, - [259] = 107, - [260] = 260, - [261] = 261, - [262] = 255, + [255] = 253, + [256] = 77, + [257] = 257, + [258] = 254, + [259] = 259, + [260] = 249, + [261] = 246, + [262] = 262, [263] = 263, [264] = 264, - [265] = 254, - [266] = 266, + [265] = 265, + [266] = 236, [267] = 267, - [268] = 268, + [268] = 262, [269] = 269, [270] = 270, [271] = 271, @@ -1246,23 +1295,25 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [287] = 287, [288] = 288, [289] = 289, - [290] = 279, - [291] = 280, - [292] = 292, - [293] = 293, + [290] = 290, + [291] = 291, + [292] = 286, + [293] = 276, [294] = 294, - [295] = 292, + [295] = 295, [296] = 296, - [297] = 297, + [297] = 295, [298] = 298, [299] = 299, [300] = 300, [301] = 301, - [302] = 300, + [302] = 302, [303] = 303, - [304] = 269, - [305] = 283, - [306] = 306, + [304] = 277, + [305] = 305, + [306] = 285, + [307] = 301, + [308] = 308, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -1270,1482 +1321,1649 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(96); + if (eof) ADVANCE(116); ADVANCE_MAP( - '!', 2, - '"', 7, + '!', 3, + '"', 8, '#', 1, - '%', 126, - '&', 135, - '(', 114, - ')', 115, - '*', 124, - '+', 121, - ',', 111, - '-', 123, - '.', 102, - '/', 125, - ':', 155, - ';', 103, - '<', 131, - '=', 152, - '>', 132, - '[', 245, - ']', 246, - '^', 137, - 'a', 45, - 'c', 22, - 'e', 47, - 'f', 57, - 'i', 37, - 'm', 20, - 'o', 63, - 'r', 27, - 's', 85, - 't', 92, - 'u', 14, - 'v', 19, - 'w', 39, - '{', 110, - '|', 136, - '}', 112, + '%', 147, + '&', 156, + '\'', 12, + '(', 134, + ')', 135, + '*', 145, + '+', 141, + ',', 131, + '-', 143, + '.', 122, + '/', 146, + '0', 271, + ':', 177, + ';', 123, + '<', 152, + '=', 174, + '>', 153, + '[', 276, + ']', 277, + '^', 158, + 'a', 58, + 'c', 35, + 'e', 60, + 'f', 70, + 'i', 50, + 'm', 33, + 'o', 76, + 'r', 40, + 's', 98, + 't', 105, + 'u', 16, + 'v', 32, + 'w', 52, + '{', 130, + '|', 157, + '}', 132, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(0); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(243); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(272); END_STATE(); case 1: - if (lookahead == '\n') ADVANCE(247); + if (lookahead == '\n') ADVANCE(278); if (lookahead != 0) ADVANCE(1); END_STATE(); case 2: - if (lookahead == '!') ADVANCE(176); - if (lookahead == '=') ADVANCE(130); - END_STATE(); - case 3: ADVANCE_MAP( - '"', 7, + '!', 3, '#', 1, - '(', 114, - ')', 115, - '-', 122, - ':', 154, - '=', 18, - '[', 245, - 'a', 199, - 'f', 216, - 'i', 193, - 'm', 181, - 'r', 191, - 'v', 180, - 'w', 195, - '}', 112, + '%', 147, + '&', 156, + '(', 134, + ')', 135, + '*', 145, + '+', 141, + ',', 131, + '-', 142, + '.', 121, + '/', 146, + ':', 19, + ';', 123, + '<', 152, + '=', 173, + '>', 153, + ']', 277, + '^', 158, + 'u', 16, + '{', 130, + '|', 157, + '}', 132, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(3); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(243); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(242); + lookahead == ' ') SKIP(2); + END_STATE(); + case 3: + if (lookahead == '!') ADVANCE(198); + if (lookahead == '=') ADVANCE(151); END_STATE(); case 4: ADVANCE_MAP( - '"', 7, + '"', 8, '#', 1, - '(', 114, - ')', 115, - '-', 122, - ';', 103, - '[', 245, - ']', 246, - 'a', 200, + '\'', 12, + '(', 134, + ')', 135, + '-', 144, + '0', 271, + ':', 176, + '=', 30, + '[', 276, + 'a', 221, + 'f', 238, + 'i', 215, + 'm', 203, + 'r', 213, + 'v', 202, + 'w', 217, + '}', 132, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(4); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(243); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(272); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); case 5: ADVANCE_MAP( - '"', 7, + '"', 8, '#', 1, - '(', 114, - '-', 122, - '[', 245, - 'a', 199, - 'e', 204, - 'f', 216, - 'i', 193, - 'm', 181, - 'r', 191, - 'v', 180, - 'w', 195, - '}', 112, + '\'', 12, + '(', 134, + ')', 135, + '-', 144, + '0', 271, + ';', 123, + '[', 276, + ']', 277, + 'a', 222, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(5); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(243); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(272); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); case 6: ADVANCE_MAP( - '"', 7, + '"', 8, '#', 1, - '(', 114, - '-', 122, - '[', 245, - 'a', 199, - 'e', 207, - 'f', 216, - 'i', 193, - 'm', 181, - 'r', 191, - 'v', 180, - 'w', 195, - '}', 112, + '\'', 12, + '(', 134, + '-', 144, + '0', 271, + '[', 276, + 'a', 221, + 'e', 226, + 'f', 238, + 'i', 215, + 'm', 203, + 'r', 213, + 'v', 202, + 'w', 217, + '}', 132, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(6); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(243); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(272); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); case 7: - if (lookahead == '"') ADVANCE(244); - if (lookahead != 0) ADVANCE(7); - END_STATE(); - case 8: - if (lookahead == '#') ADVANCE(1); - if (lookahead == '(') ADVANCE(49); - if (lookahead == ')') ADVANCE(115); - if (lookahead == '.') ADVANCE(15); - if (lookahead == ';') ADVANCE(103); - if (lookahead == '{') ADVANCE(110); + ADVANCE_MAP( + '"', 8, + '#', 1, + '\'', 12, + '(', 134, + '-', 144, + '0', 271, + '[', 276, + 'a', 221, + 'e', 229, + 'f', 238, + 'i', 215, + 'm', 203, + 'r', 213, + 'v', 202, + 'w', 217, + '}', 132, + ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(8); + lookahead == ' ') SKIP(7); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(272); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(264); + END_STATE(); + case 8: + if (lookahead == '"') ADVANCE(274); + if (lookahead != 0) ADVANCE(8); END_STATE(); case 9: if (lookahead == '#') ADVANCE(1); - if (lookahead == '.') ADVANCE(101); - if (lookahead == ';') ADVANCE(103); - if (lookahead == 'f') ADVANCE(226); + if (lookahead == '(') ADVANCE(62); + if (lookahead == ')') ADVANCE(135); + if (lookahead == '.') ADVANCE(17); + if (lookahead == ';') ADVANCE(123); + if (lookahead == '{') ADVANCE(130); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(9); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); case 10: if (lookahead == '#') ADVANCE(1); - if (lookahead == '.') ADVANCE(101); - if (lookahead == ';') ADVANCE(103); + if (lookahead == '.') ADVANCE(121); + if (lookahead == ';') ADVANCE(123); + if (lookahead == 'f') ADVANCE(248); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(10); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); case 11: - if (lookahead == '(') ADVANCE(177); + if (lookahead == '#') ADVANCE(1); + if (lookahead == '.') ADVANCE(121); + if (lookahead == ';') ADVANCE(123); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(11); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); case 12: - if (lookahead == ')') ADVANCE(140); + if (lookahead == '\'') ADVANCE(275); + if (lookahead != 0) ADVANCE(12); END_STATE(); case 13: - if (lookahead == ')') ADVANCE(139); + if (lookahead == '(') ADVANCE(199); END_STATE(); case 14: - if (lookahead == '-') ADVANCE(138); + if (lookahead == ')') ADVANCE(161); END_STATE(); case 15: - if (lookahead == '.') ADVANCE(16); + if (lookahead == ')') ADVANCE(160); END_STATE(); case 16: - if (lookahead == '.') ADVANCE(153); + if (lookahead == '-') ADVANCE(159); END_STATE(); case 17: - if (lookahead == ':') ADVANCE(178); + if (lookahead == '.') ADVANCE(18); END_STATE(); case 18: - if (lookahead == '>') ADVANCE(171); + if (lookahead == '.') ADVANCE(175); END_STATE(); case 19: - if (lookahead == 'a') ADVANCE(46); + if (lookahead == ':') ADVANCE(200); END_STATE(); case 20: - if (lookahead == 'a') ADVANCE(86); + if (lookahead == '<') ADVANCE(28); END_STATE(); case 21: - if (lookahead == 'a') ADVANCE(88); + if (lookahead == '=') ADVANCE(166); END_STATE(); case 22: - if (lookahead == 'a') ADVANCE(78); + if (lookahead == '=') ADVANCE(169); END_STATE(); case 23: - if (lookahead == 'c') ADVANCE(116); + if (lookahead == '=') ADVANCE(164); END_STATE(); case 24: - if (lookahead == 'c') ADVANCE(11); + if (lookahead == '=') ADVANCE(162); END_STATE(); case 25: - if (lookahead == 'c') ADVANCE(40); + if (lookahead == '=') ADVANCE(165); END_STATE(); case 26: - if (lookahead == 'c') ADVANCE(83); + if (lookahead == '=') ADVANCE(171); END_STATE(); case 27: - if (lookahead == 'e') ADVANCE(84); + if (lookahead == '=') ADVANCE(170); END_STATE(); case 28: - if (lookahead == 'e') ADVANCE(113); + if (lookahead == '=') ADVANCE(167); END_STATE(); case 29: - if (lookahead == 'e') ADVANCE(174); - if (lookahead == 'i') ADVANCE(38); + if (lookahead == '=') ADVANCE(168); END_STATE(); case 30: - if (lookahead == 'e') ADVANCE(118); + if (lookahead == '>') ADVANCE(193); END_STATE(); case 31: - if (lookahead == 'e') ADVANCE(164); + if (lookahead == '>') ADVANCE(29); END_STATE(); case 32: - if (lookahead == 'e') ADVANCE(119); + if (lookahead == 'a') ADVANCE(59); END_STATE(); case 33: - if (lookahead == 'e') ADVANCE(56); + if (lookahead == 'a') ADVANCE(99); END_STATE(); case 34: - if (lookahead == 'e') ADVANCE(72); + if (lookahead == 'a') ADVANCE(101); END_STATE(); case 35: - if (lookahead == 'e') ADVANCE(70); + if (lookahead == 'a') ADVANCE(91); END_STATE(); case 36: - if (lookahead == 'e') ADVANCE(73); + if (lookahead == 'c') ADVANCE(136); END_STATE(); case 37: - if (lookahead == 'f') ADVANCE(162); - if (lookahead == 'm') ADVANCE(64); - if (lookahead == 'n') ADVANCE(168); + if (lookahead == 'c') ADVANCE(13); END_STATE(); case 38: - if (lookahead == 'f') ADVANCE(172); + if (lookahead == 'c') ADVANCE(53); END_STATE(); case 39: - if (lookahead == 'h') ADVANCE(43); + if (lookahead == 'c') ADVANCE(96); END_STATE(); case 40: - if (lookahead == 'h') ADVANCE(169); + if (lookahead == 'e') ADVANCE(97); END_STATE(); case 41: - if (lookahead == 'h') ADVANCE(75); + if (lookahead == 'e') ADVANCE(133); END_STATE(); case 42: - if (lookahead == 'h') ADVANCE(77); + if (lookahead == 'e') ADVANCE(196); + if (lookahead == 'i') ADVANCE(51); END_STATE(); case 43: - if (lookahead == 'i') ADVANCE(50); + if (lookahead == 'e') ADVANCE(138); END_STATE(); case 44: - if (lookahead == 'i') ADVANCE(60); + if (lookahead == 'e') ADVANCE(186); END_STATE(); case 45: - if (lookahead == 'l') ADVANCE(48); - if (lookahead == 's') ADVANCE(80); + if (lookahead == 'e') ADVANCE(139); END_STATE(); case 46: - if (lookahead == 'l') ADVANCE(158); + if (lookahead == 'e') ADVANCE(69); END_STATE(); case 47: - if (lookahead == 'l') ADVANCE(74); - if (lookahead == 'n') ADVANCE(89); - if (lookahead == 'x') ADVANCE(87); + if (lookahead == 'e') ADVANCE(85); END_STATE(); case 48: - if (lookahead == 'l') ADVANCE(59); + if (lookahead == 'e') ADVANCE(83); END_STATE(); case 49: - if (lookahead == 'l') ADVANCE(41); - if (lookahead == 'r') ADVANCE(42); + if (lookahead == 'e') ADVANCE(86); END_STATE(); case 50: - if (lookahead == 'l') ADVANCE(31); + if (lookahead == 'f') ADVANCE(184); + if (lookahead == 'm') ADVANCE(77); + if (lookahead == 'n') ADVANCE(190); END_STATE(); case 51: - if (lookahead == 'm') ADVANCE(108); + if (lookahead == 'f') ADVANCE(194); END_STATE(); case 52: - if (lookahead == 'm') ADVANCE(99); + if (lookahead == 'h') ADVANCE(56); END_STATE(); case 53: - if (lookahead == 'n') ADVANCE(23); + if (lookahead == 'h') ADVANCE(191); END_STATE(); case 54: - if (lookahead == 'n') ADVANCE(156); + if (lookahead == 'h') ADVANCE(88); END_STATE(); case 55: - if (lookahead == 'n') ADVANCE(106); + if (lookahead == 'h') ADVANCE(90); END_STATE(); case 56: - if (lookahead == 'n') ADVANCE(76); + if (lookahead == 'i') ADVANCE(63); END_STATE(); case 57: - if (lookahead == 'o') ADVANCE(66); - if (lookahead == 'r') ADVANCE(58); - if (lookahead == 'u') ADVANCE(53); + if (lookahead == 'i') ADVANCE(73); END_STATE(); case 58: - if (lookahead == 'o') ADVANCE(52); + if (lookahead == 'l') ADVANCE(61); + if (lookahead == 's') ADVANCE(93); END_STATE(); case 59: - if (lookahead == 'o') ADVANCE(24); + if (lookahead == 'l') ADVANCE(180); END_STATE(); case 60: - if (lookahead == 'o') ADVANCE(55); + if (lookahead == 'l') ADVANCE(87); + if (lookahead == 'n') ADVANCE(102); + if (lookahead == 'x') ADVANCE(100); END_STATE(); case 61: - if (lookahead == 'o') ADVANCE(71); + if (lookahead == 'l') ADVANCE(72); END_STATE(); case 62: - if (lookahead == 'o') ADVANCE(67); + if (lookahead == 'l') ADVANCE(54); + if (lookahead == 'r') ADVANCE(55); END_STATE(); case 63: - if (lookahead == 'p') ADVANCE(34); + if (lookahead == 'l') ADVANCE(44); END_STATE(); case 64: - if (lookahead == 'p') ADVANCE(61); + if (lookahead == 'm') ADVANCE(128); END_STATE(); case 65: - if (lookahead == 'p') ADVANCE(30); + if (lookahead == 'm') ADVANCE(119); END_STATE(); case 66: - if (lookahead == 'r') ADVANCE(166); + if (lookahead == 'n') ADVANCE(36); END_STATE(); case 67: - if (lookahead == 'r') ADVANCE(120); + if (lookahead == 'n') ADVANCE(178); END_STATE(); case 68: - if (lookahead == 'r') ADVANCE(90); + if (lookahead == 'n') ADVANCE(126); END_STATE(); case 69: - if (lookahead == 'r') ADVANCE(54); + if (lookahead == 'n') ADVANCE(89); END_STATE(); case 70: - if (lookahead == 'r') ADVANCE(81); + if (lookahead == 'o') ADVANCE(79); + if (lookahead == 'r') ADVANCE(71); + if (lookahead == 'u') ADVANCE(66); END_STATE(); case 71: - if (lookahead == 'r') ADVANCE(82); + if (lookahead == 'o') ADVANCE(65); END_STATE(); case 72: - if (lookahead == 'r') ADVANCE(21); + if (lookahead == 'o') ADVANCE(37); END_STATE(); case 73: - if (lookahead == 'r') ADVANCE(79); + if (lookahead == 'o') ADVANCE(68); END_STATE(); case 74: - if (lookahead == 's') ADVANCE(29); + if (lookahead == 'o') ADVANCE(84); END_STATE(); case 75: - if (lookahead == 's') ADVANCE(12); + if (lookahead == 'o') ADVANCE(80); END_STATE(); case 76: - if (lookahead == 's') ADVANCE(44); + if (lookahead == 'p') ADVANCE(47); END_STATE(); case 77: - if (lookahead == 's') ADVANCE(13); + if (lookahead == 'p') ADVANCE(74); END_STATE(); case 78: - if (lookahead == 's') ADVANCE(28); + if (lookahead == 'p') ADVANCE(43); END_STATE(); case 79: - if (lookahead == 's') ADVANCE(32); + if (lookahead == 'r') ADVANCE(188); END_STATE(); case 80: - if (lookahead == 's') ADVANCE(35); + if (lookahead == 'r') ADVANCE(140); END_STATE(); case 81: - if (lookahead == 't') ADVANCE(160); + if (lookahead == 'r') ADVANCE(103); END_STATE(); case 82: - if (lookahead == 't') ADVANCE(97); + if (lookahead == 'r') ADVANCE(67); END_STATE(); case 83: - if (lookahead == 't') ADVANCE(104); + if (lookahead == 'r') ADVANCE(94); END_STATE(); case 84: - if (lookahead == 't') ADVANCE(91); - if (lookahead == 'v') ADVANCE(36); + if (lookahead == 'r') ADVANCE(95); END_STATE(); case 85: - if (lookahead == 't') ADVANCE(68); + if (lookahead == 'r') ADVANCE(34); END_STATE(); case 86: - if (lookahead == 't') ADVANCE(25); + if (lookahead == 'r') ADVANCE(92); END_STATE(); case 87: - if (lookahead == 't') ADVANCE(33); + if (lookahead == 's') ADVANCE(42); END_STATE(); case 88: - if (lookahead == 't') ADVANCE(62); + if (lookahead == 's') ADVANCE(14); END_STATE(); case 89: - if (lookahead == 'u') ADVANCE(51); + if (lookahead == 's') ADVANCE(57); END_STATE(); case 90: - if (lookahead == 'u') ADVANCE(26); + if (lookahead == 's') ADVANCE(15); END_STATE(); case 91: - if (lookahead == 'u') ADVANCE(69); + if (lookahead == 's') ADVANCE(41); END_STATE(); case 92: - if (lookahead == 'y') ADVANCE(65); + if (lookahead == 's') ADVANCE(45); END_STATE(); case 93: - if (eof) ADVANCE(96); + if (lookahead == 's') ADVANCE(48); + END_STATE(); + case 94: + if (lookahead == 't') ADVANCE(182); + END_STATE(); + case 95: + if (lookahead == 't') ADVANCE(117); + END_STATE(); + case 96: + if (lookahead == 't') ADVANCE(124); + END_STATE(); + case 97: + if (lookahead == 't') ADVANCE(104); + if (lookahead == 'v') ADVANCE(49); + END_STATE(); + case 98: + if (lookahead == 't') ADVANCE(81); + END_STATE(); + case 99: + if (lookahead == 't') ADVANCE(38); + END_STATE(); + case 100: + if (lookahead == 't') ADVANCE(46); + END_STATE(); + case 101: + if (lookahead == 't') ADVANCE(75); + END_STATE(); + case 102: + if (lookahead == 'u') ADVANCE(64); + END_STATE(); + case 103: + if (lookahead == 'u') ADVANCE(39); + END_STATE(); + case 104: + if (lookahead == 'u') ADVANCE(82); + END_STATE(); + case 105: + if (lookahead == 'y') ADVANCE(78); + END_STATE(); + case 106: + if (lookahead == '+' || + lookahead == '-') ADVANCE(111); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(267); + END_STATE(); + case 107: + if (lookahead == '0' || + lookahead == '1') ADVANCE(270); + END_STATE(); + case 108: + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(269); + END_STATE(); + case 109: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(266); + END_STATE(); + case 110: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(273); + END_STATE(); + case 111: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(267); + END_STATE(); + case 112: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(268); + END_STATE(); + case 113: + if (eof) ADVANCE(116); ADVANCE_MAP( - '!', 2, - '"', 7, + '"', 8, '#', 1, - '%', 126, - '&', 135, - '(', 114, - ')', 115, - '*', 124, - '+', 121, - ',', 111, - '-', 123, - '.', 101, - '/', 125, - ':', 17, - ';', 103, - '<', 131, - '=', 151, - '>', 132, - '[', 245, - ']', 246, - '^', 137, - 'a', 199, - 'e', 210, - 'f', 215, - 'i', 192, - 'm', 181, - 'r', 191, - 's', 236, - 'v', 180, - 'w', 195, - '{', 110, - '|', 136, - '}', 112, + '%', 21, + '&', 22, + '\'', 12, + '(', 134, + ')', 135, + '*', 23, + '+', 24, + ',', 131, + '-', 143, + '.', 121, + '/', 25, + '0', 271, + ':', 19, + ';', 123, + '<', 20, + '=', 172, + '>', 31, + '[', 276, + '^', 26, + 'a', 221, + 'e', 232, + 'f', 237, + 'i', 214, + 'm', 203, + 'r', 213, + 's', 258, + 'v', 202, + 'w', 217, + '{', 130, + '|', 27, + '}', 132, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(93); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(243); + lookahead == ' ') SKIP(113); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(272); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 94: - if (eof) ADVANCE(96); + case 114: + if (eof) ADVANCE(116); ADVANCE_MAP( - '"', 7, + '"', 8, '#', 1, - '(', 114, - ',', 111, - '-', 122, - '[', 245, - 'a', 199, - 'e', 203, - 'f', 215, - 'i', 192, - 'm', 181, - 'r', 191, - 's', 236, - 'v', 180, - 'w', 195, - '}', 112, + '\'', 12, + '(', 134, + ',', 131, + '-', 144, + '0', 271, + '[', 276, + 'a', 221, + 'e', 225, + 'f', 237, + 'i', 214, + 'm', 203, + 'r', 213, + 's', 258, + 'v', 202, + 'w', 217, + '}', 132, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(94); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(243); + lookahead == ' ') SKIP(114); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(272); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 95: - if (eof) ADVANCE(96); + case 115: + if (eof) ADVANCE(116); ADVANCE_MAP( - '"', 7, + '"', 8, '#', 1, - '(', 114, - '-', 122, - '[', 245, - 'a', 199, - 'e', 206, - 'f', 215, - 'i', 192, - 'm', 181, - 'r', 191, - 's', 236, - 'v', 180, - 'w', 195, + '\'', 12, + '(', 134, + '-', 144, + '0', 271, + '[', 276, + 'a', 221, + 'e', 228, + 'f', 237, + 'i', 214, + 'm', 203, + 'r', 213, + 's', 258, + 'v', 202, + 'w', 217, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(95); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(243); + lookahead == ' ') SKIP(115); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(272); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 96: + case 116: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 97: + case 117: ACCEPT_TOKEN(anon_sym_import); END_STATE(); - case 98: + case 118: ACCEPT_TOKEN(anon_sym_import); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 99: + case 119: ACCEPT_TOKEN(anon_sym_from); END_STATE(); - case 100: + case 120: ACCEPT_TOKEN(anon_sym_from); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 101: + case 121: ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); - case 102: + case 122: ACCEPT_TOKEN(anon_sym_DOT); - if (lookahead == '.') ADVANCE(16); + if (lookahead == '.') ADVANCE(18); END_STATE(); - case 103: + case 123: ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); - case 104: + case 124: ACCEPT_TOKEN(anon_sym_struct); END_STATE(); - case 105: + case 125: ACCEPT_TOKEN(anon_sym_struct); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 106: + case 126: ACCEPT_TOKEN(anon_sym_extension); END_STATE(); - case 107: + case 127: ACCEPT_TOKEN(anon_sym_extension); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 108: + case 128: ACCEPT_TOKEN(anon_sym_enum); END_STATE(); - case 109: + case 129: ACCEPT_TOKEN(anon_sym_enum); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 110: + case 130: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 111: + case 131: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 112: + case 132: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 113: + case 133: ACCEPT_TOKEN(anon_sym_case); END_STATE(); - case 114: + case 134: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 115: + case 135: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 116: + case 136: ACCEPT_TOKEN(anon_sym_func); END_STATE(); - case 117: + case 137: ACCEPT_TOKEN(anon_sym_func); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 118: + case 138: ACCEPT_TOKEN(anon_sym_type); END_STATE(); - case 119: + case 139: ACCEPT_TOKEN(anon_sym_reverse); END_STATE(); - case 120: + case 140: ACCEPT_TOKEN(anon_sym_operator); END_STATE(); - case 121: + case 141: ACCEPT_TOKEN(anon_sym_PLUS); - if (lookahead == '=') ADVANCE(141); + if (lookahead == '=') ADVANCE(162); END_STATE(); - case 122: + case 142: ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '=') ADVANCE(163); END_STATE(); - case 123: + case 143: ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '=') ADVANCE(142); + if (lookahead == '=') ADVANCE(163); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(272); END_STATE(); - case 124: + case 144: + ACCEPT_TOKEN(anon_sym_DASH); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(272); + END_STATE(); + case 145: ACCEPT_TOKEN(anon_sym_STAR); - if (lookahead == '=') ADVANCE(143); + if (lookahead == '=') ADVANCE(164); END_STATE(); - case 125: + case 146: ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '=') ADVANCE(144); + if (lookahead == '=') ADVANCE(165); END_STATE(); - case 126: + case 147: ACCEPT_TOKEN(anon_sym_PERCENT); - if (lookahead == '=') ADVANCE(145); + if (lookahead == '=') ADVANCE(166); END_STATE(); - case 127: + case 148: ACCEPT_TOKEN(anon_sym_LT_LT); - if (lookahead == '=') ADVANCE(146); + if (lookahead == '=') ADVANCE(167); END_STATE(); - case 128: + case 149: ACCEPT_TOKEN(anon_sym_GT_GT); - if (lookahead == '=') ADVANCE(147); + if (lookahead == '=') ADVANCE(168); END_STATE(); - case 129: + case 150: ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); - case 130: + case 151: ACCEPT_TOKEN(anon_sym_BANG_EQ); END_STATE(); - case 131: + case 152: ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '<') ADVANCE(127); - if (lookahead == '=') ADVANCE(133); + if (lookahead == '<') ADVANCE(148); + if (lookahead == '=') ADVANCE(154); END_STATE(); - case 132: + case 153: ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(134); - if (lookahead == '>') ADVANCE(128); + if (lookahead == '=') ADVANCE(155); + if (lookahead == '>') ADVANCE(149); END_STATE(); - case 133: + case 154: ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); - case 134: + case 155: ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); - case 135: + case 156: ACCEPT_TOKEN(anon_sym_AMP); - if (lookahead == '=') ADVANCE(148); + if (lookahead == '=') ADVANCE(169); END_STATE(); - case 136: + case 157: ACCEPT_TOKEN(anon_sym_PIPE); - if (lookahead == '=') ADVANCE(149); + if (lookahead == '=') ADVANCE(170); END_STATE(); - case 137: + case 158: ACCEPT_TOKEN(anon_sym_CARET); - if (lookahead == '=') ADVANCE(150); + if (lookahead == '=') ADVANCE(171); END_STATE(); - case 138: + case 159: ACCEPT_TOKEN(anon_sym_u_DASH); END_STATE(); - case 139: + case 160: ACCEPT_TOKEN(anon_sym_LPARENrhs_RPAREN); END_STATE(); - case 140: + case 161: ACCEPT_TOKEN(anon_sym_LPARENlhs_RPAREN); END_STATE(); - case 141: + case 162: ACCEPT_TOKEN(anon_sym_PLUS_EQ); END_STATE(); - case 142: + case 163: ACCEPT_TOKEN(anon_sym_DASH_EQ); END_STATE(); - case 143: + case 164: ACCEPT_TOKEN(anon_sym_STAR_EQ); END_STATE(); - case 144: + case 165: ACCEPT_TOKEN(anon_sym_SLASH_EQ); END_STATE(); - case 145: + case 166: ACCEPT_TOKEN(anon_sym_PERCENT_EQ); END_STATE(); - case 146: + case 167: ACCEPT_TOKEN(anon_sym_LT_LT_EQ); END_STATE(); - case 147: + case 168: ACCEPT_TOKEN(anon_sym_GT_GT_EQ); END_STATE(); - case 148: + case 169: ACCEPT_TOKEN(anon_sym_AMP_EQ); END_STATE(); - case 149: + case 170: ACCEPT_TOKEN(anon_sym_PIPE_EQ); END_STATE(); - case 150: + case 171: ACCEPT_TOKEN(anon_sym_CARET_EQ); END_STATE(); - case 151: + case 172: ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(129); END_STATE(); - case 152: + case 173: ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(129); - if (lookahead == '>') ADVANCE(171); + if (lookahead == '=') ADVANCE(150); END_STATE(); - case 153: + case 174: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(150); + if (lookahead == '>') ADVANCE(193); + END_STATE(); + case 175: ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); END_STATE(); - case 154: + case 176: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 155: + case 177: ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == ':') ADVANCE(178); + if (lookahead == ':') ADVANCE(200); END_STATE(); - case 156: + case 178: ACCEPT_TOKEN(anon_sym_return); END_STATE(); - case 157: + case 179: ACCEPT_TOKEN(anon_sym_return); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 158: + case 180: ACCEPT_TOKEN(anon_sym_val); END_STATE(); - case 159: + case 181: ACCEPT_TOKEN(anon_sym_val); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 160: + case 182: ACCEPT_TOKEN(anon_sym_assert); END_STATE(); - case 161: + case 183: ACCEPT_TOKEN(anon_sym_assert); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 162: + case 184: ACCEPT_TOKEN(anon_sym_if); END_STATE(); - case 163: + case 185: ACCEPT_TOKEN(anon_sym_if); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 164: + case 186: ACCEPT_TOKEN(anon_sym_while); END_STATE(); - case 165: + case 187: ACCEPT_TOKEN(anon_sym_while); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 166: + case 188: ACCEPT_TOKEN(anon_sym_for); END_STATE(); - case 167: + case 189: ACCEPT_TOKEN(anon_sym_for); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 168: + case 190: ACCEPT_TOKEN(anon_sym_in); END_STATE(); - case 169: + case 191: ACCEPT_TOKEN(anon_sym_match); END_STATE(); - case 170: + case 192: ACCEPT_TOKEN(anon_sym_match); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 171: + case 193: ACCEPT_TOKEN(anon_sym_EQ_GT); END_STATE(); - case 172: + case 194: ACCEPT_TOKEN(anon_sym_elsif); END_STATE(); - case 173: + case 195: ACCEPT_TOKEN(anon_sym_elsif); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 174: + case 196: ACCEPT_TOKEN(anon_sym_else); END_STATE(); - case 175: + case 197: ACCEPT_TOKEN(anon_sym_else); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 176: + case 198: ACCEPT_TOKEN(anon_sym_BANG_BANG); END_STATE(); - case 177: + case 199: ACCEPT_TOKEN(anon_sym_alloc_LPAREN); END_STATE(); - case 178: + case 200: ACCEPT_TOKEN(anon_sym_COLON_COLON); END_STATE(); - case 179: + case 201: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '(') ADVANCE(177); + if (lookahead == '(') ADVANCE(199); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 180: + case 202: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(202); + if (lookahead == 'a') ADVANCE(224); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 181: + case 203: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(237); + if (lookahead == 'a') ADVANCE(259); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 182: + case 204: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'c') ADVANCE(117); + if (lookahead == 'c') ADVANCE(137); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 183: + case 205: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'c') ADVANCE(179); + if (lookahead == 'c') ADVANCE(201); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 184: + case 206: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'c') ADVANCE(196); + if (lookahead == 'c') ADVANCE(218); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 185: + case 207: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'c') ADVANCE(234); + if (lookahead == 'c') ADVANCE(256); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 186: + case 208: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(165); + if (lookahead == 'e') ADVANCE(187); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 187: + case 209: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(175); - if (lookahead == 'i') ADVANCE(194); + if (lookahead == 'e') ADVANCE(197); + if (lookahead == 'i') ADVANCE(216); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 188: + case 210: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(175); + if (lookahead == 'e') ADVANCE(197); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 189: + case 211: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(214); + if (lookahead == 'e') ADVANCE(236); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 190: + case 212: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(225); + if (lookahead == 'e') ADVANCE(247); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 191: + case 213: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(235); + if (lookahead == 'e') ADVANCE(257); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 192: + case 214: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'f') ADVANCE(163); - if (lookahead == 'm') ADVANCE(221); + if (lookahead == 'f') ADVANCE(185); + if (lookahead == 'm') ADVANCE(243); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 193: + case 215: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'f') ADVANCE(163); + if (lookahead == 'f') ADVANCE(185); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 194: + case 216: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'f') ADVANCE(173); + if (lookahead == 'f') ADVANCE(195); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 195: + case 217: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'h') ADVANCE(197); + if (lookahead == 'h') ADVANCE(219); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 196: + case 218: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'h') ADVANCE(170); + if (lookahead == 'h') ADVANCE(192); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 197: + case 219: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(205); + if (lookahead == 'i') ADVANCE(227); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 198: + case 220: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(219); + if (lookahead == 'i') ADVANCE(241); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 199: + case 221: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(201); - if (lookahead == 's') ADVANCE(229); + if (lookahead == 'l') ADVANCE(223); + if (lookahead == 's') ADVANCE(251); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 200: + case 222: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(201); + if (lookahead == 'l') ADVANCE(223); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 201: + case 223: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(218); + if (lookahead == 'l') ADVANCE(240); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 202: + case 224: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(159); + if (lookahead == 'l') ADVANCE(181); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 203: + case 225: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(228); - if (lookahead == 'n') ADVANCE(239); - if (lookahead == 'x') ADVANCE(238); + if (lookahead == 'l') ADVANCE(250); + if (lookahead == 'n') ADVANCE(261); + if (lookahead == 'x') ADVANCE(260); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 204: + case 226: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(228); + if (lookahead == 'l') ADVANCE(250); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 205: + case 227: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(186); + if (lookahead == 'l') ADVANCE(208); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 206: + case 228: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(231); - if (lookahead == 'n') ADVANCE(239); - if (lookahead == 'x') ADVANCE(238); + if (lookahead == 'l') ADVANCE(253); + if (lookahead == 'n') ADVANCE(261); + if (lookahead == 'x') ADVANCE(260); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 207: + case 229: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(231); + if (lookahead == 'l') ADVANCE(253); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 208: + case 230: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'm') ADVANCE(109); + if (lookahead == 'm') ADVANCE(129); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 209: + case 231: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'm') ADVANCE(100); + if (lookahead == 'm') ADVANCE(120); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 210: + case 232: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(239); - if (lookahead == 'x') ADVANCE(238); + if (lookahead == 'n') ADVANCE(261); + if (lookahead == 'x') ADVANCE(260); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 211: + case 233: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(182); + if (lookahead == 'n') ADVANCE(204); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 212: + case 234: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(157); + if (lookahead == 'n') ADVANCE(179); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 213: + case 235: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(107); + if (lookahead == 'n') ADVANCE(127); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 214: + case 236: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(230); + if (lookahead == 'n') ADVANCE(252); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 215: + case 237: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(222); - if (lookahead == 'u') ADVANCE(211); + if (lookahead == 'o') ADVANCE(244); + if (lookahead == 'u') ADVANCE(233); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 216: + case 238: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(222); + if (lookahead == 'o') ADVANCE(244); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 217: + case 239: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(209); + if (lookahead == 'o') ADVANCE(231); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 218: + case 240: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(183); + if (lookahead == 'o') ADVANCE(205); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 219: + case 241: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(213); + if (lookahead == 'o') ADVANCE(235); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 220: + case 242: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(227); + if (lookahead == 'o') ADVANCE(249); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 221: + case 243: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'p') ADVANCE(220); + if (lookahead == 'p') ADVANCE(242); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 222: + case 244: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(167); + if (lookahead == 'r') ADVANCE(189); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 223: + case 245: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(241); + if (lookahead == 'r') ADVANCE(263); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 224: + case 246: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(212); + if (lookahead == 'r') ADVANCE(234); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 225: + case 247: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(232); + if (lookahead == 'r') ADVANCE(254); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 226: + case 248: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(217); + if (lookahead == 'r') ADVANCE(239); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 227: + case 249: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(233); + if (lookahead == 'r') ADVANCE(255); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 228: + case 250: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(187); + if (lookahead == 's') ADVANCE(209); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 229: + case 251: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(190); + if (lookahead == 's') ADVANCE(212); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 230: + case 252: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(198); + if (lookahead == 's') ADVANCE(220); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 231: + case 253: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(188); + if (lookahead == 's') ADVANCE(210); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 232: + case 254: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(161); + if (lookahead == 't') ADVANCE(183); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 233: + case 255: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(98); + if (lookahead == 't') ADVANCE(118); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 234: + case 256: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(105); + if (lookahead == 't') ADVANCE(125); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 235: + case 257: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(240); + if (lookahead == 't') ADVANCE(262); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 236: + case 258: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(223); + if (lookahead == 't') ADVANCE(245); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 237: + case 259: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(184); + if (lookahead == 't') ADVANCE(206); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 238: + case 260: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(189); + if (lookahead == 't') ADVANCE(211); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 239: + case 261: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(208); + if (lookahead == 'u') ADVANCE(230); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 240: + case 262: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(224); + if (lookahead == 'u') ADVANCE(246); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 241: + case 263: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(185); + if (lookahead == 'u') ADVANCE(207); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); END_STATE(); - case 242: + case 264: ACCEPT_TOKEN(sym_identifier); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(242); - END_STATE(); - case 243: - ACCEPT_TOKEN(sym_number); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(243); - END_STATE(); - case 244: - ACCEPT_TOKEN(sym_string); - END_STATE(); - case 245: + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(264); + END_STATE(); + case 265: + ACCEPT_TOKEN(sym_fp_literal); + END_STATE(); + case 266: + ACCEPT_TOKEN(sym_fp_literal); + if (lookahead == 'f') ADVANCE(265); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(106); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(266); + END_STATE(); + case 267: + ACCEPT_TOKEN(sym_fp_literal); + if (lookahead == 'f') ADVANCE(265); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(267); + END_STATE(); + case 268: + ACCEPT_TOKEN(sym_hex_int_literal); + if (lookahead == '_') ADVANCE(112); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(268); + END_STATE(); + case 269: + ACCEPT_TOKEN(sym_oct_int_literal); + if (lookahead == '_') ADVANCE(108); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(269); + END_STATE(); + case 270: + ACCEPT_TOKEN(sym_bin_int_literal); + if (lookahead == '_') ADVANCE(107); + if (lookahead == '0' || + lookahead == '1') ADVANCE(270); + END_STATE(); + case 271: + ACCEPT_TOKEN(sym_dec_int_literal); + if (lookahead == '.') ADVANCE(109); + if (lookahead == '_') ADVANCE(110); + if (lookahead == 'b') ADVANCE(107); + if (lookahead == 'o') ADVANCE(108); + if (lookahead == 'x') ADVANCE(112); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(272); + END_STATE(); + case 272: + ACCEPT_TOKEN(sym_dec_int_literal); + if (lookahead == '.') ADVANCE(109); + if (lookahead == '_') ADVANCE(110); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(272); + END_STATE(); + case 273: + ACCEPT_TOKEN(sym_dec_int_literal); + if (lookahead == '_') ADVANCE(110); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(273); + END_STATE(); + case 274: + ACCEPT_TOKEN(sym_str_literal_dbl_qt); + END_STATE(); + case 275: + ACCEPT_TOKEN(sym_str_literal_sgl_qt); + END_STATE(); + case 276: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 246: + case 277: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 247: + case 278: ACCEPT_TOKEN(sym_comment); END_STATE(); default: @@ -2755,258 +2973,258 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 93}, - [2] = {.lex_state = 93}, - [3] = {.lex_state = 93}, - [4] = {.lex_state = 3}, - [5] = {.lex_state = 3}, - [6] = {.lex_state = 3}, - [7] = {.lex_state = 3}, - [8] = {.lex_state = 3}, - [9] = {.lex_state = 3}, - [10] = {.lex_state = 3}, - [11] = {.lex_state = 3}, - [12] = {.lex_state = 3}, - [13] = {.lex_state = 3}, - [14] = {.lex_state = 3}, - [15] = {.lex_state = 3}, - [16] = {.lex_state = 3}, - [17] = {.lex_state = 3}, - [18] = {.lex_state = 3}, - [19] = {.lex_state = 93}, - [20] = {.lex_state = 93}, - [21] = {.lex_state = 93}, - [22] = {.lex_state = 93}, - [23] = {.lex_state = 93}, - [24] = {.lex_state = 94}, - [25] = {.lex_state = 93}, - [26] = {.lex_state = 93}, - [27] = {.lex_state = 94}, - [28] = {.lex_state = 93}, - [29] = {.lex_state = 93}, - [30] = {.lex_state = 94}, - [31] = {.lex_state = 93}, - [32] = {.lex_state = 94}, - [33] = {.lex_state = 93}, - [34] = {.lex_state = 93}, - [35] = {.lex_state = 93}, - [36] = {.lex_state = 93}, - [37] = {.lex_state = 93}, - [38] = {.lex_state = 93}, - [39] = {.lex_state = 93}, - [40] = {.lex_state = 93}, - [41] = {.lex_state = 93}, - [42] = {.lex_state = 93}, - [43] = {.lex_state = 93}, - [44] = {.lex_state = 93}, - [45] = {.lex_state = 94}, - [46] = {.lex_state = 93}, - [47] = {.lex_state = 93}, - [48] = {.lex_state = 93}, - [49] = {.lex_state = 93}, - [50] = {.lex_state = 93}, - [51] = {.lex_state = 93}, - [52] = {.lex_state = 93}, - [53] = {.lex_state = 93}, - [54] = {.lex_state = 93}, - [55] = {.lex_state = 94}, - [56] = {.lex_state = 93}, - [57] = {.lex_state = 93}, - [58] = {.lex_state = 93}, - [59] = {.lex_state = 95}, - [60] = {.lex_state = 93}, - [61] = {.lex_state = 93}, - [62] = {.lex_state = 95}, - [63] = {.lex_state = 93}, - [64] = {.lex_state = 93}, - [65] = {.lex_state = 93}, - [66] = {.lex_state = 93}, - [67] = {.lex_state = 93}, - [68] = {.lex_state = 95}, - [69] = {.lex_state = 93}, - [70] = {.lex_state = 93}, - [71] = {.lex_state = 95}, - [72] = {.lex_state = 93}, - [73] = {.lex_state = 93}, - [74] = {.lex_state = 93}, - [75] = {.lex_state = 93}, - [76] = {.lex_state = 93}, - [77] = {.lex_state = 93}, - [78] = {.lex_state = 93}, - [79] = {.lex_state = 93}, - [80] = {.lex_state = 93}, - [81] = {.lex_state = 93}, - [82] = {.lex_state = 93}, - [83] = {.lex_state = 93}, - [84] = {.lex_state = 93}, - [85] = {.lex_state = 93}, - [86] = {.lex_state = 93}, - [87] = {.lex_state = 93}, - [88] = {.lex_state = 93}, - [89] = {.lex_state = 93}, - [90] = {.lex_state = 93}, - [91] = {.lex_state = 93}, - [92] = {.lex_state = 93}, - [93] = {.lex_state = 93}, - [94] = {.lex_state = 93}, - [95] = {.lex_state = 93}, - [96] = {.lex_state = 93}, - [97] = {.lex_state = 93}, - [98] = {.lex_state = 93}, - [99] = {.lex_state = 93}, - [100] = {.lex_state = 93}, - [101] = {.lex_state = 5}, - [102] = {.lex_state = 5}, - [103] = {.lex_state = 93}, - [104] = {.lex_state = 93}, - [105] = {.lex_state = 93}, - [106] = {.lex_state = 93}, - [107] = {.lex_state = 93}, - [108] = {.lex_state = 93}, - [109] = {.lex_state = 93}, - [110] = {.lex_state = 93}, - [111] = {.lex_state = 93}, - [112] = {.lex_state = 93}, - [113] = {.lex_state = 93}, - [114] = {.lex_state = 4}, - [115] = {.lex_state = 4}, - [116] = {.lex_state = 4}, - [117] = {.lex_state = 5}, - [118] = {.lex_state = 4}, - [119] = {.lex_state = 4}, - [120] = {.lex_state = 4}, - [121] = {.lex_state = 4}, - [122] = {.lex_state = 4}, - [123] = {.lex_state = 4}, - [124] = {.lex_state = 4}, - [125] = {.lex_state = 4}, - [126] = {.lex_state = 4}, - [127] = {.lex_state = 4}, - [128] = {.lex_state = 4}, - [129] = {.lex_state = 4}, - [130] = {.lex_state = 4}, - [131] = {.lex_state = 4}, - [132] = {.lex_state = 4}, - [133] = {.lex_state = 4}, - [134] = {.lex_state = 4}, - [135] = {.lex_state = 4}, - [136] = {.lex_state = 4}, - [137] = {.lex_state = 4}, - [138] = {.lex_state = 4}, - [139] = {.lex_state = 4}, - [140] = {.lex_state = 5}, - [141] = {.lex_state = 5}, - [142] = {.lex_state = 0}, - [143] = {.lex_state = 0}, - [144] = {.lex_state = 5}, - [145] = {.lex_state = 6}, - [146] = {.lex_state = 6}, - [147] = {.lex_state = 6}, - [148] = {.lex_state = 6}, - [149] = {.lex_state = 3}, - [150] = {.lex_state = 3}, - [151] = {.lex_state = 3}, - [152] = {.lex_state = 3}, - [153] = {.lex_state = 3}, - [154] = {.lex_state = 3}, - [155] = {.lex_state = 3}, - [156] = {.lex_state = 3}, - [157] = {.lex_state = 3}, - [158] = {.lex_state = 3}, - [159] = {.lex_state = 3}, - [160] = {.lex_state = 3}, - [161] = {.lex_state = 3}, - [162] = {.lex_state = 3}, - [163] = {.lex_state = 3}, - [164] = {.lex_state = 3}, - [165] = {.lex_state = 3}, - [166] = {.lex_state = 3}, - [167] = {.lex_state = 93}, - [168] = {.lex_state = 93}, - [169] = {.lex_state = 0}, - [170] = {.lex_state = 0}, - [171] = {.lex_state = 0}, - [172] = {.lex_state = 0}, - [173] = {.lex_state = 0}, - [174] = {.lex_state = 4}, - [175] = {.lex_state = 4}, - [176] = {.lex_state = 4}, - [177] = {.lex_state = 93}, - [178] = {.lex_state = 93}, - [179] = {.lex_state = 0}, - [180] = {.lex_state = 0}, + [1] = {.lex_state = 113}, + [2] = {.lex_state = 113}, + [3] = {.lex_state = 113}, + [4] = {.lex_state = 4}, + [5] = {.lex_state = 4}, + [6] = {.lex_state = 4}, + [7] = {.lex_state = 4}, + [8] = {.lex_state = 4}, + [9] = {.lex_state = 4}, + [10] = {.lex_state = 4}, + [11] = {.lex_state = 4}, + [12] = {.lex_state = 4}, + [13] = {.lex_state = 4}, + [14] = {.lex_state = 4}, + [15] = {.lex_state = 4}, + [16] = {.lex_state = 4}, + [17] = {.lex_state = 4}, + [18] = {.lex_state = 4}, + [19] = {.lex_state = 2}, + [20] = {.lex_state = 2}, + [21] = {.lex_state = 114}, + [22] = {.lex_state = 114}, + [23] = {.lex_state = 114}, + [24] = {.lex_state = 114}, + [25] = {.lex_state = 114}, + [26] = {.lex_state = 2}, + [27] = {.lex_state = 115}, + [28] = {.lex_state = 114}, + [29] = {.lex_state = 115}, + [30] = {.lex_state = 5}, + [31] = {.lex_state = 2}, + [32] = {.lex_state = 2}, + [33] = {.lex_state = 5}, + [34] = {.lex_state = 5}, + [35] = {.lex_state = 115}, + [36] = {.lex_state = 115}, + [37] = {.lex_state = 5}, + [38] = {.lex_state = 5}, + [39] = {.lex_state = 113}, + [40] = {.lex_state = 5}, + [41] = {.lex_state = 113}, + [42] = {.lex_state = 5}, + [43] = {.lex_state = 113}, + [44] = {.lex_state = 2}, + [45] = {.lex_state = 113}, + [46] = {.lex_state = 113}, + [47] = {.lex_state = 5}, + [48] = {.lex_state = 113}, + [49] = {.lex_state = 113}, + [50] = {.lex_state = 113}, + [51] = {.lex_state = 113}, + [52] = {.lex_state = 113}, + [53] = {.lex_state = 113}, + [54] = {.lex_state = 5}, + [55] = {.lex_state = 113}, + [56] = {.lex_state = 113}, + [57] = {.lex_state = 5}, + [58] = {.lex_state = 113}, + [59] = {.lex_state = 113}, + [60] = {.lex_state = 113}, + [61] = {.lex_state = 5}, + [62] = {.lex_state = 113}, + [63] = {.lex_state = 113}, + [64] = {.lex_state = 113}, + [65] = {.lex_state = 5}, + [66] = {.lex_state = 5}, + [67] = {.lex_state = 6}, + [68] = {.lex_state = 113}, + [69] = {.lex_state = 6}, + [70] = {.lex_state = 2}, + [71] = {.lex_state = 113}, + [72] = {.lex_state = 113}, + [73] = {.lex_state = 113}, + [74] = {.lex_state = 113}, + [75] = {.lex_state = 5}, + [76] = {.lex_state = 113}, + [77] = {.lex_state = 113}, + [78] = {.lex_state = 113}, + [79] = {.lex_state = 113}, + [80] = {.lex_state = 113}, + [81] = {.lex_state = 113}, + [82] = {.lex_state = 5}, + [83] = {.lex_state = 113}, + [84] = {.lex_state = 113}, + [85] = {.lex_state = 5}, + [86] = {.lex_state = 5}, + [87] = {.lex_state = 5}, + [88] = {.lex_state = 5}, + [89] = {.lex_state = 5}, + [90] = {.lex_state = 5}, + [91] = {.lex_state = 5}, + [92] = {.lex_state = 5}, + [93] = {.lex_state = 5}, + [94] = {.lex_state = 5}, + [95] = {.lex_state = 2}, + [96] = {.lex_state = 2}, + [97] = {.lex_state = 2}, + [98] = {.lex_state = 2}, + [99] = {.lex_state = 2}, + [100] = {.lex_state = 2}, + [101] = {.lex_state = 2}, + [102] = {.lex_state = 2}, + [103] = {.lex_state = 2}, + [104] = {.lex_state = 2}, + [105] = {.lex_state = 2}, + [106] = {.lex_state = 2}, + [107] = {.lex_state = 2}, + [108] = {.lex_state = 2}, + [109] = {.lex_state = 2}, + [110] = {.lex_state = 2}, + [111] = {.lex_state = 2}, + [112] = {.lex_state = 2}, + [113] = {.lex_state = 2}, + [114] = {.lex_state = 6}, + [115] = {.lex_state = 2}, + [116] = {.lex_state = 2}, + [117] = {.lex_state = 2}, + [118] = {.lex_state = 2}, + [119] = {.lex_state = 2}, + [120] = {.lex_state = 2}, + [121] = {.lex_state = 2}, + [122] = {.lex_state = 2}, + [123] = {.lex_state = 2}, + [124] = {.lex_state = 7}, + [125] = {.lex_state = 2}, + [126] = {.lex_state = 2}, + [127] = {.lex_state = 2}, + [128] = {.lex_state = 7}, + [129] = {.lex_state = 6}, + [130] = {.lex_state = 6}, + [131] = {.lex_state = 6}, + [132] = {.lex_state = 2}, + [133] = {.lex_state = 2}, + [134] = {.lex_state = 2}, + [135] = {.lex_state = 2}, + [136] = {.lex_state = 2}, + [137] = {.lex_state = 2}, + [138] = {.lex_state = 2}, + [139] = {.lex_state = 2}, + [140] = {.lex_state = 2}, + [141] = {.lex_state = 7}, + [142] = {.lex_state = 7}, + [143] = {.lex_state = 2}, + [144] = {.lex_state = 2}, + [145] = {.lex_state = 2}, + [146] = {.lex_state = 2}, + [147] = {.lex_state = 2}, + [148] = {.lex_state = 2}, + [149] = {.lex_state = 4}, + [150] = {.lex_state = 4}, + [151] = {.lex_state = 4}, + [152] = {.lex_state = 4}, + [153] = {.lex_state = 4}, + [154] = {.lex_state = 4}, + [155] = {.lex_state = 4}, + [156] = {.lex_state = 4}, + [157] = {.lex_state = 4}, + [158] = {.lex_state = 4}, + [159] = {.lex_state = 4}, + [160] = {.lex_state = 4}, + [161] = {.lex_state = 4}, + [162] = {.lex_state = 4}, + [163] = {.lex_state = 4}, + [164] = {.lex_state = 4}, + [165] = {.lex_state = 4}, + [166] = {.lex_state = 4}, + [167] = {.lex_state = 2}, + [168] = {.lex_state = 2}, + [169] = {.lex_state = 113}, + [170] = {.lex_state = 113}, + [171] = {.lex_state = 5}, + [172] = {.lex_state = 5}, + [173] = {.lex_state = 5}, + [174] = {.lex_state = 0}, + [175] = {.lex_state = 0}, + [176] = {.lex_state = 0}, + [177] = {.lex_state = 0}, + [178] = {.lex_state = 0}, + [179] = {.lex_state = 113}, + [180] = {.lex_state = 113}, [181] = {.lex_state = 0}, [182] = {.lex_state = 0}, [183] = {.lex_state = 0}, - [184] = {.lex_state = 93}, - [185] = {.lex_state = 0}, + [184] = {.lex_state = 0}, + [185] = {.lex_state = 113}, [186] = {.lex_state = 0}, [187] = {.lex_state = 0}, [188] = {.lex_state = 0}, [189] = {.lex_state = 0}, [190] = {.lex_state = 0}, - [191] = {.lex_state = 93}, + [191] = {.lex_state = 113}, [192] = {.lex_state = 0}, - [193] = {.lex_state = 8}, + [193] = {.lex_state = 0}, [194] = {.lex_state = 0}, - [195] = {.lex_state = 0}, - [196] = {.lex_state = 8}, - [197] = {.lex_state = 8}, - [198] = {.lex_state = 8}, + [195] = {.lex_state = 9}, + [196] = {.lex_state = 0}, + [197] = {.lex_state = 10}, + [198] = {.lex_state = 9}, [199] = {.lex_state = 9}, - [200] = {.lex_state = 8}, - [201] = {.lex_state = 0}, + [200] = {.lex_state = 0}, + [201] = {.lex_state = 9}, [202] = {.lex_state = 0}, [203] = {.lex_state = 0}, [204] = {.lex_state = 0}, [205] = {.lex_state = 0}, [206] = {.lex_state = 0}, [207] = {.lex_state = 0}, - [208] = {.lex_state = 8}, - [209] = {.lex_state = 0}, - [210] = {.lex_state = 8}, + [208] = {.lex_state = 0}, + [209] = {.lex_state = 9}, + [210] = {.lex_state = 0}, [211] = {.lex_state = 0}, [212] = {.lex_state = 0}, - [213] = {.lex_state = 10}, - [214] = {.lex_state = 0}, + [213] = {.lex_state = 0}, + [214] = {.lex_state = 9}, [215] = {.lex_state = 0}, [216] = {.lex_state = 0}, - [217] = {.lex_state = 0}, + [217] = {.lex_state = 9}, [218] = {.lex_state = 0}, - [219] = {.lex_state = 8}, - [220] = {.lex_state = 0}, - [221] = {.lex_state = 8}, + [219] = {.lex_state = 0}, + [220] = {.lex_state = 9}, + [221] = {.lex_state = 9}, [222] = {.lex_state = 0}, - [223] = {.lex_state = 0}, + [223] = {.lex_state = 11}, [224] = {.lex_state = 0}, - [225] = {.lex_state = 8}, - [226] = {.lex_state = 8}, - [227] = {.lex_state = 8}, + [225] = {.lex_state = 0}, + [226] = {.lex_state = 9}, + [227] = {.lex_state = 9}, [228] = {.lex_state = 0}, [229] = {.lex_state = 0}, - [230] = {.lex_state = 0}, + [230] = {.lex_state = 9}, [231] = {.lex_state = 0}, - [232] = {.lex_state = 8}, + [232] = {.lex_state = 0}, [233] = {.lex_state = 0}, [234] = {.lex_state = 0}, - [235] = {.lex_state = 8}, + [235] = {.lex_state = 4}, [236] = {.lex_state = 0}, [237] = {.lex_state = 0}, - [238] = {.lex_state = 0}, - [239] = {.lex_state = 0}, - [240] = {.lex_state = 0}, - [241] = {.lex_state = 8}, + [238] = {.lex_state = 9}, + [239] = {.lex_state = 113}, + [240] = {.lex_state = 9}, + [241] = {.lex_state = 0}, [242] = {.lex_state = 0}, - [243] = {.lex_state = 93}, - [244] = {.lex_state = 8}, - [245] = {.lex_state = 0}, + [243] = {.lex_state = 0}, + [244] = {.lex_state = 0}, + [245] = {.lex_state = 9}, [246] = {.lex_state = 0}, - [247] = {.lex_state = 8}, + [247] = {.lex_state = 113}, [248] = {.lex_state = 0}, - [249] = {.lex_state = 93}, - [250] = {.lex_state = 0}, + [249] = {.lex_state = 0}, + [250] = {.lex_state = 9}, [251] = {.lex_state = 0}, - [252] = {.lex_state = 0}, + [252] = {.lex_state = 9}, [253] = {.lex_state = 0}, [254] = {.lex_state = 0}, [255] = {.lex_state = 0}, @@ -3014,53 +3232,55 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [257] = {.lex_state = 0}, [258] = {.lex_state = 0}, [259] = {.lex_state = 0}, - [260] = {.lex_state = 8}, + [260] = {.lex_state = 0}, [261] = {.lex_state = 0}, [262] = {.lex_state = 0}, - [263] = {.lex_state = 8}, - [264] = {.lex_state = 8}, - [265] = {.lex_state = 0}, + [263] = {.lex_state = 0}, + [264] = {.lex_state = 0}, + [265] = {.lex_state = 9}, [266] = {.lex_state = 0}, [267] = {.lex_state = 0}, - [268] = {.lex_state = 3}, - [269] = {.lex_state = 0}, - [270] = {.lex_state = 0}, - [271] = {.lex_state = 93}, - [272] = {.lex_state = 8}, - [273] = {.lex_state = 3}, - [274] = {.lex_state = 93}, - [275] = {.lex_state = 8}, - [276] = {.lex_state = 8}, - [277] = {.lex_state = 0}, - [278] = {.lex_state = 0}, - [279] = {.lex_state = 8}, - [280] = {.lex_state = 8}, - [281] = {.lex_state = 3}, - [282] = {.lex_state = 8}, - [283] = {.lex_state = 8}, - [284] = {.lex_state = 8}, + [268] = {.lex_state = 0}, + [269] = {.lex_state = 9}, + [270] = {.lex_state = 9}, + [271] = {.lex_state = 113}, + [272] = {.lex_state = 113}, + [273] = {.lex_state = 0}, + [274] = {.lex_state = 0}, + [275] = {.lex_state = 9}, + [276] = {.lex_state = 9}, + [277] = {.lex_state = 9}, + [278] = {.lex_state = 9}, + [279] = {.lex_state = 9}, + [280] = {.lex_state = 113}, + [281] = {.lex_state = 0}, + [282] = {.lex_state = 113}, + [283] = {.lex_state = 9}, + [284] = {.lex_state = 9}, [285] = {.lex_state = 0}, - [286] = {.lex_state = 0}, + [286] = {.lex_state = 9}, [287] = {.lex_state = 0}, - [288] = {.lex_state = 8}, - [289] = {.lex_state = 8}, - [290] = {.lex_state = 8}, - [291] = {.lex_state = 8}, - [292] = {.lex_state = 8}, - [293] = {.lex_state = 93}, - [294] = {.lex_state = 8}, - [295] = {.lex_state = 8}, - [296] = {.lex_state = 0}, - [297] = {.lex_state = 93}, - [298] = {.lex_state = 93}, - [299] = {.lex_state = 8}, - [300] = {.lex_state = 8}, - [301] = {.lex_state = 8}, - [302] = {.lex_state = 8}, - [303] = {.lex_state = 0}, - [304] = {.lex_state = 0}, - [305] = {.lex_state = 8}, + [288] = {.lex_state = 0}, + [289] = {.lex_state = 0}, + [290] = {.lex_state = 9}, + [291] = {.lex_state = 0}, + [292] = {.lex_state = 9}, + [293] = {.lex_state = 9}, + [294] = {.lex_state = 9}, + [295] = {.lex_state = 9}, + [296] = {.lex_state = 9}, + [297] = {.lex_state = 9}, + [298] = {.lex_state = 9}, + [299] = {.lex_state = 0}, + [300] = {.lex_state = 0}, + [301] = {.lex_state = 9}, + [302] = {.lex_state = 9}, + [303] = {.lex_state = 4}, + [304] = {.lex_state = 9}, + [305] = {.lex_state = 4}, [306] = {.lex_state = 0}, + [307] = {.lex_state = 9}, + [308] = {.lex_state = 113}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -3127,42 +3347,49 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG_BANG] = ACTIONS(1), [anon_sym_alloc_LPAREN] = ACTIONS(1), [anon_sym_COLON_COLON] = ACTIONS(1), - [sym_number] = ACTIONS(1), - [sym_string] = ACTIONS(1), + [sym_fp_literal] = ACTIONS(1), + [sym_hex_int_literal] = ACTIONS(1), + [sym_oct_int_literal] = ACTIONS(1), + [sym_bin_int_literal] = ACTIONS(1), + [sym_dec_int_literal] = ACTIONS(1), + [sym_str_literal_dbl_qt] = ACTIONS(1), + [sym_str_literal_sgl_qt] = ACTIONS(1), [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), [sym_comment] = ACTIONS(3), }, [STATE(1)] = { - [sym_source_file] = STATE(287), - [sym_import] = STATE(2), - [sym_struct_definition] = STATE(2), - [sym_extension_definition] = STATE(2), - [sym_enum_definition] = STATE(2), - [sym_function_definition] = STATE(2), - [sym__statement] = STATE(2), - [sym_return_statement] = STATE(2), - [sym_expression_statement] = STATE(2), - [sym_variable_declaration] = STATE(2), - [sym_assignment_statement] = STATE(2), - [sym_assert_statement] = STATE(2), - [sym_control_flow_statement] = STATE(2), - [sym_if_statement] = STATE(105), - [sym_while_statement] = STATE(105), - [sym_for_statement] = STATE(105), - [sym_match_statement] = STATE(105), - [sym_expression] = STATE(74), - [sym_binary_expression] = STATE(47), - [sym_unary_expression] = STATE(47), - [sym_primary_expression] = STATE(47), - [sym_literal] = STATE(46), - [sym_prefix_operator] = STATE(126), - [sym_alloc_call] = STATE(46), - [sym_enum_value] = STATE(46), - [sym_function_call] = STATE(46), - [sym_type] = STATE(297), - [sym_array] = STATE(29), - [aux_sym_source_file_repeat1] = STATE(2), + [sym_source_file] = STATE(274), + [sym_import] = STATE(3), + [sym_struct_definition] = STATE(3), + [sym_extension_definition] = STATE(3), + [sym_enum_definition] = STATE(3), + [sym_function_definition] = STATE(3), + [sym__statement] = STATE(3), + [sym_return_statement] = STATE(3), + [sym_expression_statement] = STATE(3), + [sym_variable_declaration] = STATE(3), + [sym_assignment_statement] = STATE(3), + [sym_assert_statement] = STATE(3), + [sym_control_flow_statement] = STATE(3), + [sym_if_statement] = STATE(84), + [sym_while_statement] = STATE(84), + [sym_for_statement] = STATE(84), + [sym_match_statement] = STATE(84), + [sym_expression] = STATE(136), + [sym_binary_expression] = STATE(113), + [sym_unary_expression] = STATE(113), + [sym_primary_expression] = STATE(113), + [sym_literal] = STATE(115), + [sym_prefix_operator] = STATE(85), + [sym_alloc_call] = STATE(115), + [sym_enum_value] = STATE(115), + [sym_function_call] = STATE(115), + [sym_type] = STATE(282), + [sym_number] = STATE(95), + [sym_string] = STATE(95), + [sym_array] = STATE(95), + [aux_sym_source_file_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(5), [anon_sym_import] = ACTIONS(7), [anon_sym_struct] = ACTIONS(9), @@ -3180,79 +3407,93 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_match] = ACTIONS(33), [anon_sym_alloc_LPAREN] = ACTIONS(35), [sym_identifier] = ACTIONS(37), - [sym_number] = ACTIONS(39), - [sym_string] = ACTIONS(39), - [anon_sym_LBRACK] = ACTIONS(41), + [sym_fp_literal] = ACTIONS(39), + [sym_hex_int_literal] = ACTIONS(39), + [sym_oct_int_literal] = ACTIONS(39), + [sym_bin_int_literal] = ACTIONS(39), + [sym_dec_int_literal] = ACTIONS(41), + [sym_str_literal_dbl_qt] = ACTIONS(43), + [sym_str_literal_sgl_qt] = ACTIONS(43), + [anon_sym_LBRACK] = ACTIONS(45), [sym_comment] = ACTIONS(3), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 28, + [0] = 30, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(47), 1, + ts_builtin_sym_end, + ACTIONS(49), 1, anon_sym_import, - ACTIONS(9), 1, + ACTIONS(52), 1, anon_sym_struct, - ACTIONS(11), 1, + ACTIONS(55), 1, anon_sym_extension, - ACTIONS(13), 1, + ACTIONS(58), 1, anon_sym_enum, - ACTIONS(15), 1, + ACTIONS(61), 1, anon_sym_LPAREN, - ACTIONS(17), 1, + ACTIONS(64), 1, anon_sym_func, - ACTIONS(19), 1, + ACTIONS(67), 1, anon_sym_DASH, - ACTIONS(21), 1, + ACTIONS(70), 1, anon_sym_return, - ACTIONS(23), 1, + ACTIONS(73), 1, anon_sym_val, - ACTIONS(25), 1, + ACTIONS(76), 1, anon_sym_assert, - ACTIONS(27), 1, + ACTIONS(79), 1, anon_sym_if, - ACTIONS(29), 1, + ACTIONS(82), 1, anon_sym_while, - ACTIONS(31), 1, + ACTIONS(85), 1, anon_sym_for, - ACTIONS(33), 1, + ACTIONS(88), 1, anon_sym_match, - ACTIONS(35), 1, + ACTIONS(91), 1, anon_sym_alloc_LPAREN, - ACTIONS(37), 1, + ACTIONS(94), 1, sym_identifier, - ACTIONS(41), 1, + ACTIONS(100), 1, + sym_dec_int_literal, + ACTIONS(106), 1, anon_sym_LBRACK, - ACTIONS(43), 1, - ts_builtin_sym_end, - STATE(29), 1, - sym_array, - STATE(74), 1, - sym_expression, - STATE(126), 1, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(136), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(39), 2, + ACTIONS(103), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - STATE(105), 4, + ACTIONS(97), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(84), 4, sym_if_statement, sym_while_statement, sym_for_statement, sym_match_statement, - STATE(3), 13, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + STATE(2), 13, sym_import, sym_struct_definition, sym_extension_definition, @@ -3266,71 +3507,80 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_source_file_repeat1, - [106] = 28, + [117] = 30, ACTIONS(3), 1, sym_comment, - ACTIONS(45), 1, - ts_builtin_sym_end, - ACTIONS(47), 1, + ACTIONS(7), 1, anon_sym_import, - ACTIONS(50), 1, + ACTIONS(9), 1, anon_sym_struct, - ACTIONS(53), 1, + ACTIONS(11), 1, anon_sym_extension, - ACTIONS(56), 1, + ACTIONS(13), 1, anon_sym_enum, - ACTIONS(59), 1, + ACTIONS(15), 1, anon_sym_LPAREN, - ACTIONS(62), 1, + ACTIONS(17), 1, anon_sym_func, - ACTIONS(65), 1, + ACTIONS(19), 1, anon_sym_DASH, - ACTIONS(68), 1, + ACTIONS(21), 1, anon_sym_return, - ACTIONS(71), 1, + ACTIONS(23), 1, anon_sym_val, - ACTIONS(74), 1, + ACTIONS(25), 1, anon_sym_assert, - ACTIONS(77), 1, + ACTIONS(27), 1, anon_sym_if, - ACTIONS(80), 1, + ACTIONS(29), 1, anon_sym_while, - ACTIONS(83), 1, + ACTIONS(31), 1, anon_sym_for, - ACTIONS(86), 1, + ACTIONS(33), 1, anon_sym_match, - ACTIONS(89), 1, + ACTIONS(35), 1, anon_sym_alloc_LPAREN, - ACTIONS(92), 1, + ACTIONS(37), 1, sym_identifier, - ACTIONS(98), 1, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - STATE(29), 1, - sym_array, - STATE(74), 1, - sym_expression, - STATE(126), 1, + ACTIONS(109), 1, + ts_builtin_sym_end, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(136), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(95), 2, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - STATE(105), 4, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(84), 4, sym_if_statement, sym_while_statement, sym_for_statement, sym_match_statement, - STATE(3), 13, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + STATE(2), 13, sym_import, sym_struct_definition, sym_extension_definition, @@ -3344,7 +3594,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_source_file_repeat1, - [212] = 23, + [234] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -3354,51 +3604,60 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(35), 1, anon_sym_alloc_LPAREN, ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(101), 1, + ACTIONS(111), 1, anon_sym_RBRACE, - ACTIONS(103), 1, + ACTIONS(113), 1, anon_sym_return, - ACTIONS(105), 1, + ACTIONS(115), 1, anon_sym_val, - ACTIONS(107), 1, + ACTIONS(117), 1, anon_sym_assert, - ACTIONS(109), 1, + ACTIONS(119), 1, anon_sym_if, - ACTIONS(111), 1, + ACTIONS(121), 1, anon_sym_while, - ACTIONS(113), 1, + ACTIONS(123), 1, anon_sym_for, - ACTIONS(115), 1, + ACTIONS(125), 1, anon_sym_match, - ACTIONS(117), 1, + ACTIONS(127), 1, sym_identifier, - STATE(29), 1, - sym_array, - STATE(70), 1, - sym_expression, - STATE(126), 1, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(143), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(39), 2, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, sym_literal, sym_alloc_call, sym_enum_value, sym_function_call, - STATE(157), 4, + STATE(162), 4, sym_if_statement, sym_while_statement, sym_for_statement, sym_match_statement, - STATE(7), 8, + STATE(5), 8, sym__statement, sym_return_statement, sym_expression_statement, @@ -3407,7 +3666,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_logic_block_repeat1, - [298] = 23, + [331] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -3417,46 +3676,55 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(35), 1, anon_sym_alloc_LPAREN, ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(103), 1, + ACTIONS(113), 1, anon_sym_return, - ACTIONS(105), 1, + ACTIONS(115), 1, anon_sym_val, - ACTIONS(107), 1, + ACTIONS(117), 1, anon_sym_assert, - ACTIONS(109), 1, + ACTIONS(119), 1, anon_sym_if, - ACTIONS(111), 1, + ACTIONS(121), 1, anon_sym_while, - ACTIONS(113), 1, + ACTIONS(123), 1, anon_sym_for, - ACTIONS(115), 1, + ACTIONS(125), 1, anon_sym_match, - ACTIONS(117), 1, + ACTIONS(127), 1, sym_identifier, - ACTIONS(119), 1, + ACTIONS(129), 1, anon_sym_RBRACE, - STATE(29), 1, - sym_array, - STATE(70), 1, - sym_expression, - STATE(126), 1, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(143), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(39), 2, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, sym_literal, sym_alloc_call, sym_enum_value, sym_function_call, - STATE(157), 4, + STATE(162), 4, sym_if_statement, sym_while_statement, sym_for_statement, @@ -3470,61 +3738,70 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_logic_block_repeat1, - [384] = 23, + [428] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, + ACTIONS(131), 1, + anon_sym_RBRACE, + ACTIONS(133), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(136), 1, anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(103), 1, + ACTIONS(139), 1, anon_sym_return, - ACTIONS(105), 1, + ACTIONS(142), 1, anon_sym_val, - ACTIONS(107), 1, + ACTIONS(145), 1, anon_sym_assert, - ACTIONS(109), 1, + ACTIONS(148), 1, anon_sym_if, - ACTIONS(111), 1, + ACTIONS(151), 1, anon_sym_while, - ACTIONS(113), 1, + ACTIONS(154), 1, anon_sym_for, - ACTIONS(115), 1, + ACTIONS(157), 1, anon_sym_match, - ACTIONS(117), 1, + ACTIONS(160), 1, + anon_sym_alloc_LPAREN, + ACTIONS(163), 1, sym_identifier, - ACTIONS(121), 1, - anon_sym_RBRACE, - STATE(29), 1, - sym_array, - STATE(70), 1, - sym_expression, - STATE(126), 1, + ACTIONS(169), 1, + sym_dec_int_literal, + ACTIONS(175), 1, + anon_sym_LBRACK, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(143), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(39), 2, + ACTIONS(172), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, + ACTIONS(166), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, sym_literal, sym_alloc_call, sym_enum_value, sym_function_call, - STATE(157), 4, + STATE(162), 4, sym_if_statement, sym_while_statement, sym_for_statement, sym_match_statement, - STATE(7), 8, + STATE(6), 8, sym__statement, sym_return_statement, sym_expression_statement, @@ -3533,61 +3810,70 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_logic_block_repeat1, - [470] = 23, + [525] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(123), 1, - anon_sym_RBRACE, - ACTIONS(125), 1, + ACTIONS(15), 1, anon_sym_LPAREN, - ACTIONS(128), 1, + ACTIONS(19), 1, anon_sym_DASH, - ACTIONS(131), 1, + ACTIONS(35), 1, + anon_sym_alloc_LPAREN, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, + anon_sym_LBRACK, + ACTIONS(113), 1, anon_sym_return, - ACTIONS(134), 1, + ACTIONS(115), 1, anon_sym_val, - ACTIONS(137), 1, + ACTIONS(117), 1, anon_sym_assert, - ACTIONS(140), 1, + ACTIONS(119), 1, anon_sym_if, - ACTIONS(143), 1, + ACTIONS(121), 1, anon_sym_while, - ACTIONS(146), 1, + ACTIONS(123), 1, anon_sym_for, - ACTIONS(149), 1, + ACTIONS(125), 1, anon_sym_match, - ACTIONS(152), 1, - anon_sym_alloc_LPAREN, - ACTIONS(155), 1, + ACTIONS(127), 1, sym_identifier, - ACTIONS(161), 1, - anon_sym_LBRACK, - STATE(29), 1, - sym_array, - STATE(70), 1, - sym_expression, - STATE(126), 1, + ACTIONS(178), 1, + anon_sym_RBRACE, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(143), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(158), 2, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, sym_literal, sym_alloc_call, sym_enum_value, sym_function_call, - STATE(157), 4, + STATE(162), 4, sym_if_statement, sym_while_statement, sym_for_statement, sym_match_statement, - STATE(7), 8, + STATE(6), 8, sym__statement, sym_return_statement, sym_expression_statement, @@ -3596,7 +3882,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_logic_block_repeat1, - [556] = 23, + [622] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -3606,51 +3892,60 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(35), 1, anon_sym_alloc_LPAREN, ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(103), 1, + ACTIONS(113), 1, anon_sym_return, - ACTIONS(105), 1, + ACTIONS(115), 1, anon_sym_val, - ACTIONS(107), 1, + ACTIONS(117), 1, anon_sym_assert, - ACTIONS(109), 1, + ACTIONS(119), 1, anon_sym_if, - ACTIONS(111), 1, + ACTIONS(121), 1, anon_sym_while, - ACTIONS(113), 1, + ACTIONS(123), 1, anon_sym_for, - ACTIONS(115), 1, + ACTIONS(125), 1, anon_sym_match, - ACTIONS(117), 1, + ACTIONS(127), 1, sym_identifier, - ACTIONS(164), 1, + ACTIONS(180), 1, anon_sym_RBRACE, - STATE(29), 1, - sym_array, - STATE(70), 1, - sym_expression, - STATE(126), 1, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(143), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(39), 2, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, sym_literal, sym_alloc_call, sym_enum_value, sym_function_call, - STATE(157), 4, + STATE(162), 4, sym_if_statement, sym_while_statement, sym_for_statement, sym_match_statement, - STATE(9), 8, + STATE(6), 8, sym__statement, sym_return_statement, sym_expression_statement, @@ -3659,7 +3954,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_logic_block_repeat1, - [642] = 23, + [719] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -3669,51 +3964,60 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(35), 1, anon_sym_alloc_LPAREN, ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(103), 1, + ACTIONS(113), 1, anon_sym_return, - ACTIONS(105), 1, + ACTIONS(115), 1, anon_sym_val, - ACTIONS(107), 1, + ACTIONS(117), 1, anon_sym_assert, - ACTIONS(109), 1, + ACTIONS(119), 1, anon_sym_if, - ACTIONS(111), 1, + ACTIONS(121), 1, anon_sym_while, - ACTIONS(113), 1, + ACTIONS(123), 1, anon_sym_for, - ACTIONS(115), 1, + ACTIONS(125), 1, anon_sym_match, - ACTIONS(117), 1, + ACTIONS(127), 1, sym_identifier, - ACTIONS(166), 1, + ACTIONS(182), 1, anon_sym_RBRACE, - STATE(29), 1, - sym_array, - STATE(70), 1, - sym_expression, - STATE(126), 1, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(143), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(39), 2, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, sym_literal, sym_alloc_call, sym_enum_value, sym_function_call, - STATE(157), 4, + STATE(162), 4, sym_if_statement, sym_while_statement, sym_for_statement, sym_match_statement, - STATE(7), 8, + STATE(8), 8, sym__statement, sym_return_statement, sym_expression_statement, @@ -3722,7 +4026,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_logic_block_repeat1, - [728] = 23, + [816] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -3732,46 +4036,55 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(35), 1, anon_sym_alloc_LPAREN, ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(103), 1, + ACTIONS(113), 1, anon_sym_return, - ACTIONS(105), 1, + ACTIONS(115), 1, anon_sym_val, - ACTIONS(107), 1, + ACTIONS(117), 1, anon_sym_assert, - ACTIONS(109), 1, + ACTIONS(119), 1, anon_sym_if, - ACTIONS(111), 1, + ACTIONS(121), 1, anon_sym_while, - ACTIONS(113), 1, + ACTIONS(123), 1, anon_sym_for, - ACTIONS(115), 1, + ACTIONS(125), 1, anon_sym_match, - ACTIONS(117), 1, + ACTIONS(127), 1, sym_identifier, - ACTIONS(168), 1, + ACTIONS(184), 1, anon_sym_RBRACE, - STATE(29), 1, - sym_array, - STATE(70), 1, - sym_expression, - STATE(126), 1, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(143), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(39), 2, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, sym_literal, sym_alloc_call, sym_enum_value, sym_function_call, - STATE(157), 4, + STATE(162), 4, sym_if_statement, sym_while_statement, sym_for_statement, @@ -3785,7 +4098,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_logic_block_repeat1, - [814] = 23, + [913] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -3795,51 +4108,60 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(35), 1, anon_sym_alloc_LPAREN, ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(103), 1, + ACTIONS(113), 1, anon_sym_return, - ACTIONS(105), 1, + ACTIONS(115), 1, anon_sym_val, - ACTIONS(107), 1, + ACTIONS(117), 1, anon_sym_assert, - ACTIONS(109), 1, + ACTIONS(119), 1, anon_sym_if, - ACTIONS(111), 1, + ACTIONS(121), 1, anon_sym_while, - ACTIONS(113), 1, + ACTIONS(123), 1, anon_sym_for, - ACTIONS(115), 1, + ACTIONS(125), 1, anon_sym_match, - ACTIONS(117), 1, + ACTIONS(127), 1, sym_identifier, - ACTIONS(170), 1, + ACTIONS(186), 1, anon_sym_RBRACE, - STATE(29), 1, - sym_array, - STATE(70), 1, - sym_expression, - STATE(126), 1, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(143), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(39), 2, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, sym_literal, sym_alloc_call, sym_enum_value, sym_function_call, - STATE(157), 4, + STATE(162), 4, sym_if_statement, sym_while_statement, sym_for_statement, sym_match_statement, - STATE(7), 8, + STATE(6), 8, sym__statement, sym_return_statement, sym_expression_statement, @@ -3848,7 +4170,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_logic_block_repeat1, - [900] = 23, + [1010] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -3858,46 +4180,55 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(35), 1, anon_sym_alloc_LPAREN, ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(103), 1, + ACTIONS(113), 1, anon_sym_return, - ACTIONS(105), 1, + ACTIONS(115), 1, anon_sym_val, - ACTIONS(107), 1, + ACTIONS(117), 1, anon_sym_assert, - ACTIONS(109), 1, + ACTIONS(119), 1, anon_sym_if, - ACTIONS(111), 1, + ACTIONS(121), 1, anon_sym_while, - ACTIONS(113), 1, + ACTIONS(123), 1, anon_sym_for, - ACTIONS(115), 1, + ACTIONS(125), 1, anon_sym_match, - ACTIONS(117), 1, + ACTIONS(127), 1, sym_identifier, - ACTIONS(172), 1, + ACTIONS(188), 1, anon_sym_RBRACE, - STATE(29), 1, - sym_array, - STATE(70), 1, - sym_expression, - STATE(126), 1, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(143), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(39), 2, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, sym_literal, sym_alloc_call, sym_enum_value, sym_function_call, - STATE(157), 4, + STATE(162), 4, sym_if_statement, sym_while_statement, sym_for_statement, @@ -3911,7 +4242,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_logic_block_repeat1, - [986] = 23, + [1107] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -3921,51 +4252,60 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(35), 1, anon_sym_alloc_LPAREN, ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(103), 1, + ACTIONS(113), 1, anon_sym_return, - ACTIONS(105), 1, + ACTIONS(115), 1, anon_sym_val, - ACTIONS(107), 1, + ACTIONS(117), 1, anon_sym_assert, - ACTIONS(109), 1, + ACTIONS(119), 1, anon_sym_if, - ACTIONS(111), 1, + ACTIONS(121), 1, anon_sym_while, - ACTIONS(113), 1, + ACTIONS(123), 1, anon_sym_for, - ACTIONS(115), 1, + ACTIONS(125), 1, anon_sym_match, - ACTIONS(117), 1, + ACTIONS(127), 1, sym_identifier, - ACTIONS(174), 1, + ACTIONS(190), 1, anon_sym_RBRACE, - STATE(29), 1, - sym_array, - STATE(70), 1, - sym_expression, - STATE(126), 1, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(143), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(39), 2, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, sym_literal, sym_alloc_call, sym_enum_value, sym_function_call, - STATE(157), 4, + STATE(162), 4, sym_if_statement, sym_while_statement, sym_for_statement, sym_match_statement, - STATE(7), 8, + STATE(6), 8, sym__statement, sym_return_statement, sym_expression_statement, @@ -3974,7 +4314,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_logic_block_repeat1, - [1072] = 23, + [1204] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -3984,51 +4324,60 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(35), 1, anon_sym_alloc_LPAREN, ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(103), 1, + ACTIONS(113), 1, anon_sym_return, - ACTIONS(105), 1, + ACTIONS(115), 1, anon_sym_val, - ACTIONS(107), 1, + ACTIONS(117), 1, anon_sym_assert, - ACTIONS(109), 1, + ACTIONS(119), 1, anon_sym_if, - ACTIONS(111), 1, + ACTIONS(121), 1, anon_sym_while, - ACTIONS(113), 1, + ACTIONS(123), 1, anon_sym_for, - ACTIONS(115), 1, + ACTIONS(125), 1, anon_sym_match, - ACTIONS(117), 1, + ACTIONS(127), 1, sym_identifier, - ACTIONS(176), 1, + ACTIONS(192), 1, anon_sym_RBRACE, - STATE(29), 1, - sym_array, - STATE(70), 1, - sym_expression, - STATE(126), 1, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(143), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(39), 2, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, sym_literal, sym_alloc_call, sym_enum_value, sym_function_call, - STATE(157), 4, + STATE(162), 4, sym_if_statement, sym_while_statement, sym_for_statement, sym_match_statement, - STATE(4), 8, + STATE(15), 8, sym__statement, sym_return_statement, sym_expression_statement, @@ -4037,7 +4386,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_logic_block_repeat1, - [1158] = 23, + [1301] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -4047,51 +4396,60 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(35), 1, anon_sym_alloc_LPAREN, ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(103), 1, + ACTIONS(113), 1, anon_sym_return, - ACTIONS(105), 1, + ACTIONS(115), 1, anon_sym_val, - ACTIONS(107), 1, + ACTIONS(117), 1, anon_sym_assert, - ACTIONS(109), 1, + ACTIONS(119), 1, anon_sym_if, - ACTIONS(111), 1, + ACTIONS(121), 1, anon_sym_while, - ACTIONS(113), 1, + ACTIONS(123), 1, anon_sym_for, - ACTIONS(115), 1, + ACTIONS(125), 1, anon_sym_match, - ACTIONS(117), 1, + ACTIONS(127), 1, sym_identifier, - ACTIONS(178), 1, + ACTIONS(194), 1, anon_sym_RBRACE, - STATE(29), 1, - sym_array, - STATE(70), 1, - sym_expression, - STATE(126), 1, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(143), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(39), 2, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, sym_literal, sym_alloc_call, sym_enum_value, sym_function_call, - STATE(157), 4, + STATE(162), 4, sym_if_statement, sym_while_statement, sym_for_statement, sym_match_statement, - STATE(16), 8, + STATE(6), 8, sym__statement, sym_return_statement, sym_expression_statement, @@ -4100,7 +4458,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_logic_block_repeat1, - [1244] = 23, + [1398] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -4110,46 +4468,55 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(35), 1, anon_sym_alloc_LPAREN, ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(103), 1, + ACTIONS(113), 1, anon_sym_return, - ACTIONS(105), 1, + ACTIONS(115), 1, anon_sym_val, - ACTIONS(107), 1, + ACTIONS(117), 1, anon_sym_assert, - ACTIONS(109), 1, + ACTIONS(119), 1, anon_sym_if, - ACTIONS(111), 1, + ACTIONS(121), 1, anon_sym_while, - ACTIONS(113), 1, + ACTIONS(123), 1, anon_sym_for, - ACTIONS(115), 1, + ACTIONS(125), 1, anon_sym_match, - ACTIONS(117), 1, + ACTIONS(127), 1, sym_identifier, - ACTIONS(180), 1, + ACTIONS(196), 1, anon_sym_RBRACE, - STATE(29), 1, - sym_array, - STATE(70), 1, - sym_expression, - STATE(126), 1, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(143), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(39), 2, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, sym_literal, sym_alloc_call, sym_enum_value, sym_function_call, - STATE(157), 4, + STATE(162), 4, sym_if_statement, sym_while_statement, sym_for_statement, @@ -4163,7 +4530,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_logic_block_repeat1, - [1330] = 23, + [1495] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -4173,46 +4540,55 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(35), 1, anon_sym_alloc_LPAREN, ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(103), 1, + ACTIONS(113), 1, anon_sym_return, - ACTIONS(105), 1, + ACTIONS(115), 1, anon_sym_val, - ACTIONS(107), 1, + ACTIONS(117), 1, anon_sym_assert, - ACTIONS(109), 1, + ACTIONS(119), 1, anon_sym_if, - ACTIONS(111), 1, + ACTIONS(121), 1, anon_sym_while, - ACTIONS(113), 1, + ACTIONS(123), 1, anon_sym_for, - ACTIONS(115), 1, + ACTIONS(125), 1, anon_sym_match, - ACTIONS(117), 1, + ACTIONS(127), 1, sym_identifier, - ACTIONS(182), 1, + ACTIONS(198), 1, anon_sym_RBRACE, - STATE(29), 1, - sym_array, - STATE(70), 1, - sym_expression, - STATE(126), 1, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(143), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(39), 2, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, sym_literal, sym_alloc_call, sym_enum_value, sym_function_call, - STATE(157), 4, + STATE(162), 4, sym_if_statement, sym_while_statement, sym_for_statement, @@ -4226,7 +4602,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_logic_block_repeat1, - [1416] = 23, + [1592] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -4236,51 +4612,60 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(35), 1, anon_sym_alloc_LPAREN, ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(103), 1, + ACTIONS(113), 1, anon_sym_return, - ACTIONS(105), 1, + ACTIONS(115), 1, anon_sym_val, - ACTIONS(107), 1, + ACTIONS(117), 1, anon_sym_assert, - ACTIONS(109), 1, + ACTIONS(119), 1, anon_sym_if, - ACTIONS(111), 1, + ACTIONS(121), 1, anon_sym_while, - ACTIONS(113), 1, + ACTIONS(123), 1, anon_sym_for, - ACTIONS(115), 1, + ACTIONS(125), 1, anon_sym_match, - ACTIONS(117), 1, + ACTIONS(127), 1, sym_identifier, - ACTIONS(184), 1, + ACTIONS(200), 1, anon_sym_RBRACE, - STATE(29), 1, - sym_array, - STATE(70), 1, - sym_expression, - STATE(126), 1, + STATE(85), 1, sym_prefix_operator, - STATE(297), 1, + STATE(143), 1, + sym_expression, + STATE(282), 1, sym_type, - ACTIONS(39), 2, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - STATE(47), 3, + sym_array, + STATE(113), 3, sym_binary_expression, sym_unary_expression, sym_primary_expression, - STATE(46), 4, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, sym_literal, sym_alloc_call, sym_enum_value, sym_function_call, - STATE(157), 4, + STATE(162), 4, sym_if_statement, sym_while_statement, sym_for_statement, sym_match_statement, - STATE(7), 8, + STATE(6), 8, sym__statement, sym_return_statement, sym_expression_statement, @@ -4289,31 +4674,31 @@ static const uint16_t ts_small_parse_table[] = { sym_assert_statement, sym_control_flow_statement, aux_sym_logic_block_repeat1, - [1502] = 11, + [1689] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(186), 1, + ACTIONS(202), 1, anon_sym_DOT, - ACTIONS(191), 1, + ACTIONS(207), 1, anon_sym_LPAREN, - ACTIONS(197), 1, + ACTIONS(213), 1, anon_sym_EQ, - ACTIONS(199), 1, + ACTIONS(215), 1, anon_sym_COLON_COLON, - STATE(44), 1, - sym_argument_list, - STATE(127), 1, + STATE(57), 1, sym_assignment_operator, - STATE(177), 1, + STATE(100), 1, + sym_argument_list, + STATE(179), 1, aux_sym_type_repeat1, - ACTIONS(189), 6, + ACTIONS(205), 6, anon_sym_SEMI, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_BANG_BANG, - ACTIONS(195), 10, + ACTIONS(211), 10, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -4324,7 +4709,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_PIPE_EQ, anon_sym_CARET_EQ, - ACTIONS(193), 12, + ACTIONS(209), 12, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, @@ -4337,31 +4722,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, anon_sym_PIPE, anon_sym_CARET, - [1561] = 11, + [1748] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(186), 1, + ACTIONS(202), 1, anon_sym_DOT, - ACTIONS(191), 1, + ACTIONS(207), 1, anon_sym_LPAREN, - ACTIONS(197), 1, + ACTIONS(213), 1, anon_sym_EQ, - ACTIONS(199), 1, + ACTIONS(215), 1, anon_sym_COLON_COLON, - STATE(44), 1, - sym_argument_list, - STATE(136), 1, + STATE(89), 1, sym_assignment_operator, - STATE(177), 1, + STATE(100), 1, + sym_argument_list, + STATE(179), 1, aux_sym_type_repeat1, - ACTIONS(189), 6, + ACTIONS(205), 6, anon_sym_SEMI, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_BANG_BANG, - ACTIONS(195), 10, + ACTIONS(211), 10, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -4372,7 +4757,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_PIPE_EQ, anon_sym_CARET_EQ, - ACTIONS(193), 12, + ACTIONS(209), 12, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, @@ -4385,136 +4770,178 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, anon_sym_PIPE, anon_sym_CARET, - [1620] = 8, + [1807] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(186), 1, - anon_sym_DOT, - ACTIONS(191), 1, + ACTIONS(221), 1, + anon_sym_elsif, + ACTIONS(223), 1, + anon_sym_else, + STATE(43), 1, + sym_else_clause, + STATE(22), 2, + sym_elsif_clause, + aux_sym_if_statement_repeat1, + ACTIONS(217), 10, + ts_builtin_sym_end, anon_sym_LPAREN, - ACTIONS(199), 1, - anon_sym_COLON_COLON, - STATE(44), 1, - sym_argument_list, - STATE(177), 1, - aux_sym_type_repeat1, - ACTIONS(193), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(189), 21, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(219), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [1666] = 5, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [1853] = 7, ACTIONS(3), 1, sym_comment, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(203), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(201), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, + ACTIONS(221), 1, + anon_sym_elsif, + ACTIONS(223), 1, + anon_sym_else, + STATE(56), 1, + sym_else_clause, + STATE(25), 2, + sym_elsif_clause, + aux_sym_if_statement_repeat1, + ACTIONS(225), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(227), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, + anon_sym_DASH, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [1899] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(229), 12, + ts_builtin_sym_end, anon_sym_COMMA, anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(231), 17, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [1704] = 5, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + anon_sym_elsif, + anon_sym_else, + sym_identifier, + sym_dec_int_literal, + [1936] = 3, ACTIONS(3), 1, sym_comment, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(207), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(205), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, + ACTIONS(233), 12, + ts_builtin_sym_end, anon_sym_COMMA, anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(235), 17, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [1742] = 7, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + anon_sym_elsif, + anon_sym_else, + sym_identifier, + sym_dec_int_literal, + [1973] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(213), 1, + ACTIONS(241), 1, anon_sym_elsif, - ACTIONS(215), 1, - anon_sym_else, - STATE(84), 1, - sym_else_clause, - STATE(27), 2, + STATE(25), 2, sym_elsif_clause, aux_sym_if_statement_repeat1, - ACTIONS(209), 7, + ACTIONS(237), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(211), 13, + ACTIONS(239), 16, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -4522,17 +4949,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, anon_sym_for, anon_sym_match, + anon_sym_else, sym_identifier, - [1783] = 4, + sym_dec_int_literal, + [2014] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(219), 1, + ACTIONS(202), 1, + anon_sym_DOT, + ACTIONS(207), 1, anon_sym_LPAREN, - ACTIONS(221), 2, + ACTIONS(215), 1, + anon_sym_COLON_COLON, + STATE(100), 1, + sym_argument_list, + STATE(179), 1, + aux_sym_type_repeat1, + ACTIONS(209), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(217), 22, - anon_sym_DOT, + ACTIONS(205), 21, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_COMMA, @@ -4554,64 +4990,97 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_BANG_BANG, anon_sym_RBRACK, - [1818] = 5, + [2060] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(225), 1, - anon_sym_LBRACE, - STATE(48), 1, - sym_alloc_block, - ACTIONS(227), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(223), 21, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + ACTIONS(223), 1, + anon_sym_else, + STATE(45), 1, + sym_else_clause, + ACTIONS(244), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(246), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [1855] = 7, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [2099] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(213), 1, + ACTIONS(248), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(250), 17, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, + anon_sym_DASH, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, anon_sym_elsif, - ACTIONS(215), 1, anon_sym_else, - STATE(94), 1, + sym_identifier, + sym_dec_int_literal, + [2134] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(223), 1, + anon_sym_else, + STATE(62), 1, sym_else_clause, - STATE(32), 2, - sym_elsif_clause, - aux_sym_if_statement_repeat1, - ACTIONS(229), 7, + ACTIONS(252), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(231), 13, + ACTIONS(254), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -4620,13 +5089,62 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [1896] = 3, + sym_dec_int_literal, + [2173] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_DASH, + ACTIONS(35), 1, + anon_sym_alloc_LPAREN, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, + anon_sym_LBRACK, + ACTIONS(256), 1, + sym_identifier, + ACTIONS(258), 1, + anon_sym_RBRACK, + STATE(85), 1, + sym_prefix_operator, + STATE(121), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [2233] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(235), 2, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(262), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(233), 22, + ACTIONS(260), 22, anon_sym_DOT, anon_sym_SEMI, anon_sym_LBRACE, @@ -4649,13 +5167,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_BANG_BANG, anon_sym_RBRACK, - [1928] = 3, + [2271] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(239), 2, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(266), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(237), 22, + ACTIONS(264), 22, anon_sym_DOT, anon_sym_SEMI, anon_sym_LBRACE, @@ -4678,25 +5200,115 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_BANG_BANG, anon_sym_RBRACK, - [1960] = 3, + [2309] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(241), 9, - ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_DASH, + ACTIONS(35), 1, + anon_sym_alloc_LPAREN, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, + anon_sym_LBRACK, + ACTIONS(256), 1, + sym_identifier, + ACTIONS(268), 1, + anon_sym_SEMI, + STATE(85), 1, + sym_prefix_operator, + STATE(148), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [2369] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, + ACTIONS(35), 1, anon_sym_alloc_LPAREN, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, + anon_sym_LBRACK, + ACTIONS(256), 1, + sym_identifier, + ACTIONS(270), 1, + anon_sym_RPAREN, + STATE(85), 1, + sym_prefix_operator, + STATE(117), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [2429] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(229), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(243), 15, + ACTIONS(231), 16, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -4704,60 +5316,147 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, anon_sym_for, anon_sym_match, - anon_sym_elsif, anon_sym_else, sym_identifier, - [1992] = 3, + sym_dec_int_literal, + [2463] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(247), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(245), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + ACTIONS(233), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(235), 16, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2024] = 5, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + anon_sym_else, + sym_identifier, + sym_dec_int_literal, + [2497] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(253), 1, - anon_sym_elsif, - STATE(32), 2, - sym_elsif_clause, - aux_sym_if_statement_repeat1, - ACTIONS(249), 7, - ts_builtin_sym_end, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + anon_sym_DASH, + ACTIONS(35), 1, + anon_sym_alloc_LPAREN, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, + anon_sym_LBRACK, + ACTIONS(256), 1, + sym_identifier, + ACTIONS(272), 1, + anon_sym_SEMI, + STATE(85), 1, + sym_prefix_operator, + STATE(144), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [2557] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, + ACTIONS(35), 1, anon_sym_alloc_LPAREN, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, + anon_sym_LBRACK, + ACTIONS(256), 1, + sym_identifier, + STATE(85), 1, + sym_prefix_operator, + STATE(125), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [2614] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(274), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(251), 14, + ACTIONS(276), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -4765,134 +5464,165 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, anon_sym_for, anon_sym_match, - anon_sym_else, sym_identifier, - [2060] = 3, + sym_dec_int_literal, + [2647] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(258), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(256), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2092] = 3, + ACTIONS(35), 1, + anon_sym_alloc_LPAREN, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, + anon_sym_LBRACK, + ACTIONS(256), 1, + sym_identifier, + STATE(85), 1, + sym_prefix_operator, + STATE(126), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [2704] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(262), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(260), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + ACTIONS(278), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(280), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2124] = 3, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [2737] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(266), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(264), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2156] = 3, + ACTIONS(35), 1, + anon_sym_alloc_LPAREN, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, + anon_sym_LBRACK, + ACTIONS(256), 1, + sym_identifier, + STATE(85), 1, + sym_prefix_operator, + STATE(122), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [2794] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(270), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(268), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + ACTIONS(225), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(227), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2188] = 3, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [2827] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(274), 2, + ACTIONS(284), 1, + anon_sym_LBRACE, + STATE(97), 1, + sym_alloc_block, + ACTIONS(286), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(272), 22, + ACTIONS(282), 21, anon_sym_DOT, anon_sym_SEMI, - anon_sym_LBRACE, anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RPAREN, @@ -4912,228 +5642,249 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, anon_sym_BANG_BANG, anon_sym_RBRACK, - [2220] = 3, + [2864] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(278), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(276), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + ACTIONS(288), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(290), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2252] = 3, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [2897] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(282), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(280), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + ACTIONS(292), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(294), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2284] = 3, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [2930] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(286), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(284), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2316] = 3, + ACTIONS(35), 1, + anon_sym_alloc_LPAREN, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, + anon_sym_LBRACK, + ACTIONS(256), 1, + sym_identifier, + STATE(85), 1, + sym_prefix_operator, + STATE(118), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [2987] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(290), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(288), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + ACTIONS(296), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(298), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2348] = 3, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [3020] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(294), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(292), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + ACTIONS(300), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(302), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2380] = 3, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [3053] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(298), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(296), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + ACTIONS(304), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(306), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2412] = 3, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [3086] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(302), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(300), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + ACTIONS(308), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(310), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2444] = 3, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [3119] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(304), 9, + ACTIONS(312), 10, ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(306), 15, + ACTIONS(314), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -5141,310 +5892,131 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, anon_sym_for, anon_sym_match, - anon_sym_elsif, - anon_sym_else, sym_identifier, - [2476] = 3, + sym_dec_int_literal, + [3152] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(189), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, + ACTIONS(316), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(318), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2508] = 3, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [3185] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(310), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(308), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2540] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(314), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(312), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2572] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(318), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(316), 22, - anon_sym_DOT, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - anon_sym_BANG_BANG, - anon_sym_RBRACK, - [2604] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(322), 1, - anon_sym_COMMA, - ACTIONS(324), 1, - anon_sym_RBRACE, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - STATE(224), 1, - aux_sym_alloc_block_repeat1, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [2647] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(330), 1, - anon_sym_COMMA, - ACTIONS(332), 1, - anon_sym_RBRACK, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - STATE(209), 1, - aux_sym_enum_value_repeat1, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [2690] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(330), 1, - anon_sym_COMMA, - ACTIONS(334), 1, - anon_sym_RPAREN, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - STATE(205), 1, - aux_sym_enum_value_repeat1, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [2733] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(330), 1, - anon_sym_COMMA, - ACTIONS(336), 1, - anon_sym_RPAREN, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - STATE(212), 1, - aux_sym_enum_value_repeat1, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [2776] = 7, + ACTIONS(35), 1, + anon_sym_alloc_LPAREN, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, + anon_sym_LBRACK, + ACTIONS(256), 1, + sym_identifier, + STATE(85), 1, + sym_prefix_operator, + STATE(120), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [3242] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(338), 3, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACK, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, + ACTIONS(320), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(322), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [2815] = 3, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [3275] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(340), 7, + ACTIONS(324), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(342), 15, + ACTIONS(326), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -5452,126 +6024,131 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, anon_sym_for, anon_sym_match, - anon_sym_elsif, - anon_sym_else, sym_identifier, - [2845] = 8, + sym_dec_int_literal, + [3308] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(344), 1, - anon_sym_LBRACE, - STATE(43), 1, - sym_suffix_operator, - STATE(101), 1, - sym_logic_block, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [2885] = 8, + ACTIONS(35), 1, + anon_sym_alloc_LPAREN, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, + anon_sym_LBRACK, + ACTIONS(256), 1, + sym_identifier, + STATE(85), 1, + sym_prefix_operator, + STATE(137), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [3365] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(43), 1, - sym_suffix_operator, - STATE(55), 1, - sym_logic_block, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, + ACTIONS(328), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(330), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [2925] = 8, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [3398] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(348), 1, - anon_sym_LBRACE, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - STATE(145), 1, - sym_logic_block, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, + ACTIONS(332), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(334), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [2965] = 5, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [3431] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(215), 1, - anon_sym_else, - STATE(85), 1, - sym_else_clause, - ACTIONS(350), 7, + ACTIONS(336), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(352), 13, + ACTIONS(338), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -5580,91 +6157,100 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [2999] = 8, + sym_dec_int_literal, + [3464] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(348), 1, - anon_sym_LBRACE, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - STATE(146), 1, - sym_logic_block, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3039] = 8, + ACTIONS(35), 1, + anon_sym_alloc_LPAREN, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, + anon_sym_LBRACK, + ACTIONS(256), 1, + sym_identifier, + STATE(32), 1, + sym_expression, + STATE(85), 1, + sym_prefix_operator, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [3521] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(344), 1, - anon_sym_LBRACE, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - STATE(144), 1, - sym_logic_block, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, + ACTIONS(340), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(342), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3079] = 5, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [3554] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(215), 1, - anon_sym_else, - STATE(97), 1, - sym_else_clause, - ACTIONS(354), 7, + ACTIONS(344), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(356), 13, + ACTIONS(346), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -5673,180 +6259,176 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [3113] = 8, + sym_dec_int_literal, + [3587] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(24), 1, - sym_logic_block, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, + ACTIONS(348), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(350), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3153] = 8, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [3620] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(358), 1, - anon_sym_LBRACE, - STATE(43), 1, - sym_suffix_operator, - STATE(59), 1, - sym_logic_block, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3193] = 8, + ACTIONS(35), 1, + anon_sym_alloc_LPAREN, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, + anon_sym_LBRACK, + ACTIONS(256), 1, + sym_identifier, + STATE(85), 1, + sym_prefix_operator, + STATE(119), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [3677] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(358), 1, - anon_sym_LBRACE, - STATE(43), 1, - sym_suffix_operator, - STATE(62), 1, - sym_logic_block, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3233] = 7, + ACTIONS(35), 1, + anon_sym_alloc_LPAREN, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, + anon_sym_LBRACK, + ACTIONS(256), 1, + sym_identifier, + STATE(85), 1, + sym_prefix_operator, + STATE(127), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [3734] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(360), 2, - anon_sym_COMMA, + ACTIONS(352), 1, + anon_sym_elsif, + ACTIONS(354), 1, + anon_sym_else, + STATE(152), 1, + sym_else_clause, + STATE(69), 2, + sym_elsif_clause, + aux_sym_if_statement_repeat1, + ACTIONS(217), 10, anon_sym_RBRACE, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3271] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(362), 1, - anon_sym_SEMI, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(219), 10, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3308] = 3, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [3775] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(304), 7, + ACTIONS(356), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(306), 14, + ACTIONS(358), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -5854,54 +6436,57 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, anon_sym_for, anon_sym_match, - anon_sym_else, sym_identifier, - [3337] = 7, + sym_dec_int_literal, + [3808] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(364), 1, - anon_sym_SEMI, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, + ACTIONS(352), 1, + anon_sym_elsif, + ACTIONS(354), 1, + anon_sym_else, + STATE(155), 1, + sym_else_clause, + STATE(114), 2, + sym_elsif_clause, + aux_sym_if_statement_repeat1, + ACTIONS(225), 10, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(227), 10, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3374] = 7, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + sym_identifier, + sym_dec_int_literal, + [3849] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(366), 1, - anon_sym_SEMI, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, + ACTIONS(362), 1, + anon_sym_LPAREN, + ACTIONS(364), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(320), 15, + ACTIONS(360), 22, anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, @@ -5916,23 +6501,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, anon_sym_PIPE, anon_sym_CARET, - [3411] = 3, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [3884] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(241), 7, + ACTIONS(229), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(243), 14, + ACTIONS(231), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -5940,265 +6531,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, anon_sym_for, anon_sym_match, - anon_sym_else, sym_identifier, - [3440] = 7, + sym_dec_int_literal, + [3917] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(368), 1, - anon_sym_SEMI, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, + ACTIONS(233), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + ACTIONS(235), 15, + anon_sym_import, + anon_sym_struct, + anon_sym_extension, + anon_sym_enum, + anon_sym_func, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3477] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(370), 1, - anon_sym_SEMI, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3514] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(372), 1, - anon_sym_SEMI, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3551] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(374), 1, - anon_sym_SEMI, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3588] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(376), 1, - anon_sym_RPAREN, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3625] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(378), 1, - anon_sym_SEMI, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3662] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(380), 1, - anon_sym_SEMI, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3699] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(328), 1, - anon_sym_BANG_BANG, - ACTIONS(382), 1, - anon_sym_SEMI, - STATE(43), 1, - sym_suffix_operator, - STATE(121), 1, - sym_binary_operator, - ACTIONS(326), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(320), 15, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_CARET, - [3736] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(384), 7, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - ACTIONS(386), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -6207,23 +6562,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [3764] = 3, + sym_dec_int_literal, + [3950] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(388), 7, + ACTIONS(366), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(390), 13, + ACTIONS(368), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -6232,23 +6592,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [3792] = 3, + sym_dec_int_literal, + [3983] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(392), 7, + ACTIONS(370), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(394), 13, + ACTIONS(372), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -6257,23 +6622,70 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [3820] = 3, + sym_dec_int_literal, + [4016] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(396), 7, - ts_builtin_sym_end, + ACTIONS(15), 1, anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, + ACTIONS(35), 1, anon_sym_alloc_LPAREN, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, + anon_sym_LBRACK, + ACTIONS(256), 1, + sym_identifier, + STATE(85), 1, + sym_prefix_operator, + STATE(140), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [4073] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(374), 10, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(398), 13, + ACTIONS(376), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -6282,23 +6694,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [3848] = 3, + sym_dec_int_literal, + [4106] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(229), 7, + ACTIONS(378), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(231), 13, + ACTIONS(380), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -6307,23 +6724,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [3876] = 3, + sym_dec_int_literal, + [4139] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(400), 7, + ACTIONS(382), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(402), 13, + ACTIONS(384), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -6332,23 +6754,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [3904] = 3, + sym_dec_int_literal, + [4172] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(404), 7, + ACTIONS(386), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(406), 13, + ACTIONS(388), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -6357,23 +6784,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [3932] = 3, + sym_dec_int_literal, + [4205] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(408), 7, + ACTIONS(390), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(410), 13, + ACTIONS(392), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -6382,23 +6814,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [3960] = 3, + sym_dec_int_literal, + [4238] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(412), 7, + ACTIONS(394), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(414), 13, + ACTIONS(396), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -6407,48 +6844,70 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [3988] = 3, + sym_dec_int_literal, + [4271] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(416), 7, - ts_builtin_sym_end, + ACTIONS(15), 1, anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, + ACTIONS(35), 1, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(418), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, + ACTIONS(256), 1, sym_identifier, - [4016] = 3, + STATE(85), 1, + sym_prefix_operator, + STATE(139), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [4328] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(420), 7, + ACTIONS(398), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(422), 13, + ACTIONS(400), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -6457,23 +6916,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [4044] = 3, + sym_dec_int_literal, + [4361] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(424), 7, + ACTIONS(402), 10, ts_builtin_sym_end, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(426), 13, + ACTIONS(404), 15, anon_sym_import, anon_sym_struct, anon_sym_extension, anon_sym_enum, anon_sym_func, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -6482,1435 +6946,1827 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [4072] = 3, + sym_dec_int_literal, + [4394] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(428), 7, - ts_builtin_sym_end, + ACTIONS(15), 1, anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, + ACTIONS(35), 1, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(430), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, + ACTIONS(256), 1, sym_identifier, - [4100] = 3, + STATE(31), 1, + sym_expression, + STATE(85), 1, + sym_prefix_operator, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [4451] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(432), 7, - ts_builtin_sym_end, + ACTIONS(15), 1, anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, + ACTIONS(35), 1, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(434), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, + ACTIONS(256), 1, sym_identifier, - [4128] = 3, + STATE(85), 1, + sym_prefix_operator, + STATE(145), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [4508] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(436), 7, - ts_builtin_sym_end, + ACTIONS(15), 1, anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, + ACTIONS(35), 1, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(438), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, + ACTIONS(256), 1, sym_identifier, - [4156] = 3, + STATE(85), 1, + sym_prefix_operator, + STATE(135), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [4565] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(440), 7, - ts_builtin_sym_end, + ACTIONS(15), 1, anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, + ACTIONS(35), 1, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(442), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, + ACTIONS(256), 1, sym_identifier, - [4184] = 3, + STATE(85), 1, + sym_prefix_operator, + STATE(132), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [4622] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(444), 7, - ts_builtin_sym_end, + ACTIONS(15), 1, anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, + ACTIONS(35), 1, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(446), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, + ACTIONS(256), 1, sym_identifier, - [4212] = 3, + STATE(85), 1, + sym_prefix_operator, + STATE(146), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [4679] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(448), 7, - ts_builtin_sym_end, + ACTIONS(15), 1, anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, + ACTIONS(35), 1, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(450), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, + ACTIONS(256), 1, sym_identifier, - [4240] = 3, + STATE(85), 1, + sym_prefix_operator, + STATE(147), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, + sym_number, + sym_string, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [4736] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(452), 7, - ts_builtin_sym_end, + ACTIONS(15), 1, anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, + ACTIONS(35), 1, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(454), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, + ACTIONS(256), 1, sym_identifier, - [4268] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(456), 7, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_alloc_LPAREN, + STATE(85), 1, + sym_prefix_operator, + STATE(133), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - anon_sym_LBRACK, - ACTIONS(458), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - sym_identifier, - [4296] = 3, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [4793] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(460), 7, - ts_builtin_sym_end, + ACTIONS(15), 1, anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, + ACTIONS(35), 1, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(462), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, + ACTIONS(256), 1, sym_identifier, - [4324] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(464), 1, - anon_sym_elsif, - ACTIONS(466), 1, - anon_sym_else, - STATE(154), 1, - sym_else_clause, - STATE(102), 2, - sym_elsif_clause, - aux_sym_if_statement_repeat1, - ACTIONS(209), 7, - anon_sym_RBRACE, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_alloc_LPAREN, + STATE(85), 1, + sym_prefix_operator, + STATE(134), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - anon_sym_LBRACK, - ACTIONS(211), 8, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - sym_identifier, - [4360] = 7, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [4850] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(464), 1, - anon_sym_elsif, - ACTIONS(466), 1, - anon_sym_else, - STATE(161), 1, - sym_else_clause, - STATE(117), 2, - sym_elsif_clause, - aux_sym_if_statement_repeat1, - ACTIONS(229), 7, - anon_sym_RBRACE, + ACTIONS(15), 1, anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, + ACTIONS(35), 1, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(231), 8, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, + ACTIONS(256), 1, sym_identifier, - [4396] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(304), 7, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_alloc_LPAREN, + STATE(85), 1, + sym_prefix_operator, + STATE(123), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - anon_sym_LBRACK, - ACTIONS(306), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - sym_identifier, - [4424] = 3, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [4907] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(241), 7, - ts_builtin_sym_end, + ACTIONS(15), 1, anon_sym_LPAREN, + ACTIONS(19), 1, anon_sym_DASH, + ACTIONS(35), 1, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + ACTIONS(41), 1, + sym_dec_int_literal, + ACTIONS(45), 1, anon_sym_LBRACK, - ACTIONS(243), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, + ACTIONS(256), 1, sym_identifier, - [4452] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(468), 7, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_alloc_LPAREN, + STATE(85), 1, + sym_prefix_operator, + STATE(138), 1, + sym_expression, + STATE(282), 1, + sym_type, + ACTIONS(43), 2, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + STATE(95), 3, sym_number, sym_string, - anon_sym_LBRACK, - ACTIONS(470), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - sym_identifier, - [4480] = 3, + sym_array, + STATE(113), 3, + sym_binary_expression, + sym_unary_expression, + sym_primary_expression, + ACTIONS(39), 4, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + STATE(115), 4, + sym_literal, + sym_alloc_call, + sym_enum_value, + sym_function_call, + [4964] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(472), 7, - ts_builtin_sym_end, - anon_sym_LPAREN, + ACTIONS(408), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(406), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - ACTIONS(474), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - sym_identifier, - [4508] = 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [4996] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(476), 7, - ts_builtin_sym_end, - anon_sym_LPAREN, + ACTIONS(412), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(410), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - ACTIONS(478), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - sym_identifier, - [4536] = 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5028] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(480), 7, - ts_builtin_sym_end, - anon_sym_LPAREN, + ACTIONS(416), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(414), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - ACTIONS(482), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - sym_identifier, - [4564] = 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5060] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(484), 7, - ts_builtin_sym_end, - anon_sym_LPAREN, + ACTIONS(420), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(418), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - ACTIONS(486), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - sym_identifier, - [4592] = 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5092] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(488), 7, - ts_builtin_sym_end, - anon_sym_LPAREN, + ACTIONS(424), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(422), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - ACTIONS(490), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - sym_identifier, - [4620] = 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5124] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(492), 7, - ts_builtin_sym_end, - anon_sym_LPAREN, + ACTIONS(428), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(426), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - ACTIONS(494), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - sym_identifier, - [4648] = 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5156] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(496), 7, - ts_builtin_sym_end, - anon_sym_LPAREN, + ACTIONS(432), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(430), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - ACTIONS(498), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - sym_identifier, - [4676] = 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5188] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(500), 7, - ts_builtin_sym_end, - anon_sym_LPAREN, + ACTIONS(436), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(434), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - ACTIONS(502), 13, - anon_sym_import, - anon_sym_struct, - anon_sym_extension, - anon_sym_enum, - anon_sym_func, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - sym_identifier, - [4704] = 14, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5220] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(504), 1, + ACTIONS(440), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(438), 22, + anon_sym_DOT, anon_sym_SEMI, - ACTIONS(506), 1, - sym_identifier, - STATE(29), 1, - sym_array, - STATE(77), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [4753] = 14, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5252] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - ACTIONS(508), 1, + ACTIONS(444), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(442), 22, + anon_sym_DOT, anon_sym_SEMI, - STATE(29), 1, - sym_array, - STATE(67), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [4802] = 14, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5284] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(448), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(446), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - ACTIONS(510), 1, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, anon_sym_RBRACK, - STATE(29), 1, - sym_array, - STATE(51), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [4851] = 5, + [5316] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(512), 1, - anon_sym_elsif, - STATE(117), 2, - sym_elsif_clause, - aux_sym_if_statement_repeat1, - ACTIONS(249), 7, + ACTIONS(452), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(450), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, anon_sym_RBRACE, - anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - ACTIONS(251), 9, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - anon_sym_else, - sym_identifier, - [4882] = 14, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5348] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - ACTIONS(515), 1, + ACTIONS(456), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(454), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, anon_sym_RPAREN, - STATE(29), 1, - sym_array, - STATE(53), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [4931] = 13, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5380] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - STATE(29), 1, - sym_array, - STATE(73), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [4977] = 13, + ACTIONS(460), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(458), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5412] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(464), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(462), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - STATE(29), 1, - sym_array, - STATE(76), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5023] = 13, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5444] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(468), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(466), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - STATE(23), 1, - sym_expression, - STATE(29), 1, - sym_array, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5069] = 13, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5476] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(472), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(470), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - STATE(29), 1, - sym_array, - STATE(57), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5115] = 13, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5508] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(476), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(474), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(35), 1, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5540] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(480), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(478), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5572] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(482), 1, + anon_sym_elsif, + STATE(114), 2, + sym_elsif_clause, + aux_sym_if_statement_repeat1, + ACTIONS(237), 10, + anon_sym_RBRACE, + anon_sym_LPAREN, anon_sym_alloc_LPAREN, - ACTIONS(41), 1, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(506), 1, + ACTIONS(239), 11, + anon_sym_DASH, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + anon_sym_else, sym_identifier, - STATE(29), 1, - sym_array, - STATE(63), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5161] = 13, + sym_dec_int_literal, + [5608] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(209), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(205), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5640] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(487), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(485), 22, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_BANG_BANG, + anon_sym_RBRACK, + [5672] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(491), 1, + anon_sym_COMMA, + ACTIONS(493), 1, + anon_sym_RPAREN, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + STATE(213), 1, + aux_sym_enum_value_repeat1, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - STATE(29), 1, - sym_array, - STATE(64), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5207] = 13, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [5715] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(491), 1, + anon_sym_COMMA, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(499), 1, + anon_sym_RPAREN, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + STATE(219), 1, + aux_sym_enum_value_repeat1, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - STATE(29), 1, - sym_array, - STATE(52), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5253] = 13, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [5758] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(501), 1, + anon_sym_COMMA, + ACTIONS(503), 1, + anon_sym_RBRACE, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + STATE(202), 1, + aux_sym_alloc_block_repeat1, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - STATE(22), 1, - sym_expression, - STATE(29), 1, - sym_array, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5299] = 13, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [5801] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(505), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACK, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - STATE(29), 1, - sym_array, - STATE(75), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5345] = 13, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [5840] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(491), 1, + anon_sym_COMMA, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(507), 1, + anon_sym_RBRACK, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + STATE(203), 1, + aux_sym_enum_value_repeat1, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - STATE(29), 1, - sym_array, - STATE(54), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5391] = 13, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [5883] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(509), 1, + anon_sym_LBRACE, + STATE(28), 1, + sym_logic_block, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - STATE(29), 1, - sym_array, - STATE(50), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5437] = 13, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [5923] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(509), 1, + anon_sym_LBRACE, + STATE(21), 1, + sym_logic_block, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - STATE(29), 1, - sym_array, - STATE(78), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5483] = 13, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [5963] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, + ACTIONS(354), 1, + anon_sym_else, + STATE(153), 1, + sym_else_clause, + ACTIONS(244), 10, + anon_sym_RBRACE, anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_DASH, - ACTIONS(35), 1, anon_sym_alloc_LPAREN, - ACTIONS(41), 1, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(506), 1, + ACTIONS(246), 10, + anon_sym_DASH, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, sym_identifier, - STATE(29), 1, - sym_array, - STATE(66), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5529] = 13, + sym_dec_int_literal, + [5997] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(511), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - STATE(29), 1, - sym_array, - STATE(79), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5575] = 13, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6035] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(513), 1, + anon_sym_LBRACE, + STATE(27), 1, + sym_logic_block, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - STATE(29), 1, - sym_array, - STATE(69), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5621] = 13, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6075] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(513), 1, + anon_sym_LBRACE, STATE(29), 1, - sym_array, - STATE(56), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5667] = 13, + sym_logic_block, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6115] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, + ACTIONS(354), 1, + anon_sym_else, + STATE(158), 1, + sym_else_clause, + ACTIONS(252), 10, + anon_sym_RBRACE, anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_DASH, - ACTIONS(35), 1, anon_sym_alloc_LPAREN, - ACTIONS(41), 1, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(506), 1, + ACTIONS(254), 10, + anon_sym_DASH, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, sym_identifier, - STATE(29), 1, - sym_array, - STATE(58), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5713] = 13, + sym_dec_int_literal, + [6149] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, + ACTIONS(248), 10, + anon_sym_RBRACE, anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_DASH, - ACTIONS(35), 1, anon_sym_alloc_LPAREN, - ACTIONS(41), 1, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(506), 1, + ACTIONS(250), 12, + anon_sym_DASH, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + anon_sym_elsif, + anon_sym_else, sym_identifier, - STATE(29), 1, - sym_array, - STATE(72), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5759] = 13, + sym_dec_int_literal, + [6179] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, + ACTIONS(233), 10, + anon_sym_RBRACE, anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_DASH, - ACTIONS(35), 1, anon_sym_alloc_LPAREN, - ACTIONS(41), 1, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(506), 1, + ACTIONS(235), 12, + anon_sym_DASH, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + anon_sym_elsif, + anon_sym_else, sym_identifier, - STATE(29), 1, - sym_array, - STATE(65), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5805] = 13, + sym_dec_int_literal, + [6209] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, + ACTIONS(229), 10, + anon_sym_RBRACE, anon_sym_LPAREN, - ACTIONS(19), 1, - anon_sym_DASH, - ACTIONS(35), 1, anon_sym_alloc_LPAREN, - ACTIONS(41), 1, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(506), 1, + ACTIONS(231), 12, + anon_sym_DASH, + anon_sym_return, + anon_sym_val, + anon_sym_assert, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_match, + anon_sym_elsif, + anon_sym_else, sym_identifier, - STATE(29), 1, - sym_array, - STATE(60), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5851] = 13, + sym_dec_int_literal, + [6239] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(515), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + STATE(124), 1, + sym_logic_block, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6279] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(515), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + STATE(128), 1, + sym_logic_block, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6319] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(517), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + STATE(129), 1, + sym_logic_block, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6359] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(517), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym_binary_operator, + STATE(67), 1, + sym_logic_block, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6399] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(519), 1, + anon_sym_SEMI, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6436] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(521), 1, + anon_sym_SEMI, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6473] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(523), 1, + anon_sym_RPAREN, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6510] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(525), 1, + anon_sym_SEMI, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, anon_sym_DASH, - ACTIONS(35), 1, - anon_sym_alloc_LPAREN, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(506), 1, - sym_identifier, - STATE(29), 1, - sym_array, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6547] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(527), 1, + anon_sym_SEMI, STATE(61), 1, - sym_expression, - STATE(126), 1, - sym_prefix_operator, - STATE(297), 1, - sym_type, - ACTIONS(39), 2, - sym_number, - sym_string, - STATE(47), 3, - sym_binary_expression, - sym_unary_expression, - sym_primary_expression, - STATE(46), 4, - sym_literal, - sym_alloc_call, - sym_enum_value, - sym_function_call, - [5897] = 3, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6584] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(304), 7, + ACTIONS(229), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(306), 10, + ACTIONS(231), 11, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -7918,21 +8774,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, anon_sym_for, anon_sym_match, - anon_sym_elsif, anon_sym_else, sym_identifier, - [5922] = 3, + sym_dec_int_literal, + [6613] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(241), 7, + ACTIONS(233), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(243), 10, + ACTIONS(235), 11, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -7940,16 +8800,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, anon_sym_for, anon_sym_match, - anon_sym_elsif, anon_sym_else, sym_identifier, - [5947] = 3, + sym_dec_int_literal, + [6642] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(519), 2, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(529), 1, + anon_sym_SEMI, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(517), 15, + ACTIONS(489), 15, + anon_sym_DOT, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, @@ -7964,14 +8833,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, anon_sym_PIPE, anon_sym_CARET, - anon_sym_u_DASH, - [5972] = 3, + [6679] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(523), 2, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(531), 1, + anon_sym_SEMI, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(521), 15, + ACTIONS(489), 15, + anon_sym_DOT, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, @@ -7986,110 +8863,142 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, anon_sym_PIPE, anon_sym_CARET, - anon_sym_u_DASH, - [5997] = 3, + [6716] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(340), 7, - anon_sym_RBRACE, - anon_sym_LPAREN, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(533), 1, + anon_sym_SEMI, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - ACTIONS(342), 10, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - anon_sym_elsif, - anon_sym_else, - sym_identifier, - [6022] = 5, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6753] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(466), 1, - anon_sym_else, - STATE(159), 1, - sym_else_clause, - ACTIONS(350), 7, - anon_sym_RBRACE, - anon_sym_LPAREN, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(535), 1, + anon_sym_SEMI, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - ACTIONS(352), 8, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - sym_identifier, - [6051] = 5, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6790] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(466), 1, - anon_sym_else, - STATE(165), 1, - sym_else_clause, - ACTIONS(354), 7, - anon_sym_RBRACE, - anon_sym_LPAREN, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(537), 1, + anon_sym_SEMI, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - ACTIONS(356), 8, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - sym_identifier, - [6080] = 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6827] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(241), 7, - anon_sym_RBRACE, - anon_sym_LPAREN, + ACTIONS(497), 1, + anon_sym_BANG_BANG, + ACTIONS(539), 1, + anon_sym_SEMI, + STATE(61), 1, + sym_binary_operator, + STATE(105), 1, + sym_suffix_operator, + ACTIONS(495), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(489), 15, + anon_sym_DOT, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - ACTIONS(243), 9, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - anon_sym_else, - sym_identifier, - [6104] = 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + [6864] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(304), 7, + ACTIONS(398), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(306), 9, + ACTIONS(400), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8097,20 +9006,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_while, anon_sym_for, anon_sym_match, - anon_sym_else, sym_identifier, - [6128] = 3, + sym_dec_int_literal, + [6892] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(488), 7, + ACTIONS(356), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(490), 8, + ACTIONS(358), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8119,18 +9032,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6151] = 3, + sym_dec_int_literal, + [6920] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(492), 7, + ACTIONS(292), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(494), 8, + ACTIONS(294), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8139,18 +9057,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6174] = 3, + sym_dec_int_literal, + [6948] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(440), 7, + ACTIONS(225), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(442), 8, + ACTIONS(227), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8159,18 +9082,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6197] = 3, + sym_dec_int_literal, + [6976] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(304), 7, + ACTIONS(288), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(306), 8, + ACTIONS(290), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8179,18 +9107,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6220] = 3, + sym_dec_int_literal, + [7004] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(460), 7, + ACTIONS(312), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(462), 8, + ACTIONS(314), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8199,18 +9132,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6243] = 3, + sym_dec_int_literal, + [7032] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(229), 7, + ACTIONS(324), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(231), 8, + ACTIONS(326), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8219,18 +9157,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6266] = 3, + sym_dec_int_literal, + [7060] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(496), 7, + ACTIONS(320), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(498), 8, + ACTIONS(322), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8239,18 +9182,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6289] = 3, + sym_dec_int_literal, + [7088] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(241), 7, + ACTIONS(332), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(243), 8, + ACTIONS(334), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8259,18 +9207,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6312] = 3, + sym_dec_int_literal, + [7116] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(468), 7, + ACTIONS(340), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(470), 8, + ACTIONS(342), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8279,18 +9232,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6335] = 3, + sym_dec_int_literal, + [7144] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(404), 7, + ACTIONS(344), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(406), 8, + ACTIONS(346), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8299,18 +9257,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6358] = 3, + sym_dec_int_literal, + [7172] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(400), 7, + ACTIONS(328), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(402), 8, + ACTIONS(330), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8319,18 +9282,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6381] = 3, + sym_dec_int_literal, + [7200] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(408), 7, + ACTIONS(229), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(410), 8, + ACTIONS(231), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8339,18 +9307,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6404] = 3, + sym_dec_int_literal, + [7228] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(436), 7, + ACTIONS(402), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(438), 8, + ACTIONS(404), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8359,18 +9332,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6427] = 3, + sym_dec_int_literal, + [7256] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(432), 7, + ACTIONS(233), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(434), 8, + ACTIONS(235), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8379,18 +9357,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6450] = 3, + sym_dec_int_literal, + [7284] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(428), 7, + ACTIONS(390), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(430), 8, + ACTIONS(392), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8399,18 +9382,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6473] = 3, + sym_dec_int_literal, + [7312] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(500), 7, + ACTIONS(394), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(502), 8, + ACTIONS(396), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8419,18 +9407,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6496] = 3, + sym_dec_int_literal, + [7340] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(448), 7, + ACTIONS(316), 10, anon_sym_RBRACE, anon_sym_LPAREN, - anon_sym_DASH, anon_sym_alloc_LPAREN, - sym_number, - sym_string, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, anon_sym_LBRACK, - ACTIONS(450), 8, + ACTIONS(318), 10, + anon_sym_DASH, anon_sym_return, anon_sym_val, anon_sym_assert, @@ -8439,34 +9432,59 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_match, sym_identifier, - [6519] = 3, + sym_dec_int_literal, + [7368] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(452), 7, - anon_sym_RBRACE, - anon_sym_LPAREN, + ACTIONS(543), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(541), 15, + anon_sym_PLUS, anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - ACTIONS(454), 8, - anon_sym_return, - anon_sym_val, - anon_sym_assert, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_match, - sym_identifier, - [6542] = 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_u_DASH, + [7393] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(525), 1, + ACTIONS(547), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(545), 15, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_u_DASH, + [7418] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(549), 1, anon_sym_SEMI, - STATE(119), 1, + STATE(82), 1, sym_assignment_operator, - ACTIONS(195), 11, + ACTIONS(211), 11, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -8478,14 +9496,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_EQ, anon_sym_CARET_EQ, anon_sym_EQ, - [6565] = 4, + [7441] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(527), 1, + ACTIONS(551), 1, anon_sym_SEMI, - STATE(132), 1, + STATE(90), 1, sym_assignment_operator, - ACTIONS(195), 11, + ACTIONS(211), 11, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -8497,1384 +9515,1401 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_EQ, anon_sym_CARET_EQ, anon_sym_EQ, - [6588] = 7, + [7464] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(529), 1, + ACTIONS(555), 3, + anon_sym_DASH, + sym_identifier, + sym_dec_int_literal, + ACTIONS(553), 9, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + [7484] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(559), 3, + anon_sym_DASH, + sym_identifier, + sym_dec_int_literal, + ACTIONS(557), 9, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + [7504] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(563), 3, + anon_sym_DASH, + sym_identifier, + sym_dec_int_literal, + ACTIONS(561), 9, + anon_sym_LPAREN, + anon_sym_alloc_LPAREN, + sym_fp_literal, + sym_hex_int_literal, + sym_oct_int_literal, + sym_bin_int_literal, + sym_str_literal_dbl_qt, + sym_str_literal_sgl_qt, + anon_sym_LBRACK, + [7524] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(565), 1, anon_sym_RBRACE, - ACTIONS(531), 1, + ACTIONS(567), 1, anon_sym_func, - ACTIONS(533), 1, + ACTIONS(570), 1, anon_sym_type, - ACTIONS(535), 1, + ACTIONS(573), 1, anon_sym_reverse, - ACTIONS(537), 1, + ACTIONS(576), 1, anon_sym_operator, - STATE(172), 4, + STATE(174), 4, sym_function_definition, sym_type_function_definition, sym_operator_override, aux_sym_struct_block_repeat1, - [6613] = 7, + [7549] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(531), 1, + ACTIONS(579), 1, + anon_sym_RBRACE, + ACTIONS(581), 1, anon_sym_func, - ACTIONS(533), 1, + ACTIONS(583), 1, anon_sym_type, - ACTIONS(535), 1, + ACTIONS(585), 1, anon_sym_reverse, - ACTIONS(537), 1, + ACTIONS(587), 1, anon_sym_operator, - ACTIONS(539), 1, - anon_sym_RBRACE, - STATE(173), 4, + STATE(174), 4, sym_function_definition, sym_type_function_definition, sym_operator_override, aux_sym_struct_block_repeat1, - [6638] = 7, + [7574] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(531), 1, + ACTIONS(581), 1, anon_sym_func, - ACTIONS(533), 1, + ACTIONS(583), 1, anon_sym_type, - ACTIONS(535), 1, + ACTIONS(585), 1, anon_sym_reverse, - ACTIONS(537), 1, + ACTIONS(587), 1, anon_sym_operator, - ACTIONS(541), 1, + ACTIONS(589), 1, anon_sym_RBRACE, - STATE(169), 4, + STATE(175), 4, sym_function_definition, sym_type_function_definition, sym_operator_override, aux_sym_struct_block_repeat1, - [6663] = 7, + [7599] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(543), 1, - anon_sym_RBRACE, - ACTIONS(545), 1, + ACTIONS(581), 1, anon_sym_func, - ACTIONS(548), 1, + ACTIONS(583), 1, anon_sym_type, - ACTIONS(551), 1, + ACTIONS(585), 1, anon_sym_reverse, - ACTIONS(554), 1, + ACTIONS(587), 1, anon_sym_operator, - STATE(172), 4, + ACTIONS(591), 1, + anon_sym_RBRACE, + STATE(178), 4, sym_function_definition, sym_type_function_definition, sym_operator_override, aux_sym_struct_block_repeat1, - [6688] = 7, + [7624] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(531), 1, + ACTIONS(581), 1, anon_sym_func, - ACTIONS(533), 1, + ACTIONS(583), 1, anon_sym_type, - ACTIONS(535), 1, + ACTIONS(585), 1, anon_sym_reverse, - ACTIONS(537), 1, + ACTIONS(587), 1, anon_sym_operator, - ACTIONS(557), 1, + ACTIONS(593), 1, anon_sym_RBRACE, - STATE(172), 4, + STATE(174), 4, sym_function_definition, sym_type_function_definition, sym_operator_override, aux_sym_struct_block_repeat1, - [6713] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(561), 1, - sym_identifier, - ACTIONS(559), 6, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - [6728] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(565), 1, - sym_identifier, - ACTIONS(563), 6, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - [6743] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(569), 1, - sym_identifier, - ACTIONS(567), 6, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_alloc_LPAREN, - sym_number, - sym_string, - anon_sym_LBRACK, - [6758] = 4, + [7649] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(571), 1, + ACTIONS(595), 1, anon_sym_DOT, - STATE(178), 1, + STATE(180), 1, aux_sym_type_repeat1, - ACTIONS(573), 4, + ACTIONS(597), 4, anon_sym_LBRACE, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_COLON_COLON, - [6774] = 4, + [7665] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(575), 1, + ACTIONS(599), 1, anon_sym_DOT, - STATE(178), 1, + STATE(180), 1, aux_sym_type_repeat1, - ACTIONS(578), 4, + ACTIONS(602), 4, anon_sym_LBRACE, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_COLON_COLON, - [6790] = 2, + [7681] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(604), 1, + anon_sym_struct, + ACTIONS(606), 1, + anon_sym_case, + STATE(210), 1, + sym_enum_case, + STATE(200), 2, + sym_struct_definition, + aux_sym_enum_block_repeat1, + [7698] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(424), 5, + ACTIONS(608), 5, anon_sym_RBRACE, anon_sym_func, anon_sym_type, anon_sym_reverse, anon_sym_operator, - [6801] = 2, + [7709] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(580), 5, + ACTIONS(610), 5, anon_sym_RBRACE, anon_sym_func, anon_sym_type, anon_sym_reverse, anon_sym_operator, - [6812] = 2, + [7720] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(582), 5, + ACTIONS(308), 5, anon_sym_RBRACE, anon_sym_func, anon_sym_type, anon_sym_reverse, anon_sym_operator, - [6823] = 2, + [7731] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(595), 1, + anon_sym_DOT, + STATE(179), 1, + aux_sym_type_repeat1, + ACTIONS(215), 3, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + [7746] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(584), 5, + ACTIONS(233), 5, anon_sym_RBRACE, anon_sym_func, anon_sym_type, anon_sym_reverse, anon_sym_operator, - [6834] = 2, + [7757] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(396), 5, + ACTIONS(229), 5, anon_sym_RBRACE, anon_sym_func, anon_sym_type, anon_sym_reverse, anon_sym_operator, - [6845] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(578), 5, - anon_sym_DOT, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_COLON_COLON, - [6856] = 5, + [7768] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(586), 1, + ACTIONS(604), 1, anon_sym_struct, - ACTIONS(588), 1, + ACTIONS(606), 1, anon_sym_case, - STATE(204), 1, + STATE(206), 1, sym_enum_case, - STATE(195), 2, + STATE(181), 2, sym_struct_definition, aux_sym_enum_block_repeat1, - [6873] = 2, + [7785] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(304), 5, + ACTIONS(612), 5, anon_sym_RBRACE, anon_sym_func, anon_sym_type, anon_sym_reverse, anon_sym_operator, - [6884] = 2, + [7796] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(241), 5, + ACTIONS(274), 5, anon_sym_RBRACE, anon_sym_func, anon_sym_type, anon_sym_reverse, anon_sym_operator, - [6895] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(590), 5, - anon_sym_RBRACE, - anon_sym_func, - anon_sym_type, - anon_sym_reverse, - anon_sym_operator, - [6906] = 5, + [7807] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(586), 1, - anon_sym_struct, - ACTIONS(588), 1, - anon_sym_case, - STATE(202), 1, - sym_enum_case, - STATE(185), 2, - sym_struct_definition, - aux_sym_enum_block_repeat1, - [6923] = 2, + ACTIONS(602), 5, + anon_sym_DOT, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON_COLON, + [7818] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(592), 5, + ACTIONS(614), 5, anon_sym_RBRACE, anon_sym_func, anon_sym_type, anon_sym_reverse, anon_sym_operator, - [6934] = 4, + [7829] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(571), 1, - anon_sym_DOT, - STATE(177), 1, - aux_sym_type_repeat1, - ACTIONS(199), 3, - anon_sym_LBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - [6949] = 2, + ACTIONS(616), 5, + anon_sym_RBRACE, + anon_sym_func, + anon_sym_type, + anon_sym_reverse, + anon_sym_operator, + [7840] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(594), 5, + ACTIONS(618), 5, anon_sym_RBRACE, anon_sym_func, anon_sym_type, anon_sym_reverse, anon_sym_operator, - [6960] = 5, + [7851] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(596), 1, - anon_sym_LBRACE, - ACTIONS(598), 1, + ACTIONS(620), 1, + anon_sym_RPAREN, + ACTIONS(622), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(624), 1, sym_identifier, - STATE(192), 1, - sym_logic_block, - STATE(228), 1, - sym_type, - [6976] = 4, + STATE(288), 1, + sym_parameter, + [7867] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(600), 1, + ACTIONS(626), 1, anon_sym_COMMA, - STATE(194), 1, + STATE(196), 1, aux_sym_enum_value_repeat1, - ACTIONS(338), 2, + ACTIONS(505), 2, anon_sym_RPAREN, anon_sym_RBRACK, - [6990] = 4, + [7881] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(603), 1, - anon_sym_struct, - ACTIONS(606), 1, - anon_sym_case, - STATE(195), 2, - sym_struct_definition, - aux_sym_enum_block_repeat1, - [7004] = 5, + ACTIONS(629), 1, + anon_sym_from, + ACTIONS(631), 1, + anon_sym_DOT, + ACTIONS(633), 1, + anon_sym_SEMI, + ACTIONS(635), 1, + sym_identifier, + [7897] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(596), 1, + ACTIONS(637), 1, anon_sym_LBRACE, - ACTIONS(598), 1, + ACTIONS(639), 1, sym_identifier, - STATE(183), 1, + STATE(39), 1, sym_logic_block, - STATE(251), 1, + STATE(255), 1, sym_type, - [7020] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(608), 1, - anon_sym_RPAREN, - ACTIONS(610), 1, - anon_sym_DOT_DOT_DOT, - ACTIONS(612), 1, - sym_identifier, - STATE(286), 1, - sym_parameter, - [7036] = 5, + [7913] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(598), 1, + ACTIONS(639), 1, sym_identifier, - ACTIONS(614), 1, + ACTIONS(641), 1, anon_sym_LBRACE, - STATE(83), 1, + STATE(190), 1, sym_logic_block, - STATE(256), 1, + STATE(253), 1, sym_type, - [7052] = 5, + [7929] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(616), 1, - anon_sym_from, - ACTIONS(618), 1, - anon_sym_DOT, - ACTIONS(620), 1, - anon_sym_SEMI, - ACTIONS(622), 1, - sym_identifier, - [7068] = 4, + ACTIONS(643), 1, + anon_sym_struct, + ACTIONS(646), 1, + anon_sym_case, + STATE(200), 2, + sym_struct_definition, + aux_sym_enum_block_repeat1, + [7943] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(624), 1, - anon_sym_SEMI, - ACTIONS(626), 1, + ACTIONS(639), 1, sym_identifier, - STATE(200), 1, - aux_sym_import_repeat1, - [7081] = 3, + ACTIONS(641), 1, + anon_sym_LBRACE, + STATE(193), 1, + sym_logic_block, + STATE(257), 1, + sym_type, + [7959] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(631), 1, - anon_sym_LPAREN, - ACTIONS(629), 2, + ACTIONS(648), 1, anon_sym_COMMA, + ACTIONS(650), 1, anon_sym_RBRACE, - [7092] = 4, + STATE(207), 1, + aux_sym_alloc_block_repeat1, + [7972] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(633), 1, + ACTIONS(491), 1, anon_sym_COMMA, - ACTIONS(635), 1, - anon_sym_RBRACE, - STATE(203), 1, - aux_sym_enum_block_repeat2, - [7105] = 4, + ACTIONS(652), 1, + anon_sym_RBRACK, + STATE(196), 1, + aux_sym_enum_value_repeat1, + [7985] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(633), 1, + ACTIONS(654), 1, anon_sym_COMMA, - ACTIONS(637), 1, - anon_sym_RBRACE, - STATE(206), 1, - aux_sym_enum_block_repeat2, - [7118] = 4, + ACTIONS(657), 1, + anon_sym_RPAREN, + STATE(204), 1, + aux_sym_enum_case_repeat1, + [7998] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(633), 1, + ACTIONS(661), 1, + anon_sym_LPAREN, + ACTIONS(659), 2, anon_sym_COMMA, - ACTIONS(637), 1, anon_sym_RBRACE, - STATE(223), 1, - aux_sym_enum_block_repeat2, - [7131] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(330), 1, - anon_sym_COMMA, - ACTIONS(639), 1, - anon_sym_RPAREN, - STATE(194), 1, - aux_sym_enum_value_repeat1, - [7144] = 4, + [8009] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(641), 1, + ACTIONS(663), 1, anon_sym_COMMA, - ACTIONS(644), 1, + ACTIONS(665), 1, anon_sym_RBRACE, - STATE(206), 1, + STATE(208), 1, aux_sym_enum_block_repeat2, - [7157] = 4, + [8022] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(646), 1, + ACTIONS(667), 1, anon_sym_COMMA, - ACTIONS(649), 1, + ACTIONS(670), 1, anon_sym_RBRACE, STATE(207), 1, aux_sym_alloc_block_repeat1, - [7170] = 4, + [8035] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(663), 1, + anon_sym_COMMA, + ACTIONS(672), 1, + anon_sym_RBRACE, + STATE(215), 1, + aux_sym_enum_block_repeat2, + [8048] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(651), 1, + ACTIONS(674), 1, anon_sym_SEMI, - ACTIONS(653), 1, + ACTIONS(676), 1, sym_identifier, - STATE(200), 1, + STATE(209), 1, aux_sym_import_repeat1, - [7183] = 4, + [8061] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(330), 1, + ACTIONS(663), 1, anon_sym_COMMA, - ACTIONS(655), 1, - anon_sym_RBRACK, - STATE(194), 1, - aux_sym_enum_value_repeat1, - [7196] = 4, + ACTIONS(672), 1, + anon_sym_RBRACE, + STATE(216), 1, + aux_sym_enum_block_repeat2, + [8074] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(653), 1, - sym_identifier, - ACTIONS(657), 1, - anon_sym_SEMI, - STATE(219), 1, - aux_sym_import_repeat1, - [7209] = 4, + ACTIONS(679), 1, + anon_sym_COMMA, + ACTIONS(681), 1, + anon_sym_RBRACE, + STATE(212), 1, + aux_sym_match_block_repeat1, + [8087] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(659), 1, + ACTIONS(679), 1, anon_sym_COMMA, - ACTIONS(661), 1, + ACTIONS(683), 1, anon_sym_RBRACE, - STATE(222), 1, + STATE(218), 1, aux_sym_match_block_repeat1, - [7222] = 4, + [8100] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(330), 1, + ACTIONS(491), 1, anon_sym_COMMA, - ACTIONS(663), 1, + ACTIONS(685), 1, anon_sym_RPAREN, - STATE(194), 1, + STATE(196), 1, aux_sym_enum_value_repeat1, - [7235] = 3, + [8113] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(618), 1, - anon_sym_DOT, - ACTIONS(620), 2, - anon_sym_SEMI, + ACTIONS(641), 1, + anon_sym_LBRACE, + ACTIONS(687), 1, sym_identifier, - [7246] = 4, + STATE(183), 1, + sym_logic_block, + [8126] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(665), 1, + ACTIONS(689), 1, anon_sym_COMMA, - ACTIONS(667), 1, - anon_sym_RPAREN, + ACTIONS(692), 1, + anon_sym_RBRACE, STATE(215), 1, - aux_sym_enum_case_repeat1, - [7259] = 4, + aux_sym_enum_block_repeat2, + [8139] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(665), 1, + ACTIONS(663), 1, anon_sym_COMMA, - ACTIONS(669), 1, - anon_sym_RPAREN, - STATE(220), 1, - aux_sym_enum_case_repeat1, - [7272] = 4, + ACTIONS(694), 1, + anon_sym_RBRACE, + STATE(215), 1, + aux_sym_enum_block_repeat2, + [8152] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(671), 1, - anon_sym_COMMA, - ACTIONS(674), 1, - anon_sym_RBRACE, - STATE(216), 1, - aux_sym_match_block_repeat1, - [7285] = 4, + ACTIONS(696), 1, + anon_sym_SEMI, + ACTIONS(698), 1, + sym_identifier, + STATE(221), 1, + aux_sym_import_repeat1, + [8165] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(659), 1, + ACTIONS(700), 1, anon_sym_COMMA, - ACTIONS(676), 1, + ACTIONS(703), 1, anon_sym_RBRACE, STATE(218), 1, aux_sym_match_block_repeat1, - [7298] = 4, + [8178] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(659), 1, + ACTIONS(491), 1, anon_sym_COMMA, - ACTIONS(678), 1, - anon_sym_RBRACE, - STATE(216), 1, - aux_sym_match_block_repeat1, - [7311] = 4, + ACTIONS(705), 1, + anon_sym_RPAREN, + STATE(196), 1, + aux_sym_enum_value_repeat1, + [8191] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(653), 1, + ACTIONS(641), 1, + anon_sym_LBRACE, + ACTIONS(707), 1, + sym_identifier, + STATE(194), 1, + sym_logic_block, + [8204] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(698), 1, sym_identifier, - ACTIONS(680), 1, + ACTIONS(709), 1, anon_sym_SEMI, - STATE(200), 1, + STATE(209), 1, aux_sym_import_repeat1, - [7324] = 4, + [8217] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(682), 1, + ACTIONS(711), 1, anon_sym_COMMA, - ACTIONS(685), 1, + ACTIONS(713), 1, anon_sym_RPAREN, - STATE(220), 1, + STATE(228), 1, aux_sym_enum_case_repeat1, - [7337] = 4, + [8230] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(687), 1, + ACTIONS(631), 1, + anon_sym_DOT, + ACTIONS(633), 2, anon_sym_SEMI, - ACTIONS(689), 1, sym_identifier, - STATE(208), 1, - aux_sym_import_repeat1, - [7350] = 4, + [8241] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(659), 1, + ACTIONS(679), 1, anon_sym_COMMA, - ACTIONS(691), 1, + ACTIONS(715), 1, anon_sym_RBRACE, - STATE(216), 1, + STATE(225), 1, aux_sym_match_block_repeat1, - [7363] = 4, + [8254] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(633), 1, + ACTIONS(679), 1, anon_sym_COMMA, - ACTIONS(693), 1, + ACTIONS(717), 1, anon_sym_RBRACE, - STATE(206), 1, - aux_sym_enum_block_repeat2, - [7376] = 4, + STATE(218), 1, + aux_sym_match_block_repeat1, + [8267] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(695), 1, - anon_sym_COMMA, - ACTIONS(697), 1, - anon_sym_RBRACE, - STATE(207), 1, - aux_sym_alloc_block_repeat1, - [7389] = 4, + ACTIONS(719), 1, + anon_sym_SEMI, + ACTIONS(721), 1, + sym_identifier, + STATE(227), 1, + aux_sym_import_repeat1, + [8280] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(596), 1, - anon_sym_LBRACE, - ACTIONS(699), 1, + ACTIONS(698), 1, sym_identifier, - STATE(188), 1, - sym_logic_block, - [7402] = 4, + ACTIONS(723), 1, + anon_sym_SEMI, + STATE(209), 1, + aux_sym_import_repeat1, + [8293] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(596), 1, - anon_sym_LBRACE, - ACTIONS(701), 1, - sym_identifier, - STATE(190), 1, - sym_logic_block, - [7415] = 2, + ACTIONS(711), 1, + anon_sym_COMMA, + ACTIONS(725), 1, + anon_sym_RPAREN, + STATE(204), 1, + aux_sym_enum_case_repeat1, + [8306] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(703), 2, - anon_sym_LBRACE, - sym_identifier, - [7423] = 3, + ACTIONS(657), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [8314] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(596), 1, - anon_sym_LBRACE, - STATE(181), 1, - sym_logic_block, - [7433] = 2, + ACTIONS(727), 1, + sym_identifier, + STATE(305), 1, + sym_pattern, + [8324] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(392), 2, + ACTIONS(370), 2, anon_sym_struct, anon_sym_case, - [7441] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(596), 1, - anon_sym_LBRACE, - STATE(182), 1, - sym_logic_block, - [7451] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(705), 1, - anon_sym_LBRACE, - STATE(109), 1, - sym_enum_block, - [7461] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(598), 1, - sym_identifier, - STATE(239), 1, - sym_type, - [7471] = 2, + [8332] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(416), 2, - anon_sym_struct, + ACTIONS(606), 1, anon_sym_case, - [7479] = 2, + STATE(241), 1, + sym_enum_case, + [8342] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(707), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [7487] = 2, + ACTIONS(729), 1, + anon_sym_case, + STATE(244), 1, + sym_match_arm, + [8352] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(709), 2, - anon_sym_LPARENrhs_RPAREN, - anon_sym_LPARENlhs_RPAREN, - [7495] = 3, + ACTIONS(300), 2, + anon_sym_struct, + anon_sym_case, + [8360] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(588), 1, - anon_sym_case, - STATE(266), 1, - sym_enum_case, - [7505] = 3, + ACTIONS(731), 1, + anon_sym_RPAREN, + ACTIONS(733), 1, + anon_sym_COLON, + [8370] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(250), 1, - sym_logic_block, - [7515] = 3, + ACTIONS(735), 1, + anon_sym_LPAREN, + STATE(198), 1, + sym_parameter_list, + [8380] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(596), 1, - anon_sym_LBRACE, - STATE(180), 1, - sym_logic_block, - [7525] = 2, + ACTIONS(735), 1, + anon_sym_LPAREN, + STATE(201), 1, + sym_parameter_list, + [8390] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(685), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [7533] = 2, + ACTIONS(737), 2, + anon_sym_LPARENrhs_RPAREN, + anon_sym_LPARENlhs_RPAREN, + [8398] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(711), 2, - anon_sym_COMMA, + ACTIONS(739), 1, + anon_sym_DOT, + ACTIONS(741), 1, anon_sym_RBRACE, - [7541] = 3, + [8408] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(598), 1, + ACTIONS(639), 1, sym_identifier, - STATE(277), 1, + STATE(222), 1, sym_type, - [7551] = 2, + [8418] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(674), 2, + ACTIONS(692), 2, anon_sym_COMMA, anon_sym_RBRACE, - [7559] = 3, + [8426] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(697), 1, + ACTIONS(743), 2, + anon_sym_COMMA, anon_sym_RBRACE, - ACTIONS(713), 1, - anon_sym_DOT, - [7569] = 2, + [8434] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(715), 2, + ACTIONS(509), 1, anon_sym_LBRACE, - sym_identifier, - [7577] = 3, + STATE(251), 1, + sym_logic_block, + [8444] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(717), 1, - anon_sym_LBRACE, - STATE(95), 1, - sym_match_block, - [7587] = 3, + ACTIONS(703), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [8452] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(719), 1, + ACTIONS(674), 2, + anon_sym_SEMI, + sym_identifier, + [8460] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(745), 1, anon_sym_LBRACE, - STATE(259), 1, + STATE(256), 1, sym_struct_block, - [7597] = 2, + [8470] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(624), 2, - anon_sym_SEMI, - sym_identifier, - [7605] = 3, + ACTIONS(650), 1, + anon_sym_RBRACE, + ACTIONS(739), 1, + anon_sym_DOT, + [8480] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(721), 1, + ACTIONS(641), 1, + anon_sym_LBRACE, + STATE(189), 1, + sym_logic_block, + [8490] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(747), 1, anon_sym_LBRACE, - STATE(151), 1, + STATE(150), 1, sym_match_block, - [7615] = 3, + [8500] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(713), 1, - anon_sym_DOT, - ACTIONS(723), 1, - anon_sym_RBRACE, - [7625] = 2, + ACTIONS(749), 2, + anon_sym_LPARENrhs_RPAREN, + anon_sym_LPARENlhs_RPAREN, + [8508] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(725), 2, + ACTIONS(751), 2, anon_sym_COMMA, anon_sym_RBRACE, - [7633] = 3, + [8516] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(596), 1, + ACTIONS(753), 2, anon_sym_LBRACE, - STATE(179), 1, + sym_identifier, + [8524] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(641), 1, + anon_sym_LBRACE, + STATE(184), 1, sym_logic_block, - [7643] = 3, + [8534] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(614), 1, + ACTIONS(755), 1, anon_sym_LBRACE, - STATE(93), 1, + STATE(156), 1, sym_logic_block, - [7653] = 3, + [8544] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(727), 1, + ACTIONS(637), 1, anon_sym_LBRACE, - STATE(162), 1, + STATE(51), 1, sym_logic_block, - [7663] = 3, + [8554] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(729), 1, + ACTIONS(378), 2, + anon_sym_struct, anon_sym_case, - STATE(211), 1, - sym_match_arm, - [7673] = 3, + [8562] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(731), 1, - anon_sym_LPAREN, - STATE(198), 1, - sym_parameter_list, - [7683] = 3, + ACTIONS(641), 1, + anon_sym_LBRACE, + STATE(192), 1, + sym_logic_block, + [8572] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(637), 1, + anon_sym_LBRACE, + STATE(55), 1, + sym_logic_block, + [8582] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(614), 1, + ACTIONS(641), 1, anon_sym_LBRACE, - STATE(91), 1, + STATE(182), 1, sym_logic_block, - [7693] = 3, + [8592] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(733), 1, + ACTIONS(757), 1, anon_sym_LBRACE, - STATE(107), 1, + STATE(68), 1, + sym_match_block, + [8602] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_LBRACE, + STATE(77), 1, sym_struct_block, - [7703] = 3, + [8612] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(729), 1, anon_sym_case, - STATE(242), 1, + STATE(211), 1, sym_match_arm, - [7713] = 2, + [8622] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(476), 2, - anon_sym_struct, - anon_sym_case, - [7721] = 3, + ACTIONS(759), 1, + anon_sym_LBRACE, + STATE(78), 1, + sym_struct_block, + [8632] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(735), 1, - sym_identifier, - STATE(281), 1, - sym_pattern, - [7731] = 3, + ACTIONS(761), 1, + anon_sym_LBRACE, + STATE(79), 1, + sym_enum_block, + [8642] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(731), 1, - anon_sym_LPAREN, - STATE(193), 1, - sym_parameter_list, - [7741] = 3, + ACTIONS(639), 1, + sym_identifier, + STATE(229), 1, + sym_type, + [8652] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(731), 1, + ACTIONS(735), 1, anon_sym_LPAREN, - STATE(196), 1, + STATE(199), 1, sym_parameter_list, - [7751] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(737), 2, - anon_sym_LPARENrhs_RPAREN, - anon_sym_LPARENlhs_RPAREN, - [7759] = 3, + [8662] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(598), 1, - sym_identifier, - STATE(214), 1, - sym_type, - [7769] = 3, + ACTIONS(763), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [8670] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(729), 1, anon_sym_case, - STATE(217), 1, + STATE(224), 1, sym_match_arm, - [7779] = 2, + [8680] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(644), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [7787] = 3, + ACTIONS(765), 2, + anon_sym_LBRACE, + sym_identifier, + [8688] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(733), 1, - anon_sym_LBRACE, - STATE(108), 1, - sym_struct_block, - [7797] = 3, + ACTIONS(639), 1, + sym_identifier, + STATE(273), 1, + sym_type, + [8698] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(739), 1, - anon_sym_RPAREN, - ACTIONS(741), 1, - anon_sym_COLON, - [7807] = 2, + anon_sym_DOT, + [8705] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(743), 1, - anon_sym_in, - [7814] = 2, + ACTIONS(767), 1, + anon_sym_EQ, + [8712] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(745), 1, - anon_sym_operator, - [7821] = 2, + ACTIONS(769), 1, + anon_sym_RPAREN, + [8719] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(747), 1, - anon_sym_EQ, - [7828] = 2, + ACTIONS(771), 1, + ts_builtin_sym_end, + [8726] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(749), 1, + ACTIONS(773), 1, sym_identifier, - [7835] = 2, + [8733] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(751), 1, - anon_sym_EQ_GT, - [7842] = 2, + ACTIONS(775), 1, + sym_identifier, + [8740] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(713), 1, - anon_sym_DOT, - [7849] = 2, + ACTIONS(777), 1, + sym_identifier, + [8747] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(753), 1, + ACTIONS(779), 1, sym_identifier, - [7856] = 2, + [8754] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(755), 1, + ACTIONS(781), 1, sym_identifier, - [7863] = 2, + [8761] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(757), 1, - anon_sym_RPAREN, - [7870] = 2, + ACTIONS(783), 1, + anon_sym_DOT, + [8768] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(759), 1, - anon_sym_LPAREN, - [7877] = 2, + ACTIONS(731), 1, + anon_sym_RPAREN, + [8775] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(761), 1, - sym_identifier, - [7884] = 2, + ACTIONS(785), 1, + anon_sym_COLON_COLON, + [8782] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(763), 1, + ACTIONS(787), 1, sym_identifier, - [7891] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(765), 1, - anon_sym_EQ_GT, - [7898] = 2, + [8789] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(767), 1, + ACTIONS(789), 1, sym_identifier, - [7905] = 2, + [8796] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(769), 1, - sym_identifier, - [7912] = 2, + ACTIONS(791), 1, + anon_sym_in, + [8803] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(771), 1, + ACTIONS(793), 1, sym_identifier, - [7919] = 2, + [8810] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(773), 1, + ACTIONS(795), 1, anon_sym_RPAREN, - [7926] = 2, + [8817] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(775), 1, + ACTIONS(797), 1, anon_sym_RPAREN, - [7933] = 2, + [8824] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(777), 1, - ts_builtin_sym_end, - [7940] = 2, + ACTIONS(799), 1, + anon_sym_LPAREN, + [8831] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(779), 1, + ACTIONS(801), 1, sym_identifier, - [7947] = 2, + [8838] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(781), 1, - sym_identifier, - [7954] = 2, + ACTIONS(803), 1, + anon_sym_operator, + [8845] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(783), 1, + ACTIONS(805), 1, sym_identifier, - [7961] = 2, + [8852] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(785), 1, + ACTIONS(807), 1, sym_identifier, - [7968] = 2, + [8859] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(787), 1, + ACTIONS(809), 1, sym_identifier, - [7975] = 2, + [8866] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(789), 1, - anon_sym_EQ, - [7982] = 2, + ACTIONS(811), 1, + sym_identifier, + [8873] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(791), 1, + ACTIONS(813), 1, sym_identifier, - [7989] = 2, + [8880] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(793), 1, + ACTIONS(815), 1, sym_identifier, - [7996] = 2, + [8887] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(739), 1, - anon_sym_RPAREN, - [8003] = 2, + ACTIONS(817), 1, + sym_identifier, + [8894] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(795), 1, - anon_sym_COLON_COLON, - [8010] = 2, + ACTIONS(819), 1, + anon_sym_func, + [8901] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(797), 1, - anon_sym_DOT, - [8017] = 2, + ACTIONS(821), 1, + anon_sym_RPAREN, + [8908] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(799), 1, + ACTIONS(823), 1, sym_identifier, - [8024] = 2, + [8915] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(801), 1, + ACTIONS(825), 1, sym_identifier, - [8031] = 2, + [8922] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(803), 1, - sym_identifier, - [8038] = 2, + ACTIONS(827), 1, + anon_sym_EQ_GT, + [8929] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(805), 1, + ACTIONS(829), 1, sym_identifier, - [8045] = 2, + [8936] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(807), 1, - anon_sym_RPAREN, - [8052] = 2, + ACTIONS(831), 1, + anon_sym_EQ_GT, + [8943] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(809), 1, + ACTIONS(833), 1, anon_sym_in, - [8059] = 2, + [8950] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(811), 1, + ACTIONS(835), 1, sym_identifier, - [8066] = 2, + [8957] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(813), 1, - anon_sym_func, + ACTIONS(837), 1, + anon_sym_EQ, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 106, - [SMALL_STATE(4)] = 212, - [SMALL_STATE(5)] = 298, - [SMALL_STATE(6)] = 384, - [SMALL_STATE(7)] = 470, - [SMALL_STATE(8)] = 556, - [SMALL_STATE(9)] = 642, - [SMALL_STATE(10)] = 728, - [SMALL_STATE(11)] = 814, - [SMALL_STATE(12)] = 900, - [SMALL_STATE(13)] = 986, - [SMALL_STATE(14)] = 1072, - [SMALL_STATE(15)] = 1158, - [SMALL_STATE(16)] = 1244, - [SMALL_STATE(17)] = 1330, - [SMALL_STATE(18)] = 1416, - [SMALL_STATE(19)] = 1502, - [SMALL_STATE(20)] = 1561, - [SMALL_STATE(21)] = 1620, - [SMALL_STATE(22)] = 1666, - [SMALL_STATE(23)] = 1704, - [SMALL_STATE(24)] = 1742, - [SMALL_STATE(25)] = 1783, - [SMALL_STATE(26)] = 1818, - [SMALL_STATE(27)] = 1855, - [SMALL_STATE(28)] = 1896, - [SMALL_STATE(29)] = 1928, - [SMALL_STATE(30)] = 1960, - [SMALL_STATE(31)] = 1992, - [SMALL_STATE(32)] = 2024, - [SMALL_STATE(33)] = 2060, - [SMALL_STATE(34)] = 2092, - [SMALL_STATE(35)] = 2124, - [SMALL_STATE(36)] = 2156, - [SMALL_STATE(37)] = 2188, - [SMALL_STATE(38)] = 2220, - [SMALL_STATE(39)] = 2252, - [SMALL_STATE(40)] = 2284, - [SMALL_STATE(41)] = 2316, - [SMALL_STATE(42)] = 2348, - [SMALL_STATE(43)] = 2380, - [SMALL_STATE(44)] = 2412, - [SMALL_STATE(45)] = 2444, - [SMALL_STATE(46)] = 2476, - [SMALL_STATE(47)] = 2508, - [SMALL_STATE(48)] = 2540, - [SMALL_STATE(49)] = 2572, - [SMALL_STATE(50)] = 2604, - [SMALL_STATE(51)] = 2647, - [SMALL_STATE(52)] = 2690, - [SMALL_STATE(53)] = 2733, - [SMALL_STATE(54)] = 2776, - [SMALL_STATE(55)] = 2815, - [SMALL_STATE(56)] = 2845, - [SMALL_STATE(57)] = 2885, - [SMALL_STATE(58)] = 2925, - [SMALL_STATE(59)] = 2965, - [SMALL_STATE(60)] = 2999, - [SMALL_STATE(61)] = 3039, - [SMALL_STATE(62)] = 3079, - [SMALL_STATE(63)] = 3113, - [SMALL_STATE(64)] = 3153, - [SMALL_STATE(65)] = 3193, - [SMALL_STATE(66)] = 3233, - [SMALL_STATE(67)] = 3271, - [SMALL_STATE(68)] = 3308, - [SMALL_STATE(69)] = 3337, - [SMALL_STATE(70)] = 3374, - [SMALL_STATE(71)] = 3411, - [SMALL_STATE(72)] = 3440, - [SMALL_STATE(73)] = 3477, - [SMALL_STATE(74)] = 3514, - [SMALL_STATE(75)] = 3551, - [SMALL_STATE(76)] = 3588, - [SMALL_STATE(77)] = 3625, - [SMALL_STATE(78)] = 3662, - [SMALL_STATE(79)] = 3699, - [SMALL_STATE(80)] = 3736, - [SMALL_STATE(81)] = 3764, - [SMALL_STATE(82)] = 3792, - [SMALL_STATE(83)] = 3820, - [SMALL_STATE(84)] = 3848, - [SMALL_STATE(85)] = 3876, - [SMALL_STATE(86)] = 3904, - [SMALL_STATE(87)] = 3932, - [SMALL_STATE(88)] = 3960, - [SMALL_STATE(89)] = 3988, - [SMALL_STATE(90)] = 4016, - [SMALL_STATE(91)] = 4044, - [SMALL_STATE(92)] = 4072, - [SMALL_STATE(93)] = 4100, - [SMALL_STATE(94)] = 4128, - [SMALL_STATE(95)] = 4156, - [SMALL_STATE(96)] = 4184, - [SMALL_STATE(97)] = 4212, - [SMALL_STATE(98)] = 4240, - [SMALL_STATE(99)] = 4268, - [SMALL_STATE(100)] = 4296, - [SMALL_STATE(101)] = 4324, - [SMALL_STATE(102)] = 4360, - [SMALL_STATE(103)] = 4396, - [SMALL_STATE(104)] = 4424, - [SMALL_STATE(105)] = 4452, - [SMALL_STATE(106)] = 4480, - [SMALL_STATE(107)] = 4508, - [SMALL_STATE(108)] = 4536, - [SMALL_STATE(109)] = 4564, - [SMALL_STATE(110)] = 4592, - [SMALL_STATE(111)] = 4620, - [SMALL_STATE(112)] = 4648, - [SMALL_STATE(113)] = 4676, - [SMALL_STATE(114)] = 4704, - [SMALL_STATE(115)] = 4753, - [SMALL_STATE(116)] = 4802, - [SMALL_STATE(117)] = 4851, - [SMALL_STATE(118)] = 4882, - [SMALL_STATE(119)] = 4931, - [SMALL_STATE(120)] = 4977, - [SMALL_STATE(121)] = 5023, - [SMALL_STATE(122)] = 5069, - [SMALL_STATE(123)] = 5115, - [SMALL_STATE(124)] = 5161, - [SMALL_STATE(125)] = 5207, - [SMALL_STATE(126)] = 5253, - [SMALL_STATE(127)] = 5299, - [SMALL_STATE(128)] = 5345, - [SMALL_STATE(129)] = 5391, - [SMALL_STATE(130)] = 5437, - [SMALL_STATE(131)] = 5483, - [SMALL_STATE(132)] = 5529, - [SMALL_STATE(133)] = 5575, - [SMALL_STATE(134)] = 5621, - [SMALL_STATE(135)] = 5667, - [SMALL_STATE(136)] = 5713, - [SMALL_STATE(137)] = 5759, - [SMALL_STATE(138)] = 5805, - [SMALL_STATE(139)] = 5851, - [SMALL_STATE(140)] = 5897, - [SMALL_STATE(141)] = 5922, - [SMALL_STATE(142)] = 5947, - [SMALL_STATE(143)] = 5972, - [SMALL_STATE(144)] = 5997, - [SMALL_STATE(145)] = 6022, - [SMALL_STATE(146)] = 6051, - [SMALL_STATE(147)] = 6080, - [SMALL_STATE(148)] = 6104, - [SMALL_STATE(149)] = 6128, - [SMALL_STATE(150)] = 6151, - [SMALL_STATE(151)] = 6174, - [SMALL_STATE(152)] = 6197, - [SMALL_STATE(153)] = 6220, - [SMALL_STATE(154)] = 6243, - [SMALL_STATE(155)] = 6266, - [SMALL_STATE(156)] = 6289, - [SMALL_STATE(157)] = 6312, - [SMALL_STATE(158)] = 6335, - [SMALL_STATE(159)] = 6358, - [SMALL_STATE(160)] = 6381, - [SMALL_STATE(161)] = 6404, - [SMALL_STATE(162)] = 6427, - [SMALL_STATE(163)] = 6450, - [SMALL_STATE(164)] = 6473, - [SMALL_STATE(165)] = 6496, - [SMALL_STATE(166)] = 6519, - [SMALL_STATE(167)] = 6542, - [SMALL_STATE(168)] = 6565, - [SMALL_STATE(169)] = 6588, - [SMALL_STATE(170)] = 6613, - [SMALL_STATE(171)] = 6638, - [SMALL_STATE(172)] = 6663, - [SMALL_STATE(173)] = 6688, - [SMALL_STATE(174)] = 6713, - [SMALL_STATE(175)] = 6728, - [SMALL_STATE(176)] = 6743, - [SMALL_STATE(177)] = 6758, - [SMALL_STATE(178)] = 6774, - [SMALL_STATE(179)] = 6790, - [SMALL_STATE(180)] = 6801, - [SMALL_STATE(181)] = 6812, - [SMALL_STATE(182)] = 6823, - [SMALL_STATE(183)] = 6834, - [SMALL_STATE(184)] = 6845, - [SMALL_STATE(185)] = 6856, - [SMALL_STATE(186)] = 6873, - [SMALL_STATE(187)] = 6884, - [SMALL_STATE(188)] = 6895, - [SMALL_STATE(189)] = 6906, - [SMALL_STATE(190)] = 6923, - [SMALL_STATE(191)] = 6934, - [SMALL_STATE(192)] = 6949, - [SMALL_STATE(193)] = 6960, - [SMALL_STATE(194)] = 6976, - [SMALL_STATE(195)] = 6990, - [SMALL_STATE(196)] = 7004, - [SMALL_STATE(197)] = 7020, - [SMALL_STATE(198)] = 7036, - [SMALL_STATE(199)] = 7052, - [SMALL_STATE(200)] = 7068, - [SMALL_STATE(201)] = 7081, - [SMALL_STATE(202)] = 7092, - [SMALL_STATE(203)] = 7105, - [SMALL_STATE(204)] = 7118, - [SMALL_STATE(205)] = 7131, - [SMALL_STATE(206)] = 7144, - [SMALL_STATE(207)] = 7157, - [SMALL_STATE(208)] = 7170, - [SMALL_STATE(209)] = 7183, - [SMALL_STATE(210)] = 7196, - [SMALL_STATE(211)] = 7209, - [SMALL_STATE(212)] = 7222, - [SMALL_STATE(213)] = 7235, - [SMALL_STATE(214)] = 7246, - [SMALL_STATE(215)] = 7259, - [SMALL_STATE(216)] = 7272, - [SMALL_STATE(217)] = 7285, - [SMALL_STATE(218)] = 7298, - [SMALL_STATE(219)] = 7311, - [SMALL_STATE(220)] = 7324, - [SMALL_STATE(221)] = 7337, - [SMALL_STATE(222)] = 7350, - [SMALL_STATE(223)] = 7363, - [SMALL_STATE(224)] = 7376, - [SMALL_STATE(225)] = 7389, - [SMALL_STATE(226)] = 7402, - [SMALL_STATE(227)] = 7415, - [SMALL_STATE(228)] = 7423, - [SMALL_STATE(229)] = 7433, - [SMALL_STATE(230)] = 7441, - [SMALL_STATE(231)] = 7451, - [SMALL_STATE(232)] = 7461, - [SMALL_STATE(233)] = 7471, - [SMALL_STATE(234)] = 7479, - [SMALL_STATE(235)] = 7487, - [SMALL_STATE(236)] = 7495, - [SMALL_STATE(237)] = 7505, - [SMALL_STATE(238)] = 7515, - [SMALL_STATE(239)] = 7525, - [SMALL_STATE(240)] = 7533, - [SMALL_STATE(241)] = 7541, - [SMALL_STATE(242)] = 7551, - [SMALL_STATE(243)] = 7559, - [SMALL_STATE(244)] = 7569, - [SMALL_STATE(245)] = 7577, - [SMALL_STATE(246)] = 7587, - [SMALL_STATE(247)] = 7597, - [SMALL_STATE(248)] = 7605, - [SMALL_STATE(249)] = 7615, - [SMALL_STATE(250)] = 7625, - [SMALL_STATE(251)] = 7633, - [SMALL_STATE(252)] = 7643, - [SMALL_STATE(253)] = 7653, - [SMALL_STATE(254)] = 7663, - [SMALL_STATE(255)] = 7673, - [SMALL_STATE(256)] = 7683, - [SMALL_STATE(257)] = 7693, - [SMALL_STATE(258)] = 7703, - [SMALL_STATE(259)] = 7713, - [SMALL_STATE(260)] = 7721, - [SMALL_STATE(261)] = 7731, - [SMALL_STATE(262)] = 7741, - [SMALL_STATE(263)] = 7751, - [SMALL_STATE(264)] = 7759, - [SMALL_STATE(265)] = 7769, - [SMALL_STATE(266)] = 7779, - [SMALL_STATE(267)] = 7787, - [SMALL_STATE(268)] = 7797, - [SMALL_STATE(269)] = 7807, - [SMALL_STATE(270)] = 7814, - [SMALL_STATE(271)] = 7821, - [SMALL_STATE(272)] = 7828, - [SMALL_STATE(273)] = 7835, - [SMALL_STATE(274)] = 7842, - [SMALL_STATE(275)] = 7849, - [SMALL_STATE(276)] = 7856, - [SMALL_STATE(277)] = 7863, - [SMALL_STATE(278)] = 7870, - [SMALL_STATE(279)] = 7877, - [SMALL_STATE(280)] = 7884, - [SMALL_STATE(281)] = 7891, - [SMALL_STATE(282)] = 7898, - [SMALL_STATE(283)] = 7905, - [SMALL_STATE(284)] = 7912, - [SMALL_STATE(285)] = 7919, - [SMALL_STATE(286)] = 7926, - [SMALL_STATE(287)] = 7933, - [SMALL_STATE(288)] = 7940, - [SMALL_STATE(289)] = 7947, - [SMALL_STATE(290)] = 7954, - [SMALL_STATE(291)] = 7961, - [SMALL_STATE(292)] = 7968, - [SMALL_STATE(293)] = 7975, - [SMALL_STATE(294)] = 7982, - [SMALL_STATE(295)] = 7989, - [SMALL_STATE(296)] = 7996, - [SMALL_STATE(297)] = 8003, - [SMALL_STATE(298)] = 8010, - [SMALL_STATE(299)] = 8017, - [SMALL_STATE(300)] = 8024, - [SMALL_STATE(301)] = 8031, - [SMALL_STATE(302)] = 8038, - [SMALL_STATE(303)] = 8045, - [SMALL_STATE(304)] = 8052, - [SMALL_STATE(305)] = 8059, - [SMALL_STATE(306)] = 8066, + [SMALL_STATE(3)] = 117, + [SMALL_STATE(4)] = 234, + [SMALL_STATE(5)] = 331, + [SMALL_STATE(6)] = 428, + [SMALL_STATE(7)] = 525, + [SMALL_STATE(8)] = 622, + [SMALL_STATE(9)] = 719, + [SMALL_STATE(10)] = 816, + [SMALL_STATE(11)] = 913, + [SMALL_STATE(12)] = 1010, + [SMALL_STATE(13)] = 1107, + [SMALL_STATE(14)] = 1204, + [SMALL_STATE(15)] = 1301, + [SMALL_STATE(16)] = 1398, + [SMALL_STATE(17)] = 1495, + [SMALL_STATE(18)] = 1592, + [SMALL_STATE(19)] = 1689, + [SMALL_STATE(20)] = 1748, + [SMALL_STATE(21)] = 1807, + [SMALL_STATE(22)] = 1853, + [SMALL_STATE(23)] = 1899, + [SMALL_STATE(24)] = 1936, + [SMALL_STATE(25)] = 1973, + [SMALL_STATE(26)] = 2014, + [SMALL_STATE(27)] = 2060, + [SMALL_STATE(28)] = 2099, + [SMALL_STATE(29)] = 2134, + [SMALL_STATE(30)] = 2173, + [SMALL_STATE(31)] = 2233, + [SMALL_STATE(32)] = 2271, + [SMALL_STATE(33)] = 2309, + [SMALL_STATE(34)] = 2369, + [SMALL_STATE(35)] = 2429, + [SMALL_STATE(36)] = 2463, + [SMALL_STATE(37)] = 2497, + [SMALL_STATE(38)] = 2557, + [SMALL_STATE(39)] = 2614, + [SMALL_STATE(40)] = 2647, + [SMALL_STATE(41)] = 2704, + [SMALL_STATE(42)] = 2737, + [SMALL_STATE(43)] = 2794, + [SMALL_STATE(44)] = 2827, + [SMALL_STATE(45)] = 2864, + [SMALL_STATE(46)] = 2897, + [SMALL_STATE(47)] = 2930, + [SMALL_STATE(48)] = 2987, + [SMALL_STATE(49)] = 3020, + [SMALL_STATE(50)] = 3053, + [SMALL_STATE(51)] = 3086, + [SMALL_STATE(52)] = 3119, + [SMALL_STATE(53)] = 3152, + [SMALL_STATE(54)] = 3185, + [SMALL_STATE(55)] = 3242, + [SMALL_STATE(56)] = 3275, + [SMALL_STATE(57)] = 3308, + [SMALL_STATE(58)] = 3365, + [SMALL_STATE(59)] = 3398, + [SMALL_STATE(60)] = 3431, + [SMALL_STATE(61)] = 3464, + [SMALL_STATE(62)] = 3521, + [SMALL_STATE(63)] = 3554, + [SMALL_STATE(64)] = 3587, + [SMALL_STATE(65)] = 3620, + [SMALL_STATE(66)] = 3677, + [SMALL_STATE(67)] = 3734, + [SMALL_STATE(68)] = 3775, + [SMALL_STATE(69)] = 3808, + [SMALL_STATE(70)] = 3849, + [SMALL_STATE(71)] = 3884, + [SMALL_STATE(72)] = 3917, + [SMALL_STATE(73)] = 3950, + [SMALL_STATE(74)] = 3983, + [SMALL_STATE(75)] = 4016, + [SMALL_STATE(76)] = 4073, + [SMALL_STATE(77)] = 4106, + [SMALL_STATE(78)] = 4139, + [SMALL_STATE(79)] = 4172, + [SMALL_STATE(80)] = 4205, + [SMALL_STATE(81)] = 4238, + [SMALL_STATE(82)] = 4271, + [SMALL_STATE(83)] = 4328, + [SMALL_STATE(84)] = 4361, + [SMALL_STATE(85)] = 4394, + [SMALL_STATE(86)] = 4451, + [SMALL_STATE(87)] = 4508, + [SMALL_STATE(88)] = 4565, + [SMALL_STATE(89)] = 4622, + [SMALL_STATE(90)] = 4679, + [SMALL_STATE(91)] = 4736, + [SMALL_STATE(92)] = 4793, + [SMALL_STATE(93)] = 4850, + [SMALL_STATE(94)] = 4907, + [SMALL_STATE(95)] = 4964, + [SMALL_STATE(96)] = 4996, + [SMALL_STATE(97)] = 5028, + [SMALL_STATE(98)] = 5060, + [SMALL_STATE(99)] = 5092, + [SMALL_STATE(100)] = 5124, + [SMALL_STATE(101)] = 5156, + [SMALL_STATE(102)] = 5188, + [SMALL_STATE(103)] = 5220, + [SMALL_STATE(104)] = 5252, + [SMALL_STATE(105)] = 5284, + [SMALL_STATE(106)] = 5316, + [SMALL_STATE(107)] = 5348, + [SMALL_STATE(108)] = 5380, + [SMALL_STATE(109)] = 5412, + [SMALL_STATE(110)] = 5444, + [SMALL_STATE(111)] = 5476, + [SMALL_STATE(112)] = 5508, + [SMALL_STATE(113)] = 5540, + [SMALL_STATE(114)] = 5572, + [SMALL_STATE(115)] = 5608, + [SMALL_STATE(116)] = 5640, + [SMALL_STATE(117)] = 5672, + [SMALL_STATE(118)] = 5715, + [SMALL_STATE(119)] = 5758, + [SMALL_STATE(120)] = 5801, + [SMALL_STATE(121)] = 5840, + [SMALL_STATE(122)] = 5883, + [SMALL_STATE(123)] = 5923, + [SMALL_STATE(124)] = 5963, + [SMALL_STATE(125)] = 5997, + [SMALL_STATE(126)] = 6035, + [SMALL_STATE(127)] = 6075, + [SMALL_STATE(128)] = 6115, + [SMALL_STATE(129)] = 6149, + [SMALL_STATE(130)] = 6179, + [SMALL_STATE(131)] = 6209, + [SMALL_STATE(132)] = 6239, + [SMALL_STATE(133)] = 6279, + [SMALL_STATE(134)] = 6319, + [SMALL_STATE(135)] = 6359, + [SMALL_STATE(136)] = 6399, + [SMALL_STATE(137)] = 6436, + [SMALL_STATE(138)] = 6473, + [SMALL_STATE(139)] = 6510, + [SMALL_STATE(140)] = 6547, + [SMALL_STATE(141)] = 6584, + [SMALL_STATE(142)] = 6613, + [SMALL_STATE(143)] = 6642, + [SMALL_STATE(144)] = 6679, + [SMALL_STATE(145)] = 6716, + [SMALL_STATE(146)] = 6753, + [SMALL_STATE(147)] = 6790, + [SMALL_STATE(148)] = 6827, + [SMALL_STATE(149)] = 6864, + [SMALL_STATE(150)] = 6892, + [SMALL_STATE(151)] = 6920, + [SMALL_STATE(152)] = 6948, + [SMALL_STATE(153)] = 6976, + [SMALL_STATE(154)] = 7004, + [SMALL_STATE(155)] = 7032, + [SMALL_STATE(156)] = 7060, + [SMALL_STATE(157)] = 7088, + [SMALL_STATE(158)] = 7116, + [SMALL_STATE(159)] = 7144, + [SMALL_STATE(160)] = 7172, + [SMALL_STATE(161)] = 7200, + [SMALL_STATE(162)] = 7228, + [SMALL_STATE(163)] = 7256, + [SMALL_STATE(164)] = 7284, + [SMALL_STATE(165)] = 7312, + [SMALL_STATE(166)] = 7340, + [SMALL_STATE(167)] = 7368, + [SMALL_STATE(168)] = 7393, + [SMALL_STATE(169)] = 7418, + [SMALL_STATE(170)] = 7441, + [SMALL_STATE(171)] = 7464, + [SMALL_STATE(172)] = 7484, + [SMALL_STATE(173)] = 7504, + [SMALL_STATE(174)] = 7524, + [SMALL_STATE(175)] = 7549, + [SMALL_STATE(176)] = 7574, + [SMALL_STATE(177)] = 7599, + [SMALL_STATE(178)] = 7624, + [SMALL_STATE(179)] = 7649, + [SMALL_STATE(180)] = 7665, + [SMALL_STATE(181)] = 7681, + [SMALL_STATE(182)] = 7698, + [SMALL_STATE(183)] = 7709, + [SMALL_STATE(184)] = 7720, + [SMALL_STATE(185)] = 7731, + [SMALL_STATE(186)] = 7746, + [SMALL_STATE(187)] = 7757, + [SMALL_STATE(188)] = 7768, + [SMALL_STATE(189)] = 7785, + [SMALL_STATE(190)] = 7796, + [SMALL_STATE(191)] = 7807, + [SMALL_STATE(192)] = 7818, + [SMALL_STATE(193)] = 7829, + [SMALL_STATE(194)] = 7840, + [SMALL_STATE(195)] = 7851, + [SMALL_STATE(196)] = 7867, + [SMALL_STATE(197)] = 7881, + [SMALL_STATE(198)] = 7897, + [SMALL_STATE(199)] = 7913, + [SMALL_STATE(200)] = 7929, + [SMALL_STATE(201)] = 7943, + [SMALL_STATE(202)] = 7959, + [SMALL_STATE(203)] = 7972, + [SMALL_STATE(204)] = 7985, + [SMALL_STATE(205)] = 7998, + [SMALL_STATE(206)] = 8009, + [SMALL_STATE(207)] = 8022, + [SMALL_STATE(208)] = 8035, + [SMALL_STATE(209)] = 8048, + [SMALL_STATE(210)] = 8061, + [SMALL_STATE(211)] = 8074, + [SMALL_STATE(212)] = 8087, + [SMALL_STATE(213)] = 8100, + [SMALL_STATE(214)] = 8113, + [SMALL_STATE(215)] = 8126, + [SMALL_STATE(216)] = 8139, + [SMALL_STATE(217)] = 8152, + [SMALL_STATE(218)] = 8165, + [SMALL_STATE(219)] = 8178, + [SMALL_STATE(220)] = 8191, + [SMALL_STATE(221)] = 8204, + [SMALL_STATE(222)] = 8217, + [SMALL_STATE(223)] = 8230, + [SMALL_STATE(224)] = 8241, + [SMALL_STATE(225)] = 8254, + [SMALL_STATE(226)] = 8267, + [SMALL_STATE(227)] = 8280, + [SMALL_STATE(228)] = 8293, + [SMALL_STATE(229)] = 8306, + [SMALL_STATE(230)] = 8314, + [SMALL_STATE(231)] = 8324, + [SMALL_STATE(232)] = 8332, + [SMALL_STATE(233)] = 8342, + [SMALL_STATE(234)] = 8352, + [SMALL_STATE(235)] = 8360, + [SMALL_STATE(236)] = 8370, + [SMALL_STATE(237)] = 8380, + [SMALL_STATE(238)] = 8390, + [SMALL_STATE(239)] = 8398, + [SMALL_STATE(240)] = 8408, + [SMALL_STATE(241)] = 8418, + [SMALL_STATE(242)] = 8426, + [SMALL_STATE(243)] = 8434, + [SMALL_STATE(244)] = 8444, + [SMALL_STATE(245)] = 8452, + [SMALL_STATE(246)] = 8460, + [SMALL_STATE(247)] = 8470, + [SMALL_STATE(248)] = 8480, + [SMALL_STATE(249)] = 8490, + [SMALL_STATE(250)] = 8500, + [SMALL_STATE(251)] = 8508, + [SMALL_STATE(252)] = 8516, + [SMALL_STATE(253)] = 8524, + [SMALL_STATE(254)] = 8534, + [SMALL_STATE(255)] = 8544, + [SMALL_STATE(256)] = 8554, + [SMALL_STATE(257)] = 8562, + [SMALL_STATE(258)] = 8572, + [SMALL_STATE(259)] = 8582, + [SMALL_STATE(260)] = 8592, + [SMALL_STATE(261)] = 8602, + [SMALL_STATE(262)] = 8612, + [SMALL_STATE(263)] = 8622, + [SMALL_STATE(264)] = 8632, + [SMALL_STATE(265)] = 8642, + [SMALL_STATE(266)] = 8652, + [SMALL_STATE(267)] = 8662, + [SMALL_STATE(268)] = 8670, + [SMALL_STATE(269)] = 8680, + [SMALL_STATE(270)] = 8688, + [SMALL_STATE(271)] = 8698, + [SMALL_STATE(272)] = 8705, + [SMALL_STATE(273)] = 8712, + [SMALL_STATE(274)] = 8719, + [SMALL_STATE(275)] = 8726, + [SMALL_STATE(276)] = 8733, + [SMALL_STATE(277)] = 8740, + [SMALL_STATE(278)] = 8747, + [SMALL_STATE(279)] = 8754, + [SMALL_STATE(280)] = 8761, + [SMALL_STATE(281)] = 8768, + [SMALL_STATE(282)] = 8775, + [SMALL_STATE(283)] = 8782, + [SMALL_STATE(284)] = 8789, + [SMALL_STATE(285)] = 8796, + [SMALL_STATE(286)] = 8803, + [SMALL_STATE(287)] = 8810, + [SMALL_STATE(288)] = 8817, + [SMALL_STATE(289)] = 8824, + [SMALL_STATE(290)] = 8831, + [SMALL_STATE(291)] = 8838, + [SMALL_STATE(292)] = 8845, + [SMALL_STATE(293)] = 8852, + [SMALL_STATE(294)] = 8859, + [SMALL_STATE(295)] = 8866, + [SMALL_STATE(296)] = 8873, + [SMALL_STATE(297)] = 8880, + [SMALL_STATE(298)] = 8887, + [SMALL_STATE(299)] = 8894, + [SMALL_STATE(300)] = 8901, + [SMALL_STATE(301)] = 8908, + [SMALL_STATE(302)] = 8915, + [SMALL_STATE(303)] = 8922, + [SMALL_STATE(304)] = 8929, + [SMALL_STATE(305)] = 8936, + [SMALL_STATE(306)] = 8943, + [SMALL_STATE(307)] = 8950, + [SMALL_STATE(308)] = 8957, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -9882,387 +10917,397 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0), - [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(221), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(279), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(282), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(289), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(300), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(280), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(283), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(292), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(226), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(286), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(283), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(284), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(277), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(276), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(301), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(295), [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), - [47] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(221), - [50] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(279), - [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(282), - [56] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(289), - [59] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(120), - [62] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(300), - [65] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(174), - [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(114), - [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(280), - [74] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(130), - [77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(123), - [80] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(124), - [83] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(283), - [86] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(292), - [89] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(275), - [92] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(19), - [95] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(29), - [98] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(116), - [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), - [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(291), - [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), - [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134), - [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), - [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(305), - [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(295), - [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), - [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), - [125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(120), - [128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(174), - [131] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(115), - [134] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(291), - [137] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(133), - [140] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(134), - [143] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(135), - [146] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(305), - [149] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(295), - [152] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(275), - [155] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(20), - [158] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(29), - [161] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(116), - [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [49] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(226), + [52] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(286), + [55] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(283), + [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(284), + [61] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(94), + [64] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(277), + [67] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(171), + [70] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(33), + [73] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(276), + [76] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(75), + [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(93), + [82] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(40), + [85] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(301), + [88] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(295), + [91] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(275), + [94] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(19), + [97] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(102), + [100] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(102), + [103] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(104), + [106] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(30), + [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(293), + [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), + [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), + [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), + [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(307), + [125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(297), + [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), + [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), + [133] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(94), + [136] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(171), + [139] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(37), + [142] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(293), + [145] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(86), + [148] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(87), + [151] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(88), + [154] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(307), + [157] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(297), + [160] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(275), + [163] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(20), + [166] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(102), + [169] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(102), + [172] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(104), + [175] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logic_block_repeat1, 2, 0, 0), SHIFT_REPEAT(30), [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), - [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), - [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [186] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary_expression, 1, 0, 0), SHIFT(276), - [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 1, 0, 0), - [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 1, 0, 0), - [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(175), - [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1, 0, 0), - [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 0), - [203] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 0), - [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 0), - [207] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 0), - [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, 0, 0), - [211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, 0, 0), - [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), - [215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(252), - [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_value, 3, 0, 0), - [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_value, 3, 0, 0), - [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alloc_call, 3, 0, 0), - [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), - [227] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alloc_call, 3, 0, 0), - [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 0), - [231] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 0), - [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 4, 0, 0), - [235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 4, 0, 0), - [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), - [239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), - [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_block, 3, 0, 0), - [243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_block, 3, 0, 0), - [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 2, 0, 0), - [247] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 2, 0, 0), - [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), - [251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), - [253] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(122), - [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 0), - [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, 0, 0), - [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alloc_block, 7, 0, 0), - [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alloc_block, 7, 0, 0), - [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_value, 7, 0, 0), - [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_value, 7, 0, 0), - [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_value, 6, 0, 0), - [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_value, 6, 0, 0), - [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alloc_block, 6, 0, 0), - [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alloc_block, 6, 0, 0), - [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alloc_block, 8, 0, 0), - [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alloc_block, 8, 0, 0), - [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_suffix_operator, 1, 0, 0), - [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_suffix_operator, 1, 0, 0), - [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), - [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2, 0, 0), - [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 3, 0, 0), - [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 3, 0, 0), - [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, 0, 0), - [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3, 0, 0), - [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 2, 0, 0), - [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 2, 0, 0), - [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 2, 0, 0), - [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 2, 0, 0), - [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_block, 2, 0, 0), - [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_block, 2, 0, 0), - [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), - [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), - [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alloc_call, 4, 0, 0), - [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alloc_call, 4, 0, 0), - [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 0), - [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, 0, 0), - [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), - [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), - [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [326] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176), - [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_value_repeat1, 2, 0, 0), - [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elsif_clause, 3, 0, 0), - [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elsif_clause, 3, 0, 0), - [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, 0, 0), - [352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, 0, 0), - [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, 0, 0), - [356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, 0, 0), - [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alloc_block_repeat1, 5, 0, 0), - [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), - [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 2, 0, 0), - [386] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 2, 0, 0), - [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 4, 0, 0), - [390] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 4, 0, 0), - [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_block, 2, 0, 0), - [394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_block, 2, 0, 0), - [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 0), - [398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 0), - [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 4, 0, 0), - [402] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 4, 0, 0), - [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0), - [406] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2, 0, 0), - [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 4, 0, 0), - [410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_statement, 4, 0, 0), - [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 5, 0, 0), - [414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 5, 0, 0), - [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_block, 3, 0, 0), - [418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_block, 3, 0, 0), - [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_block, 3, 0, 0), - [422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_block, 3, 0, 0), - [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 1), - [426] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 1), - [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 5, 0, 0), - [430] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 5, 0, 0), - [432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 2, 0, 0), - [434] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 2, 0, 0), - [436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 0), - [438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 0), - [440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_statement, 3, 0, 0), - [442] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_statement, 3, 0, 0), - [444] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_block, 4, 0, 0), - [446] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_block, 4, 0, 0), - [448] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 6, 0, 0), - [450] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 6, 0, 0), - [452] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_block, 4, 0, 0), - [454] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_block, 4, 0, 0), - [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_block, 5, 0, 0), - [458] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_block, 5, 0, 0), - [460] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), - [462] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), - [464] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139), - [466] = {.entry = {.count = 1, .reusable = false}}, SHIFT(253), - [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_control_flow_statement, 1, 0, 0), - [470] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_control_flow_statement, 1, 0, 0), - [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 3, 0, 0), - [474] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 3, 0, 0), - [476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 3, 0, 0), - [478] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 3, 0, 0), - [480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extension_definition, 3, 0, 0), - [482] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_extension_definition, 3, 0, 0), - [484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 3, 0, 0), - [486] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_definition, 3, 0, 0), - [488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0), - [490] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0), - [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 3, 0, 0), - [494] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 3, 0, 0), - [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert_statement, 3, 0, 0), - [498] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assert_statement, 3, 0, 0), - [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_block, 3, 0, 0), - [502] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_block, 3, 0, 0), - [504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [506] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), - [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [512] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(139), - [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), - [519] = {.entry = {.count = 1, .reusable = false}}, SHIFT(263), - [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), - [523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(235), - [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), - [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), - [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), - [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), - [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_block_repeat1, 2, 0, 0), - [545] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_block_repeat1, 2, 0, 0), SHIFT_REPEAT(302), - [548] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_block_repeat1, 2, 0, 0), SHIFT_REPEAT(306), - [551] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_block_repeat1, 2, 0, 0), SHIFT_REPEAT(270), - [554] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_block_repeat1, 2, 0, 0), SHIFT_REPEAT(143), - [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), - [559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_operator, 1, 0, 0), - [561] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_operator, 1, 0, 0), - [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), - [565] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), - [567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_operator, 1, 0, 0), - [569] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_operator, 1, 0, 0), - [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), - [573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2, 0, 0), - [575] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, 0, 0), SHIFT_REPEAT(276), - [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, 0, 0), - [580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_override, 5, 0, 1), - [582] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_function_definition, 6, 0, 2), - [584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_override, 6, 0, 2), - [586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), - [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), - [590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_override, 4, 0, 0), - [592] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_override, 5, 0, 0), - [594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_function_definition, 5, 0, 0), - [596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), - [600] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_value_repeat1, 2, 0, 0), SHIFT_REPEAT(128), - [603] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_block_repeat1, 2, 0, 0), SHIFT_REPEAT(290), - [606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_block_repeat1, 2, 0, 0), - [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), - [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), - [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), - [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [616] = {.entry = {.count = 1, .reusable = false}}, SHIFT(210), - [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), - [620] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_repeat1, 1, 0, 0), - [622] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_import_repeat1, 1, 0, 0), - [624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_repeat1, 2, 0, 0), - [626] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_import_repeat1, 2, 0, 0), SHIFT_REPEAT(213), - [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_case, 2, 0, 0), - [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), - [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), - [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [641] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_block_repeat2, 2, 0, 0), SHIFT_REPEAT(236), - [644] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_block_repeat2, 2, 0, 0), - [646] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_alloc_block_repeat1, 2, 0, 0), SHIFT_REPEAT(274), - [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alloc_block_repeat1, 2, 0, 0), - [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), - [655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), - [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), - [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), - [671] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(258), - [674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), - [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), - [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), - [680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [682] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_case_repeat1, 2, 0, 0), SHIFT_REPEAT(232), - [685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_case_repeat1, 2, 0, 0), - [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), - [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), - [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), - [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), - [703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), - [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), - [707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_case, 5, 0, 0), - [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), - [711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_case, 6, 0, 0), - [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), - [715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), - [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), - [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), - [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [725] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 4, 0, 0), - [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), - [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), - [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), - [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), - [739] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1, 0, 0), - [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), - [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), - [751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 4, 0, 0), - [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), - [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), - [757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 0), - [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), - [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), - [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), - [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), - [769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), - [771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), - [773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), - [777] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), - [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), - [783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), - [785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), - [789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), - [795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), - [797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), - [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), - [801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), - [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), - [805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), - [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), - [809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), - [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), + [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [202] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary_expression, 1, 0, 0), SHIFT(279), + [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 1, 0, 0), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 1, 0, 0), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(172), + [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1, 0, 0), + [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, 0, 0), + [219] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, 0, 0), + [221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(258), + [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 0), + [227] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 0), + [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_block, 2, 0, 0), + [231] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_block, 2, 0, 0), + [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_block, 3, 0, 0), + [235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_block, 3, 0, 0), + [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), + [239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), + [241] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(42), + [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, 0, 0), + [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, 0, 0), + [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elsif_clause, 3, 0, 0), + [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elsif_clause, 3, 0, 0), + [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, 0, 0), + [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, 0, 0), + [256] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 0), + [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 0), + [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 0), + [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 0), + [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 0), + [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 0), + [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 2, 0, 0), + [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 2, 0, 0), + [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alloc_call, 3, 0, 0), + [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), + [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alloc_call, 3, 0, 0), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 4, 0, 0), + [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 4, 0, 0), + [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 4, 0, 0), + [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_statement, 4, 0, 0), + [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 5, 0, 0), + [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 5, 0, 0), + [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_block, 3, 0, 0), + [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_block, 3, 0, 0), + [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_block, 3, 0, 0), + [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_block, 3, 0, 0), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 1), + [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 1), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 5, 0, 0), + [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 5, 0, 0), + [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0), + [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2, 0, 0), + [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 2, 0, 0), + [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 2, 0, 0), + [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 0), + [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 0), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), + [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_block, 3, 0, 0), + [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_block, 3, 0, 0), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_block, 4, 0, 0), + [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_block, 4, 0, 0), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 6, 0, 0), + [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 6, 0, 0), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_block, 4, 0, 0), + [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_block, 4, 0, 0), + [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_block, 5, 0, 0), + [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_block, 5, 0, 0), + [352] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), + [354] = {.entry = {.count = 1, .reusable = false}}, SHIFT(254), + [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_statement, 3, 0, 0), + [358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_statement, 3, 0, 0), + [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_value, 3, 0, 0), + [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [364] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_value, 3, 0, 0), + [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 4, 0, 0), + [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 4, 0, 0), + [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_block, 2, 0, 0), + [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_block, 2, 0, 0), + [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 3, 0, 0), + [376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 3, 0, 0), + [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 3, 0, 0), + [380] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 3, 0, 0), + [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extension_definition, 3, 0, 0), + [384] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_extension_definition, 3, 0, 0), + [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 3, 0, 0), + [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_definition, 3, 0, 0), + [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0), + [392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0), + [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 3, 0, 0), + [396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 3, 0, 0), + [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert_statement, 3, 0, 0), + [400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assert_statement, 3, 0, 0), + [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_control_flow_statement, 1, 0, 0), + [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_control_flow_statement, 1, 0, 0), + [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), + [408] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), + [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), + [412] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2, 0, 0), + [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alloc_call, 4, 0, 0), + [416] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alloc_call, 4, 0, 0), + [418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 0), + [420] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, 0, 0), + [422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 4, 0, 0), + [424] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 4, 0, 0), + [426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 2, 0, 0), + [428] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 2, 0, 0), + [430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 2, 0, 0), + [432] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 2, 0, 0), + [434] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number, 1, 0, 0), + [436] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number, 1, 0, 0), + [438] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_suffix_operator, 1, 0, 0), + [440] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_suffix_operator, 1, 0, 0), + [442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1, 0, 0), + [444] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 1, 0, 0), + [446] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 2, 0, 0), + [448] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 2, 0, 0), + [450] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 0), + [452] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, 0, 0), + [454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_value, 6, 0, 0), + [456] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_value, 6, 0, 0), + [458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_value, 7, 0, 0), + [460] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_value, 7, 0, 0), + [462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alloc_block, 6, 0, 0), + [464] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alloc_block, 6, 0, 0), + [466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alloc_block, 7, 0, 0), + [468] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alloc_block, 7, 0, 0), + [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alloc_block, 8, 0, 0), + [472] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alloc_block, 8, 0, 0), + [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, 0, 0), + [476] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3, 0, 0), + [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), + [480] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), + [482] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(92), + [485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 3, 0, 0), + [487] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 3, 0, 0), + [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [495] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173), + [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_value_repeat1, 2, 0, 0), + [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alloc_block_repeat1, 5, 0, 0), + [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [543] = {.entry = {.count = 1, .reusable = false}}, SHIFT(238), + [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [547] = {.entry = {.count = 1, .reusable = false}}, SHIFT(250), + [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_operator, 1, 0, 0), + [555] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_operator, 1, 0, 0), + [557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), + [559] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), + [561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_operator, 1, 0, 0), + [563] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_operator, 1, 0, 0), + [565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_block_repeat1, 2, 0, 0), + [567] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_block_repeat1, 2, 0, 0), SHIFT_REPEAT(304), + [570] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_block_repeat1, 2, 0, 0), SHIFT_REPEAT(299), + [573] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_block_repeat1, 2, 0, 0), SHIFT_REPEAT(291), + [576] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_block_repeat1, 2, 0, 0), SHIFT_REPEAT(168), + [579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), + [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), + [585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2, 0, 0), + [599] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, 0, 0), SHIFT_REPEAT(279), + [602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, 0, 0), + [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [608] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_override, 6, 0, 2), + [610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_override, 4, 0, 0), + [612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_override, 5, 0, 1), + [614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_function_definition, 6, 0, 2), + [616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_function_definition, 5, 0, 0), + [618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_override, 5, 0, 0), + [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [626] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_value_repeat1, 2, 0, 0), SHIFT_REPEAT(54), + [629] = {.entry = {.count = 1, .reusable = false}}, SHIFT(217), + [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_repeat1, 1, 0, 0), + [635] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_import_repeat1, 1, 0, 0), + [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [643] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_block_repeat1, 2, 0, 0), SHIFT_REPEAT(292), + [646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_block_repeat1, 2, 0, 0), + [648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), + [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [654] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_case_repeat1, 2, 0, 0), SHIFT_REPEAT(265), + [657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_case_repeat1, 2, 0, 0), + [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_case, 2, 0, 0), + [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [667] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_alloc_block_repeat1, 2, 0, 0), SHIFT_REPEAT(271), + [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alloc_block_repeat1, 2, 0, 0), + [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_repeat1, 2, 0, 0), + [676] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_import_repeat1, 2, 0, 0), SHIFT_REPEAT(223), + [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [689] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_block_repeat2, 2, 0, 0), SHIFT_REPEAT(232), + [692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_block_repeat2, 2, 0, 0), + [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [700] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(233), + [703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), + [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), + [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1, 0, 0), + [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_case, 6, 0, 0), + [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 4, 0, 0), + [753] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), + [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_case, 5, 0, 0), + [765] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), + [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 0), + [771] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), + [775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), + [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), + [785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), + [787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), + [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 4, 0, 0), + [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), + [837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), }; #ifdef __cplusplus diff --git a/test/corpus/control_flow.txt b/test/corpus/control_flow.txt index a0de1ee..ad6ace6 100644 --- a/test/corpus/control_flow.txt +++ b/test/corpus/control_flow.txt @@ -1,12 +1,12 @@ ======== -Match statement +Match statement ======== func prettyprint() { match this { case Fahrenheit(f) => { return; - }, + }, case Celsius(c) => { return; } @@ -45,19 +45,19 @@ func prettyprint(a, b) { if a { println(); } - + if a { println(); } else { println(); } - + if a { println(); } elsif b { println(); } - + if a { println(); } elsif b { @@ -173,7 +173,7 @@ func prettyprint(a) { for i in [] { println(); } - + for x in [] { println(); } else { @@ -235,7 +235,7 @@ func prettyprint(a) { while a { println(); } - + while a { println(); } else { @@ -283,4 +283,4 @@ func prettyprint(a) { (primary_expression (function_call (identifier) - (argument_list)))))))))))) \ No newline at end of file + (argument_list)))))))))))) diff --git a/test/corpus/expresions.txt b/test/corpus/expressions.txt similarity index 90% rename from test/corpus/expresions.txt rename to test/corpus/expressions.txt index 1eb7e7f..4ddd81c 100644 --- a/test/corpus/expresions.txt +++ b/test/corpus/expressions.txt @@ -19,7 +19,8 @@ val a = Result::Ok(42); (expression (primary_expression (literal - (number))))))))) + (number + (dec_int_literal)))))))))) ========= Force unwrap @@ -39,4 +40,3 @@ val a = b!!; (primary_expression (identifier))) (suffix_operator))))) - diff --git a/test/corpus/numbers.txt b/test/corpus/numbers.txt new file mode 100644 index 0000000..362c24d --- /dev/null +++ b/test/corpus/numbers.txt @@ -0,0 +1,71 @@ +======== +val octal declaration +======== + +val a = 0o0; + +--- + +(source_file + (variable_declaration + (identifier) + (assignment_operator) + (expression + (primary_expression + (literal + (number + (oct_int_literal))))))) + +======== +val hex declaration +======== + +val a = 0xF0; + +--- + +(source_file + (variable_declaration + (identifier) + (assignment_operator) + (expression + (primary_expression + (literal + (number + (hex_int_literal))))))) + +======== +val bin declaration +======== + +val a = 0b01; + +--- + +(source_file + (variable_declaration + (identifier) + (assignment_operator) + (expression + (primary_expression + (literal + (number + (bin_int_literal))))))) + +======== +val float declaration +======== + +val a = 42.0; + +--- + +(source_file + (variable_declaration + (identifier) + (assignment_operator) + (expression + (primary_expression + (literal + (number + (fp_literal))))))) diff --git a/test/corpus/statements.txt b/test/corpus/statements.txt index 688a046..525476d 100644 --- a/test/corpus/statements.txt +++ b/test/corpus/statements.txt @@ -36,7 +36,8 @@ val counter = 0; (expression (primary_expression (literal - (number)))))) + (number + (dec_int_literal))))))) ======= Return statement @@ -57,4 +58,5 @@ func next() { (expression (primary_expression (literal - (number)))))))) \ No newline at end of file + (number + (dec_int_literal)))))))))