diff --git a/bindings/rust/lib.rs b/bindings/rust/lib.rs index 22bfdfc..78e1169 100644 --- a/bindings/rust/lib.rs +++ b/bindings/rust/lib.rs @@ -35,10 +35,11 @@ pub const NODE_TYPES: &'static str = include_str!("../../src/node-types.json"); // Uncomment these to include any queries that this grammar contains -// pub const HIGHLIGHTS_QUERY: &'static str = include_str!("../../queries/highlights.scm"); -// pub const INJECTIONS_QUERY: &'static str = include_str!("../../queries/injections.scm"); -// pub const LOCALS_QUERY: &'static str = include_str!("../../queries/locals.scm"); -// pub const TAGS_QUERY: &'static str = include_str!("../../queries/tags.scm"); +pub const FOLDS_QUERY: &'static str = include_str!("../../queries/folds.scm"); +pub const HIGHLIGHTS_QUERY: &'static str = include_str!("../../queries/highlights.scm"); +pub const INDENTS_QUERY: &'static str = include_str!("../../queries/indents.scm"); +pub const INJECTIONS_QUERY: &'static str = include_str!("../../queries/injections.scm"); +pub const LOCALS_QUERY: &'static str = include_str!("../../queries/locals.scm"); #[cfg(test)] mod tests { diff --git a/grammar.js b/grammar.js index 497b8f7..53bbe96 100644 --- a/grammar.js +++ b/grammar.js @@ -1,8 +1,12 @@ -function commaSeparated(elem) { +function commaSeparatedOptTrailing(elem) { return seq(elem, repeat(seq(",", elem)), optional(",")) } -function trailingCommaSeparated(elem) { +function commaSeparatedNoTrailing(elem) { + return seq(elem, repeat(seq(",", elem))) +} + +function commaSeparatedTrailing(elem) { return repeat(seq(elem, ",")) } @@ -44,7 +48,7 @@ module.exports = grammar({ _old_module: ($) => seq( field("type", $.identifier), "{", - optional(commaSeparated( + optional(commaSeparatedOptTrailing( alias(field("property", $._colon_property), $.property) )), "}", @@ -53,7 +57,7 @@ module.exports = grammar({ _new_module: ($) => seq( field("type", $.identifier), "(", - optional(commaSeparated( + optional(commaSeparatedOptTrailing( alias(field("property", $._equal_property), $.property) )), ")", @@ -127,28 +131,41 @@ module.exports = grammar({ ")", ), - select_value: ($) => seq( - field("type", alias($.identifier, $.selection_type)), + select_value: ($) => choice( + $.condition, + seq("(", commaSeparatedOptTrailing($.condition), ")"), + ), + + condition: ($) => seq( + field("name", $.identifier), "(", - field("condition", optional(commaSeparated($._string_literal))), + field("arguments", optional(commaSeparatedNoTrailing($._string_literal))), ")", ), select_cases: ($) => seq( "{", - optional(trailingCommaSeparated($.select_case)), + optional(commaSeparatedTrailing($.select_case)), "}", ), select_case: ($) => seq( - field("pattern", choice( - $._string_literal, - alias("default", $.default), - )), + field("pattern", $.select_pattern), ":", field("value", $._case_value) ), + select_pattern: ($) => choice( + $._select_pattern, + seq("(", commaSeparatedOptTrailing($._select_pattern), ")"), + ), + + _select_pattern: ($) => choice( + $._string_literal, + $.boolean_literal, + alias("default", $.default), + ), + _case_value: ($) => choice( alias("unset", $.unset), $._expr, @@ -156,13 +173,13 @@ module.exports = grammar({ list_expression: ($) => seq( "[", - optional(commaSeparated(field("element", $._expr))), + optional(commaSeparatedOptTrailing(field("element", $._expr))), "]", ), map_expression: ($) => seq( "{", - optional(commaSeparated( + optional(commaSeparatedOptTrailing( alias(field("property", $._colon_property), $.property) )), "}", diff --git a/package.json b/package.json index 2c04da4..ce8f4f9 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,11 @@ "file-types": [ "bp" ], + "folds": "queries/folds.scm", + "highlights": "queries/highlights.scm", + "indents": "queries/indents.scm", + "injections": "queries/injections.scm", + "tags": "queries/tags.scm", "injection-regex": "bp" } ] diff --git a/queries/highlights.scm b/queries/highlights.scm index 4209180..c574ffc 100644 --- a/queries/highlights.scm +++ b/queries/highlights.scm @@ -51,7 +51,8 @@ (unset) (default) ] @variable.builtin -(selection_type) @function.builtin +(condition + name: (identifier) @function.builtin) ; }}} ; Expressions {{{ diff --git a/queries/indents.scm b/queries/indents.scm index 9e63d1e..8fc46fc 100644 --- a/queries/indents.scm +++ b/queries/indents.scm @@ -11,6 +11,16 @@ (select_expression ")" @indent.branch) +(select_value + "(" @indent.begin) +(select_value + ")" @indent.branch) + +; (select_pattern +; "(" @indent.begin) +; (select_pattern +; ")" @indent.branch) + (select_cases) @indent.begin (select_cases "}" @indent.branch) diff --git a/src/grammar.json b/src/grammar.json index c16b22d..2cc4d5c 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -487,19 +487,73 @@ ] }, "select_value": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "condition" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "condition" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "condition" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + }, + "condition": { "type": "SEQ", "members": [ { "type": "FIELD", - "name": "type", + "name": "name", "content": { - "type": "ALIAS", - "content": { - "type": "SYMBOL", - "name": "identifier" - }, - "named": true, - "value": "selection_type" + "type": "SYMBOL", + "name": "identifier" } }, { @@ -508,7 +562,7 @@ }, { "type": "FIELD", - "name": "condition", + "name": "arguments", "content": { "type": "CHOICE", "members": [ @@ -534,18 +588,6 @@ } ] } - }, - { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "BLANK" - } - ] } ] }, @@ -605,22 +647,8 @@ "type": "FIELD", "name": "pattern", "content": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "_string_literal" - }, - { - "type": "ALIAS", - "content": { - "type": "STRING", - "value": "default" - }, - "named": true, - "value": "default" - } - ] + "type": "SYMBOL", + "name": "select_pattern" } }, { @@ -637,6 +665,87 @@ } ] }, + "select_pattern": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_select_pattern" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_select_pattern" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_select_pattern" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + }, + "_select_pattern": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_string_literal" + }, + { + "type": "SYMBOL", + "name": "boolean_literal" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "default" + }, + "named": true, + "value": "default" + } + ] + }, "_case_value": { "type": "CHOICE", "members": [ diff --git a/src/node-types.json b/src/node-types.json index 3e59430..9c0e5c8 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -177,6 +177,40 @@ "named": true, "fields": {} }, + { + "type": "condition", + "named": true, + "fields": { + "arguments": { + "multiple": true, + "required": false, + "types": [ + { + "type": ",", + "named": false + }, + { + "type": "interpreted_string_literal", + "named": true + }, + { + "type": "raw_string_literal", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, { "type": "integer_literal", "named": true, @@ -354,15 +388,7 @@ "required": true, "types": [ { - "type": "default", - "named": true - }, - { - "type": "interpreted_string_literal", - "named": true - }, - { - "type": "raw_string_literal", + "type": "select_pattern", "named": true } ] @@ -449,38 +475,46 @@ ] } }, + { + "type": "select_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "boolean_literal", + "named": true + }, + { + "type": "default", + "named": true + }, + { + "type": "interpreted_string_literal", + "named": true + }, + { + "type": "raw_string_literal", + "named": true + } + ] + } + }, { "type": "select_value", "named": true, - "fields": { - "condition": { - "multiple": true, - "required": false, - "types": [ - { - "type": ",", - "named": false - }, - { - "type": "interpreted_string_literal", - "named": true - }, - { - "type": "raw_string_literal", - "named": true - } - ] - }, - "type": { - "multiple": false, - "required": true, - "types": [ - { - "type": "selection_type", - "named": true - } - ] - } + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "condition", + "named": true + } + ] } }, { @@ -578,10 +612,6 @@ "type": "select", "named": false }, - { - "type": "selection_type", - "named": true - }, { "type": "true", "named": false diff --git a/src/parser.c b/src/parser.c index 02a91a2..4b3960e 100644 --- a/src/parser.c +++ b/src/parser.c @@ -5,15 +5,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 117 +#define STATE_COUNT 139 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 59 -#define ALIAS_COUNT 1 +#define SYMBOL_COUNT 64 +#define ALIAS_COUNT 0 #define TOKEN_COUNT 30 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 10 +#define FIELD_COUNT 11 #define MAX_ALIAS_SEQUENCE_LENGTH 6 -#define PRODUCTION_ID_COUNT 19 +#define PRODUCTION_ID_COUNT 18 enum ts_symbol_identifiers { anon_sym_SLASH_SLASH = 1, @@ -39,8 +39,8 @@ enum ts_symbol_identifiers { anon_sym_DQUOTE2 = 21, sym_escape_sequence = 22, anon_sym_select = 23, - anon_sym_default = 24, - anon_sym_COLON = 25, + anon_sym_COLON = 24, + anon_sym_default = 25, anon_sym_unset = 26, anon_sym_LBRACK = 27, anon_sym_RBRACK = 28, @@ -59,22 +59,26 @@ enum ts_symbol_identifiers { sym_interpreted_string_literal = 41, sym_select_expression = 42, sym_select_value = 43, - sym_select_cases = 44, - sym_select_case = 45, - sym__case_value = 46, - sym_list_expression = 47, - sym_map_expression = 48, - sym_binary_expression = 49, - sym__colon_property = 50, - sym__equal_property = 51, - aux_sym_source_file_repeat1 = 52, - aux_sym__old_module_repeat1 = 53, - aux_sym__new_module_repeat1 = 54, - aux_sym_interpreted_string_literal_repeat1 = 55, - aux_sym_select_value_repeat1 = 56, - aux_sym_select_cases_repeat1 = 57, - aux_sym_list_expression_repeat1 = 58, - alias_sym_selection_type = 59, + sym_condition = 44, + sym_select_cases = 45, + sym_select_case = 46, + sym_select_pattern = 47, + sym__select_pattern = 48, + sym__case_value = 49, + sym_list_expression = 50, + sym_map_expression = 51, + sym_binary_expression = 52, + sym__colon_property = 53, + sym__equal_property = 54, + aux_sym_source_file_repeat1 = 55, + aux_sym__old_module_repeat1 = 56, + aux_sym__new_module_repeat1 = 57, + aux_sym_interpreted_string_literal_repeat1 = 58, + aux_sym_select_value_repeat1 = 59, + aux_sym_condition_repeat1 = 60, + aux_sym_select_cases_repeat1 = 61, + aux_sym_select_pattern_repeat1 = 62, + aux_sym_list_expression_repeat1 = 63, }; static const char * const ts_symbol_names[] = { @@ -102,8 +106,8 @@ static const char * const ts_symbol_names[] = { [anon_sym_DQUOTE2] = "\"", [sym_escape_sequence] = "escape_sequence", [anon_sym_select] = "select", - [anon_sym_default] = "default", [anon_sym_COLON] = ":", + [anon_sym_default] = "default", [anon_sym_unset] = "unset", [anon_sym_LBRACK] = "[", [anon_sym_RBRACK] = "]", @@ -122,8 +126,11 @@ static const char * const ts_symbol_names[] = { [sym_interpreted_string_literal] = "interpreted_string_literal", [sym_select_expression] = "select_expression", [sym_select_value] = "select_value", + [sym_condition] = "condition", [sym_select_cases] = "select_cases", [sym_select_case] = "select_case", + [sym_select_pattern] = "select_pattern", + [sym__select_pattern] = "_select_pattern", [sym__case_value] = "_case_value", [sym_list_expression] = "list_expression", [sym_map_expression] = "map_expression", @@ -135,9 +142,10 @@ static const char * const ts_symbol_names[] = { [aux_sym__new_module_repeat1] = "_new_module_repeat1", [aux_sym_interpreted_string_literal_repeat1] = "interpreted_string_literal_repeat1", [aux_sym_select_value_repeat1] = "select_value_repeat1", + [aux_sym_condition_repeat1] = "condition_repeat1", [aux_sym_select_cases_repeat1] = "select_cases_repeat1", + [aux_sym_select_pattern_repeat1] = "select_pattern_repeat1", [aux_sym_list_expression_repeat1] = "list_expression_repeat1", - [alias_sym_selection_type] = "selection_type", }; static const TSSymbol ts_symbol_map[] = { @@ -165,8 +173,8 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_DQUOTE2] = anon_sym_DQUOTE, [sym_escape_sequence] = sym_escape_sequence, [anon_sym_select] = anon_sym_select, - [anon_sym_default] = anon_sym_default, [anon_sym_COLON] = anon_sym_COLON, + [anon_sym_default] = anon_sym_default, [anon_sym_unset] = anon_sym_unset, [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_RBRACK] = anon_sym_RBRACK, @@ -185,8 +193,11 @@ static const TSSymbol ts_symbol_map[] = { [sym_interpreted_string_literal] = sym_interpreted_string_literal, [sym_select_expression] = sym_select_expression, [sym_select_value] = sym_select_value, + [sym_condition] = sym_condition, [sym_select_cases] = sym_select_cases, [sym_select_case] = sym_select_case, + [sym_select_pattern] = sym_select_pattern, + [sym__select_pattern] = sym__select_pattern, [sym__case_value] = sym__case_value, [sym_list_expression] = sym_list_expression, [sym_map_expression] = sym_map_expression, @@ -198,9 +209,10 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym__new_module_repeat1] = aux_sym__new_module_repeat1, [aux_sym_interpreted_string_literal_repeat1] = aux_sym_interpreted_string_literal_repeat1, [aux_sym_select_value_repeat1] = aux_sym_select_value_repeat1, + [aux_sym_condition_repeat1] = aux_sym_condition_repeat1, [aux_sym_select_cases_repeat1] = aux_sym_select_cases_repeat1, + [aux_sym_select_pattern_repeat1] = aux_sym_select_pattern_repeat1, [aux_sym_list_expression_repeat1] = aux_sym_list_expression_repeat1, - [alias_sym_selection_type] = alias_sym_selection_type, }; static const TSSymbolMetadata ts_symbol_metadata[] = { @@ -300,14 +312,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_default] = { - .visible = true, - .named = true, - }, [anon_sym_COLON] = { .visible = true, .named = false, }, + [anon_sym_default] = { + .visible = true, + .named = true, + }, [anon_sym_unset] = { .visible = true, .named = true, @@ -380,6 +392,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_condition] = { + .visible = true, + .named = true, + }, [sym_select_cases] = { .visible = true, .named = true, @@ -388,6 +404,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_select_pattern] = { + .visible = true, + .named = true, + }, + [sym__select_pattern] = { + .visible = false, + .named = true, + }, [sym__case_value] = { .visible = false, .named = true, @@ -432,39 +456,45 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_condition_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_select_cases_repeat1] = { .visible = false, .named = false, }, + [aux_sym_select_pattern_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_list_expression_repeat1] = { .visible = false, .named = false, }, - [alias_sym_selection_type] = { - .visible = true, - .named = true, - }, }; enum ts_field_identifiers { - field_condition = 1, + field_arguments = 1, field_element = 2, field_field = 3, field_left = 4, - field_operator = 5, - field_pattern = 6, - field_property = 7, - field_right = 8, - field_type = 9, - field_value = 10, + field_name = 5, + field_operator = 6, + field_pattern = 7, + field_property = 8, + field_right = 9, + field_type = 10, + field_value = 11, }; static const char * const ts_field_names[] = { [0] = NULL, - [field_condition] = "condition", + [field_arguments] = "arguments", [field_element] = "element", [field_field] = "field", [field_left] = "left", + [field_name] = "name", [field_operator] = "operator", [field_pattern] = "pattern", [field_property] = "property", @@ -487,11 +517,10 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [11] = {.index = 23, .length = 4}, [12] = {.index = 27, .length = 2}, [13] = {.index = 29, .length = 2}, - [14] = {.index = 5, .length = 1}, - [15] = {.index = 31, .length = 2}, - [16] = {.index = 33, .length = 3}, - [17] = {.index = 36, .length = 4}, - [18] = {.index = 40, .length = 2}, + [14] = {.index = 31, .length = 1}, + [15] = {.index = 32, .length = 2}, + [16] = {.index = 34, .length = 3}, + [17] = {.index = 37, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -539,18 +568,15 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_element, 0, .inherited = true}, {field_element, 1, .inherited = true}, [31] = - {field_condition, 2}, - {field_type, 0}, - [33] = - {field_condition, 2}, - {field_condition, 3}, - {field_type, 0}, - [36] = - {field_condition, 2}, - {field_condition, 3}, - {field_condition, 4}, - {field_type, 0}, - [40] = + {field_name, 0}, + [32] = + {field_arguments, 2}, + {field_name, 0}, + [34] = + {field_arguments, 2}, + {field_arguments, 3}, + {field_name, 0}, + [37] = {field_pattern, 0}, {field_value, 2}, }; @@ -560,18 +586,6 @@ static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE [2] = { [1] = anon_sym_PLUS_EQ, }, - [14] = { - [0] = alias_sym_selection_type, - }, - [15] = { - [0] = alias_sym_selection_type, - }, - [16] = { - [0] = alias_sym_selection_type, - }, - [17] = { - [0] = alias_sym_selection_type, - }, }; static const uint16_t ts_non_terminal_alias_map[] = { @@ -696,6 +710,28 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [114] = 114, [115] = 115, [116] = 116, + [117] = 117, + [118] = 118, + [119] = 119, + [120] = 120, + [121] = 121, + [122] = 122, + [123] = 123, + [124] = 124, + [125] = 125, + [126] = 126, + [127] = 127, + [128] = 128, + [129] = 129, + [130] = 130, + [131] = 131, + [132] = 132, + [133] = 133, + [134] = 134, + [135] = 135, + [136] = 136, + [137] = 137, + [138] = 138, }; static inline bool sym_identifier_character_set_1(int32_t c) { @@ -3541,560 +3577,592 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(31); - if (lookahead == '"') ADVANCE(86); - if (lookahead == '(') ADVANCE(52); - if (lookahead == ')') ADVANCE(53); - if (lookahead == '+') ADVANCE(98); - if (lookahead == ',') ADVANCE(50); - if (lookahead == '-') ADVANCE(79); - if (lookahead == '/') ADVANCE(46); - if (lookahead == ':') ADVANCE(93); - if (lookahead == '=') ADVANCE(47); - if (lookahead == '[') ADVANCE(95); + if (eof) ADVANCE(38); + if (lookahead == '"') ADVANCE(95); + if (lookahead == '(') ADVANCE(59); + if (lookahead == ')') ADVANCE(60); + if (lookahead == '+') ADVANCE(107); + if (lookahead == ',') ADVANCE(57); + if (lookahead == '-') ADVANCE(88); + if (lookahead == '/') ADVANCE(53); + if (lookahead == ':') ADVANCE(100); + if (lookahead == '=') ADVANCE(54); + if (lookahead == '[') ADVANCE(104); if (lookahead == '\\') ADVANCE(11); - if (lookahead == ']') ADVANCE(96); - if (lookahead == '`') ADVANCE(28); - if (lookahead == 'd') ADVANCE(57); - if (lookahead == 'f') ADVANCE(54); - if (lookahead == 's') ADVANCE(62); - if (lookahead == 't') ADVANCE(68); - if (lookahead == 'u') ADVANCE(67); - if (lookahead == '{') ADVANCE(49); - if (lookahead == '}') ADVANCE(51); + if (lookahead == ']') ADVANCE(105); + if (lookahead == '`') ADVANCE(35); + if (lookahead == 'd') ADVANCE(64); + if (lookahead == 'f') ADVANCE(61); + if (lookahead == 's') ADVANCE(69); + if (lookahead == 't') ADVANCE(75); + if (lookahead == 'u') ADVANCE(74); + if (lookahead == '{') ADVANCE(56); + if (lookahead == '}') ADVANCE(58); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(29) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(80); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(76); + lookahead == ' ') SKIP(36) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(89); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(83); END_STATE(); case 1: if (lookahead == '\n') SKIP(2) - if (lookahead == '"') ADVANCE(86); - if (lookahead == '/') ADVANCE(83); + if (lookahead == '"') ADVANCE(95); + if (lookahead == '/') ADVANCE(92); if (lookahead == '\\') ADVANCE(11); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(84); - if (lookahead != 0) ADVANCE(85); + lookahead == ' ') ADVANCE(93); + if (lookahead != 0) ADVANCE(94); END_STATE(); case 2: if (lookahead == '\n') SKIP(2) - if (lookahead == '/') ADVANCE(83); + if (lookahead == '/') ADVANCE(92); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(84); + lookahead == ' ') ADVANCE(93); if (lookahead != 0 && lookahead != '"' && - lookahead != '\\') ADVANCE(85); + lookahead != '\\') ADVANCE(94); END_STATE(); case 3: - if (lookahead == '"') ADVANCE(82); - if (lookahead == '(') ADVANCE(52); - if (lookahead == '+') ADVANCE(10); - if (lookahead == '-') ADVANCE(79); + if (lookahead == '"') ADVANCE(91); + if (lookahead == '(') ADVANCE(59); + if (lookahead == ')') ADVANCE(60); if (lookahead == '/') ADVANCE(6); - if (lookahead == '=') ADVANCE(47); - if (lookahead == '[') ADVANCE(95); - if (lookahead == '`') ADVANCE(28); - if (lookahead == 'f') ADVANCE(54); - if (lookahead == 's') ADVANCE(62); - if (lookahead == 't') ADVANCE(68); - if (lookahead == 'u') ADVANCE(67); - if (lookahead == '{') ADVANCE(49); + if (lookahead == '`') ADVANCE(35); + if (lookahead == 'd') ADVANCE(15); + if (lookahead == 'f') ADVANCE(13); + if (lookahead == 't') ADVANCE(21); + if (lookahead == '}') ADVANCE(58); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(3) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(80); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(76); END_STATE(); case 4: - if (lookahead == '"') ADVANCE(82); - if (lookahead == '-') ADVANCE(79); + if (lookahead == '"') ADVANCE(91); + if (lookahead == '(') ADVANCE(59); + if (lookahead == '+') ADVANCE(10); + if (lookahead == '-') ADVANCE(88); if (lookahead == '/') ADVANCE(6); - if (lookahead == '[') ADVANCE(95); - if (lookahead == ']') ADVANCE(96); - if (lookahead == '`') ADVANCE(28); - if (lookahead == 'f') ADVANCE(54); - if (lookahead == 's') ADVANCE(62); - if (lookahead == 't') ADVANCE(68); - if (lookahead == '{') ADVANCE(49); + if (lookahead == '=') ADVANCE(54); + if (lookahead == '[') ADVANCE(104); + if (lookahead == '`') ADVANCE(35); + if (lookahead == 'f') ADVANCE(61); + if (lookahead == 's') ADVANCE(69); + if (lookahead == 't') ADVANCE(75); + if (lookahead == 'u') ADVANCE(74); + if (lookahead == '{') ADVANCE(56); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(4) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(80); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(76); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(89); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(83); END_STATE(); case 5: - if (lookahead == '"') ADVANCE(82); + if (lookahead == '"') ADVANCE(91); + if (lookahead == '-') ADVANCE(88); if (lookahead == '/') ADVANCE(6); - if (lookahead == '`') ADVANCE(28); - if (lookahead == 'd') ADVANCE(14); - if (lookahead == '}') ADVANCE(51); + if (lookahead == '[') ADVANCE(104); + if (lookahead == ']') ADVANCE(105); + if (lookahead == '`') ADVANCE(35); + if (lookahead == 'f') ADVANCE(61); + if (lookahead == 's') ADVANCE(69); + if (lookahead == 't') ADVANCE(75); + if (lookahead == '{') ADVANCE(56); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(5) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(89); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(83); END_STATE(); case 6: - if (lookahead == '*') ADVANCE(41); - if (lookahead == '/') ADVANCE(32); + if (lookahead == '*') ADVANCE(48); + if (lookahead == '/') ADVANCE(39); END_STATE(); case 7: - if (lookahead == '*') ADVANCE(45); + if (lookahead == '*') ADVANCE(52); if (lookahead == '/') ADVANCE(9); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(7); if (lookahead != 0) ADVANCE(8); END_STATE(); case 8: - if (lookahead == '*') ADVANCE(45); + if (lookahead == '*') ADVANCE(52); if (lookahead != 0) ADVANCE(8); END_STATE(); case 9: - if (lookahead == '*') ADVANCE(42); - if (lookahead == '/') ADVANCE(33); + if (lookahead == '*') ADVANCE(49); + if (lookahead == '/') ADVANCE(40); if (lookahead != 0) ADVANCE(8); END_STATE(); case 10: - if (lookahead == '=') ADVANCE(48); + if (lookahead == '=') ADVANCE(55); END_STATE(); case 11: - if (lookahead == 'U') ADVANCE(26); - if (lookahead == 'u') ADVANCE(22); - if (lookahead == 'x') ADVANCE(20); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(89); - if (lookahead != 0) ADVANCE(87); + if (lookahead == 'U') ADVANCE(33); + if (lookahead == 'u') ADVANCE(29); + if (lookahead == 'x') ADVANCE(27); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(98); + if (lookahead != 0) ADVANCE(96); END_STATE(); case 12: - if (lookahead == '`') ADVANCE(81); + if (lookahead == '`') ADVANCE(90); if (lookahead != 0) ADVANCE(12); END_STATE(); case 13: - if (lookahead == 'a') ADVANCE(18); + if (lookahead == 'a') ADVANCE(19); END_STATE(); case 14: - if (lookahead == 'e') ADVANCE(15); + if (lookahead == 'a') ADVANCE(25); END_STATE(); case 15: - if (lookahead == 'f') ADVANCE(13); + if (lookahead == 'e') ADVANCE(18); END_STATE(); case 16: - if (lookahead == 'l') ADVANCE(17); + if (lookahead == 'e') ADVANCE(84); END_STATE(); case 17: - if (lookahead == 't') ADVANCE(91); + if (lookahead == 'e') ADVANCE(86); END_STATE(); case 18: - if (lookahead == 'u') ADVANCE(16); + if (lookahead == 'f') ADVANCE(14); END_STATE(); case 19: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(87); + if (lookahead == 'l') ADVANCE(22); END_STATE(); case 20: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(19); + if (lookahead == 'l') ADVANCE(23); END_STATE(); case 21: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(20); + if (lookahead == 'r') ADVANCE(24); END_STATE(); case 22: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(21); + if (lookahead == 's') ADVANCE(17); END_STATE(); case 23: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(22); + if (lookahead == 't') ADVANCE(101); END_STATE(); case 24: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(23); + if (lookahead == 'u') ADVANCE(16); END_STATE(); case 25: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(24); + if (lookahead == 'u') ADVANCE(20); END_STATE(); case 26: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(25); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(96); END_STATE(); case 27: - if (lookahead != 0 && - lookahead != '\r' && - lookahead != '\\') ADVANCE(38); - if (lookahead == '\r') ADVANCE(40); - if (lookahead == '\\') ADVANCE(39); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(26); END_STATE(); case 28: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(27); + END_STATE(); + case 29: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(28); + END_STATE(); + case 30: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(29); + END_STATE(); + case 31: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(30); + END_STATE(); + case 32: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(31); + END_STATE(); + case 33: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(32); + END_STATE(); + case 34: + if (lookahead != 0 && + lookahead != '\r' && + lookahead != '\\') ADVANCE(45); + if (lookahead == '\r') ADVANCE(47); + if (lookahead == '\\') ADVANCE(46); + END_STATE(); + case 35: if (lookahead != 0 && lookahead != '`') ADVANCE(12); END_STATE(); - case 29: - if (eof) ADVANCE(31); - if (lookahead == '"') ADVANCE(82); - if (lookahead == '(') ADVANCE(52); - if (lookahead == ')') ADVANCE(53); - if (lookahead == '+') ADVANCE(98); - if (lookahead == ',') ADVANCE(50); - if (lookahead == '-') ADVANCE(79); - if (lookahead == '/') ADVANCE(46); - if (lookahead == ':') ADVANCE(93); - if (lookahead == '=') ADVANCE(47); - if (lookahead == '[') ADVANCE(95); - if (lookahead == ']') ADVANCE(96); - if (lookahead == '`') ADVANCE(28); - if (lookahead == 'd') ADVANCE(57); - if (lookahead == 'f') ADVANCE(54); - if (lookahead == 's') ADVANCE(62); - if (lookahead == 't') ADVANCE(68); - if (lookahead == 'u') ADVANCE(67); - if (lookahead == '{') ADVANCE(49); - if (lookahead == '}') ADVANCE(51); + case 36: + if (eof) ADVANCE(38); + if (lookahead == '"') ADVANCE(91); + if (lookahead == '(') ADVANCE(59); + if (lookahead == ')') ADVANCE(60); + if (lookahead == '+') ADVANCE(107); + if (lookahead == ',') ADVANCE(57); + if (lookahead == '-') ADVANCE(88); + if (lookahead == '/') ADVANCE(53); + if (lookahead == ':') ADVANCE(100); + if (lookahead == '=') ADVANCE(54); + if (lookahead == '[') ADVANCE(104); + if (lookahead == ']') ADVANCE(105); + if (lookahead == '`') ADVANCE(35); + if (lookahead == 'd') ADVANCE(64); + if (lookahead == 'f') ADVANCE(61); + if (lookahead == 's') ADVANCE(69); + if (lookahead == 't') ADVANCE(75); + if (lookahead == 'u') ADVANCE(74); + if (lookahead == '{') ADVANCE(56); + if (lookahead == '}') ADVANCE(58); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(29) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(80); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(76); + lookahead == ' ') SKIP(36) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(89); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(83); END_STATE(); - case 30: - if (eof) ADVANCE(31); - if (lookahead == '"') ADVANCE(82); - if (lookahead == ')') ADVANCE(53); - if (lookahead == '+') ADVANCE(97); - if (lookahead == ',') ADVANCE(50); + case 37: + if (eof) ADVANCE(38); + if (lookahead == '"') ADVANCE(91); + if (lookahead == '(') ADVANCE(59); + if (lookahead == ')') ADVANCE(60); + if (lookahead == '+') ADVANCE(106); + if (lookahead == ',') ADVANCE(57); if (lookahead == '/') ADVANCE(6); - if (lookahead == ':') ADVANCE(93); - if (lookahead == ']') ADVANCE(96); - if (lookahead == '`') ADVANCE(28); - if (lookahead == '}') ADVANCE(51); + if (lookahead == ':') ADVANCE(100); + if (lookahead == ']') ADVANCE(105); + if (lookahead == '`') ADVANCE(35); + if (lookahead == '}') ADVANCE(58); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(30) - if (sym_identifier_character_set_1(lookahead)) ADVANCE(76); + lookahead == ' ') SKIP(37) + if (sym_identifier_character_set_1(lookahead)) ADVANCE(83); END_STATE(); - case 31: + case 38: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 32: + case 39: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); END_STATE(); - case 33: + case 40: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); - if (lookahead == '*') ADVANCE(45); + if (lookahead == '*') ADVANCE(52); if (lookahead != 0) ADVANCE(8); END_STATE(); - case 34: + case 41: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); - if (lookahead == '\\') ADVANCE(27); + if (lookahead == '\\') ADVANCE(34); if (lookahead != 0 && - lookahead != '\n') ADVANCE(38); + lookahead != '\n') ADVANCE(45); END_STATE(); - case 35: + case 42: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(85); + lookahead != '\\') ADVANCE(94); END_STATE(); - case 36: + case 43: ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead == '*') ADVANCE(43); - if (lookahead == '/') ADVANCE(34); - if (lookahead == '\\') ADVANCE(27); + if (lookahead == '*') ADVANCE(50); + if (lookahead == '/') ADVANCE(41); + if (lookahead == '\\') ADVANCE(34); if (lookahead != 0 && - lookahead != '\n') ADVANCE(38); + lookahead != '\n') ADVANCE(45); END_STATE(); - case 37: + case 44: ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead == '/') ADVANCE(36); - if (lookahead == '\\') ADVANCE(27); + if (lookahead == '/') ADVANCE(43); + if (lookahead == '\\') ADVANCE(34); if (lookahead == '\t' || (11 <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(37); + lookahead == ' ') ADVANCE(44); if (lookahead != 0 && - lookahead != '\n') ADVANCE(38); + lookahead != '\n') ADVANCE(45); END_STATE(); - case 38: + case 45: ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead == '\\') ADVANCE(27); + if (lookahead == '\\') ADVANCE(34); if (lookahead != 0 && - lookahead != '\n') ADVANCE(38); + lookahead != '\n') ADVANCE(45); END_STATE(); - case 39: + case 46: ACCEPT_TOKEN(aux_sym_comment_token1); if (lookahead != 0 && lookahead != '\r' && - lookahead != '\\') ADVANCE(38); - if (lookahead == '\r') ADVANCE(40); - if (lookahead == '\\') ADVANCE(39); + lookahead != '\\') ADVANCE(45); + if (lookahead == '\r') ADVANCE(47); + if (lookahead == '\\') ADVANCE(46); END_STATE(); - case 40: + case 47: ACCEPT_TOKEN(aux_sym_comment_token1); if (lookahead != 0 && - lookahead != '\\') ADVANCE(38); - if (lookahead == '\\') ADVANCE(27); + lookahead != '\\') ADVANCE(45); + if (lookahead == '\\') ADVANCE(34); END_STATE(); - case 41: + case 48: ACCEPT_TOKEN(anon_sym_SLASH_STAR); END_STATE(); - case 42: + case 49: ACCEPT_TOKEN(anon_sym_SLASH_STAR); - if (lookahead == '*') ADVANCE(45); + if (lookahead == '*') ADVANCE(52); if (lookahead != 0 && lookahead != '/') ADVANCE(8); END_STATE(); - case 43: + case 50: ACCEPT_TOKEN(anon_sym_SLASH_STAR); - if (lookahead == '\\') ADVANCE(27); + if (lookahead == '\\') ADVANCE(34); if (lookahead != 0 && - lookahead != '\n') ADVANCE(38); + lookahead != '\n') ADVANCE(45); END_STATE(); - case 44: + case 51: ACCEPT_TOKEN(anon_sym_SLASH_STAR); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(85); + lookahead != '\\') ADVANCE(94); END_STATE(); - case 45: + case 52: ACCEPT_TOKEN(aux_sym_comment_token2); - if (lookahead == '*') ADVANCE(45); + if (lookahead == '*') ADVANCE(52); if (lookahead != 0 && lookahead != '/') ADVANCE(8); END_STATE(); - case 46: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '*') ADVANCE(41); - if (lookahead == '/') ADVANCE(32); - END_STATE(); - case 47: - ACCEPT_TOKEN(anon_sym_EQ); - END_STATE(); - case 48: - ACCEPT_TOKEN(anon_sym_PLUS_EQ); - END_STATE(); - case 49: - ACCEPT_TOKEN(anon_sym_LBRACE); - END_STATE(); - case 50: - ACCEPT_TOKEN(anon_sym_COMMA); - END_STATE(); - case 51: - ACCEPT_TOKEN(anon_sym_RBRACE); - END_STATE(); - case 52: - ACCEPT_TOKEN(anon_sym_LPAREN); - END_STATE(); case 53: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(48); + if (lookahead == '/') ADVANCE(39); END_STATE(); case 54: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(66); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(76); + ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 55: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(74); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(76); + ACCEPT_TOKEN(anon_sym_PLUS_EQ); END_STATE(); case 56: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'c') ADVANCE(72); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 57: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(63); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 58: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(56); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 59: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(77); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 60: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(71); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 61: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(78); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 'a') ADVANCE(73); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(83); END_STATE(); case 62: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(64); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 'a') ADVANCE(81); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(83); END_STATE(); case 63: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'f') ADVANCE(55); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 'c') ADVANCE(79); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 64: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(58); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 'e') ADVANCE(70); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 65: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(73); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 'e') ADVANCE(63); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 66: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(70); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 'e') ADVANCE(85); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 67: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(69); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 'e') ADVANCE(78); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 68: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(75); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 'e') ADVANCE(87); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 69: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(60); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 'e') ADVANCE(71); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 70: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(61); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 'f') ADVANCE(62); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 71: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(94); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 'l') ADVANCE(65); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 72: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(90); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 'l') ADVANCE(80); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 73: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(92); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 'l') ADVANCE(77); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 74: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(65); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 'n') ADVANCE(76); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 75: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(59); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 'r') ADVANCE(82); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 76: ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + if (lookahead == 's') ADVANCE(67); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 77: - ACCEPT_TOKEN(anon_sym_true); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 's') ADVANCE(68); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 78: - ACCEPT_TOKEN(anon_sym_false); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(103); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 79: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(99); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 80: - ACCEPT_TOKEN(aux_sym_integer_literal_token1); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(80); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(102); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 81: - ACCEPT_TOKEN(sym_raw_string_literal); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(72); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 82: - ACCEPT_TOKEN(anon_sym_DQUOTE); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(66); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 83: - ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); - if (lookahead == '*') ADVANCE(44); - if (lookahead == '/') ADVANCE(35); - if (lookahead != 0 && - lookahead != '\n' && - lookahead != '"' && - lookahead != '\\') ADVANCE(85); + ACCEPT_TOKEN(sym_identifier); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); END_STATE(); case 84: - ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); - if (lookahead == '/') ADVANCE(83); - if (lookahead == '\t' || - (11 <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(84); - if (lookahead != 0 && - lookahead != '\n' && - lookahead != '"' && - lookahead != '\\') ADVANCE(85); + ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 85: + ACCEPT_TOKEN(anon_sym_true); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); + END_STATE(); + case 86: + ACCEPT_TOKEN(anon_sym_false); + END_STATE(); + case 87: + ACCEPT_TOKEN(anon_sym_false); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); + END_STATE(); + case 88: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 89: + ACCEPT_TOKEN(aux_sym_integer_literal_token1); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(89); + END_STATE(); + case 90: + ACCEPT_TOKEN(sym_raw_string_literal); + END_STATE(); + case 91: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 92: + ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); + if (lookahead == '*') ADVANCE(51); + if (lookahead == '/') ADVANCE(42); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(94); + END_STATE(); + case 93: + ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); + if (lookahead == '/') ADVANCE(92); + if (lookahead == '\t' || + (11 <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(93); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(94); + END_STATE(); + case 94: ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(85); - END_STATE(); - case 86: - ACCEPT_TOKEN(anon_sym_DQUOTE2); - END_STATE(); - case 87: - ACCEPT_TOKEN(sym_escape_sequence); - END_STATE(); - case 88: - ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(87); - END_STATE(); - case 89: - ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(88); - END_STATE(); - case 90: - ACCEPT_TOKEN(anon_sym_select); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); - END_STATE(); - case 91: - ACCEPT_TOKEN(anon_sym_default); - END_STATE(); - case 92: - ACCEPT_TOKEN(anon_sym_default); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); - END_STATE(); - case 93: - ACCEPT_TOKEN(anon_sym_COLON); - END_STATE(); - case 94: - ACCEPT_TOKEN(anon_sym_unset); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(76); + lookahead != '\\') ADVANCE(94); END_STATE(); case 95: - ACCEPT_TOKEN(anon_sym_LBRACK); + ACCEPT_TOKEN(anon_sym_DQUOTE2); END_STATE(); case 96: - ACCEPT_TOKEN(anon_sym_RBRACK); + ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); case 97: - ACCEPT_TOKEN(anon_sym_PLUS); + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(96); END_STATE(); case 98: + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(97); + END_STATE(); + case 99: + ACCEPT_TOKEN(anon_sym_select); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); + END_STATE(); + case 100: + ACCEPT_TOKEN(anon_sym_COLON); + END_STATE(); + case 101: + ACCEPT_TOKEN(anon_sym_default); + END_STATE(); + case 102: + ACCEPT_TOKEN(anon_sym_default); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); + END_STATE(); + case 103: + ACCEPT_TOKEN(anon_sym_unset); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(83); + END_STATE(); + case 104: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 105: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 106: ACCEPT_TOKEN(anon_sym_PLUS); - if (lookahead == '=') ADVANCE(48); + END_STATE(); + case 107: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '=') ADVANCE(55); END_STATE(); default: return false; @@ -4103,122 +4171,144 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 30}, - [2] = {.lex_state = 3}, - [3] = {.lex_state = 4}, - [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 = 30}, - [12] = {.lex_state = 30}, - [13] = {.lex_state = 5}, - [14] = {.lex_state = 30}, - [15] = {.lex_state = 30}, - [16] = {.lex_state = 5}, - [17] = {.lex_state = 5}, - [18] = {.lex_state = 30}, - [19] = {.lex_state = 30}, - [20] = {.lex_state = 30}, - [21] = {.lex_state = 30}, - [22] = {.lex_state = 30}, - [23] = {.lex_state = 30}, - [24] = {.lex_state = 30}, - [25] = {.lex_state = 30}, - [26] = {.lex_state = 30}, - [27] = {.lex_state = 30}, - [28] = {.lex_state = 30}, - [29] = {.lex_state = 30}, - [30] = {.lex_state = 30}, - [31] = {.lex_state = 30}, - [32] = {.lex_state = 30}, - [33] = {.lex_state = 30}, - [34] = {.lex_state = 30}, - [35] = {.lex_state = 30}, - [36] = {.lex_state = 30}, - [37] = {.lex_state = 30}, - [38] = {.lex_state = 1}, - [39] = {.lex_state = 3}, - [40] = {.lex_state = 1}, - [41] = {.lex_state = 5}, - [42] = {.lex_state = 30}, - [43] = {.lex_state = 1}, - [44] = {.lex_state = 30}, - [45] = {.lex_state = 0}, - [46] = {.lex_state = 0}, - [47] = {.lex_state = 30}, - [48] = {.lex_state = 0}, - [49] = {.lex_state = 30}, - [50] = {.lex_state = 30}, - [51] = {.lex_state = 0}, - [52] = {.lex_state = 30}, - [53] = {.lex_state = 30}, - [54] = {.lex_state = 1}, - [55] = {.lex_state = 30}, - [56] = {.lex_state = 0}, - [57] = {.lex_state = 30}, - [58] = {.lex_state = 30}, + [1] = {.lex_state = 37}, + [2] = {.lex_state = 4}, + [3] = {.lex_state = 5}, + [4] = {.lex_state = 5}, + [5] = {.lex_state = 5}, + [6] = {.lex_state = 5}, + [7] = {.lex_state = 5}, + [8] = {.lex_state = 5}, + [9] = {.lex_state = 5}, + [10] = {.lex_state = 5}, + [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 = 37}, + [19] = {.lex_state = 37}, + [20] = {.lex_state = 37}, + [21] = {.lex_state = 37}, + [22] = {.lex_state = 37}, + [23] = {.lex_state = 37}, + [24] = {.lex_state = 37}, + [25] = {.lex_state = 3}, + [26] = {.lex_state = 37}, + [27] = {.lex_state = 37}, + [28] = {.lex_state = 37}, + [29] = {.lex_state = 37}, + [30] = {.lex_state = 37}, + [31] = {.lex_state = 37}, + [32] = {.lex_state = 37}, + [33] = {.lex_state = 37}, + [34] = {.lex_state = 37}, + [35] = {.lex_state = 37}, + [36] = {.lex_state = 37}, + [37] = {.lex_state = 37}, + [38] = {.lex_state = 37}, + [39] = {.lex_state = 37}, + [40] = {.lex_state = 37}, + [41] = {.lex_state = 4}, + [42] = {.lex_state = 37}, + [43] = {.lex_state = 37}, + [44] = {.lex_state = 1}, + [45] = {.lex_state = 1}, + [46] = {.lex_state = 1}, + [47] = {.lex_state = 37}, + [48] = {.lex_state = 37}, + [49] = {.lex_state = 37}, + [50] = {.lex_state = 0}, + [51] = {.lex_state = 37}, + [52] = {.lex_state = 37}, + [53] = {.lex_state = 0}, + [54] = {.lex_state = 0}, + [55] = {.lex_state = 37}, + [56] = {.lex_state = 37}, + [57] = {.lex_state = 37}, + [58] = {.lex_state = 0}, [59] = {.lex_state = 0}, [60] = {.lex_state = 0}, - [61] = {.lex_state = 0}, - [62] = {.lex_state = 30}, - [63] = {.lex_state = 30}, + [61] = {.lex_state = 37}, + [62] = {.lex_state = 37}, + [63] = {.lex_state = 0}, [64] = {.lex_state = 0}, - [65] = {.lex_state = 30}, - [66] = {.lex_state = 30}, + [65] = {.lex_state = 0}, + [66] = {.lex_state = 0}, [67] = {.lex_state = 0}, - [68] = {.lex_state = 0}, - [69] = {.lex_state = 30}, + [68] = {.lex_state = 37}, + [69] = {.lex_state = 37}, [70] = {.lex_state = 0}, - [71] = {.lex_state = 0}, - [72] = {.lex_state = 30}, - [73] = {.lex_state = 30}, - [74] = {.lex_state = 30}, - [75] = {.lex_state = 30}, + [71] = {.lex_state = 37}, + [72] = {.lex_state = 37}, + [73] = {.lex_state = 0}, + [74] = {.lex_state = 1}, + [75] = {.lex_state = 37}, [76] = {.lex_state = 0}, - [77] = {.lex_state = 30}, + [77] = {.lex_state = 0}, [78] = {.lex_state = 0}, [79] = {.lex_state = 0}, - [80] = {.lex_state = 30}, - [81] = {.lex_state = 30}, - [82] = {.lex_state = 30}, - [83] = {.lex_state = 30}, - [84] = {.lex_state = 30}, - [85] = {.lex_state = 30}, - [86] = {.lex_state = 30}, - [87] = {.lex_state = 30}, - [88] = {.lex_state = 30}, - [89] = {.lex_state = 30}, - [90] = {.lex_state = 30}, - [91] = {.lex_state = 30}, - [92] = {.lex_state = 0}, - [93] = {.lex_state = 30}, + [80] = {.lex_state = 37}, + [81] = {.lex_state = 0}, + [82] = {.lex_state = 0}, + [83] = {.lex_state = 0}, + [84] = {.lex_state = 0}, + [85] = {.lex_state = 37}, + [86] = {.lex_state = 0}, + [87] = {.lex_state = 0}, + [88] = {.lex_state = 37}, + [89] = {.lex_state = 37}, + [90] = {.lex_state = 37}, + [91] = {.lex_state = 37}, + [92] = {.lex_state = 37}, + [93] = {.lex_state = 37}, [94] = {.lex_state = 0}, - [95] = {.lex_state = 0}, + [95] = {.lex_state = 37}, [96] = {.lex_state = 0}, - [97] = {.lex_state = 0}, - [98] = {.lex_state = 0}, - [99] = {.lex_state = 0}, - [100] = {.lex_state = 0}, - [101] = {.lex_state = 0}, + [97] = {.lex_state = 37}, + [98] = {.lex_state = 37}, + [99] = {.lex_state = 37}, + [100] = {.lex_state = 37}, + [101] = {.lex_state = 37}, [102] = {.lex_state = 0}, [103] = {.lex_state = 0}, - [104] = {.lex_state = 0}, - [105] = {.lex_state = 0}, - [106] = {.lex_state = 0}, + [104] = {.lex_state = 37}, + [105] = {.lex_state = 37}, + [106] = {.lex_state = 37}, [107] = {.lex_state = 0}, [108] = {.lex_state = 0}, [109] = {.lex_state = 37}, - [110] = {.lex_state = 0}, - [111] = {.lex_state = 0}, + [110] = {.lex_state = 37}, + [111] = {.lex_state = 37}, [112] = {.lex_state = 0}, - [113] = {.lex_state = 7}, + [113] = {.lex_state = 0}, [114] = {.lex_state = 0}, - [115] = {(TSStateId)(-1)}, - [116] = {(TSStateId)(-1)}, + [115] = {.lex_state = 44}, + [116] = {.lex_state = 0}, + [117] = {.lex_state = 0}, + [118] = {.lex_state = 0}, + [119] = {.lex_state = 0}, + [120] = {.lex_state = 0}, + [121] = {.lex_state = 0}, + [122] = {.lex_state = 7}, + [123] = {.lex_state = 0}, + [124] = {.lex_state = 0}, + [125] = {.lex_state = 0}, + [126] = {.lex_state = 0}, + [127] = {.lex_state = 0}, + [128] = {.lex_state = 0}, + [129] = {.lex_state = 0}, + [130] = {.lex_state = 0}, + [131] = {.lex_state = 0}, + [132] = {.lex_state = 0}, + [133] = {.lex_state = 0}, + [134] = {.lex_state = 0}, + [135] = {.lex_state = 0}, + [136] = {.lex_state = 0}, + [137] = {(TSStateId)(-1)}, + [138] = {(TSStateId)(-1)}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -4245,21 +4335,21 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DQUOTE2] = ACTIONS(1), [sym_escape_sequence] = ACTIONS(1), [anon_sym_select] = ACTIONS(1), - [anon_sym_default] = ACTIONS(1), [anon_sym_COLON] = ACTIONS(1), + [anon_sym_default] = ACTIONS(1), [anon_sym_unset] = ACTIONS(1), [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), [anon_sym_PLUS] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(111), - [sym__definition] = STATE(81), + [sym_source_file] = STATE(136), + [sym__definition] = STATE(93), [sym_comment] = STATE(1), - [sym_assignment] = STATE(82), - [sym_module] = STATE(82), - [sym__old_module] = STATE(89), - [sym__new_module] = STATE(73), + [sym_assignment] = STATE(99), + [sym_module] = STATE(99), + [sym__old_module] = STATE(100), + [sym__new_module] = STATE(101), [aux_sym_source_file_repeat1] = STATE(18), [ts_builtin_sym_end] = ACTIONS(7), [anon_sym_SLASH_SLASH] = ACTIONS(3), @@ -4294,16 +4384,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, STATE(2), 1, sym_comment, - STATE(12), 1, + STATE(23), 1, sym_interpreted_string_literal, - STATE(80), 1, - sym__expr, STATE(98), 1, + sym__expr, + STATE(132), 1, sym__case_value, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(21), 7, + STATE(30), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -4336,14 +4426,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, STATE(3), 1, sym_comment, - STATE(12), 1, + STATE(23), 1, sym_interpreted_string_literal, - STATE(42), 1, + STATE(80), 1, sym__expr, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(21), 7, + STATE(30), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -4376,14 +4466,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, STATE(4), 1, sym_comment, - STATE(12), 1, + STATE(23), 1, sym_interpreted_string_literal, - STATE(57), 1, + STATE(42), 1, sym__expr, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(21), 7, + STATE(30), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -4416,14 +4506,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, STATE(5), 1, sym_comment, - STATE(12), 1, + STATE(23), 1, sym_interpreted_string_literal, - STATE(57), 1, + STATE(80), 1, sym__expr, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(21), 7, + STATE(30), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -4454,14 +4544,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, STATE(6), 1, sym_comment, - STATE(12), 1, + STATE(23), 1, sym_interpreted_string_literal, - STATE(47), 1, + STATE(80), 1, sym__expr, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(21), 7, + STATE(30), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -4492,14 +4582,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, STATE(7), 1, sym_comment, - STATE(12), 1, + STATE(23), 1, sym_interpreted_string_literal, - STATE(27), 1, + STATE(56), 1, sym__expr, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(21), 7, + STATE(30), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -4530,14 +4620,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, STATE(8), 1, sym_comment, - STATE(12), 1, + STATE(23), 1, sym_interpreted_string_literal, - STATE(62), 1, + STATE(71), 1, sym__expr, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(21), 7, + STATE(30), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -4568,14 +4658,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, STATE(9), 1, sym_comment, - STATE(12), 1, + STATE(23), 1, sym_interpreted_string_literal, - STATE(57), 1, + STATE(49), 1, sym__expr, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(21), 7, + STATE(30), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -4606,14 +4696,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, STATE(10), 1, sym_comment, - STATE(12), 1, + STATE(23), 1, sym_interpreted_string_literal, - STATE(65), 1, + STATE(37), 1, sym__expr, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(21), 7, + STATE(30), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -4621,44 +4711,39 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [492] = 9, + [492] = 14, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(37), 1, - ts_builtin_sym_end, + anon_sym_RBRACE, ACTIONS(39), 1, - sym_identifier, - STATE(73), 1, - sym__new_module, - STATE(81), 1, - sym__definition, - STATE(89), 1, - sym__old_module, + anon_sym_LPAREN, + ACTIONS(45), 1, + sym_raw_string_literal, + ACTIONS(48), 1, + anon_sym_DQUOTE, + ACTIONS(51), 1, + anon_sym_default, + STATE(23), 1, + sym_interpreted_string_literal, + STATE(114), 1, + sym__select_pattern, + STATE(118), 1, + sym_select_case, + STATE(125), 1, + sym_select_pattern, + ACTIONS(42), 2, + anon_sym_true, + anon_sym_false, STATE(11), 2, sym_comment, - aux_sym_source_file_repeat1, + aux_sym_select_cases_repeat1, STATE(82), 2, - sym_assignment, - sym_module, - [522] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(12), 1, - sym_comment, - ACTIONS(42), 8, - ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - sym_identifier, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_PLUS, - [542] = 11, + sym_boolean_literal, + sym__string_literal, + [538] = 15, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -4667,75 +4752,31 @@ static const uint16_t ts_small_parse_table[] = { sym_raw_string_literal, ACTIONS(23), 1, anon_sym_DQUOTE, - ACTIONS(44), 1, - anon_sym_RBRACE, - ACTIONS(46), 1, - anon_sym_default, - STATE(12), 1, - sym_interpreted_string_literal, - STATE(13), 1, - sym_comment, - STATE(16), 1, - aux_sym_select_cases_repeat1, - STATE(100), 1, - sym__string_literal, - STATE(106), 1, - sym_select_case, - [576] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(14), 1, - sym_comment, - ACTIONS(48), 8, - ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - sym_identifier, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_PLUS, - [596] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(15), 1, - sym_comment, - ACTIONS(50), 8, - ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - sym_identifier, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_PLUS, - [616] = 10, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(52), 1, - anon_sym_RBRACE, ACTIONS(54), 1, - sym_raw_string_literal, - ACTIONS(57), 1, - anon_sym_DQUOTE, + anon_sym_RBRACE, + ACTIONS(56), 1, + anon_sym_LPAREN, ACTIONS(60), 1, anon_sym_default, STATE(12), 1, - sym_interpreted_string_literal, - STATE(100), 1, - sym__string_literal, - STATE(106), 1, - sym_select_case, - STATE(16), 2, sym_comment, + STATE(13), 1, aux_sym_select_cases_repeat1, - [648] = 11, + STATE(23), 1, + sym_interpreted_string_literal, + STATE(114), 1, + sym__select_pattern, + STATE(118), 1, + sym_select_case, + STATE(125), 1, + sym_select_pattern, + ACTIONS(58), 2, + anon_sym_true, + anon_sym_false, + STATE(82), 2, + sym_boolean_literal, + sym__string_literal, + [586] = 15, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -4744,169 +4785,240 @@ static const uint16_t ts_small_parse_table[] = { sym_raw_string_literal, ACTIONS(23), 1, anon_sym_DQUOTE, - ACTIONS(46), 1, + ACTIONS(56), 1, + anon_sym_LPAREN, + ACTIONS(60), 1, anon_sym_default, - ACTIONS(63), 1, + ACTIONS(62), 1, anon_sym_RBRACE, - STATE(12), 1, - sym_interpreted_string_literal, - STATE(13), 1, + STATE(11), 1, aux_sym_select_cases_repeat1, + STATE(13), 1, + sym_comment, + STATE(23), 1, + sym_interpreted_string_literal, + STATE(114), 1, + sym__select_pattern, + STATE(118), 1, + sym_select_case, + STATE(125), 1, + sym_select_pattern, + ACTIONS(58), 2, + anon_sym_true, + anon_sym_false, + STATE(82), 2, + sym_boolean_literal, + sym__string_literal, + [634] = 11, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(21), 1, + sym_raw_string_literal, + ACTIONS(23), 1, + anon_sym_DQUOTE, + ACTIONS(60), 1, + anon_sym_default, + ACTIONS(64), 1, + anon_sym_RPAREN, + STATE(14), 1, + sym_comment, + STATE(23), 1, + sym_interpreted_string_literal, + STATE(94), 1, + sym__select_pattern, + ACTIONS(58), 2, + anon_sym_true, + anon_sym_false, + STATE(82), 2, + sym_boolean_literal, + sym__string_literal, + [670] = 11, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(21), 1, + sym_raw_string_literal, + ACTIONS(23), 1, + anon_sym_DQUOTE, + ACTIONS(60), 1, + anon_sym_default, + ACTIONS(66), 1, + anon_sym_RPAREN, + STATE(15), 1, + sym_comment, + STATE(23), 1, + sym_interpreted_string_literal, + STATE(94), 1, + sym__select_pattern, + ACTIONS(58), 2, + anon_sym_true, + anon_sym_false, + STATE(82), 2, + sym_boolean_literal, + sym__string_literal, + [706] = 10, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(21), 1, + sym_raw_string_literal, + ACTIONS(23), 1, + anon_sym_DQUOTE, + ACTIONS(60), 1, + anon_sym_default, + STATE(16), 1, + sym_comment, + STATE(23), 1, + sym_interpreted_string_literal, + STATE(94), 1, + sym__select_pattern, + ACTIONS(58), 2, + anon_sym_true, + anon_sym_false, + STATE(82), 2, + sym_boolean_literal, + sym__string_literal, + [739] = 10, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(21), 1, + sym_raw_string_literal, + ACTIONS(23), 1, + anon_sym_DQUOTE, + ACTIONS(60), 1, + anon_sym_default, STATE(17), 1, sym_comment, - STATE(100), 1, + STATE(23), 1, + sym_interpreted_string_literal, + STATE(59), 1, + sym__select_pattern, + ACTIONS(58), 2, + anon_sym_true, + anon_sym_false, + STATE(82), 2, + sym_boolean_literal, sym__string_literal, - STATE(106), 1, - sym_select_case, - [682] = 10, + [772] = 10, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(9), 1, sym_identifier, - ACTIONS(65), 1, + ACTIONS(68), 1, ts_builtin_sym_end, - STATE(11), 1, - aux_sym_source_file_repeat1, STATE(18), 1, sym_comment, - STATE(73), 1, - sym__new_module, - STATE(81), 1, + STATE(21), 1, + aux_sym_source_file_repeat1, + STATE(93), 1, sym__definition, - STATE(89), 1, + STATE(100), 1, sym__old_module, - STATE(82), 2, + STATE(101), 1, + sym__new_module, + STATE(99), 2, sym_assignment, sym_module, - [714] = 4, + [804] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(19), 1, sym_comment, - ACTIONS(67), 7, + ACTIONS(70), 8, ts_builtin_sym_end, anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RPAREN, sym_identifier, + anon_sym_COLON, anon_sym_RBRACK, anon_sym_PLUS, - [733] = 4, + [824] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(20), 1, sym_comment, - ACTIONS(69), 7, + ACTIONS(72), 8, ts_builtin_sym_end, anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RPAREN, sym_identifier, + anon_sym_COLON, anon_sym_RBRACK, anon_sym_PLUS, - [752] = 4, + [844] = 9, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(21), 1, - sym_comment, - ACTIONS(71), 7, + ACTIONS(74), 1, ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, + ACTIONS(76), 1, sym_identifier, - anon_sym_RBRACK, - anon_sym_PLUS, - [771] = 4, + STATE(93), 1, + sym__definition, + STATE(100), 1, + sym__old_module, + STATE(101), 1, + sym__new_module, + STATE(21), 2, + sym_comment, + aux_sym_source_file_repeat1, + STATE(99), 2, + sym_assignment, + sym_module, + [874] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(22), 1, sym_comment, - ACTIONS(73), 7, + ACTIONS(79), 8, ts_builtin_sym_end, anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RPAREN, sym_identifier, + anon_sym_COLON, anon_sym_RBRACK, anon_sym_PLUS, - [790] = 4, + [894] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(23), 1, sym_comment, - ACTIONS(75), 7, + ACTIONS(81), 8, ts_builtin_sym_end, anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RPAREN, sym_identifier, + anon_sym_COLON, anon_sym_RBRACK, anon_sym_PLUS, - [809] = 4, + [914] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(24), 1, sym_comment, - ACTIONS(77), 7, - ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - sym_identifier, - anon_sym_RBRACK, - anon_sym_PLUS, - [828] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(25), 1, - sym_comment, - ACTIONS(79), 7, - ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - sym_identifier, - anon_sym_RBRACK, - anon_sym_PLUS, - [847] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(26), 1, - sym_comment, - ACTIONS(81), 7, - ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - sym_identifier, - anon_sym_RBRACK, - anon_sym_PLUS, - [866] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(27), 1, - sym_comment, ACTIONS(83), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -4915,12 +5027,27 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [885] = 4, + [933] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(28), 1, + STATE(25), 1, + sym_comment, + ACTIONS(37), 7, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_true, + anon_sym_false, + sym_raw_string_literal, + anon_sym_DQUOTE, + anon_sym_default, + [952] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(26), 1, sym_comment, ACTIONS(85), 7, ts_builtin_sym_end, @@ -4930,12 +5057,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [904] = 4, + [971] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(29), 1, + STATE(27), 1, sym_comment, ACTIONS(87), 7, ts_builtin_sym_end, @@ -4945,12 +5072,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [923] = 4, + [990] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(30), 1, + STATE(28), 1, sym_comment, ACTIONS(89), 7, ts_builtin_sym_end, @@ -4960,12 +5087,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [942] = 4, + [1009] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(31), 1, + STATE(29), 1, sym_comment, ACTIONS(91), 7, ts_builtin_sym_end, @@ -4975,12 +5102,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [961] = 4, + [1028] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(32), 1, + STATE(30), 1, sym_comment, ACTIONS(93), 7, ts_builtin_sym_end, @@ -4990,12 +5117,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [980] = 4, + [1047] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(33), 1, + STATE(31), 1, sym_comment, ACTIONS(95), 7, ts_builtin_sym_end, @@ -5005,12 +5132,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [999] = 4, + [1066] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(34), 1, + STATE(32), 1, sym_comment, ACTIONS(97), 7, ts_builtin_sym_end, @@ -5020,41 +5147,112 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [1018] = 8, + [1085] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(21), 1, - sym_raw_string_literal, - ACTIONS(23), 1, - anon_sym_DQUOTE, - ACTIONS(99), 1, + STATE(33), 1, + sym_comment, + ACTIONS(99), 7, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, anon_sym_RPAREN, - STATE(12), 1, - sym_interpreted_string_literal, + sym_identifier, + anon_sym_RBRACK, + anon_sym_PLUS, + [1104] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(34), 1, + sym_comment, + ACTIONS(101), 7, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + anon_sym_PLUS, + [1123] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, STATE(35), 1, sym_comment, - STATE(92), 1, - sym__string_literal, - [1043] = 8, + ACTIONS(103), 7, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + anon_sym_PLUS, + [1142] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(21), 1, - sym_raw_string_literal, - ACTIONS(23), 1, - anon_sym_DQUOTE, - ACTIONS(101), 1, - anon_sym_RPAREN, - STATE(12), 1, - sym_interpreted_string_literal, STATE(36), 1, sym_comment, - STATE(56), 1, - sym__string_literal, - [1068] = 8, + ACTIONS(105), 7, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + anon_sym_PLUS, + [1161] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(37), 1, + sym_comment, + ACTIONS(107), 7, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + anon_sym_PLUS, + [1180] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(38), 1, + sym_comment, + ACTIONS(109), 7, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + anon_sym_PLUS, + [1199] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(39), 1, + sym_comment, + ACTIONS(111), 7, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + anon_sym_PLUS, + [1218] = 8, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -5063,30 +5261,15 @@ static const uint16_t ts_small_parse_table[] = { sym_raw_string_literal, ACTIONS(23), 1, anon_sym_DQUOTE, - ACTIONS(103), 1, - anon_sym_RPAREN, - STATE(12), 1, - sym_interpreted_string_literal, - STATE(37), 1, - sym_comment, - STATE(92), 1, - sym__string_literal, - [1093] = 7, - ACTIONS(105), 1, - anon_sym_SLASH_SLASH, - ACTIONS(107), 1, - anon_sym_SLASH_STAR, - ACTIONS(109), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(111), 1, - anon_sym_DQUOTE2, ACTIONS(113), 1, - sym_escape_sequence, - STATE(38), 1, - sym_comment, + anon_sym_RPAREN, + STATE(23), 1, + sym_interpreted_string_literal, STATE(40), 1, - aux_sym_interpreted_string_literal_repeat1, - [1115] = 6, + sym_comment, + STATE(60), 1, + sym__string_literal, + [1243] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -5095,68 +5278,86 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, ACTIONS(119), 1, anon_sym_LPAREN, - STATE(39), 1, + STATE(41), 1, sym_comment, ACTIONS(115), 2, anon_sym_EQ, anon_sym_PLUS_EQ, - [1135] = 7, - ACTIONS(105), 1, + [1263] = 7, + ACTIONS(3), 1, anon_sym_SLASH_SLASH, - ACTIONS(107), 1, + ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(109), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(113), 1, - sym_escape_sequence, ACTIONS(121), 1, - anon_sym_DQUOTE2, - STATE(40), 1, - sym_comment, - STATE(43), 1, - aux_sym_interpreted_string_literal_repeat1, - [1157] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(41), 1, - sym_comment, - ACTIONS(52), 4, - anon_sym_RBRACE, - sym_raw_string_literal, - anon_sym_DQUOTE, - anon_sym_default, - [1173] = 7, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(123), 1, anon_sym_COMMA, - ACTIONS(125), 1, + ACTIONS(123), 1, anon_sym_RBRACK, - ACTIONS(127), 1, + ACTIONS(125), 1, anon_sym_PLUS, STATE(42), 1, sym_comment, - STATE(60), 1, + STATE(63), 1, aux_sym_list_expression_repeat1, - [1195] = 6, - ACTIONS(105), 1, + [1285] = 7, + ACTIONS(3), 1, anon_sym_SLASH_SLASH, - ACTIONS(107), 1, + ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(127), 1, + anon_sym_LPAREN, ACTIONS(129), 1, + sym_identifier, + STATE(43), 1, + sym_comment, + STATE(129), 1, + sym_select_value, + STATE(134), 1, + sym_condition, + [1307] = 7, + ACTIONS(131), 1, + anon_sym_SLASH_SLASH, + ACTIONS(133), 1, + anon_sym_SLASH_STAR, + ACTIONS(135), 1, aux_sym_interpreted_string_literal_token1, - ACTIONS(132), 1, + ACTIONS(137), 1, anon_sym_DQUOTE2, - ACTIONS(134), 1, + ACTIONS(139), 1, sym_escape_sequence, - STATE(43), 2, + STATE(44), 1, + sym_comment, + STATE(46), 1, + aux_sym_interpreted_string_literal_repeat1, + [1329] = 7, + ACTIONS(131), 1, + anon_sym_SLASH_SLASH, + ACTIONS(133), 1, + anon_sym_SLASH_STAR, + ACTIONS(135), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(139), 1, + sym_escape_sequence, + ACTIONS(141), 1, + anon_sym_DQUOTE2, + STATE(44), 1, + aux_sym_interpreted_string_literal_repeat1, + STATE(45), 1, + sym_comment, + [1351] = 6, + ACTIONS(131), 1, + anon_sym_SLASH_SLASH, + ACTIONS(133), 1, + anon_sym_SLASH_STAR, + ACTIONS(143), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(146), 1, + anon_sym_DQUOTE2, + ACTIONS(148), 1, + sym_escape_sequence, + STATE(46), 2, sym_comment, aux_sym_interpreted_string_literal_repeat1, - [1215] = 7, + [1371] = 7, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -5165,773 +5366,983 @@ static const uint16_t ts_small_parse_table[] = { sym_raw_string_literal, ACTIONS(23), 1, anon_sym_DQUOTE, - STATE(12), 1, + STATE(23), 1, sym_interpreted_string_literal, - STATE(44), 1, - sym_comment, - STATE(92), 1, - sym__string_literal, - [1237] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(137), 1, - anon_sym_COMMA, - ACTIONS(139), 1, - anon_sym_RBRACE, - STATE(45), 1, - sym_comment, - STATE(64), 1, - aux_sym__old_module_repeat1, - [1256] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(99), 1, - anon_sym_RPAREN, - ACTIONS(141), 1, - anon_sym_COMMA, - STATE(46), 1, - sym_comment, - STATE(61), 1, - aux_sym_select_value_repeat1, - [1275] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(127), 1, - anon_sym_PLUS, STATE(47), 1, sym_comment, - ACTIONS(143), 2, - ts_builtin_sym_end, - sym_identifier, - [1292] = 6, + STATE(108), 1, + sym__string_literal, + [1393] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(145), 1, - anon_sym_COMMA, - ACTIONS(147), 1, + ACTIONS(151), 1, anon_sym_RBRACE, + ACTIONS(153), 1, + sym_identifier, STATE(48), 1, sym_comment, - STATE(64), 1, - aux_sym__old_module_repeat1, - [1311] = 6, + STATE(84), 1, + sym__colon_property, + [1412] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(149), 1, - anon_sym_RPAREN, - ACTIONS(151), 1, - sym_identifier, + ACTIONS(125), 1, + anon_sym_PLUS, STATE(49), 1, sym_comment, - STATE(78), 1, - sym__equal_property, - [1330] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(153), 1, + ACTIONS(155), 2, + anon_sym_COMMA, anon_sym_RBRACE, - ACTIONS(155), 1, - sym_identifier, - STATE(50), 1, - sym_comment, - STATE(71), 1, - sym__colon_property, - [1349] = 6, + [1429] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(157), 1, anon_sym_COMMA, - ACTIONS(159), 1, + ACTIONS(160), 1, anon_sym_RPAREN, + STATE(50), 2, + sym_comment, + aux_sym_condition_repeat1, + [1446] = 6, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(162), 1, + anon_sym_RPAREN, + ACTIONS(164), 1, + sym_identifier, STATE(51), 1, sym_comment, - STATE(67), 1, - aux_sym__new_module_repeat1, - [1368] = 6, + STATE(87), 1, + sym__equal_property, + [1465] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(155), 1, + ACTIONS(129), 1, sym_identifier, - ACTIONS(161), 1, - anon_sym_RBRACE, + ACTIONS(166), 1, + anon_sym_RPAREN, STATE(52), 1, sym_comment, - STATE(76), 1, - sym__colon_property, - [1387] = 6, + STATE(103), 1, + sym_condition, + [1484] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(151), 1, - sym_identifier, - ACTIONS(163), 1, + ACTIONS(168), 1, + anon_sym_COMMA, + ACTIONS(170), 1, anon_sym_RPAREN, STATE(53), 1, sym_comment, - STATE(68), 1, - sym__equal_property, - [1406] = 5, - ACTIONS(105), 1, + STATE(73), 1, + aux_sym__new_module_repeat1, + [1503] = 6, + ACTIONS(3), 1, anon_sym_SLASH_SLASH, - ACTIONS(107), 1, + ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(165), 1, - aux_sym_interpreted_string_literal_token1, + ACTIONS(172), 1, + anon_sym_COMMA, + ACTIONS(174), 1, + anon_sym_RBRACE, STATE(54), 1, sym_comment, - ACTIONS(167), 2, - anon_sym_DQUOTE2, - sym_escape_sequence, - [1423] = 6, + STATE(70), 1, + aux_sym__old_module_repeat1, + [1522] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(155), 1, + ACTIONS(164), 1, sym_identifier, - ACTIONS(169), 1, - anon_sym_RBRACE, + ACTIONS(176), 1, + anon_sym_RPAREN, STATE(55), 1, sym_comment, - STATE(59), 1, - sym__colon_property, - [1442] = 6, + STATE(78), 1, + sym__equal_property, + [1541] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(171), 1, - anon_sym_COMMA, - ACTIONS(173), 1, - anon_sym_RPAREN, - STATE(46), 1, - aux_sym_select_value_repeat1, + ACTIONS(125), 1, + anon_sym_PLUS, STATE(56), 1, sym_comment, - [1461] = 5, + ACTIONS(178), 2, + ts_builtin_sym_end, + sym_identifier, + [1558] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(127), 1, - anon_sym_PLUS, + ACTIONS(153), 1, + sym_identifier, + ACTIONS(180), 1, + anon_sym_RBRACE, STATE(57), 1, sym_comment, - ACTIONS(175), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [1478] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(155), 1, - sym_identifier, - ACTIONS(177), 1, - anon_sym_RBRACE, - STATE(58), 1, - sym_comment, - STATE(76), 1, + STATE(81), 1, sym__colon_property, - [1497] = 6, + [1577] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(179), 1, - anon_sym_COMMA, - ACTIONS(181), 1, - anon_sym_RBRACE, - STATE(48), 1, - aux_sym__old_module_repeat1, - STATE(59), 1, - sym_comment, - [1516] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(183), 1, + ACTIONS(182), 1, anon_sym_COMMA, ACTIONS(185), 1, - anon_sym_RBRACK, - STATE(60), 1, + anon_sym_RPAREN, + STATE(58), 2, sym_comment, - STATE(70), 1, - aux_sym_list_expression_repeat1, - [1535] = 5, + aux_sym_select_value_repeat1, + [1594] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(187), 1, anon_sym_COMMA, - ACTIONS(190), 1, + ACTIONS(189), 1, anon_sym_RPAREN, - STATE(61), 2, + STATE(59), 1, sym_comment, - aux_sym_select_value_repeat1, - [1552] = 5, + STATE(67), 1, + aux_sym_select_pattern_repeat1, + [1613] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(127), 1, - anon_sym_PLUS, + ACTIONS(191), 1, + anon_sym_COMMA, + ACTIONS(193), 1, + anon_sym_RPAREN, + STATE(60), 1, + sym_comment, + STATE(79), 1, + aux_sym_condition_repeat1, + [1632] = 6, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(153), 1, + sym_identifier, + ACTIONS(195), 1, + anon_sym_RBRACE, + STATE(61), 1, + sym_comment, + STATE(84), 1, + sym__colon_property, + [1651] = 6, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(153), 1, + sym_identifier, + ACTIONS(197), 1, + anon_sym_RBRACE, STATE(62), 1, sym_comment, - ACTIONS(192), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [1569] = 6, + STATE(76), 1, + sym__colon_property, + [1670] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(155), 1, - sym_identifier, - ACTIONS(194), 1, - anon_sym_RBRACE, + ACTIONS(199), 1, + anon_sym_COMMA, + ACTIONS(201), 1, + anon_sym_RBRACK, STATE(63), 1, sym_comment, - STATE(76), 1, - sym__colon_property, - [1588] = 5, + STATE(83), 1, + aux_sym_list_expression_repeat1, + [1689] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(196), 1, + ACTIONS(203), 1, anon_sym_COMMA, - ACTIONS(199), 1, - anon_sym_RBRACE, + ACTIONS(206), 1, + anon_sym_RPAREN, STATE(64), 2, sym_comment, - aux_sym__old_module_repeat1, - [1605] = 5, + aux_sym_select_pattern_repeat1, + [1706] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(127), 1, - anon_sym_PLUS, + ACTIONS(208), 1, + anon_sym_COMMA, + ACTIONS(210), 1, + anon_sym_RBRACE, STATE(65), 1, sym_comment, - ACTIONS(201), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [1622] = 6, + STATE(70), 1, + aux_sym__old_module_repeat1, + [1725] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(151), 1, - sym_identifier, - ACTIONS(203), 1, + ACTIONS(212), 1, + anon_sym_COMMA, + ACTIONS(214), 1, anon_sym_RPAREN, + STATE(58), 1, + aux_sym_select_value_repeat1, STATE(66), 1, sym_comment, - STATE(78), 1, - sym__equal_property, - [1641] = 5, + [1744] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(205), 1, - anon_sym_COMMA, - ACTIONS(208), 1, + ACTIONS(66), 1, anon_sym_RPAREN, - STATE(67), 2, - sym_comment, - aux_sym__new_module_repeat1, - [1658] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(210), 1, - anon_sym_COMMA, - ACTIONS(212), 1, - anon_sym_RPAREN, - STATE(51), 1, - aux_sym__new_module_repeat1, - STATE(68), 1, - sym_comment, - [1677] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(155), 1, - sym_identifier, - ACTIONS(214), 1, - anon_sym_RBRACE, - STATE(69), 1, - sym_comment, - STATE(76), 1, - sym__colon_property, - [1696] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, ACTIONS(216), 1, anon_sym_COMMA, - ACTIONS(219), 1, - anon_sym_RBRACK, - STATE(70), 2, + STATE(64), 1, + aux_sym_select_pattern_repeat1, + STATE(67), 1, sym_comment, - aux_sym_list_expression_repeat1, - [1713] = 6, + [1763] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(221), 1, + ACTIONS(153), 1, + sym_identifier, + ACTIONS(218), 1, + anon_sym_RBRACE, + STATE(68), 1, + sym_comment, + STATE(84), 1, + sym__colon_property, + [1782] = 6, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(129), 1, + sym_identifier, + ACTIONS(214), 1, + anon_sym_RPAREN, + STATE(69), 1, + sym_comment, + STATE(103), 1, + sym_condition, + [1801] = 5, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(220), 1, anon_sym_COMMA, ACTIONS(223), 1, anon_sym_RBRACE, - STATE(45), 1, + STATE(70), 2, + sym_comment, aux_sym__old_module_repeat1, + [1818] = 5, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(125), 1, + anon_sym_PLUS, STATE(71), 1, sym_comment, - [1732] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(72), 1, - sym_comment, ACTIONS(225), 2, - ts_builtin_sym_end, - sym_identifier, - [1746] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(73), 1, - sym_comment, - ACTIONS(227), 2, - ts_builtin_sym_end, - sym_identifier, - [1760] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(74), 1, - sym_comment, - ACTIONS(229), 2, - ts_builtin_sym_end, - sym_identifier, - [1774] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(75), 1, - sym_comment, - ACTIONS(231), 2, - ts_builtin_sym_end, - sym_identifier, - [1788] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(76), 1, - sym_comment, - ACTIONS(233), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [1802] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(77), 1, - sym_comment, - ACTIONS(235), 2, - ts_builtin_sym_end, - sym_identifier, - [1816] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(78), 1, - sym_comment, - ACTIONS(237), 2, anon_sym_COMMA, anon_sym_RPAREN, - [1830] = 5, + [1835] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(239), 1, - anon_sym_LBRACE, + ACTIONS(164), 1, + sym_identifier, + ACTIONS(227), 1, + anon_sym_RPAREN, + STATE(72), 1, + sym_comment, + STATE(87), 1, + sym__equal_property, + [1854] = 5, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(229), 1, + anon_sym_COMMA, + ACTIONS(232), 1, + anon_sym_RPAREN, + STATE(73), 2, + sym_comment, + aux_sym__new_module_repeat1, + [1871] = 5, + ACTIONS(131), 1, + anon_sym_SLASH_SLASH, + ACTIONS(133), 1, + anon_sym_SLASH_STAR, + ACTIONS(234), 1, + aux_sym_interpreted_string_literal_token1, + STATE(74), 1, + sym_comment, + ACTIONS(236), 2, + anon_sym_DQUOTE2, + sym_escape_sequence, + [1888] = 6, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(153), 1, + sym_identifier, + ACTIONS(238), 1, + anon_sym_RBRACE, + STATE(75), 1, + sym_comment, + STATE(84), 1, + sym__colon_property, + [1907] = 6, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(240), 1, + anon_sym_COMMA, + ACTIONS(242), 1, + anon_sym_RBRACE, + STATE(54), 1, + aux_sym__old_module_repeat1, + STATE(76), 1, + sym_comment, + [1926] = 6, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(244), 1, + anon_sym_COMMA, + ACTIONS(246), 1, + anon_sym_RPAREN, + STATE(66), 1, + aux_sym_select_value_repeat1, + STATE(77), 1, + sym_comment, + [1945] = 6, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(248), 1, + anon_sym_COMMA, + ACTIONS(250), 1, + anon_sym_RPAREN, + STATE(53), 1, + aux_sym__new_module_repeat1, + STATE(78), 1, + sym_comment, + [1964] = 6, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(191), 1, + anon_sym_COMMA, + ACTIONS(252), 1, + anon_sym_RPAREN, + STATE(50), 1, + aux_sym_condition_repeat1, STATE(79), 1, sym_comment, - STATE(105), 1, - sym_select_cases, - [1846] = 5, + [1983] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(127), 1, + ACTIONS(125), 1, anon_sym_PLUS, - ACTIONS(241), 1, - anon_sym_COMMA, STATE(80), 1, sym_comment, - [1862] = 4, + ACTIONS(254), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [2000] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(256), 1, + anon_sym_COMMA, + ACTIONS(258), 1, + anon_sym_RBRACE, + STATE(65), 1, + aux_sym__old_module_repeat1, STATE(81), 1, sym_comment, - ACTIONS(243), 2, - ts_builtin_sym_end, - sym_identifier, - [1876] = 4, + [2019] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(82), 1, sym_comment, - ACTIONS(245), 2, - ts_builtin_sym_end, - sym_identifier, - [1890] = 4, + ACTIONS(260), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [2034] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(83), 1, + ACTIONS(262), 1, + anon_sym_COMMA, + ACTIONS(265), 1, + anon_sym_RBRACK, + STATE(83), 2, sym_comment, - ACTIONS(247), 2, - ts_builtin_sym_end, - sym_identifier, - [1904] = 4, + aux_sym_list_expression_repeat1, + [2051] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(84), 1, sym_comment, - ACTIONS(249), 2, - ts_builtin_sym_end, - sym_identifier, - [1918] = 4, + ACTIONS(267), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [2065] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(85), 1, sym_comment, - ACTIONS(251), 2, + ACTIONS(269), 2, ts_builtin_sym_end, sym_identifier, - [1932] = 5, + [2079] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(155), 1, - sym_identifier, - STATE(76), 1, - sym__colon_property, + ACTIONS(271), 1, + anon_sym_LBRACE, STATE(86), 1, sym_comment, - [1948] = 5, + STATE(131), 1, + sym_select_cases, + [2095] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(253), 1, - sym_identifier, STATE(87), 1, sym_comment, - STATE(103), 1, - sym_select_value, - [1964] = 5, + ACTIONS(273), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [2109] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(151), 1, - sym_identifier, - STATE(78), 1, - sym__equal_property, STATE(88), 1, sym_comment, - [1980] = 4, + ACTIONS(275), 2, + ts_builtin_sym_end, + sym_identifier, + [2123] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(153), 1, + sym_identifier, + STATE(84), 1, + sym__colon_property, STATE(89), 1, sym_comment, - ACTIONS(227), 2, - ts_builtin_sym_end, - sym_identifier, - [1994] = 4, + [2139] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(90), 1, sym_comment, - ACTIONS(255), 2, + ACTIONS(277), 2, ts_builtin_sym_end, sym_identifier, - [2008] = 4, + [2153] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(164), 1, + sym_identifier, + STATE(87), 1, + sym__equal_property, STATE(91), 1, sym_comment, - ACTIONS(257), 2, - ts_builtin_sym_end, - sym_identifier, - [2022] = 4, + [2169] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(92), 1, sym_comment, - ACTIONS(190), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [2036] = 4, + ACTIONS(279), 2, + ts_builtin_sym_end, + sym_identifier, + [2183] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(93), 1, sym_comment, - ACTIONS(259), 2, + ACTIONS(281), 2, ts_builtin_sym_end, sym_identifier, - [2050] = 4, + [2197] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(261), 1, - anon_sym_COMMA, STATE(94), 1, sym_comment, - [2063] = 4, + ACTIONS(206), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [2211] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(263), 1, - anon_sym_SLASH, STATE(95), 1, sym_comment, - [2076] = 4, + ACTIONS(283), 2, + ts_builtin_sym_end, + sym_identifier, + [2225] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(265), 1, - aux_sym_integer_literal_token1, STATE(96), 1, sym_comment, - [2089] = 4, + ACTIONS(285), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [2239] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(267), 1, - anon_sym_COMMA, STATE(97), 1, sym_comment, - [2102] = 4, + ACTIONS(287), 2, + ts_builtin_sym_end, + sym_identifier, + [2253] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(269), 1, + ACTIONS(125), 1, + anon_sym_PLUS, + ACTIONS(289), 1, anon_sym_COMMA, STATE(98), 1, sym_comment, - [2115] = 4, + [2269] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(271), 1, - anon_sym_RPAREN, STATE(99), 1, sym_comment, - [2128] = 4, + ACTIONS(291), 2, + ts_builtin_sym_end, + sym_identifier, + [2283] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(273), 1, - anon_sym_COLON, STATE(100), 1, sym_comment, - [2141] = 4, + ACTIONS(293), 2, + ts_builtin_sym_end, + sym_identifier, + [2297] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(275), 1, - anon_sym_COMMA, STATE(101), 1, sym_comment, - [2154] = 4, + ACTIONS(293), 2, + ts_builtin_sym_end, + sym_identifier, + [2311] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(277), 1, - anon_sym_COLON, STATE(102), 1, sym_comment, - [2167] = 4, + ACTIONS(295), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [2325] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(279), 1, - anon_sym_COMMA, STATE(103), 1, sym_comment, - [2180] = 4, + ACTIONS(185), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [2339] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(281), 1, - anon_sym_LPAREN, + ACTIONS(129), 1, + sym_identifier, + STATE(77), 1, + sym_condition, STATE(104), 1, sym_comment, - [2193] = 4, + [2355] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(283), 1, - anon_sym_RPAREN, STATE(105), 1, sym_comment, - [2206] = 4, + ACTIONS(297), 2, + ts_builtin_sym_end, + sym_identifier, + [2369] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(285), 1, - anon_sym_COMMA, STATE(106), 1, sym_comment, - [2219] = 4, + ACTIONS(299), 2, + ts_builtin_sym_end, + sym_identifier, + [2383] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(287), 1, - anon_sym_EQ, STATE(107), 1, sym_comment, - [2232] = 4, + ACTIONS(301), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [2397] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(108), 1, + sym_comment, + ACTIONS(160), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [2411] = 5, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(129), 1, + sym_identifier, + STATE(103), 1, + sym_condition, + STATE(109), 1, + sym_comment, + [2427] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(110), 1, + sym_comment, + ACTIONS(303), 2, + ts_builtin_sym_end, + sym_identifier, + [2441] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(111), 1, + sym_comment, + ACTIONS(305), 2, + ts_builtin_sym_end, + sym_identifier, + [2455] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(307), 1, + anon_sym_COLON, + STATE(112), 1, + sym_comment, + [2468] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(309), 1, + anon_sym_RPAREN, + STATE(113), 1, + sym_comment, + [2481] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(311), 1, + anon_sym_COLON, + STATE(114), 1, + sym_comment, + [2494] = 4, + ACTIONS(131), 1, + anon_sym_SLASH_SLASH, + ACTIONS(133), 1, + anon_sym_SLASH_STAR, + ACTIONS(313), 1, + aux_sym_comment_token1, + STATE(115), 1, + sym_comment, + [2507] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(315), 1, + anon_sym_LPAREN, + STATE(116), 1, + sym_comment, + [2520] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(317), 1, + anon_sym_COMMA, + STATE(117), 1, + sym_comment, + [2533] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(319), 1, + anon_sym_COMMA, + STATE(118), 1, + sym_comment, + [2546] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(321), 1, + anon_sym_RPAREN, + STATE(119), 1, + sym_comment, + [2559] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(323), 1, + anon_sym_EQ, + STATE(120), 1, + sym_comment, + [2572] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(325), 1, + aux_sym_integer_literal_token1, + STATE(121), 1, + sym_comment, + [2585] = 4, + ACTIONS(131), 1, + anon_sym_SLASH_SLASH, + ACTIONS(133), 1, + anon_sym_SLASH_STAR, + ACTIONS(327), 1, + aux_sym_comment_token2, + STATE(122), 1, + sym_comment, + [2598] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(329), 1, + anon_sym_SLASH, + STATE(123), 1, + sym_comment, + [2611] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(331), 1, + anon_sym_COLON, + STATE(124), 1, + sym_comment, + [2624] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(333), 1, + anon_sym_COLON, + STATE(125), 1, + sym_comment, + [2637] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(335), 1, + anon_sym_COMMA, + STATE(126), 1, + sym_comment, + [2650] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(337), 1, + anon_sym_LPAREN, + STATE(127), 1, + sym_comment, + [2663] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(339), 1, + anon_sym_COLON, + STATE(128), 1, + sym_comment, + [2676] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(341), 1, + anon_sym_COMMA, + STATE(129), 1, + sym_comment, + [2689] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(289), 1, - anon_sym_LPAREN, - STATE(108), 1, + anon_sym_COMMA, + STATE(130), 1, sym_comment, - [2245] = 4, - ACTIONS(105), 1, - anon_sym_SLASH_SLASH, - ACTIONS(107), 1, - anon_sym_SLASH_STAR, - ACTIONS(291), 1, - aux_sym_comment_token1, - STATE(109), 1, - sym_comment, - [2258] = 4, + [2702] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(293), 1, + ACTIONS(343), 1, anon_sym_RPAREN, - STATE(110), 1, + STATE(131), 1, sym_comment, - [2271] = 4, + [2715] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(295), 1, - ts_builtin_sym_end, - STATE(111), 1, - sym_comment, - [2284] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(297), 1, + ACTIONS(345), 1, anon_sym_COMMA, - STATE(112), 1, + STATE(132), 1, sym_comment, - [2297] = 4, - ACTIONS(105), 1, - anon_sym_SLASH_SLASH, - ACTIONS(107), 1, - anon_sym_SLASH_STAR, - ACTIONS(299), 1, - aux_sym_comment_token2, - STATE(113), 1, - sym_comment, - [2310] = 4, + [2728] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(241), 1, - anon_sym_COMMA, - STATE(114), 1, + ACTIONS(347), 1, + anon_sym_COLON, + STATE(133), 1, sym_comment, - [2323] = 1, - ACTIONS(301), 1, + [2741] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(349), 1, + anon_sym_COMMA, + STATE(134), 1, + sym_comment, + [2754] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(351), 1, + anon_sym_COMMA, + STATE(135), 1, + sym_comment, + [2767] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(353), 1, ts_builtin_sym_end, - [2327] = 1, - ACTIONS(303), 1, + STATE(136), 1, + sym_comment, + [2780] = 1, + ACTIONS(355), 1, + ts_builtin_sym_end, + [2784] = 1, + ACTIONS(357), 1, ts_builtin_sym_end, }; @@ -5946,262 +6357,309 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(9)] = 386, [SMALL_STATE(10)] = 439, [SMALL_STATE(11)] = 492, - [SMALL_STATE(12)] = 522, - [SMALL_STATE(13)] = 542, - [SMALL_STATE(14)] = 576, - [SMALL_STATE(15)] = 596, - [SMALL_STATE(16)] = 616, - [SMALL_STATE(17)] = 648, - [SMALL_STATE(18)] = 682, - [SMALL_STATE(19)] = 714, - [SMALL_STATE(20)] = 733, - [SMALL_STATE(21)] = 752, - [SMALL_STATE(22)] = 771, - [SMALL_STATE(23)] = 790, - [SMALL_STATE(24)] = 809, - [SMALL_STATE(25)] = 828, - [SMALL_STATE(26)] = 847, - [SMALL_STATE(27)] = 866, - [SMALL_STATE(28)] = 885, - [SMALL_STATE(29)] = 904, - [SMALL_STATE(30)] = 923, - [SMALL_STATE(31)] = 942, - [SMALL_STATE(32)] = 961, - [SMALL_STATE(33)] = 980, - [SMALL_STATE(34)] = 999, - [SMALL_STATE(35)] = 1018, - [SMALL_STATE(36)] = 1043, - [SMALL_STATE(37)] = 1068, - [SMALL_STATE(38)] = 1093, - [SMALL_STATE(39)] = 1115, - [SMALL_STATE(40)] = 1135, - [SMALL_STATE(41)] = 1157, - [SMALL_STATE(42)] = 1173, - [SMALL_STATE(43)] = 1195, - [SMALL_STATE(44)] = 1215, - [SMALL_STATE(45)] = 1237, - [SMALL_STATE(46)] = 1256, - [SMALL_STATE(47)] = 1275, - [SMALL_STATE(48)] = 1292, - [SMALL_STATE(49)] = 1311, - [SMALL_STATE(50)] = 1330, - [SMALL_STATE(51)] = 1349, - [SMALL_STATE(52)] = 1368, - [SMALL_STATE(53)] = 1387, - [SMALL_STATE(54)] = 1406, - [SMALL_STATE(55)] = 1423, - [SMALL_STATE(56)] = 1442, - [SMALL_STATE(57)] = 1461, - [SMALL_STATE(58)] = 1478, - [SMALL_STATE(59)] = 1497, - [SMALL_STATE(60)] = 1516, - [SMALL_STATE(61)] = 1535, - [SMALL_STATE(62)] = 1552, - [SMALL_STATE(63)] = 1569, - [SMALL_STATE(64)] = 1588, - [SMALL_STATE(65)] = 1605, - [SMALL_STATE(66)] = 1622, - [SMALL_STATE(67)] = 1641, - [SMALL_STATE(68)] = 1658, - [SMALL_STATE(69)] = 1677, - [SMALL_STATE(70)] = 1696, - [SMALL_STATE(71)] = 1713, - [SMALL_STATE(72)] = 1732, - [SMALL_STATE(73)] = 1746, - [SMALL_STATE(74)] = 1760, - [SMALL_STATE(75)] = 1774, - [SMALL_STATE(76)] = 1788, - [SMALL_STATE(77)] = 1802, - [SMALL_STATE(78)] = 1816, - [SMALL_STATE(79)] = 1830, - [SMALL_STATE(80)] = 1846, - [SMALL_STATE(81)] = 1862, - [SMALL_STATE(82)] = 1876, - [SMALL_STATE(83)] = 1890, - [SMALL_STATE(84)] = 1904, - [SMALL_STATE(85)] = 1918, - [SMALL_STATE(86)] = 1932, - [SMALL_STATE(87)] = 1948, - [SMALL_STATE(88)] = 1964, - [SMALL_STATE(89)] = 1980, - [SMALL_STATE(90)] = 1994, - [SMALL_STATE(91)] = 2008, - [SMALL_STATE(92)] = 2022, - [SMALL_STATE(93)] = 2036, - [SMALL_STATE(94)] = 2050, - [SMALL_STATE(95)] = 2063, - [SMALL_STATE(96)] = 2076, - [SMALL_STATE(97)] = 2089, - [SMALL_STATE(98)] = 2102, - [SMALL_STATE(99)] = 2115, - [SMALL_STATE(100)] = 2128, - [SMALL_STATE(101)] = 2141, - [SMALL_STATE(102)] = 2154, - [SMALL_STATE(103)] = 2167, - [SMALL_STATE(104)] = 2180, - [SMALL_STATE(105)] = 2193, - [SMALL_STATE(106)] = 2206, - [SMALL_STATE(107)] = 2219, - [SMALL_STATE(108)] = 2232, - [SMALL_STATE(109)] = 2245, - [SMALL_STATE(110)] = 2258, - [SMALL_STATE(111)] = 2271, - [SMALL_STATE(112)] = 2284, - [SMALL_STATE(113)] = 2297, - [SMALL_STATE(114)] = 2310, - [SMALL_STATE(115)] = 2323, - [SMALL_STATE(116)] = 2327, + [SMALL_STATE(12)] = 538, + [SMALL_STATE(13)] = 586, + [SMALL_STATE(14)] = 634, + [SMALL_STATE(15)] = 670, + [SMALL_STATE(16)] = 706, + [SMALL_STATE(17)] = 739, + [SMALL_STATE(18)] = 772, + [SMALL_STATE(19)] = 804, + [SMALL_STATE(20)] = 824, + [SMALL_STATE(21)] = 844, + [SMALL_STATE(22)] = 874, + [SMALL_STATE(23)] = 894, + [SMALL_STATE(24)] = 914, + [SMALL_STATE(25)] = 933, + [SMALL_STATE(26)] = 952, + [SMALL_STATE(27)] = 971, + [SMALL_STATE(28)] = 990, + [SMALL_STATE(29)] = 1009, + [SMALL_STATE(30)] = 1028, + [SMALL_STATE(31)] = 1047, + [SMALL_STATE(32)] = 1066, + [SMALL_STATE(33)] = 1085, + [SMALL_STATE(34)] = 1104, + [SMALL_STATE(35)] = 1123, + [SMALL_STATE(36)] = 1142, + [SMALL_STATE(37)] = 1161, + [SMALL_STATE(38)] = 1180, + [SMALL_STATE(39)] = 1199, + [SMALL_STATE(40)] = 1218, + [SMALL_STATE(41)] = 1243, + [SMALL_STATE(42)] = 1263, + [SMALL_STATE(43)] = 1285, + [SMALL_STATE(44)] = 1307, + [SMALL_STATE(45)] = 1329, + [SMALL_STATE(46)] = 1351, + [SMALL_STATE(47)] = 1371, + [SMALL_STATE(48)] = 1393, + [SMALL_STATE(49)] = 1412, + [SMALL_STATE(50)] = 1429, + [SMALL_STATE(51)] = 1446, + [SMALL_STATE(52)] = 1465, + [SMALL_STATE(53)] = 1484, + [SMALL_STATE(54)] = 1503, + [SMALL_STATE(55)] = 1522, + [SMALL_STATE(56)] = 1541, + [SMALL_STATE(57)] = 1558, + [SMALL_STATE(58)] = 1577, + [SMALL_STATE(59)] = 1594, + [SMALL_STATE(60)] = 1613, + [SMALL_STATE(61)] = 1632, + [SMALL_STATE(62)] = 1651, + [SMALL_STATE(63)] = 1670, + [SMALL_STATE(64)] = 1689, + [SMALL_STATE(65)] = 1706, + [SMALL_STATE(66)] = 1725, + [SMALL_STATE(67)] = 1744, + [SMALL_STATE(68)] = 1763, + [SMALL_STATE(69)] = 1782, + [SMALL_STATE(70)] = 1801, + [SMALL_STATE(71)] = 1818, + [SMALL_STATE(72)] = 1835, + [SMALL_STATE(73)] = 1854, + [SMALL_STATE(74)] = 1871, + [SMALL_STATE(75)] = 1888, + [SMALL_STATE(76)] = 1907, + [SMALL_STATE(77)] = 1926, + [SMALL_STATE(78)] = 1945, + [SMALL_STATE(79)] = 1964, + [SMALL_STATE(80)] = 1983, + [SMALL_STATE(81)] = 2000, + [SMALL_STATE(82)] = 2019, + [SMALL_STATE(83)] = 2034, + [SMALL_STATE(84)] = 2051, + [SMALL_STATE(85)] = 2065, + [SMALL_STATE(86)] = 2079, + [SMALL_STATE(87)] = 2095, + [SMALL_STATE(88)] = 2109, + [SMALL_STATE(89)] = 2123, + [SMALL_STATE(90)] = 2139, + [SMALL_STATE(91)] = 2153, + [SMALL_STATE(92)] = 2169, + [SMALL_STATE(93)] = 2183, + [SMALL_STATE(94)] = 2197, + [SMALL_STATE(95)] = 2211, + [SMALL_STATE(96)] = 2225, + [SMALL_STATE(97)] = 2239, + [SMALL_STATE(98)] = 2253, + [SMALL_STATE(99)] = 2269, + [SMALL_STATE(100)] = 2283, + [SMALL_STATE(101)] = 2297, + [SMALL_STATE(102)] = 2311, + [SMALL_STATE(103)] = 2325, + [SMALL_STATE(104)] = 2339, + [SMALL_STATE(105)] = 2355, + [SMALL_STATE(106)] = 2369, + [SMALL_STATE(107)] = 2383, + [SMALL_STATE(108)] = 2397, + [SMALL_STATE(109)] = 2411, + [SMALL_STATE(110)] = 2427, + [SMALL_STATE(111)] = 2441, + [SMALL_STATE(112)] = 2455, + [SMALL_STATE(113)] = 2468, + [SMALL_STATE(114)] = 2481, + [SMALL_STATE(115)] = 2494, + [SMALL_STATE(116)] = 2507, + [SMALL_STATE(117)] = 2520, + [SMALL_STATE(118)] = 2533, + [SMALL_STATE(119)] = 2546, + [SMALL_STATE(120)] = 2559, + [SMALL_STATE(121)] = 2572, + [SMALL_STATE(122)] = 2585, + [SMALL_STATE(123)] = 2598, + [SMALL_STATE(124)] = 2611, + [SMALL_STATE(125)] = 2624, + [SMALL_STATE(126)] = 2637, + [SMALL_STATE(127)] = 2650, + [SMALL_STATE(128)] = 2663, + [SMALL_STATE(129)] = 2676, + [SMALL_STATE(130)] = 2689, + [SMALL_STATE(131)] = 2702, + [SMALL_STATE(132)] = 2715, + [SMALL_STATE(133)] = 2728, + [SMALL_STATE(134)] = 2741, + [SMALL_STATE(135)] = 2754, + [SMALL_STATE(136)] = 2767, + [SMALL_STATE(137)] = 2780, + [SMALL_STATE(138)] = 2784, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), - [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(39), - [42] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 1), - [44] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [46] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [48] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 3), - [50] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 2), - [52] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), - [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(12), - [57] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(38), - [60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(100), - [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 1), - [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 11), - [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), - [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1), - [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_expression, 6), - [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4, .production_id = 12), - [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 5, .production_id = 12), - [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 3, .production_id = 6), - [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 7), - [85] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 3, .production_id = 5), - [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 5), - [89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2), - [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 5, .production_id = 11), - [93] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4, .production_id = 6), - [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 2), - [97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 2), - [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), - [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), - [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), - [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [129] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(54), - [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), - [134] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(54), - [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 2), - [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), - [167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), - [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2, .production_id = 6), - [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [187] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_value_repeat1, 2), SHIFT_REPEAT(44), - [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_select_value_repeat1, 2), - [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon_property, 3, .production_id = 8), - [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [196] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 10), SHIFT_REPEAT(86), - [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 10), - [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__equal_property, 3, .production_id = 8), - [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [205] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 10), SHIFT_REPEAT(88), - [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 10), - [210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [216] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2, .production_id = 13), SHIFT_REPEAT(9), - [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2, .production_id = 13), - [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 6, .production_id = 9), - [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 1, .production_id = 1), - [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 5, .production_id = 9), - [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 5, .production_id = 4), - [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 5), - [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 5, .production_id = 4), - [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 5), - [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__case_value, 1), - [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), - [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__definition, 1), - [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 4, .production_id = 4), - [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 4, .production_id = 4), - [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 6, .production_id = 9), - [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 5, .production_id = 9), - [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 3, .production_id = 3), - [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 3, .production_id = 3), - [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 5, .production_id = 16), - [263] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), - [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 4, .production_id = 15), - [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_case, 3, .production_id = 18), - [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 2), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 3, .production_id = 14), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), - [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 3), - [295] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 6, .production_id = 17), - [299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95), - [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), - [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 3), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), + [39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(17), + [42] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(22), + [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(23), + [48] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(45), + [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(82), + [54] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [56] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [58] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [60] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [62] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [64] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [66] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [68] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [70] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 2), + [72] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 3), + [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [76] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(41), + [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1), + [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 1), + [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2), + [85] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_expression, 6), + [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 1), + [89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 3, .production_id = 5), + [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4, .production_id = 12), + [93] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), + [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4, .production_id = 6), + [97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 5, .production_id = 12), + [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 11), + [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 2), + [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 5), + [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 2), + [107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 7), + [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 5, .production_id = 11), + [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 3, .production_id = 6), + [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), + [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), + [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), + [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [143] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(74), + [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), + [148] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(74), + [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon_property, 3, .production_id = 8), + [157] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_condition_repeat1, 2), SHIFT_REPEAT(47), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_condition_repeat1, 2), + [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 2), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_value_repeat1, 2), SHIFT_REPEAT(109), + [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_select_value_repeat1, 2), + [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [203] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_pattern_repeat1, 2), SHIFT_REPEAT(16), + [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_select_pattern_repeat1, 2), + [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [220] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 10), SHIFT_REPEAT(89), + [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 10), + [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__equal_property, 3, .production_id = 8), + [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [229] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 10), SHIFT_REPEAT(91), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 10), + [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), + [238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2, .production_id = 6), + [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__select_pattern, 1), + [262] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2, .production_id = 13), SHIFT_REPEAT(6), + [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2, .production_id = 13), + [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 5), + [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 5, .production_id = 4), + [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 5), + [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 6, .production_id = 9), + [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 6, .production_id = 9), + [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 5, .production_id = 4), + [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), + [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 5, .production_id = 9), + [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition, 3, .production_id = 14), + [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 3, .production_id = 3), + [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__case_value, 1), + [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__definition, 1), + [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 1, .production_id = 1), + [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition, 5, .production_id = 16), + [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 4, .production_id = 4), + [299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 4, .production_id = 4), + [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition, 4, .production_id = 15), + [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 3, .production_id = 3), + [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 5, .production_id = 9), + [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 3), + [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_pattern, 1), + [313] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), + [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 5), + [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 2), + [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [327] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), + [329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), + [331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_pattern, 5), + [333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 4), + [337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_pattern, 3), + [341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_case, 3, .production_id = 17), + [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_pattern, 4), + [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 1), + [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 3), + [353] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), + [357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 3), }; #ifdef __cplusplus diff --git a/test/corpus/select.txt b/test/corpus/select.txt index b928e6c..fe0bf9d 100644 --- a/test/corpus/select.txt +++ b/test/corpus/select.txt @@ -15,14 +15,17 @@ foo = select(release_variable("RELEASE_TEST"), { (operator) (select_expression (select_value - (selection_type) - (interpreted_string_literal)) + (condition + (identifier) + (interpreted_string_literal))) (select_cases (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)) (select_case - (default) + (select_pattern + (default)) (unset)))))) ================================================================================ @@ -42,15 +45,18 @@ foo = select(soong_config_variable("my_namespace", "my_var"), { (operator) (select_expression (select_value - (selection_type) - (interpreted_string_literal) - (interpreted_string_literal)) + (condition + (identifier) + (interpreted_string_literal) + (interpreted_string_literal))) (select_cases (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (unset)) (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)))))) ================================================================================ @@ -72,20 +78,25 @@ foo = select(variant("arch"), { (operator) (select_expression (select_value - (selection_type) - (interpreted_string_literal)) + (condition + (identifier) + (interpreted_string_literal))) (select_cases (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)) (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)) (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)) (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)))))) ================================================================================ @@ -102,8 +113,9 @@ foo = select(variant("VARIANT"), {}) (operator) (select_expression (select_value - (selection_type) - (interpreted_string_literal)) + (condition + (identifier) + (interpreted_string_literal))) (select_cases)))) ================================================================================ @@ -126,23 +138,29 @@ foo = select(variant("VARIANT"), { (operator) (select_expression (select_value - (selection_type) - (interpreted_string_literal)) + (condition + (identifier) + (interpreted_string_literal))) (select_cases (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)) (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)) (select_case - (default) + (select_pattern + (default)) (unset)) (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)) (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)))))) ================================================================================ @@ -162,13 +180,16 @@ foo = select(variant(), { (operator) (select_expression (select_value - (selection_type)) + (condition + (identifier))) (select_cases (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (unset)) (select_case - (default) + (select_pattern + (default)) (interpreted_string_literal)))))) ================================================================================ @@ -188,14 +209,17 @@ foo = select(some_unknown_type("CONDITION"), { (operator) (select_expression (select_value - (selection_type) - (interpreted_string_literal)) + (condition + (identifier) + (interpreted_string_literal))) (select_cases (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)) (select_case - (default) + (select_pattern + (default)) (interpreted_string_literal)))))) ================================================================================ @@ -215,15 +239,136 @@ foo = select(release_variable("ONE", "TWO"), { (operator) (select_expression (select_value - (selection_type) - (interpreted_string_literal) - (interpreted_string_literal)) + (condition + (identifier) + (interpreted_string_literal) + (interpreted_string_literal))) (select_cases (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)) (select_case - (default) + (select_pattern + (default)) + (interpreted_string_literal)))))) + +================================================================================ +Select (trailing comma in arguments) +================================================================================ + +foo = select(some_boolean("VALUE",), { + true: "true", + false: "false", +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (select_expression + (select_value + (condition + (identifier) + (interpreted_string_literal) + (ERROR))) + (select_cases + (select_case + (select_pattern + (boolean_literal)) + (interpreted_string_literal)) + (select_case + (select_pattern + (boolean_literal)) + (interpreted_string_literal)))))) + +================================================================================ +Select (trailing comma in values) +================================================================================ + +foo = select(( + arch(), + os(), +), { + (default, default): "true", +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (select_expression + (select_value + (condition + (identifier)) + (condition + (identifier))) + (select_cases + (select_case + (select_pattern + (default) + (default)) + (interpreted_string_literal)))))) + +================================================================================ +Select (trailing comma in pattern) +================================================================================ + +foo = select((arch(), os()), { + (default, default,): "true", +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (select_expression + (select_value + (condition + (identifier)) + (condition + (identifier))) + (select_cases + (select_case + (select_pattern + (default) + (default)) + (interpreted_string_literal)))))) + +================================================================================ +Select (boolean typed) +================================================================================ + +foo = select(some_boolean("IS_TRUE"), { + true: "true", + false: "false", +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (select_expression + (select_value + (condition + (identifier) + (interpreted_string_literal))) + (select_cases + (select_case + (select_pattern + (boolean_literal)) + (interpreted_string_literal)) + (select_case + (select_pattern + (boolean_literal)) (interpreted_string_literal)))))) ================================================================================ diff --git a/test/indent/select.bp b/test/indent/select.bp index 6d95b2c..2f589a9 100644 --- a/test/indent/select.bp +++ b/test/indent/select.bp @@ -26,3 +26,25 @@ foo = select( default: 0, } ) + +foo = select(( + arch(), + os(), +), { + (default, default): [], +}) + +foo = select( + (arch(), os()), + { + (default, default): [], + } +) + +// We're really getting into more and more unlikely choices here... +foo = select((arch(), os()), { + ( + default, + default, + ): [], +})