From 12553c3bb86b443681a7334466b35a7a6b5e437f Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 8 Apr 2024 01:12:35 +0100 Subject: [PATCH] Add 'select' expression Except for 'soong_config_variable' which is not yet handled. --- grammar.js | 50 + src/grammar.json | 206 ++ src/node-types.json | 224 +++ src/parser.c | 4325 ++++++++++++++++++++++++++-------------- test/corpus/select.txt | 160 ++ 5 files changed, 3470 insertions(+), 1495 deletions(-) create mode 100644 test/corpus/select.txt diff --git a/grammar.js b/grammar.js index 9d05302..c7edbe1 100644 --- a/grammar.js +++ b/grammar.js @@ -2,6 +2,10 @@ function commaSeparated(elem) { return seq(elem, repeat(seq(",", elem)), optional(",")) } +function trailingCommaSeparated(elem) { + return repeat(seq(elem, ",")) +} + module.exports = grammar({ name: "blueprint", @@ -37,6 +41,8 @@ module.exports = grammar({ $.boolean_literal, $.integer_literal, $._string_literal, + // Conditionals + $.select_expression, // Composites $.list_expression, $.map_expression, @@ -82,6 +88,50 @@ module.exports = grammar({ ), )), + select_expression: ($) => seq( + "select", + "(", + $.select_value, + ",", + $.select_cases, + ")", + ), + + select_value: ($) => seq( + field("type", alias( + choice("product_variable", "release_variable", "variant"), + $.selection_type, + )), + "(", + field("condition", $._string_literal), + ")", + ), + + select_cases: ($) => seq( + "{", + optional(trailingCommaSeparated($.select_case)), + // default *must* be the last one, enforced at parse-time... + optional(seq($.default_case, ",")), + "}", + ), + + select_case: ($) => seq( + field("pattern", $._string_literal), + ":", + field("value", $._case_value) + ), + + default_case: ($) => seq( + field("pattern", "default"), + ":", + field("value", $._case_value), + ), + + _case_value: ($) => choice( + alias("unset", $.unset), + $._expr, + ), + list_expression: ($) => seq( "[", optional(commaSeparated($._expr)), diff --git a/src/grammar.json b/src/grammar.json index 5310691..813d77a 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -87,6 +87,10 @@ "type": "SYMBOL", "name": "_string_literal" }, + { + "type": "SYMBOL", + "name": "select_expression" + }, { "type": "SYMBOL", "name": "list_expression" @@ -237,6 +241,208 @@ ] } }, + "select_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "select" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "select_value" + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "select_cases" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "select_value": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "type", + "content": { + "type": "ALIAS", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "product_variable" + }, + { + "type": "STRING", + "value": "release_variable" + }, + { + "type": "STRING", + "value": "variant" + } + ] + }, + "named": true, + "value": "selection_type" + } + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_string_literal" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "select_cases": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "select_case" + }, + { + "type": "STRING", + "value": "," + } + ] + } + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "default_case" + }, + { + "type": "STRING", + "value": "," + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "select_case": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "pattern", + "content": { + "type": "SYMBOL", + "name": "_string_literal" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_case_value" + } + } + ] + }, + "default_case": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "pattern", + "content": { + "type": "STRING", + "value": "default" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_case_value" + } + } + ] + }, + "_case_value": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "unset" + }, + "named": true, + "value": "unset" + }, + { + "type": "SYMBOL", + "name": "_expr" + } + ] + }, "list_expression": { "type": "SEQ", "members": [ diff --git a/src/node-types.json b/src/node-types.json index 5ed93aa..6d01c69 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -58,6 +58,10 @@ { "type": "raw_string_literal", "named": true + }, + { + "type": "select_expression", + "named": true } ] } @@ -73,6 +77,64 @@ "named": true, "fields": {} }, + { + "type": "default_case", + "named": true, + "fields": { + "pattern": { + "multiple": false, + "required": true, + "types": [ + { + "type": "default", + "named": false + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "boolean_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "integer_literal", + "named": true + }, + { + "type": "interpreted_string_literal", + "named": true + }, + { + "type": "list_expression", + "named": true + }, + { + "type": "map_expression", + "named": true + }, + { + "type": "raw_string_literal", + "named": true + }, + { + "type": "select_expression", + "named": true + }, + { + "type": "unset", + "named": true + } + ] + } + } + }, { "type": "integer_literal", "named": true, @@ -128,6 +190,10 @@ { "type": "raw_string_literal", "named": true + }, + { + "type": "select_expression", + "named": true } ] } @@ -177,6 +243,140 @@ { "type": "raw_string_literal", "named": true + }, + { + "type": "select_expression", + "named": true + } + ] + } + } + }, + { + "type": "select_case", + "named": true, + "fields": { + "pattern": { + "multiple": false, + "required": true, + "types": [ + { + "type": "interpreted_string_literal", + "named": true + }, + { + "type": "raw_string_literal", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "boolean_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "integer_literal", + "named": true + }, + { + "type": "interpreted_string_literal", + "named": true + }, + { + "type": "list_expression", + "named": true + }, + { + "type": "map_expression", + "named": true + }, + { + "type": "raw_string_literal", + "named": true + }, + { + "type": "select_expression", + "named": true + }, + { + "type": "unset", + "named": true + } + ] + } + } + }, + { + "type": "select_cases", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "default_case", + "named": true + }, + { + "type": "select_case", + "named": true + } + ] + } + }, + { + "type": "select_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "select_cases", + "named": true + }, + { + "type": "select_value", + "named": true + } + ] + } + }, + { + "type": "select_value", + "named": true, + "fields": { + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "interpreted_string_literal", + "named": true + }, + { + "type": "raw_string_literal", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "selection_type", + "named": true } ] } @@ -205,6 +405,14 @@ "type": "#", "named": false }, + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, { "type": "+=", "named": false @@ -233,6 +441,10 @@ "type": "]", "named": false }, + { + "type": "default", + "named": false + }, { "type": "escape_sequence", "named": true @@ -249,10 +461,22 @@ "type": "raw_string_literal", "named": true }, + { + "type": "select", + "named": false + }, + { + "type": "selection_type", + "named": true + }, { "type": "true", "named": false }, + { + "type": "unset", + "named": true + }, { "type": "{", "named": false diff --git a/src/parser.c b/src/parser.c index a8b41ce..cd52097 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,15 +6,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 52 -#define LARGE_STATE_COUNT 5 -#define SYMBOL_COUNT 37 +#define STATE_COUNT 82 +#define LARGE_STATE_COUNT 2 +#define SYMBOL_COUNT 52 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 21 +#define TOKEN_COUNT 29 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 5 -#define MAX_ALIAS_SEQUENCE_LENGTH 5 -#define PRODUCTION_ID_COUNT 6 +#define FIELD_COUNT 8 +#define MAX_ALIAS_SEQUENCE_LENGTH 6 +#define PRODUCTION_ID_COUNT 8 enum ts_symbol_identifiers { anon_sym_POUND = 1, @@ -31,28 +31,43 @@ enum ts_symbol_identifiers { aux_sym_interpreted_string_literal_token1 = 12, anon_sym_DQUOTE2 = 13, sym_escape_sequence = 14, - anon_sym_LBRACK = 15, - anon_sym_COMMA = 16, - anon_sym_RBRACK = 17, - anon_sym_LBRACE = 18, - anon_sym_RBRACE = 19, - anon_sym_COLON = 20, - sym_source_file = 21, - sym__definition = 22, - sym_comment = 23, - sym_assignment = 24, - sym__expr = 25, - sym_boolean_literal = 26, - sym_integer_literal = 27, - sym__string_literal = 28, - sym_interpreted_string_literal = 29, - sym_list_expression = 30, - sym_map_expression = 31, - sym__colon_property = 32, - aux_sym_source_file_repeat1 = 33, - aux_sym_interpreted_string_literal_repeat1 = 34, - aux_sym_list_expression_repeat1 = 35, - aux_sym_map_expression_repeat1 = 36, + anon_sym_select = 15, + anon_sym_LPAREN = 16, + anon_sym_COMMA = 17, + anon_sym_RPAREN = 18, + anon_sym_product_variable = 19, + anon_sym_release_variable = 20, + anon_sym_variant = 21, + anon_sym_LBRACE = 22, + anon_sym_RBRACE = 23, + anon_sym_COLON = 24, + anon_sym_default = 25, + anon_sym_unset = 26, + anon_sym_LBRACK = 27, + anon_sym_RBRACK = 28, + sym_source_file = 29, + sym__definition = 30, + sym_comment = 31, + sym_assignment = 32, + sym__expr = 33, + sym_boolean_literal = 34, + sym_integer_literal = 35, + sym__string_literal = 36, + sym_interpreted_string_literal = 37, + sym_select_expression = 38, + sym_select_value = 39, + sym_select_cases = 40, + sym_select_case = 41, + sym_default_case = 42, + sym__case_value = 43, + sym_list_expression = 44, + sym_map_expression = 45, + sym__colon_property = 46, + aux_sym_source_file_repeat1 = 47, + aux_sym_interpreted_string_literal_repeat1 = 48, + aux_sym_select_cases_repeat1 = 49, + aux_sym_list_expression_repeat1 = 50, + aux_sym_map_expression_repeat1 = 51, }; static const char * const ts_symbol_names[] = { @@ -71,12 +86,20 @@ static const char * const ts_symbol_names[] = { [aux_sym_interpreted_string_literal_token1] = "interpreted_string_literal_token1", [anon_sym_DQUOTE2] = "\"", [sym_escape_sequence] = "escape_sequence", - [anon_sym_LBRACK] = "[", + [anon_sym_select] = "select", + [anon_sym_LPAREN] = "(", [anon_sym_COMMA] = ",", - [anon_sym_RBRACK] = "]", + [anon_sym_RPAREN] = ")", + [anon_sym_product_variable] = "selection_type", + [anon_sym_release_variable] = "selection_type", + [anon_sym_variant] = "selection_type", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", [anon_sym_COLON] = ":", + [anon_sym_default] = "default", + [anon_sym_unset] = "unset", + [anon_sym_LBRACK] = "[", + [anon_sym_RBRACK] = "]", [sym_source_file] = "source_file", [sym__definition] = "_definition", [sym_comment] = "comment", @@ -86,11 +109,18 @@ static const char * const ts_symbol_names[] = { [sym_integer_literal] = "integer_literal", [sym__string_literal] = "_string_literal", [sym_interpreted_string_literal] = "interpreted_string_literal", + [sym_select_expression] = "select_expression", + [sym_select_value] = "select_value", + [sym_select_cases] = "select_cases", + [sym_select_case] = "select_case", + [sym_default_case] = "default_case", + [sym__case_value] = "_case_value", [sym_list_expression] = "list_expression", [sym_map_expression] = "map_expression", [sym__colon_property] = "_colon_property", [aux_sym_source_file_repeat1] = "source_file_repeat1", [aux_sym_interpreted_string_literal_repeat1] = "interpreted_string_literal_repeat1", + [aux_sym_select_cases_repeat1] = "select_cases_repeat1", [aux_sym_list_expression_repeat1] = "list_expression_repeat1", [aux_sym_map_expression_repeat1] = "map_expression_repeat1", }; @@ -111,12 +141,20 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_interpreted_string_literal_token1] = aux_sym_interpreted_string_literal_token1, [anon_sym_DQUOTE2] = anon_sym_DQUOTE, [sym_escape_sequence] = sym_escape_sequence, - [anon_sym_LBRACK] = anon_sym_LBRACK, + [anon_sym_select] = anon_sym_select, + [anon_sym_LPAREN] = anon_sym_LPAREN, [anon_sym_COMMA] = anon_sym_COMMA, - [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_RPAREN] = anon_sym_RPAREN, + [anon_sym_product_variable] = anon_sym_product_variable, + [anon_sym_release_variable] = anon_sym_product_variable, + [anon_sym_variant] = anon_sym_product_variable, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, [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, [sym_source_file] = sym_source_file, [sym__definition] = sym__definition, [sym_comment] = sym_comment, @@ -126,11 +164,18 @@ static const TSSymbol ts_symbol_map[] = { [sym_integer_literal] = sym_integer_literal, [sym__string_literal] = sym__string_literal, [sym_interpreted_string_literal] = sym_interpreted_string_literal, + [sym_select_expression] = sym_select_expression, + [sym_select_value] = sym_select_value, + [sym_select_cases] = sym_select_cases, + [sym_select_case] = sym_select_case, + [sym_default_case] = sym_default_case, + [sym__case_value] = sym__case_value, [sym_list_expression] = sym_list_expression, [sym_map_expression] = sym_map_expression, [sym__colon_property] = sym__colon_property, [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, [aux_sym_interpreted_string_literal_repeat1] = aux_sym_interpreted_string_literal_repeat1, + [aux_sym_select_cases_repeat1] = aux_sym_select_cases_repeat1, [aux_sym_list_expression_repeat1] = aux_sym_list_expression_repeat1, [aux_sym_map_expression_repeat1] = aux_sym_map_expression_repeat1, }; @@ -196,7 +241,11 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [anon_sym_LBRACK] = { + [anon_sym_select] = { + .visible = true, + .named = false, + }, + [anon_sym_LPAREN] = { .visible = true, .named = false, }, @@ -204,10 +253,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_RBRACK] = { + [anon_sym_RPAREN] = { .visible = true, .named = false, }, + [anon_sym_product_variable] = { + .visible = true, + .named = true, + }, + [anon_sym_release_variable] = { + .visible = true, + .named = true, + }, + [anon_sym_variant] = { + .visible = true, + .named = true, + }, [anon_sym_LBRACE] = { .visible = true, .named = false, @@ -220,6 +281,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_default] = { + .visible = true, + .named = false, + }, + [anon_sym_unset] = { + .visible = true, + .named = true, + }, + [anon_sym_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK] = { + .visible = true, + .named = false, + }, [sym_source_file] = { .visible = true, .named = true, @@ -256,6 +333,30 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_select_expression] = { + .visible = true, + .named = true, + }, + [sym_select_value] = { + .visible = true, + .named = true, + }, + [sym_select_cases] = { + .visible = true, + .named = true, + }, + [sym_select_case] = { + .visible = true, + .named = true, + }, + [sym_default_case] = { + .visible = true, + .named = true, + }, + [sym__case_value] = { + .visible = false, + .named = true, + }, [sym_list_expression] = { .visible = true, .named = true, @@ -276,6 +377,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_select_cases_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_list_expression_repeat1] = { .visible = false, .named = false, @@ -287,19 +392,25 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { }; enum ts_field_identifiers { - field_field = 1, - field_left = 2, - field_operator = 3, - field_right = 4, - field_value = 5, + field_condition = 1, + field_field = 2, + field_left = 3, + field_operator = 4, + field_pattern = 5, + field_right = 6, + field_type = 7, + field_value = 8, }; static const char * const ts_field_names[] = { [0] = NULL, + [field_condition] = "condition", [field_field] = "field", [field_left] = "left", [field_operator] = "operator", + [field_pattern] = "pattern", [field_right] = "right", + [field_type] = "type", [field_value] = "value", }; @@ -309,6 +420,8 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [3] = {.index = 5, .length = 2}, [4] = {.index = 7, .length = 4}, [5] = {.index = 11, .length = 4}, + [6] = {.index = 15, .length = 2}, + [7] = {.index = 17, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -332,6 +445,12 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_field, 1, .inherited = true}, {field_value, 0, .inherited = true}, {field_value, 1, .inherited = true}, + [15] = + {field_condition, 2}, + {field_type, 0}, + [17] = + {field_pattern, 0}, + {field_value, 2}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { @@ -395,6 +514,36 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [49] = 49, [50] = 50, [51] = 51, + [52] = 52, + [53] = 53, + [54] = 54, + [55] = 55, + [56] = 56, + [57] = 57, + [58] = 58, + [59] = 59, + [60] = 60, + [61] = 61, + [62] = 62, + [63] = 63, + [64] = 64, + [65] = 65, + [66] = 66, + [67] = 67, + [68] = 68, + [69] = 69, + [70] = 70, + [71] = 71, + [72] = 72, + [73] = 73, + [74] = 74, + [75] = 75, + [76] = 76, + [77] = 77, + [78] = 78, + [79] = 79, + [80] = 80, + [81] = 81, }; static inline bool sym_identifier_character_set_1(int32_t c) { @@ -1200,807 +1349,1019 @@ static inline bool sym_identifier_character_set_1(int32_t c) { } static inline bool sym_identifier_character_set_2(int32_t c) { - return (c < 43514 - ? (c < 4193 - ? (c < 2707 - ? (c < 1994 - ? (c < 910 + return (c < 43642 + ? (c < 3784 + ? (c < 2759 + ? (c < 2048 + ? (c < 1155 ? (c < 736 - ? (c < 186 + ? (c < 183 ? (c < 'a' - ? (c < '_' - ? (c >= 'A' && c <= 'Z') - : c <= '_') + ? (c < 'A' + ? (c >= '0' && c <= '9') + : c <= 'Z') : (c <= 'z' || (c < 181 ? c == 170 : c <= 181))) - : (c <= 186 || (c < 248 - ? (c < 216 - ? (c >= 192 && c <= 214) - : c <= 246) - : (c <= 705 || (c >= 710 && c <= 721))))) - : (c <= 740 || (c < 891 - ? (c < 880 + : (c <= 183 || (c < 216 + ? (c < 192 + ? c == 186 + : c <= 214) + : (c <= 246 || (c < 710 + ? (c >= 248 && c <= 705) + : c <= 721))))) + : (c <= 740 || (c < 895 + ? (c < 768 ? (c < 750 ? c == 748 : c <= 750) - : (c <= 884 || (c >= 886 && c <= 887))) - : (c <= 893 || (c < 904 - ? (c < 902 - ? c == 895 - : c <= 902) - : (c <= 906 || c == 908)))))) - : (c <= 929 || (c < 1649 - ? (c < 1376 - ? (c < 1162 - ? (c < 1015 + : (c <= 884 || (c < 891 + ? (c >= 886 && c <= 887) + : c <= 893))) + : (c <= 895 || (c < 910 + ? (c < 908 + ? (c >= 902 && c <= 906) + : c <= 908) + : (c <= 929 || (c < 1015 ? (c >= 931 && c <= 1013) - : c <= 1153) - : (c <= 1327 || (c < 1369 - ? (c >= 1329 && c <= 1366) - : c <= 1369))) - : (c <= 1416 || (c < 1568 - ? (c < 1519 + : c <= 1153))))))) + : (c <= 1159 || (c < 1552 + ? (c < 1471 + ? (c < 1369 + ? (c < 1329 + ? (c >= 1162 && c <= 1327) + : c <= 1366) + : (c <= 1369 || (c < 1425 + ? (c >= 1376 && c <= 1416) + : c <= 1469))) + : (c <= 1471 || (c < 1479 + ? (c < 1476 + ? (c >= 1473 && c <= 1474) + : c <= 1477) + : (c <= 1479 || (c < 1519 ? (c >= 1488 && c <= 1514) - : c <= 1522) - : (c <= 1610 || (c >= 1646 && c <= 1647))))) - : (c <= 1747 || (c < 1791 - ? (c < 1774 - ? (c < 1765 - ? c == 1749 - : c <= 1766) - : (c <= 1775 || (c >= 1786 && c <= 1788))) - : (c <= 1791 || (c < 1869 - ? (c < 1810 - ? c == 1808 - : c <= 1839) - : (c <= 1957 || c == 1969)))))))) - : (c <= 2026 || (c < 2482 - ? (c < 2208 - ? (c < 2088 - ? (c < 2048 - ? (c < 2042 - ? (c >= 2036 && c <= 2037) - : c <= 2042) - : (c <= 2069 || (c < 2084 - ? c == 2074 - : c <= 2084))) - : (c <= 2088 || (c < 2160 + : c <= 1522))))) + : (c <= 1562 || (c < 1791 + ? (c < 1749 + ? (c < 1646 + ? (c >= 1568 && c <= 1641) + : c <= 1747) + : (c <= 1756 || (c < 1770 + ? (c >= 1759 && c <= 1768) + : c <= 1788))) + : (c <= 1791 || (c < 1984 + ? (c < 1869 + ? (c >= 1808 && c <= 1866) + : c <= 1969) + : (c <= 2037 || (c < 2045 + ? c == 2042 + : c <= 2045))))))))) + : (c <= 2093 || (c < 2561 + ? (c < 2474 + ? (c < 2275 + ? (c < 2160 ? (c < 2144 - ? (c >= 2112 && c <= 2136) + ? (c >= 2112 && c <= 2139) : c <= 2154) - : (c <= 2183 || (c >= 2185 && c <= 2190))))) - : (c <= 2249 || (c < 2417 - ? (c < 2384 - ? (c < 2365 - ? (c >= 2308 && c <= 2361) - : c <= 2365) - : (c <= 2384 || (c >= 2392 && c <= 2401))) - : (c <= 2432 || (c < 2451 - ? (c < 2447 - ? (c >= 2437 && c <= 2444) - : c <= 2448) - : (c <= 2472 || (c >= 2474 && c <= 2480))))))) - : (c <= 2482 || (c < 2579 - ? (c < 2527 - ? (c < 2510 - ? (c < 2493 - ? (c >= 2486 && c <= 2489) - : c <= 2493) - : (c <= 2510 || (c >= 2524 && c <= 2525))) - : (c <= 2529 || (c < 2565 - ? (c < 2556 - ? (c >= 2544 && c <= 2545) - : c <= 2556) - : (c <= 2570 || (c >= 2575 && c <= 2576))))) - : (c <= 2600 || (c < 2649 - ? (c < 2613 - ? (c < 2610 + : (c <= 2183 || (c < 2200 + ? (c >= 2185 && c <= 2190) + : c <= 2273))) + : (c <= 2403 || (c < 2437 + ? (c < 2417 + ? (c >= 2406 && c <= 2415) + : c <= 2435) + : (c <= 2444 || (c < 2451 + ? (c >= 2447 && c <= 2448) + : c <= 2472))))) + : (c <= 2480 || (c < 2519 + ? (c < 2492 + ? (c < 2486 + ? c == 2482 + : c <= 2489) + : (c <= 2500 || (c < 2507 + ? (c >= 2503 && c <= 2504) + : c <= 2510))) + : (c <= 2519 || (c < 2534 + ? (c < 2527 + ? (c >= 2524 && c <= 2525) + : c <= 2531) + : (c <= 2545 || (c < 2558 + ? c == 2556 + : c <= 2558))))))) + : (c <= 2563 || (c < 2641 + ? (c < 2613 + ? (c < 2579 + ? (c < 2575 + ? (c >= 2565 && c <= 2570) + : c <= 2576) + : (c <= 2600 || (c < 2610 ? (c >= 2602 && c <= 2608) - : c <= 2611) - : (c <= 2614 || (c >= 2616 && c <= 2617))) - : (c <= 2652 || (c < 2693 - ? (c < 2674 - ? c == 2654 - : c <= 2676) - : (c <= 2701 || (c >= 2703 && c <= 2705))))))))))) - : (c <= 2728 || (c < 3242 + : c <= 2611))) + : (c <= 2614 || (c < 2622 + ? (c < 2620 + ? (c >= 2616 && c <= 2617) + : c <= 2620) + : (c <= 2626 || (c < 2635 + ? (c >= 2631 && c <= 2632) + : c <= 2637))))) + : (c <= 2641 || (c < 2703 + ? (c < 2662 + ? (c < 2654 + ? (c >= 2649 && c <= 2652) + : c <= 2654) + : (c <= 2677 || (c < 2693 + ? (c >= 2689 && c <= 2691) + : c <= 2701))) + : (c <= 2705 || (c < 2738 + ? (c < 2730 + ? (c >= 2707 && c <= 2728) + : c <= 2736) + : (c <= 2739 || (c < 2748 + ? (c >= 2741 && c <= 2745) + : c <= 2757))))))))))) + : (c <= 2761 || (c < 3174 ? (c < 2962 - ? (c < 2858 - ? (c < 2784 - ? (c < 2741 - ? (c < 2738 - ? (c >= 2730 && c <= 2736) - : c <= 2739) - : (c <= 2745 || (c < 2768 - ? c == 2749 - : c <= 2768))) - : (c <= 2785 || (c < 2831 - ? (c < 2821 - ? c == 2809 - : c <= 2828) - : (c <= 2832 || (c >= 2835 && c <= 2856))))) - : (c <= 2864 || (c < 2911 - ? (c < 2877 - ? (c < 2869 - ? (c >= 2866 && c <= 2867) - : c <= 2873) - : (c <= 2877 || (c >= 2908 && c <= 2909))) - : (c <= 2913 || (c < 2949 - ? (c < 2947 - ? c == 2929 - : c <= 2947) - : (c <= 2954 || (c >= 2958 && c <= 2960))))))) - : (c <= 2965 || (c < 3090 - ? (c < 2984 + ? (c < 2869 + ? (c < 2817 + ? (c < 2784 + ? (c < 2768 + ? (c >= 2763 && c <= 2765) + : c <= 2768) + : (c <= 2787 || (c < 2809 + ? (c >= 2790 && c <= 2799) + : c <= 2815))) + : (c <= 2819 || (c < 2835 + ? (c < 2831 + ? (c >= 2821 && c <= 2828) + : c <= 2832) + : (c <= 2856 || (c < 2866 + ? (c >= 2858 && c <= 2864) + : c <= 2867))))) + : (c <= 2873 || (c < 2911 + ? (c < 2891 + ? (c < 2887 + ? (c >= 2876 && c <= 2884) + : c <= 2888) + : (c <= 2893 || (c < 2908 + ? (c >= 2901 && c <= 2903) + : c <= 2909))) + : (c <= 2915 || (c < 2946 + ? (c < 2929 + ? (c >= 2918 && c <= 2927) + : c <= 2929) + : (c <= 2947 || (c < 2958 + ? (c >= 2949 && c <= 2954) + : c <= 2960))))))) + : (c <= 2965 || (c < 3046 + ? (c < 2990 ? (c < 2974 ? (c < 2972 ? (c >= 2969 && c <= 2970) : c <= 2972) - : (c <= 2975 || (c >= 2979 && c <= 2980))) - : (c <= 2986 || (c < 3077 - ? (c < 3024 - ? (c >= 2990 && c <= 3001) - : c <= 3024) - : (c <= 3084 || (c >= 3086 && c <= 3088))))) - : (c <= 3112 || (c < 3168 - ? (c < 3160 - ? (c < 3133 + : (c <= 2975 || (c < 2984 + ? (c >= 2979 && c <= 2980) + : c <= 2986))) + : (c <= 3001 || (c < 3018 + ? (c < 3014 + ? (c >= 3006 && c <= 3010) + : c <= 3016) + : (c <= 3021 || (c < 3031 + ? c == 3024 + : c <= 3031))))) + : (c <= 3055 || (c < 3142 + ? (c < 3090 + ? (c < 3086 + ? (c >= 3072 && c <= 3084) + : c <= 3088) + : (c <= 3112 || (c < 3132 ? (c >= 3114 && c <= 3129) - : c <= 3133) - : (c <= 3162 || c == 3165)) - : (c <= 3169 || (c < 3214 + : c <= 3140))) + : (c <= 3144 || (c < 3160 + ? (c < 3157 + ? (c >= 3146 && c <= 3149) + : c <= 3158) + : (c <= 3162 || (c < 3168 + ? c == 3165 + : c <= 3171))))))))) + : (c <= 3183 || (c < 3457 + ? (c < 3296 + ? (c < 3253 + ? (c < 3214 ? (c < 3205 - ? c == 3200 + ? (c >= 3200 && c <= 3203) : c <= 3212) - : (c <= 3216 || (c >= 3218 && c <= 3240))))))))) - : (c <= 3251 || (c < 3648 - ? (c < 3412 - ? (c < 3332 - ? (c < 3293 - ? (c < 3261 - ? (c >= 3253 && c <= 3257) - : c <= 3261) - : (c <= 3294 || (c < 3313 - ? (c >= 3296 && c <= 3297) - : c <= 3314))) - : (c <= 3340 || (c < 3389 - ? (c < 3346 + : (c <= 3216 || (c < 3242 + ? (c >= 3218 && c <= 3240) + : c <= 3251))) + : (c <= 3257 || (c < 3274 + ? (c < 3270 + ? (c >= 3260 && c <= 3268) + : c <= 3272) + : (c <= 3277 || (c < 3293 + ? (c >= 3285 && c <= 3286) + : c <= 3294))))) + : (c <= 3299 || (c < 3398 + ? (c < 3328 + ? (c < 3313 + ? (c >= 3302 && c <= 3311) + : c <= 3314) + : (c <= 3340 || (c < 3346 ? (c >= 3342 && c <= 3344) - : c <= 3386) - : (c <= 3389 || c == 3406)))) - : (c <= 3414 || (c < 3507 - ? (c < 3461 - ? (c < 3450 - ? (c >= 3423 && c <= 3425) - : c <= 3455) - : (c <= 3478 || (c >= 3482 && c <= 3505))) - : (c <= 3515 || (c < 3585 - ? (c < 3520 + : c <= 3396))) + : (c <= 3400 || (c < 3423 + ? (c < 3412 + ? (c >= 3402 && c <= 3406) + : c <= 3415) + : (c <= 3427 || (c < 3450 + ? (c >= 3430 && c <= 3439) + : c <= 3455))))))) + : (c <= 3459 || (c < 3585 + ? (c < 3530 + ? (c < 3507 + ? (c < 3482 + ? (c >= 3461 && c <= 3478) + : c <= 3505) + : (c <= 3515 || (c < 3520 ? c == 3517 - : c <= 3526) - : (c <= 3632 || c == 3634)))))) - : (c <= 3654 || (c < 3782 - ? (c < 3749 - ? (c < 3718 - ? (c < 3716 - ? (c >= 3713 && c <= 3714) - : c <= 3716) - : (c <= 3722 || (c >= 3724 && c <= 3747))) - : (c <= 3749 || (c < 3773 - ? (c < 3762 - ? (c >= 3751 && c <= 3760) - : c <= 3762) - : (c <= 3773 || (c >= 3776 && c <= 3780))))) - : (c <= 3782 || (c < 3976 - ? (c < 3904 - ? (c < 3840 - ? (c >= 3804 && c <= 3807) - : c <= 3840) - : (c <= 3911 || (c >= 3913 && c <= 3948))) - : (c <= 3980 || (c < 4176 - ? (c < 4159 - ? (c >= 4096 && c <= 4138) - : c <= 4159) - : (c <= 4181 || (c >= 4186 && c <= 4189))))))))))))) - : (c <= 4193 || (c < 8134 - ? (c < 6176 - ? (c < 4808 - ? (c < 4688 - ? (c < 4295 - ? (c < 4213 - ? (c < 4206 - ? (c >= 4197 && c <= 4198) - : c <= 4208) - : (c <= 4225 || (c < 4256 - ? c == 4238 + : c <= 3526))) + : (c <= 3530 || (c < 3544 + ? (c < 3542 + ? (c >= 3535 && c <= 3540) + : c <= 3542) + : (c <= 3551 || (c < 3570 + ? (c >= 3558 && c <= 3567) + : c <= 3571))))) + : (c <= 3642 || (c < 3724 + ? (c < 3713 + ? (c < 3664 + ? (c >= 3648 && c <= 3662) + : c <= 3673) + : (c <= 3714 || (c < 3718 + ? c == 3716 + : c <= 3722))) + : (c <= 3747 || (c < 3776 + ? (c < 3751 + ? c == 3749 + : c <= 3773) + : (c <= 3780 || c == 3782)))))))))))) + : (c <= 3789 || (c < 8027 + ? (c < 5919 + ? (c < 4696 + ? (c < 3974 + ? (c < 3893 + ? (c < 3840 + ? (c < 3804 + ? (c >= 3792 && c <= 3801) + : c <= 3807) + : (c <= 3840 || (c < 3872 + ? (c >= 3864 && c <= 3865) + : c <= 3881))) + : (c <= 3893 || (c < 3902 + ? (c < 3897 + ? c == 3895 + : c <= 3897) + : (c <= 3911 || (c < 3953 + ? (c >= 3913 && c <= 3948) + : c <= 3972))))) + : (c <= 3991 || (c < 4295 + ? (c < 4096 + ? (c < 4038 + ? (c >= 3993 && c <= 4028) + : c <= 4038) + : (c <= 4169 || (c < 4256 + ? (c >= 4176 && c <= 4253) : c <= 4293))) : (c <= 4295 || (c < 4348 ? (c < 4304 ? c == 4301 : c <= 4346) - : (c <= 4680 || (c >= 4682 && c <= 4685))))) - : (c <= 4694 || (c < 4752 - ? (c < 4704 - ? (c < 4698 - ? c == 4696 - : c <= 4701) - : (c <= 4744 || (c >= 4746 && c <= 4749))) - : (c <= 4784 || (c < 4800 - ? (c < 4792 - ? (c >= 4786 && c <= 4789) - : c <= 4798) - : (c <= 4800 || (c >= 4802 && c <= 4805))))))) - : (c <= 4822 || (c < 5792 - ? (c < 5024 - ? (c < 4888 - ? (c < 4882 + : (c <= 4680 || (c < 4688 + ? (c >= 4682 && c <= 4685) + : c <= 4694))))))) + : (c <= 4696 || (c < 4888 + ? (c < 4792 + ? (c < 4746 + ? (c < 4704 + ? (c >= 4698 && c <= 4701) + : c <= 4744) + : (c <= 4749 || (c < 4786 + ? (c >= 4752 && c <= 4784) + : c <= 4789))) + : (c <= 4798 || (c < 4808 + ? (c < 4802 + ? c == 4800 + : c <= 4805) + : (c <= 4822 || (c < 4882 ? (c >= 4824 && c <= 4880) - : c <= 4885) - : (c <= 4954 || (c >= 4992 && c <= 5007))) - : (c <= 5109 || (c < 5743 - ? (c < 5121 - ? (c >= 5112 && c <= 5117) - : c <= 5740) - : (c <= 5759 || (c >= 5761 && c <= 5786))))) - : (c <= 5866 || (c < 5984 - ? (c < 5919 - ? (c < 5888 + : c <= 4885))))) + : (c <= 4954 || (c < 5121 + ? (c < 4992 + ? (c < 4969 + ? (c >= 4957 && c <= 4959) + : c <= 4977) + : (c <= 5007 || (c < 5112 + ? (c >= 5024 && c <= 5109) + : c <= 5117))) + : (c <= 5740 || (c < 5792 + ? (c < 5761 + ? (c >= 5743 && c <= 5759) + : c <= 5786) + : (c <= 5866 || (c < 5888 ? (c >= 5870 && c <= 5880) - : c <= 5905) - : (c <= 5937 || (c >= 5952 && c <= 5969))) - : (c <= 5996 || (c < 6103 - ? (c < 6016 - ? (c >= 5998 && c <= 6000) - : c <= 6067) - : (c <= 6103 || c == 6108)))))))) - : (c <= 6264 || (c < 7312 - ? (c < 6823 - ? (c < 6512 - ? (c < 6320 - ? (c < 6314 - ? (c >= 6272 && c <= 6312) - : c <= 6314) - : (c <= 6389 || (c < 6480 - ? (c >= 6400 && c <= 6430) + : c <= 5909))))))))) + : (c <= 5940 || (c < 6752 + ? (c < 6272 + ? (c < 6103 + ? (c < 5998 + ? (c < 5984 + ? (c >= 5952 && c <= 5971) + : c <= 5996) + : (c <= 6000 || (c < 6016 + ? (c >= 6002 && c <= 6003) + : c <= 6099))) + : (c <= 6103 || (c < 6155 + ? (c < 6112 + ? (c >= 6108 && c <= 6109) + : c <= 6121) + : (c <= 6157 || (c < 6176 + ? (c >= 6159 && c <= 6169) + : c <= 6264))))) + : (c <= 6314 || (c < 6512 + ? (c < 6432 + ? (c < 6400 + ? (c >= 6320 && c <= 6389) + : c <= 6430) + : (c <= 6443 || (c < 6470 + ? (c >= 6448 && c <= 6459) : c <= 6509))) - : (c <= 6516 || (c < 6656 + : (c <= 6516 || (c < 6608 ? (c < 6576 ? (c >= 6528 && c <= 6571) : c <= 6601) - : (c <= 6678 || (c >= 6688 && c <= 6740))))) - : (c <= 6823 || (c < 7098 - ? (c < 7043 - ? (c < 6981 - ? (c >= 6917 && c <= 6963) - : c <= 6988) - : (c <= 7072 || (c >= 7086 && c <= 7087))) - : (c <= 7141 || (c < 7258 - ? (c < 7245 - ? (c >= 7168 && c <= 7203) - : c <= 7247) - : (c <= 7293 || (c >= 7296 && c <= 7304))))))) - : (c <= 7354 || (c < 8008 - ? (c < 7418 - ? (c < 7406 - ? (c < 7401 - ? (c >= 7357 && c <= 7359) - : c <= 7404) - : (c <= 7411 || (c >= 7413 && c <= 7414))) - : (c <= 7418 || (c < 7960 - ? (c < 7680 - ? (c >= 7424 && c <= 7615) - : c <= 7957) - : (c <= 7965 || (c >= 7968 && c <= 8005))))) - : (c <= 8013 || (c < 8031 - ? (c < 8027 - ? (c < 8025 + : (c <= 6618 || (c < 6688 + ? (c >= 6656 && c <= 6683) + : c <= 6750))))))) + : (c <= 6780 || (c < 7245 + ? (c < 6912 + ? (c < 6823 + ? (c < 6800 + ? (c >= 6783 && c <= 6793) + : c <= 6809) + : (c <= 6823 || (c < 6847 + ? (c >= 6832 && c <= 6845) + : c <= 6862))) + : (c <= 6988 || (c < 7040 + ? (c < 7019 + ? (c >= 6992 && c <= 7001) + : c <= 7027) + : (c <= 7155 || (c < 7232 + ? (c >= 7168 && c <= 7223) + : c <= 7241))))) + : (c <= 7293 || (c < 7424 + ? (c < 7357 + ? (c < 7312 + ? (c >= 7296 && c <= 7304) + : c <= 7354) + : (c <= 7359 || (c < 7380 + ? (c >= 7376 && c <= 7378) + : c <= 7418))) + : (c <= 7957 || (c < 8008 + ? (c < 7968 + ? (c >= 7960 && c <= 7965) + : c <= 8005) + : (c <= 8013 || (c < 8025 ? (c >= 8016 && c <= 8023) - : c <= 8025) - : (c <= 8027 || c == 8029)) - : (c <= 8061 || (c < 8126 - ? (c < 8118 - ? (c >= 8064 && c <= 8116) - : c <= 8124) - : (c <= 8126 || (c >= 8130 && c <= 8132))))))))))) - : (c <= 8140 || (c < 12337 - ? (c < 8544 - ? (c < 8458 - ? (c < 8305 - ? (c < 8160 - ? (c < 8150 - ? (c >= 8144 && c <= 8147) - : c <= 8155) - : (c <= 8172 || (c < 8182 - ? (c >= 8178 && c <= 8180) - : c <= 8188))) - : (c <= 8305 || (c < 8450 - ? (c < 8336 + : c <= 8025))))))))))) + : (c <= 8027 || (c < 11728 + ? (c < 8469 + ? (c < 8182 + ? (c < 8130 + ? (c < 8064 + ? (c < 8031 + ? c == 8029 + : c <= 8061) + : (c <= 8116 || (c < 8126 + ? (c >= 8118 && c <= 8124) + : c <= 8126))) + : (c <= 8132 || (c < 8150 + ? (c < 8144 + ? (c >= 8134 && c <= 8140) + : c <= 8147) + : (c <= 8155 || (c < 8178 + ? (c >= 8160 && c <= 8172) + : c <= 8180))))) + : (c <= 8188 || (c < 8400 + ? (c < 8305 + ? (c < 8276 + ? (c >= 8255 && c <= 8256) + : c <= 8276) + : (c <= 8305 || (c < 8336 ? c == 8319 - : c <= 8348) - : (c <= 8450 || c == 8455)))) - : (c <= 8467 || (c < 8488 - ? (c < 8484 - ? (c < 8472 - ? c == 8469 - : c <= 8477) - : (c <= 8484 || c == 8486)) - : (c <= 8488 || (c < 8517 - ? (c < 8508 - ? (c >= 8490 && c <= 8505) - : c <= 8511) - : (c <= 8521 || c == 8526)))))) - : (c <= 8584 || (c < 11680 - ? (c < 11559 - ? (c < 11506 - ? (c < 11499 + : c <= 8348))) + : (c <= 8412 || (c < 8450 + ? (c < 8421 + ? c == 8417 + : c <= 8432) + : (c <= 8450 || (c < 8458 + ? c == 8455 + : c <= 8467))))))) + : (c <= 8469 || (c < 11520 + ? (c < 8508 + ? (c < 8486 + ? (c < 8484 + ? (c >= 8472 && c <= 8477) + : c <= 8484) + : (c <= 8486 || (c < 8490 + ? c == 8488 + : c <= 8505))) + : (c <= 8511 || (c < 8544 + ? (c < 8526 + ? (c >= 8517 && c <= 8521) + : c <= 8526) + : (c <= 8584 || (c < 11499 ? (c >= 11264 && c <= 11492) - : c <= 11502) - : (c <= 11507 || (c >= 11520 && c <= 11557))) - : (c <= 11559 || (c < 11631 - ? (c < 11568 - ? c == 11565 - : c <= 11623) - : (c <= 11631 || (c >= 11648 && c <= 11670))))) - : (c <= 11686 || (c < 11720 - ? (c < 11704 + : c <= 11507))))) + : (c <= 11557 || (c < 11680 + ? (c < 11568 + ? (c < 11565 + ? c == 11559 + : c <= 11565) + : (c <= 11623 || (c < 11647 + ? c == 11631 + : c <= 11670))) + : (c <= 11686 || (c < 11704 ? (c < 11696 ? (c >= 11688 && c <= 11694) : c <= 11702) - : (c <= 11710 || (c >= 11712 && c <= 11718))) - : (c <= 11726 || (c < 12293 - ? (c < 11736 - ? (c >= 11728 && c <= 11734) - : c <= 11742) - : (c <= 12295 || (c >= 12321 && c <= 12329))))))))) - : (c <= 12341 || (c < 42891 - ? (c < 19968 - ? (c < 12549 - ? (c < 12445 - ? (c < 12353 - ? (c >= 12344 && c <= 12348) - : c <= 12438) + : (c <= 11710 || (c < 11720 + ? (c >= 11712 && c <= 11718) + : c <= 11726))))))))) + : (c <= 11734 || (c < 42775 + ? (c < 12549 + ? (c < 12344 + ? (c < 12293 + ? (c < 11744 + ? (c >= 11736 && c <= 11742) + : c <= 11775) + : (c <= 12295 || (c < 12337 + ? (c >= 12321 && c <= 12335) + : c <= 12341))) + : (c <= 12348 || (c < 12445 + ? (c < 12441 + ? (c >= 12353 && c <= 12438) + : c <= 12442) : (c <= 12447 || (c < 12540 ? (c >= 12449 && c <= 12538) - : c <= 12543))) - : (c <= 12591 || (c < 12784 + : c <= 12543))))) + : (c <= 12591 || (c < 42192 + ? (c < 12784 ? (c < 12704 ? (c >= 12593 && c <= 12686) : c <= 12735) - : (c <= 12799 || (c >= 13312 && c <= 19903))))) - : (c <= 42124 || (c < 42560 - ? (c < 42512 - ? (c < 42240 - ? (c >= 42192 && c <= 42237) - : c <= 42508) - : (c <= 42527 || (c >= 42538 && c <= 42539))) - : (c <= 42606 || (c < 42775 - ? (c < 42656 - ? (c >= 42623 && c <= 42653) - : c <= 42735) - : (c <= 42783 || (c >= 42786 && c <= 42888))))))) - : (c <= 42954 || (c < 43250 - ? (c < 43011 - ? (c < 42965 - ? (c < 42963 - ? (c >= 42960 && c <= 42961) - : c <= 42963) - : (c <= 42969 || (c >= 42994 && c <= 43009))) - : (c <= 43013 || (c < 43072 - ? (c < 43020 - ? (c >= 43015 && c <= 43018) - : c <= 43042) - : (c <= 43123 || (c >= 43138 && c <= 43187))))) - : (c <= 43255 || (c < 43360 - ? (c < 43274 - ? (c < 43261 - ? c == 43259 - : c <= 43262) - : (c <= 43301 || (c >= 43312 && c <= 43334))) - : (c <= 43388 || (c < 43488 - ? (c < 43471 - ? (c >= 43396 && c <= 43442) - : c <= 43471) - : (c <= 43492 || (c >= 43494 && c <= 43503))))))))))))))) - : (c <= 43518 || (c < 70727 - ? (c < 66956 - ? (c < 64914 - ? (c < 43868 - ? (c < 43714 - ? (c < 43646 - ? (c < 43588 + : (c <= 12799 || (c < 19968 + ? (c >= 13312 && c <= 19903) + : c <= 42124))) + : (c <= 42237 || (c < 42560 + ? (c < 42512 + ? (c >= 42240 && c <= 42508) + : c <= 42539) + : (c <= 42607 || (c < 42623 + ? (c >= 42612 && c <= 42621) + : c <= 42737))))))) + : (c <= 42783 || (c < 43259 + ? (c < 42994 + ? (c < 42960 + ? (c < 42891 + ? (c >= 42786 && c <= 42888) + : c <= 42954) + : (c <= 42961 || (c < 42965 + ? c == 42963 + : c <= 42969))) + : (c <= 43047 || (c < 43136 + ? (c < 43072 + ? c == 43052 + : c <= 43123) + : (c <= 43205 || (c < 43232 + ? (c >= 43216 && c <= 43225) + : c <= 43255))))) + : (c <= 43259 || (c < 43488 + ? (c < 43360 + ? (c < 43312 + ? (c >= 43261 && c <= 43309) + : c <= 43347) + : (c <= 43388 || (c < 43471 + ? (c >= 43392 && c <= 43456) + : c <= 43481))) + : (c <= 43518 || (c < 43600 ? (c < 43584 - ? (c >= 43520 && c <= 43560) - : c <= 43586) - : (c <= 43595 || (c < 43642 - ? (c >= 43616 && c <= 43638) - : c <= 43642))) - : (c <= 43695 || (c < 43705 - ? (c < 43701 - ? c == 43697 - : c <= 43702) - : (c <= 43709 || c == 43712)))) - : (c <= 43714 || (c < 43785 + ? (c >= 43520 && c <= 43574) + : c <= 43597) + : (c <= 43609 || (c >= 43616 && c <= 43638))))))))))))))) + : (c <= 43714 || (c < 71472 + ? (c < 67644 + ? (c < 65382 + ? (c < 64318 + ? (c < 44012 + ? (c < 43793 ? (c < 43762 ? (c < 43744 ? (c >= 43739 && c <= 43741) - : c <= 43754) - : (c <= 43764 || (c >= 43777 && c <= 43782))) - : (c <= 43790 || (c < 43816 - ? (c < 43808 - ? (c >= 43793 && c <= 43798) - : c <= 43814) - : (c <= 43822 || (c >= 43824 && c <= 43866))))))) - : (c <= 43881 || (c < 64287 - ? (c < 63744 + : c <= 43759) + : (c <= 43766 || (c < 43785 + ? (c >= 43777 && c <= 43782) + : c <= 43790))) + : (c <= 43798 || (c < 43824 + ? (c < 43816 + ? (c >= 43808 && c <= 43814) + : c <= 43822) + : (c <= 43866 || (c < 43888 + ? (c >= 43868 && c <= 43881) + : c <= 44010))))) + : (c <= 44013 || (c < 64112 ? (c < 55216 ? (c < 44032 - ? (c >= 43888 && c <= 44002) + ? (c >= 44016 && c <= 44025) : c <= 55203) - : (c <= 55238 || (c >= 55243 && c <= 55291))) - : (c <= 64109 || (c < 64275 - ? (c < 64256 - ? (c >= 64112 && c <= 64217) - : c <= 64262) - : (c <= 64279 || c == 64285)))) - : (c <= 64296 || (c < 64323 - ? (c < 64318 - ? (c < 64312 + : (c <= 55238 || (c < 63744 + ? (c >= 55243 && c <= 55291) + : c <= 64109))) + : (c <= 64217 || (c < 64285 + ? (c < 64275 + ? (c >= 64256 && c <= 64262) + : c <= 64279) + : (c <= 64296 || (c < 64312 ? (c >= 64298 && c <= 64310) - : c <= 64316) - : (c <= 64318 || (c >= 64320 && c <= 64321))) - : (c <= 64324 || (c < 64612 - ? (c < 64467 - ? (c >= 64326 && c <= 64433) - : c <= 64605) - : (c <= 64829 || (c >= 64848 && c <= 64911))))))))) - : (c <= 64967 || (c < 65599 - ? (c < 65382 - ? (c < 65147 - ? (c < 65139 - ? (c < 65137 - ? (c >= 65008 && c <= 65017) - : c <= 65137) - : (c <= 65139 || (c < 65145 - ? c == 65143 - : c <= 65145))) - : (c <= 65147 || (c < 65313 - ? (c < 65151 - ? c == 65149 - : c <= 65276) - : (c <= 65338 || (c >= 65345 && c <= 65370))))) - : (c <= 65437 || (c < 65498 - ? (c < 65482 - ? (c < 65474 - ? (c >= 65440 && c <= 65470) - : c <= 65479) - : (c <= 65487 || (c >= 65490 && c <= 65495))) - : (c <= 65500 || (c < 65576 - ? (c < 65549 - ? (c >= 65536 && c <= 65547) - : c <= 65574) - : (c <= 65594 || (c >= 65596 && c <= 65597))))))) - : (c <= 65613 || (c < 66464 - ? (c < 66208 - ? (c < 65856 - ? (c < 65664 + : c <= 64316))))))) + : (c <= 64318 || (c < 65101 + ? (c < 64848 + ? (c < 64326 + ? (c < 64323 + ? (c >= 64320 && c <= 64321) + : c <= 64324) + : (c <= 64433 || (c < 64612 + ? (c >= 64467 && c <= 64605) + : c <= 64829))) + : (c <= 64911 || (c < 65024 + ? (c < 65008 + ? (c >= 64914 && c <= 64967) + : c <= 65017) + : (c <= 65039 || (c < 65075 + ? (c >= 65056 && c <= 65071) + : c <= 65076))))) + : (c <= 65103 || (c < 65149 + ? (c < 65143 + ? (c < 65139 + ? c == 65137 + : c <= 65139) + : (c <= 65143 || (c < 65147 + ? c == 65145 + : c <= 65147))) + : (c <= 65149 || (c < 65313 + ? (c < 65296 + ? (c >= 65151 && c <= 65276) + : c <= 65305) + : (c <= 65338 || (c < 65345 + ? c == 65343 + : c <= 65370))))))))) + : (c <= 65470 || (c < 66560 + ? (c < 65856 + ? (c < 65549 + ? (c < 65490 + ? (c < 65482 + ? (c >= 65474 && c <= 65479) + : c <= 65487) + : (c <= 65495 || (c < 65536 + ? (c >= 65498 && c <= 65500) + : c <= 65547))) + : (c <= 65574 || (c < 65599 + ? (c < 65596 + ? (c >= 65576 && c <= 65594) + : c <= 65597) + : (c <= 65613 || (c < 65664 ? (c >= 65616 && c <= 65629) - : c <= 65786) - : (c <= 65908 || (c >= 66176 && c <= 66204))) - : (c <= 66256 || (c < 66384 - ? (c < 66349 - ? (c >= 66304 && c <= 66335) - : c <= 66378) - : (c <= 66421 || (c >= 66432 && c <= 66461))))) - : (c <= 66499 || (c < 66776 - ? (c < 66560 - ? (c < 66513 + : c <= 65786))))) + : (c <= 65908 || (c < 66349 + ? (c < 66208 + ? (c < 66176 + ? c == 66045 + : c <= 66204) + : (c <= 66256 || (c < 66304 + ? c == 66272 + : c <= 66335))) + : (c <= 66378 || (c < 66464 + ? (c < 66432 + ? (c >= 66384 && c <= 66426) + : c <= 66461) + : (c <= 66499 || (c < 66513 ? (c >= 66504 && c <= 66511) - : c <= 66517) - : (c <= 66717 || (c >= 66736 && c <= 66771))) - : (c <= 66811 || (c < 66928 - ? (c < 66864 + : c <= 66517))))))) + : (c <= 66717 || (c < 66995 + ? (c < 66928 + ? (c < 66776 + ? (c < 66736 + ? (c >= 66720 && c <= 66729) + : c <= 66771) + : (c <= 66811 || (c < 66864 ? (c >= 66816 && c <= 66855) - : c <= 66915) - : (c <= 66938 || (c >= 66940 && c <= 66954))))))))))) - : (c <= 66962 || (c < 68864 - ? (c < 67828 - ? (c < 67506 - ? (c < 67072 - ? (c < 66979 - ? (c < 66967 - ? (c >= 66964 && c <= 66965) - : c <= 66977) - : (c <= 66993 || (c < 67003 - ? (c >= 66995 && c <= 67001) - : c <= 67004))) - : (c <= 67382 || (c < 67456 - ? (c < 67424 - ? (c >= 67392 && c <= 67413) - : c <= 67431) - : (c <= 67461 || (c >= 67463 && c <= 67504))))) - : (c <= 67514 || (c < 67644 - ? (c < 67594 - ? (c < 67592 - ? (c >= 67584 && c <= 67589) - : c <= 67592) - : (c <= 67637 || (c >= 67639 && c <= 67640))) - : (c <= 67644 || (c < 67712 + : c <= 66915))) + : (c <= 66938 || (c < 66964 + ? (c < 66956 + ? (c >= 66940 && c <= 66954) + : c <= 66962) + : (c <= 66965 || (c < 66979 + ? (c >= 66967 && c <= 66977) + : c <= 66993))))) + : (c <= 67001 || (c < 67463 + ? (c < 67392 + ? (c < 67072 + ? (c >= 67003 && c <= 67004) + : c <= 67382) + : (c <= 67413 || (c < 67456 + ? (c >= 67424 && c <= 67431) + : c <= 67461))) + : (c <= 67504 || (c < 67592 + ? (c < 67584 + ? (c >= 67506 && c <= 67514) + : c <= 67589) + : (c <= 67592 || (c < 67639 + ? (c >= 67594 && c <= 67637) + : c <= 67640))))))))))) + : (c <= 67644 || (c < 69968 + ? (c < 68480 + ? (c < 68108 + ? (c < 67840 + ? (c < 67712 ? (c < 67680 ? (c >= 67647 && c <= 67669) : c <= 67702) - : (c <= 67742 || (c >= 67808 && c <= 67826))))))) - : (c <= 67829 || (c < 68224 - ? (c < 68096 - ? (c < 67968 - ? (c < 67872 - ? (c >= 67840 && c <= 67861) - : c <= 67897) - : (c <= 68023 || (c >= 68030 && c <= 68031))) - : (c <= 68096 || (c < 68121 - ? (c < 68117 - ? (c >= 68112 && c <= 68115) - : c <= 68119) - : (c <= 68149 || (c >= 68192 && c <= 68220))))) - : (c <= 68252 || (c < 68448 - ? (c < 68352 + : (c <= 67742 || (c < 67828 + ? (c >= 67808 && c <= 67826) + : c <= 67829))) + : (c <= 67861 || (c < 68030 + ? (c < 67968 + ? (c >= 67872 && c <= 67897) + : c <= 68023) + : (c <= 68031 || (c < 68101 + ? (c >= 68096 && c <= 68099) + : c <= 68102))))) + : (c <= 68115 || (c < 68224 + ? (c < 68152 + ? (c < 68121 + ? (c >= 68117 && c <= 68119) + : c <= 68149) + : (c <= 68154 || (c < 68192 + ? c == 68159 + : c <= 68220))) + : (c <= 68252 || (c < 68352 ? (c < 68297 ? (c >= 68288 && c <= 68295) - : c <= 68324) - : (c <= 68405 || (c >= 68416 && c <= 68437))) - : (c <= 68466 || (c < 68736 - ? (c < 68608 - ? (c >= 68480 && c <= 68497) - : c <= 68680) - : (c <= 68786 || (c >= 68800 && c <= 68850))))))))) - : (c <= 68899 || (c < 70106 - ? (c < 69749 - ? (c < 69488 - ? (c < 69376 + : c <= 68326) + : (c <= 68405 || (c < 68448 + ? (c >= 68416 && c <= 68437) + : c <= 68466))))))) + : (c <= 68497 || (c < 69488 + ? (c < 69248 + ? (c < 68800 + ? (c < 68736 + ? (c >= 68608 && c <= 68680) + : c <= 68786) + : (c <= 68850 || (c < 68912 + ? (c >= 68864 && c <= 68903) + : c <= 68921))) + : (c <= 69289 || (c < 69376 ? (c < 69296 - ? (c >= 69248 && c <= 69289) + ? (c >= 69291 && c <= 69292) : c <= 69297) : (c <= 69404 || (c < 69424 ? c == 69415 - : c <= 69445))) - : (c <= 69505 || (c < 69635 + : c <= 69456))))) + : (c <= 69509 || (c < 69826 + ? (c < 69632 ? (c < 69600 ? (c >= 69552 && c <= 69572) : c <= 69622) - : (c <= 69687 || (c >= 69745 && c <= 69746))))) - : (c <= 69749 || (c < 69959 - ? (c < 69891 - ? (c < 69840 - ? (c >= 69763 && c <= 69807) - : c <= 69864) - : (c <= 69926 || c == 69956)) - : (c <= 69959 || (c < 70019 - ? (c < 70006 - ? (c >= 69968 && c <= 70002) - : c <= 70006) - : (c <= 70066 || (c >= 70081 && c <= 70084))))))) - : (c <= 70106 || (c < 70405 - ? (c < 70280 - ? (c < 70163 - ? (c < 70144 - ? c == 70108 - : c <= 70161) - : (c <= 70187 || (c >= 70272 && c <= 70278))) - : (c <= 70280 || (c < 70303 - ? (c < 70287 - ? (c >= 70282 && c <= 70285) - : c <= 70301) - : (c <= 70312 || (c >= 70320 && c <= 70366))))) - : (c <= 70412 || (c < 70453 - ? (c < 70442 - ? (c < 70419 - ? (c >= 70415 && c <= 70416) - : c <= 70440) - : (c <= 70448 || (c >= 70450 && c <= 70451))) - : (c <= 70457 || (c < 70493 + : (c <= 69702 || (c < 69759 + ? (c >= 69734 && c <= 69749) + : c <= 69818))) + : (c <= 69826 || (c < 69888 + ? (c < 69872 + ? (c >= 69840 && c <= 69864) + : c <= 69881) + : (c <= 69940 || (c < 69956 + ? (c >= 69942 && c <= 69951) + : c <= 69959))))))))) + : (c <= 70003 || (c < 70471 + ? (c < 70287 + ? (c < 70144 + ? (c < 70089 + ? (c < 70016 + ? c == 70006 + : c <= 70084) + : (c <= 70092 || (c < 70108 + ? (c >= 70094 && c <= 70106) + : c <= 70108))) + : (c <= 70161 || (c < 70272 + ? (c < 70206 + ? (c >= 70163 && c <= 70199) + : c <= 70206) + : (c <= 70278 || (c < 70282 + ? c == 70280 + : c <= 70285))))) + : (c <= 70301 || (c < 70415 + ? (c < 70384 + ? (c < 70320 + ? (c >= 70303 && c <= 70312) + : c <= 70378) + : (c <= 70393 || (c < 70405 + ? (c >= 70400 && c <= 70403) + : c <= 70412))) + : (c <= 70416 || (c < 70450 + ? (c < 70442 + ? (c >= 70419 && c <= 70440) + : c <= 70448) + : (c <= 70451 || (c < 70459 + ? (c >= 70453 && c <= 70457) + : c <= 70468))))))) + : (c <= 70472 || (c < 70864 + ? (c < 70512 + ? (c < 70487 ? (c < 70480 - ? c == 70461 + ? (c >= 70475 && c <= 70477) : c <= 70480) - : (c <= 70497 || (c >= 70656 && c <= 70708))))))))))))) - : (c <= 70730 || (c < 119894 - ? (c < 73056 - ? (c < 72001 - ? (c < 71424 - ? (c < 71128 - ? (c < 70852 - ? (c < 70784 - ? (c >= 70751 && c <= 70753) - : c <= 70831) - : (c <= 70853 || (c < 71040 - ? c == 70855 - : c <= 71086))) - : (c <= 71131 || (c < 71296 - ? (c < 71236 - ? (c >= 71168 && c <= 71215) - : c <= 71236) - : (c <= 71338 || c == 71352)))) - : (c <= 71450 || (c < 71945 + : (c <= 70487 || (c < 70502 + ? (c >= 70493 && c <= 70499) + : c <= 70508))) + : (c <= 70516 || (c < 70750 + ? (c < 70736 + ? (c >= 70656 && c <= 70730) + : c <= 70745) + : (c <= 70753 || (c < 70855 + ? (c >= 70784 && c <= 70853) + : c <= 70855))))) + : (c <= 70873 || (c < 71248 + ? (c < 71128 + ? (c < 71096 + ? (c >= 71040 && c <= 71093) + : c <= 71104) + : (c <= 71133 || (c < 71236 + ? (c >= 71168 && c <= 71232) + : c <= 71236))) + : (c <= 71257 || (c < 71424 + ? (c < 71360 + ? (c >= 71296 && c <= 71352) + : c <= 71369) + : (c <= 71450 || (c >= 71453 && c <= 71467))))))))))))) + : (c <= 71481 || (c < 119973 + ? (c < 82944 + ? (c < 72784 + ? (c < 72096 + ? (c < 71948 ? (c < 71840 ? (c < 71680 ? (c >= 71488 && c <= 71494) - : c <= 71723) - : (c <= 71903 || (c >= 71935 && c <= 71942))) - : (c <= 71945 || (c < 71960 - ? (c < 71957 - ? (c >= 71948 && c <= 71955) - : c <= 71958) - : (c <= 71983 || c == 71999)))))) - : (c <= 72001 || (c < 72349 - ? (c < 72192 - ? (c < 72161 - ? (c < 72106 - ? (c >= 72096 && c <= 72103) - : c <= 72144) - : (c <= 72161 || c == 72163)) - : (c <= 72192 || (c < 72272 - ? (c < 72250 - ? (c >= 72203 && c <= 72242) - : c <= 72250) - : (c <= 72272 || (c >= 72284 && c <= 72329))))) - : (c <= 72349 || (c < 72818 - ? (c < 72714 - ? (c < 72704 - ? (c >= 72368 && c <= 72440) - : c <= 72712) - : (c <= 72750 || c == 72768)) - : (c <= 72847 || (c < 72971 - ? (c < 72968 + : c <= 71738) + : (c <= 71913 || (c < 71945 + ? (c >= 71935 && c <= 71942) + : c <= 71945))) + : (c <= 71955 || (c < 71991 + ? (c < 71960 + ? (c >= 71957 && c <= 71958) + : c <= 71989) + : (c <= 71992 || (c < 72016 + ? (c >= 71995 && c <= 72003) + : c <= 72025))))) + : (c <= 72103 || (c < 72272 + ? (c < 72163 + ? (c < 72154 + ? (c >= 72106 && c <= 72151) + : c <= 72161) + : (c <= 72164 || (c < 72263 + ? (c >= 72192 && c <= 72254) + : c <= 72263))) + : (c <= 72345 || (c < 72704 + ? (c < 72368 + ? c == 72349 + : c <= 72440) + : (c <= 72712 || (c < 72760 + ? (c >= 72714 && c <= 72758) + : c <= 72768))))))) + : (c <= 72793 || (c < 73063 + ? (c < 72971 + ? (c < 72873 + ? (c < 72850 + ? (c >= 72818 && c <= 72847) + : c <= 72871) + : (c <= 72886 || (c < 72968 ? (c >= 72960 && c <= 72966) - : c <= 72969) - : (c <= 73008 || c == 73030)))))))) - : (c <= 73061 || (c < 93952 - ? (c < 82944 - ? (c < 73728 - ? (c < 73112 - ? (c < 73066 - ? (c >= 73063 && c <= 73064) - : c <= 73097) - : (c <= 73112 || (c < 73648 - ? (c >= 73440 && c <= 73458) - : c <= 73648))) - : (c <= 74649 || (c < 77712 - ? (c < 74880 - ? (c >= 74752 && c <= 74862) - : c <= 75075) - : (c <= 77808 || (c >= 77824 && c <= 78894))))) - : (c <= 83526 || (c < 92928 - ? (c < 92784 + : c <= 72969))) + : (c <= 73014 || (c < 73023 + ? (c < 73020 + ? c == 73018 + : c <= 73021) + : (c <= 73031 || (c < 73056 + ? (c >= 73040 && c <= 73049) + : c <= 73061))))) + : (c <= 73064 || (c < 73648 + ? (c < 73107 + ? (c < 73104 + ? (c >= 73066 && c <= 73102) + : c <= 73105) + : (c <= 73112 || (c < 73440 + ? (c >= 73120 && c <= 73129) + : c <= 73462))) + : (c <= 73648 || (c < 74880 + ? (c < 74752 + ? (c >= 73728 && c <= 74649) + : c <= 74862) + : (c <= 75075 || (c < 77824 + ? (c >= 77712 && c <= 77808) + : c <= 78894))))))))) + : (c <= 83526 || (c < 110581 + ? (c < 93053 + ? (c < 92880 + ? (c < 92768 ? (c < 92736 ? (c >= 92160 && c <= 92728) : c <= 92766) - : (c <= 92862 || (c >= 92880 && c <= 92909))) - : (c <= 92975 || (c < 93053 - ? (c < 93027 - ? (c >= 92992 && c <= 92995) - : c <= 93047) - : (c <= 93071 || (c >= 93760 && c <= 93823))))))) - : (c <= 94026 || (c < 110589 - ? (c < 94208 - ? (c < 94176 - ? (c < 94099 - ? c == 94032 - : c <= 94111) - : (c <= 94177 || c == 94179)) - : (c <= 100343 || (c < 110576 - ? (c < 101632 - ? (c >= 100352 && c <= 101589) - : c <= 101640) - : (c <= 110579 || (c >= 110581 && c <= 110587))))) - : (c <= 110590 || (c < 113664 - ? (c < 110948 - ? (c < 110928 - ? (c >= 110592 && c <= 110882) - : c <= 110930) - : (c <= 110951 || (c >= 110960 && c <= 111355))) + : (c <= 92777 || (c < 92864 + ? (c >= 92784 && c <= 92862) + : c <= 92873))) + : (c <= 92909 || (c < 92992 + ? (c < 92928 + ? (c >= 92912 && c <= 92916) + : c <= 92982) + : (c <= 92995 || (c < 93027 + ? (c >= 93008 && c <= 93017) + : c <= 93047))))) + : (c <= 93071 || (c < 94179 + ? (c < 94031 + ? (c < 93952 + ? (c >= 93760 && c <= 93823) + : c <= 94026) + : (c <= 94087 || (c < 94176 + ? (c >= 94095 && c <= 94111) + : c <= 94177))) + : (c <= 94180 || (c < 100352 + ? (c < 94208 + ? (c >= 94192 && c <= 94193) + : c <= 100343) + : (c <= 101589 || (c < 110576 + ? (c >= 101632 && c <= 101640) + : c <= 110579))))))) + : (c <= 110587 || (c < 118576 + ? (c < 113664 + ? (c < 110928 + ? (c < 110592 + ? (c >= 110589 && c <= 110590) + : c <= 110882) + : (c <= 110930 || (c < 110960 + ? (c >= 110948 && c <= 110951) + : c <= 111355))) : (c <= 113770 || (c < 113808 ? (c < 113792 ? (c >= 113776 && c <= 113788) : c <= 113800) - : (c <= 113817 || (c >= 119808 && c <= 119892))))))))))) - : (c <= 119964 || (c < 125259 - ? (c < 120572 - ? (c < 120086 - ? (c < 119995 - ? (c < 119973 - ? (c < 119970 - ? (c >= 119966 && c <= 119967) - : c <= 119970) - : (c <= 119974 || (c < 119982 + : (c <= 113817 || (c < 118528 + ? (c >= 113821 && c <= 113822) + : c <= 118573))))) + : (c <= 118598 || (c < 119362 + ? (c < 119163 + ? (c < 119149 + ? (c >= 119141 && c <= 119145) + : c <= 119154) + : (c <= 119170 || (c < 119210 + ? (c >= 119173 && c <= 119179) + : c <= 119213))) + : (c <= 119364 || (c < 119966 + ? (c < 119894 + ? (c >= 119808 && c <= 119892) + : c <= 119964) + : (c <= 119967 || c == 119970)))))))))) + : (c <= 119974 || (c < 124912 + ? (c < 120746 + ? (c < 120134 + ? (c < 120071 + ? (c < 119995 + ? (c < 119982 ? (c >= 119977 && c <= 119980) - : c <= 119993))) - : (c <= 119995 || (c < 120071 - ? (c < 120005 + : c <= 119993) + : (c <= 119995 || (c < 120005 ? (c >= 119997 && c <= 120003) - : c <= 120069) - : (c <= 120074 || (c >= 120077 && c <= 120084))))) - : (c <= 120092 || (c < 120138 - ? (c < 120128 - ? (c < 120123 - ? (c >= 120094 && c <= 120121) - : c <= 120126) - : (c <= 120132 || c == 120134)) - : (c <= 120144 || (c < 120514 - ? (c < 120488 - ? (c >= 120146 && c <= 120485) - : c <= 120512) - : (c <= 120538 || (c >= 120540 && c <= 120570))))))) - : (c <= 120596 || (c < 123191 - ? (c < 120714 - ? (c < 120656 + : c <= 120069))) + : (c <= 120074 || (c < 120094 + ? (c < 120086 + ? (c >= 120077 && c <= 120084) + : c <= 120092) + : (c <= 120121 || (c < 120128 + ? (c >= 120123 && c <= 120126) + : c <= 120132))))) + : (c <= 120134 || (c < 120572 + ? (c < 120488 + ? (c < 120146 + ? (c >= 120138 && c <= 120144) + : c <= 120485) + : (c <= 120512 || (c < 120540 + ? (c >= 120514 && c <= 120538) + : c <= 120570))) + : (c <= 120596 || (c < 120656 ? (c < 120630 ? (c >= 120598 && c <= 120628) : c <= 120654) - : (c <= 120686 || (c >= 120688 && c <= 120712))) - : (c <= 120744 || (c < 122624 - ? (c < 120772 - ? (c >= 120746 && c <= 120770) - : c <= 120779) - : (c <= 122654 || (c >= 123136 && c <= 123180))))) - : (c <= 123197 || (c < 124904 - ? (c < 123584 - ? (c < 123536 - ? c == 123214 - : c <= 123565) - : (c <= 123627 || (c >= 124896 && c <= 124902))) - : (c <= 124907 || (c < 124928 - ? (c < 124912 - ? (c >= 124909 && c <= 124910) - : c <= 124926) - : (c <= 125124 || (c >= 125184 && c <= 125251))))))))) - : (c <= 125259 || (c < 126559 - ? (c < 126535 - ? (c < 126505 - ? (c < 126497 - ? (c < 126469 - ? (c >= 126464 && c <= 126467) - : c <= 126495) - : (c <= 126498 || (c < 126503 - ? c == 126500 - : c <= 126503))) - : (c <= 126514 || (c < 126523 - ? (c < 126521 - ? (c >= 126516 && c <= 126519) - : c <= 126521) - : (c <= 126523 || c == 126530)))) - : (c <= 126535 || (c < 126548 - ? (c < 126541 - ? (c < 126539 + : (c <= 120686 || (c < 120714 + ? (c >= 120688 && c <= 120712) + : c <= 120744))))))) + : (c <= 120770 || (c < 122907 + ? (c < 121476 + ? (c < 121344 + ? (c < 120782 + ? (c >= 120772 && c <= 120779) + : c <= 120831) + : (c <= 121398 || (c < 121461 + ? (c >= 121403 && c <= 121452) + : c <= 121461))) + : (c <= 121476 || (c < 122624 + ? (c < 121505 + ? (c >= 121499 && c <= 121503) + : c <= 121519) + : (c <= 122654 || (c < 122888 + ? (c >= 122880 && c <= 122886) + : c <= 122904))))) + : (c <= 122913 || (c < 123214 + ? (c < 123136 + ? (c < 122918 + ? (c >= 122915 && c <= 122916) + : c <= 122922) + : (c <= 123180 || (c < 123200 + ? (c >= 123184 && c <= 123197) + : c <= 123209))) + : (c <= 123214 || (c < 124896 + ? (c < 123584 + ? (c >= 123536 && c <= 123566) + : c <= 123641) + : (c <= 124902 || (c < 124909 + ? (c >= 124904 && c <= 124907) + : c <= 124910))))))))) + : (c <= 124926 || (c < 126557 + ? (c < 126521 + ? (c < 126469 + ? (c < 125184 + ? (c < 125136 + ? (c >= 124928 && c <= 125124) + : c <= 125142) + : (c <= 125259 || (c < 126464 + ? (c >= 125264 && c <= 125273) + : c <= 126467))) + : (c <= 126495 || (c < 126503 + ? (c < 126500 + ? (c >= 126497 && c <= 126498) + : c <= 126500) + : (c <= 126503 || (c < 126516 + ? (c >= 126505 && c <= 126514) + : c <= 126519))))) + : (c <= 126521 || (c < 126541 + ? (c < 126535 + ? (c < 126530 + ? c == 126523 + : c <= 126530) + : (c <= 126535 || (c < 126539 ? c == 126537 - : c <= 126539) - : (c <= 126543 || (c >= 126545 && c <= 126546))) - : (c <= 126548 || (c < 126555 - ? (c < 126553 - ? c == 126551 - : c <= 126553) - : (c <= 126555 || c == 126557)))))) - : (c <= 126559 || (c < 126625 + : c <= 126539))) + : (c <= 126543 || (c < 126551 + ? (c < 126548 + ? (c >= 126545 && c <= 126546) + : c <= 126548) + : (c <= 126551 || (c < 126555 + ? c == 126553 + : c <= 126555))))))) + : (c <= 126557 || (c < 126629 ? (c < 126580 - ? (c < 126567 - ? (c < 126564 - ? (c >= 126561 && c <= 126562) - : c <= 126564) - : (c <= 126570 || (c >= 126572 && c <= 126578))) + ? (c < 126564 + ? (c < 126561 + ? c == 126559 + : c <= 126562) + : (c <= 126564 || (c < 126572 + ? (c >= 126567 && c <= 126570) + : c <= 126578))) : (c <= 126583 || (c < 126592 ? (c < 126590 ? (c >= 126585 && c <= 126588) : c <= 126590) - : (c <= 126601 || (c >= 126603 && c <= 126619))))) - : (c <= 126627 || (c < 177984 + : (c <= 126601 || (c < 126625 + ? (c >= 126603 && c <= 126619) + : c <= 126627))))) + : (c <= 126633 || (c < 178208 ? (c < 131072 - ? (c < 126635 - ? (c >= 126629 && c <= 126633) - : c <= 126651) - : (c <= 173791 || (c >= 173824 && c <= 177976))) - : (c <= 178205 || (c < 194560 - ? (c < 183984 - ? (c >= 178208 && c <= 183969) - : c <= 191456) - : (c <= 195101 || (c >= 196608 && c <= 201546))))))))))))))))); + ? (c < 130032 + ? (c >= 126635 && c <= 126651) + : c <= 130041) + : (c <= 173791 || (c < 177984 + ? (c >= 173824 && c <= 177976) + : c <= 178205))) + : (c <= 183969 || (c < 196608 + ? (c < 194560 + ? (c >= 183984 && c <= 191456) + : c <= 195101) + : (c <= 201546 || (c >= 917760 && c <= 917999))))))))))))))))); } static inline bool sym_identifier_character_set_3(int32_t c) { @@ -4044,297 +4405,769 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(18); - if (lookahead == '"') ADVANCE(42); - if (lookahead == '#') ADVANCE(19); - if (lookahead == '+') ADVANCE(4); - if (lookahead == ',') ADVANCE(47); - if (lookahead == '-') ADVANCE(36); - if (lookahead == ':') ADVANCE(51); - if (lookahead == '=') ADVANCE(24); - if (lookahead == '[') ADVANCE(46); - if (lookahead == '\\') ADVANCE(5); - if (lookahead == ']') ADVANCE(48); - if (lookahead == '`') ADVANCE(15); - if (lookahead == 'f') ADVANCE(26); - if (lookahead == 't') ADVANCE(30); - if (lookahead == '{') ADVANCE(49); - if (lookahead == '}') ADVANCE(50); + if (eof) ADVANCE(62); + if (lookahead == '"') ADVANCE(137); + if (lookahead == '#') ADVANCE(63); + if (lookahead == '(') ADVANCE(142); + if (lookahead == ')') ADVANCE(144); + if (lookahead == '+') ADVANCE(6); + if (lookahead == ',') ADVANCE(143); + if (lookahead == '-') ADVANCE(131); + if (lookahead == ':') ADVANCE(153); + if (lookahead == '=') ADVANCE(68); + if (lookahead == '[') ADVANCE(157); + if (lookahead == '\\') ADVANCE(7); + if (lookahead == ']') ADVANCE(158); + if (lookahead == '`') ADVANCE(59); + if (lookahead == 'd') ADVANCE(86); + if (lookahead == 'f') ADVANCE(72); + if (lookahead == 'p') ADVANCE(110); + if (lookahead == 'r') ADVANCE(93); + if (lookahead == 's') ADVANCE(95); + if (lookahead == 't') ADVANCE(111); + if (lookahead == 'u') ADVANCE(107); + if (lookahead == 'v') ADVANCE(76); + if (lookahead == '{') ADVANCE(151); + if (lookahead == '}') ADVANCE(152); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(16) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(37); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(33); + lookahead == ' ') SKIP(60) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(132); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(128); END_STATE(); case 1: if (lookahead == '\n') SKIP(2) - if (lookahead == '"') ADVANCE(42); - if (lookahead == '#') ADVANCE(20); - if (lookahead == '\\') ADVANCE(5); + if (lookahead == '"') ADVANCE(137); + if (lookahead == '#') ADVANCE(64); + if (lookahead == '\\') ADVANCE(7); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(40); - if (lookahead != 0) ADVANCE(41); + lookahead == ' ') ADVANCE(135); + if (lookahead != 0) ADVANCE(136); END_STATE(); case 2: if (lookahead == '\n') SKIP(2) - if (lookahead == '#') ADVANCE(20); + if (lookahead == '#') ADVANCE(64); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(40); + lookahead == ' ') ADVANCE(135); if (lookahead != 0 && lookahead != '"' && - lookahead != '\\') ADVANCE(41); + lookahead != '\\') ADVANCE(136); END_STATE(); case 3: - if (lookahead == '"') ADVANCE(39); - if (lookahead == '#') ADVANCE(19); - if (lookahead == '-') ADVANCE(36); - if (lookahead == '[') ADVANCE(46); - if (lookahead == ']') ADVANCE(48); - if (lookahead == '`') ADVANCE(15); - if (lookahead == 'f') ADVANCE(26); - if (lookahead == 't') ADVANCE(30); - if (lookahead == '{') ADVANCE(49); + if (lookahead == '"') ADVANCE(134); + if (lookahead == '#') ADVANCE(63); + if (lookahead == '-') ADVANCE(131); + if (lookahead == '[') ADVANCE(157); + if (lookahead == ']') ADVANCE(158); + if (lookahead == '`') ADVANCE(59); + if (lookahead == 'f') ADVANCE(72); + if (lookahead == 's') ADVANCE(95); + if (lookahead == 't') ADVANCE(111); + if (lookahead == '{') ADVANCE(151); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(3) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(37); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(33); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(132); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(128); END_STATE(); case 4: - if (lookahead == '=') ADVANCE(25); + if (lookahead == '"') ADVANCE(134); + if (lookahead == '#') ADVANCE(63); + if (lookahead == '-') ADVANCE(131); + if (lookahead == '[') ADVANCE(157); + if (lookahead == '`') ADVANCE(59); + if (lookahead == 'f') ADVANCE(72); + if (lookahead == 's') ADVANCE(95); + if (lookahead == 't') ADVANCE(111); + if (lookahead == 'u') ADVANCE(107); + if (lookahead == '{') ADVANCE(151); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(4) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(132); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(128); END_STATE(); case 5: - if (lookahead == 'U') ADVANCE(14); - if (lookahead == 'u') ADVANCE(10); - if (lookahead == 'x') ADVANCE(8); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); - if (lookahead != 0) ADVANCE(43); + if (lookahead == '"') ADVANCE(134); + if (lookahead == '#') ADVANCE(63); + if (lookahead == '`') ADVANCE(59); + if (lookahead == 'd') ADVANCE(23); + if (lookahead == 'p') ADVANCE(39); + if (lookahead == 'r') ADVANCE(24); + if (lookahead == 'v') ADVANCE(15); + if (lookahead == '}') ADVANCE(152); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(5) END_STATE(); case 6: - if (lookahead == '`') ADVANCE(38); - if (lookahead != 0) ADVANCE(6); + if (lookahead == '=') ADVANCE(69); END_STATE(); case 7: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(43); + if (lookahead == 'U') ADVANCE(58); + if (lookahead == 'u') ADVANCE(54); + if (lookahead == 'x') ADVANCE(52); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(140); + if (lookahead != 0) ADVANCE(138); END_STATE(); case 8: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(7); + if (lookahead == '_') ADVANCE(49); END_STATE(); case 9: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(8); + if (lookahead == '_') ADVANCE(50); END_STATE(); case 10: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(9); + if (lookahead == '`') ADVANCE(133); + if (lookahead != 0) ADVANCE(10); END_STATE(); case 11: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(10); + if (lookahead == 'a') ADVANCE(48); END_STATE(); case 12: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(11); + if (lookahead == 'a') ADVANCE(43); END_STATE(); case 13: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(12); + if (lookahead == 'a') ADVANCE(37); END_STATE(); case 14: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(13); + if (lookahead == 'a') ADVANCE(19); END_STATE(); case 15: - if (lookahead != 0 && - lookahead != '`') ADVANCE(6); + if (lookahead == 'a') ADVANCE(40); END_STATE(); case 16: - if (eof) ADVANCE(18); - if (lookahead == '"') ADVANCE(39); - if (lookahead == '#') ADVANCE(19); - if (lookahead == '+') ADVANCE(4); - if (lookahead == ',') ADVANCE(47); - if (lookahead == '-') ADVANCE(36); - if (lookahead == ':') ADVANCE(51); - if (lookahead == '=') ADVANCE(24); - if (lookahead == '[') ADVANCE(46); - if (lookahead == ']') ADVANCE(48); - if (lookahead == '`') ADVANCE(15); - if (lookahead == 'f') ADVANCE(26); - if (lookahead == 't') ADVANCE(30); - if (lookahead == '{') ADVANCE(49); - if (lookahead == '}') ADVANCE(50); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(16) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(37); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(33); + if (lookahead == 'a') ADVANCE(41); END_STATE(); case 17: - if (eof) ADVANCE(18); - if (lookahead == '#') ADVANCE(19); - if (lookahead == ',') ADVANCE(47); - if (lookahead == ']') ADVANCE(48); - if (lookahead == '}') ADVANCE(50); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(17) - if (sym_identifier_character_set_2(lookahead)) ADVANCE(33); + if (lookahead == 'a') ADVANCE(20); END_STATE(); case 18: - ACCEPT_TOKEN(ts_builtin_sym_end); + if (lookahead == 'a') ADVANCE(42); END_STATE(); case 19: - ACCEPT_TOKEN(anon_sym_POUND); + if (lookahead == 'b') ADVANCE(35); END_STATE(); case 20: - ACCEPT_TOKEN(anon_sym_POUND); - if (lookahead != 0 && - lookahead != '\n' && - lookahead != '"' && - lookahead != '\\') ADVANCE(41); + if (lookahead == 'b') ADVANCE(36); END_STATE(); case 21: - ACCEPT_TOKEN(anon_sym_POUND); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(23); + if (lookahead == 'c') ADVANCE(45); END_STATE(); case 22: - ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead == '#') ADVANCE(21); - if (lookahead == '\t' || - (11 <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(22); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(23); + if (lookahead == 'd') ADVANCE(47); END_STATE(); case 23: - ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(23); + if (lookahead == 'e') ADVANCE(29); END_STATE(); case 24: - ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == 'e') ADVANCE(34); END_STATE(); case 25: - ACCEPT_TOKEN(anon_sym_PLUS_EQ); + if (lookahead == 'e') ADVANCE(145); END_STATE(); case 26: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(29); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(33); + if (lookahead == 'e') ADVANCE(147); END_STATE(); case 27: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(34); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + if (lookahead == 'e') ADVANCE(12); END_STATE(); case 28: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(35); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + if (lookahead == 'e') ADVANCE(9); END_STATE(); case 29: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(31); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + if (lookahead == 'f') ADVANCE(11); END_STATE(); case 30: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(32); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + if (lookahead == 'i') ADVANCE(13); END_STATE(); case 31: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(28); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + if (lookahead == 'i') ADVANCE(14); END_STATE(); case 32: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(27); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + if (lookahead == 'i') ADVANCE(17); END_STATE(); case 33: - ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + if (lookahead == 'l') ADVANCE(44); END_STATE(); case 34: - ACCEPT_TOKEN(anon_sym_true); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + if (lookahead == 'l') ADVANCE(27); END_STATE(); case 35: - ACCEPT_TOKEN(anon_sym_false); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + if (lookahead == 'l') ADVANCE(25); END_STATE(); case 36: - ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == 'l') ADVANCE(26); END_STATE(); case 37: - ACCEPT_TOKEN(aux_sym_integer_literal_token1); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(37); + if (lookahead == 'n') ADVANCE(46); END_STATE(); case 38: - ACCEPT_TOKEN(sym_raw_string_literal); + if (lookahead == 'o') ADVANCE(22); END_STATE(); case 39: - ACCEPT_TOKEN(anon_sym_DQUOTE); + if (lookahead == 'r') ADVANCE(38); END_STATE(); case 40: - ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); - if (lookahead == '#') ADVANCE(20); - if (lookahead == '\t' || - (11 <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(40); - if (lookahead != 0 && - lookahead != '\n' && - lookahead != '"' && - lookahead != '\\') ADVANCE(41); + if (lookahead == 'r') ADVANCE(30); END_STATE(); case 41: + if (lookahead == 'r') ADVANCE(31); + END_STATE(); + case 42: + if (lookahead == 'r') ADVANCE(32); + END_STATE(); + case 43: + if (lookahead == 's') ADVANCE(28); + END_STATE(); + case 44: + if (lookahead == 't') ADVANCE(154); + END_STATE(); + case 45: + if (lookahead == 't') ADVANCE(8); + END_STATE(); + case 46: + if (lookahead == 't') ADVANCE(149); + END_STATE(); + case 47: + if (lookahead == 'u') ADVANCE(21); + END_STATE(); + case 48: + if (lookahead == 'u') ADVANCE(33); + END_STATE(); + case 49: + if (lookahead == 'v') ADVANCE(16); + END_STATE(); + case 50: + if (lookahead == 'v') ADVANCE(18); + END_STATE(); + case 51: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(138); + END_STATE(); + case 52: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(51); + END_STATE(); + case 53: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(52); + END_STATE(); + case 54: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(53); + END_STATE(); + case 55: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(54); + END_STATE(); + case 56: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(55); + END_STATE(); + case 57: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(56); + END_STATE(); + case 58: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(57); + END_STATE(); + case 59: + if (lookahead != 0 && + lookahead != '`') ADVANCE(10); + END_STATE(); + case 60: + if (eof) ADVANCE(62); + if (lookahead == '"') ADVANCE(134); + if (lookahead == '#') ADVANCE(63); + if (lookahead == '(') ADVANCE(142); + if (lookahead == ')') ADVANCE(144); + if (lookahead == '+') ADVANCE(6); + if (lookahead == ',') ADVANCE(143); + if (lookahead == '-') ADVANCE(131); + if (lookahead == ':') ADVANCE(153); + if (lookahead == '=') ADVANCE(68); + if (lookahead == '[') ADVANCE(157); + if (lookahead == ']') ADVANCE(158); + if (lookahead == '`') ADVANCE(59); + if (lookahead == 'd') ADVANCE(86); + if (lookahead == 'f') ADVANCE(72); + if (lookahead == 'p') ADVANCE(110); + if (lookahead == 'r') ADVANCE(93); + if (lookahead == 's') ADVANCE(95); + if (lookahead == 't') ADVANCE(111); + if (lookahead == 'u') ADVANCE(107); + if (lookahead == 'v') ADVANCE(76); + if (lookahead == '{') ADVANCE(151); + if (lookahead == '}') ADVANCE(152); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(60) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(132); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(128); + END_STATE(); + case 61: + if (eof) ADVANCE(62); + if (lookahead == '"') ADVANCE(134); + if (lookahead == '#') ADVANCE(63); + if (lookahead == ')') ADVANCE(144); + if (lookahead == ',') ADVANCE(143); + if (lookahead == ':') ADVANCE(153); + if (lookahead == ']') ADVANCE(158); + if (lookahead == '`') ADVANCE(59); + if (lookahead == '}') ADVANCE(152); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(61) + if (sym_identifier_character_set_1(lookahead)) ADVANCE(128); + END_STATE(); + case 62: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 63: + ACCEPT_TOKEN(anon_sym_POUND); + END_STATE(); + case 64: + ACCEPT_TOKEN(anon_sym_POUND); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(136); + END_STATE(); + case 65: + ACCEPT_TOKEN(anon_sym_POUND); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(67); + END_STATE(); + case 66: + ACCEPT_TOKEN(aux_sym_comment_token1); + if (lookahead == '#') ADVANCE(65); + if (lookahead == '\t' || + (11 <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(66); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(67); + END_STATE(); + case 67: + ACCEPT_TOKEN(aux_sym_comment_token1); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(67); + END_STATE(); + case 68: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 69: + ACCEPT_TOKEN(anon_sym_PLUS_EQ); + END_STATE(); + case 70: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '_') ADVANCE(126); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(128); + END_STATE(); + case 71: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '_') ADVANCE(127); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(128); + END_STATE(); + case 72: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(106); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(128); + END_STATE(); + case 73: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(81); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(128); + END_STATE(); + case 74: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(108); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(128); + END_STATE(); + case 75: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(123); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(128); + END_STATE(); + case 76: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(112); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(128); + END_STATE(); + case 77: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(113); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(128); + END_STATE(); + case 78: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(117); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(128); + END_STATE(); + case 79: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(82); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(128); + END_STATE(); + case 80: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(114); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(128); + END_STATE(); + case 81: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'b') ADVANCE(104); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 82: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'b') ADVANCE(105); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 83: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'c') ADVANCE(119); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 84: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'c') ADVANCE(121); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 85: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'd') ADVANCE(125); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 86: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(97); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 87: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(83); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 88: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(129); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 89: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(118); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 90: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(130); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 91: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(146); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 92: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(148); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 93: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(101); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 94: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(78); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 95: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(103); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 96: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(71); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 97: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'f') ADVANCE(75); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 98: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'i') ADVANCE(74); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 99: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'i') ADVANCE(73); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 100: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'i') ADVANCE(79); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 101: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(94); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 102: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(120); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 103: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(87); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 104: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(91); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 105: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(92); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 106: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(116); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 107: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'n') ADVANCE(115); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 108: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'n') ADVANCE(122); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 109: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'o') ADVANCE(85); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 110: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(109); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 111: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(124); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 112: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(98); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 113: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(99); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 114: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(100); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 115: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 's') ADVANCE(89); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 116: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 's') ADVANCE(90); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 117: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 's') ADVANCE(96); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 118: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(156); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 119: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(141); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 120: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(155); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 121: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(70); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 122: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(150); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 123: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(102); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 124: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(88); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 125: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(84); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 126: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'v') ADVANCE(77); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 127: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'v') ADVANCE(80); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 128: + ACCEPT_TOKEN(sym_identifier); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 129: + ACCEPT_TOKEN(anon_sym_true); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 130: + ACCEPT_TOKEN(anon_sym_false); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 131: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 132: + ACCEPT_TOKEN(aux_sym_integer_literal_token1); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(132); + END_STATE(); + case 133: + ACCEPT_TOKEN(sym_raw_string_literal); + END_STATE(); + case 134: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 135: + ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); + if (lookahead == '#') ADVANCE(64); + if (lookahead == '\t' || + (11 <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(135); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(136); + END_STATE(); + case 136: ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(41); + lookahead != '\\') ADVANCE(136); END_STATE(); - case 42: + case 137: ACCEPT_TOKEN(anon_sym_DQUOTE2); END_STATE(); - case 43: + case 138: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); - case 44: + case 139: ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(43); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(138); END_STATE(); - case 45: + case 140: ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(139); END_STATE(); - case 46: - ACCEPT_TOKEN(anon_sym_LBRACK); + case 141: + ACCEPT_TOKEN(anon_sym_select); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); END_STATE(); - case 47: + case 142: + ACCEPT_TOKEN(anon_sym_LPAREN); + END_STATE(); + case 143: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 48: - ACCEPT_TOKEN(anon_sym_RBRACK); + case 144: + ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 49: + case 145: + ACCEPT_TOKEN(anon_sym_product_variable); + END_STATE(); + case 146: + ACCEPT_TOKEN(anon_sym_product_variable); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 147: + ACCEPT_TOKEN(anon_sym_release_variable); + END_STATE(); + case 148: + ACCEPT_TOKEN(anon_sym_release_variable); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 149: + ACCEPT_TOKEN(anon_sym_variant); + END_STATE(); + case 150: + ACCEPT_TOKEN(anon_sym_variant); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 151: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 50: + case 152: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 51: + case 153: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); + case 154: + ACCEPT_TOKEN(anon_sym_default); + END_STATE(); + case 155: + ACCEPT_TOKEN(anon_sym_default); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 156: + ACCEPT_TOKEN(anon_sym_unset); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + END_STATE(); + case 157: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 158: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); default: return false; } @@ -4342,57 +5175,87 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 17}, - [2] = {.lex_state = 3}, - [3] = {.lex_state = 3}, + [1] = {.lex_state = 61}, + [2] = {.lex_state = 4}, + [3] = {.lex_state = 4}, [4] = {.lex_state = 3}, [5] = {.lex_state = 3}, [6] = {.lex_state = 3}, [7] = {.lex_state = 3}, - [8] = {.lex_state = 17}, - [9] = {.lex_state = 17}, - [10] = {.lex_state = 17}, - [11] = {.lex_state = 17}, - [12] = {.lex_state = 17}, - [13] = {.lex_state = 17}, - [14] = {.lex_state = 17}, - [15] = {.lex_state = 17}, - [16] = {.lex_state = 17}, - [17] = {.lex_state = 17}, - [18] = {.lex_state = 17}, - [19] = {.lex_state = 17}, - [20] = {.lex_state = 17}, - [21] = {.lex_state = 17}, - [22] = {.lex_state = 17}, - [23] = {.lex_state = 17}, - [24] = {.lex_state = 17}, - [25] = {.lex_state = 17}, - [26] = {.lex_state = 1}, - [27] = {.lex_state = 1}, - [28] = {.lex_state = 1}, - [29] = {.lex_state = 0}, - [30] = {.lex_state = 0}, - [31] = {.lex_state = 0}, - [32] = {.lex_state = 0}, - [33] = {.lex_state = 17}, + [8] = {.lex_state = 3}, + [9] = {.lex_state = 3}, + [10] = {.lex_state = 5}, + [11] = {.lex_state = 5}, + [12] = {.lex_state = 5}, + [13] = {.lex_state = 61}, + [14] = {.lex_state = 61}, + [15] = {.lex_state = 61}, + [16] = {.lex_state = 61}, + [17] = {.lex_state = 61}, + [18] = {.lex_state = 61}, + [19] = {.lex_state = 61}, + [20] = {.lex_state = 61}, + [21] = {.lex_state = 61}, + [22] = {.lex_state = 61}, + [23] = {.lex_state = 61}, + [24] = {.lex_state = 61}, + [25] = {.lex_state = 61}, + [26] = {.lex_state = 61}, + [27] = {.lex_state = 61}, + [28] = {.lex_state = 61}, + [29] = {.lex_state = 61}, + [30] = {.lex_state = 61}, + [31] = {.lex_state = 61}, + [32] = {.lex_state = 5}, + [33] = {.lex_state = 1}, [34] = {.lex_state = 1}, - [35] = {.lex_state = 0}, - [36] = {.lex_state = 0}, - [37] = {.lex_state = 17}, - [38] = {.lex_state = 17}, - [39] = {.lex_state = 17}, - [40] = {.lex_state = 17}, - [41] = {.lex_state = 0}, + [35] = {.lex_state = 1}, + [36] = {.lex_state = 61}, + [37] = {.lex_state = 5}, + [38] = {.lex_state = 0}, + [39] = {.lex_state = 1}, + [40] = {.lex_state = 0}, + [41] = {.lex_state = 61}, [42] = {.lex_state = 0}, - [43] = {.lex_state = 17}, + [43] = {.lex_state = 61}, [44] = {.lex_state = 0}, [45] = {.lex_state = 0}, - [46] = {.lex_state = 17}, - [47] = {.lex_state = 0}, - [48] = {.lex_state = 22}, + [46] = {.lex_state = 0}, + [47] = {.lex_state = 61}, + [48] = {.lex_state = 61}, [49] = {.lex_state = 0}, [50] = {.lex_state = 0}, - [51] = {(TSStateId)(-1)}, + [51] = {.lex_state = 0}, + [52] = {.lex_state = 61}, + [53] = {.lex_state = 0}, + [54] = {.lex_state = 61}, + [55] = {.lex_state = 61}, + [56] = {.lex_state = 0}, + [57] = {.lex_state = 0}, + [58] = {.lex_state = 0}, + [59] = {.lex_state = 0}, + [60] = {.lex_state = 0}, + [61] = {.lex_state = 0}, + [62] = {.lex_state = 0}, + [63] = {.lex_state = 0}, + [64] = {.lex_state = 0}, + [65] = {.lex_state = 0}, + [66] = {.lex_state = 0}, + [67] = {.lex_state = 0}, + [68] = {.lex_state = 66}, + [69] = {.lex_state = 0}, + [70] = {.lex_state = 0}, + [71] = {.lex_state = 0}, + [72] = {.lex_state = 0}, + [73] = {.lex_state = 0}, + [74] = {.lex_state = 0}, + [75] = {.lex_state = 0}, + [76] = {.lex_state = 0}, + [77] = {.lex_state = 0}, + [78] = {.lex_state = 0}, + [79] = {.lex_state = 0}, + [80] = {.lex_state = 0}, + [81] = {(TSStateId)(-1)}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -4411,90 +5274,35 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DQUOTE] = ACTIONS(1), [anon_sym_DQUOTE2] = ACTIONS(1), [sym_escape_sequence] = ACTIONS(1), - [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_select] = ACTIONS(1), + [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), - [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_RPAREN] = ACTIONS(1), + [anon_sym_product_variable] = ACTIONS(1), + [anon_sym_release_variable] = ACTIONS(1), + [anon_sym_variant] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = 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), }, [1] = { - [sym_source_file] = STATE(47), - [sym__definition] = STATE(43), + [sym_source_file] = STATE(58), + [sym__definition] = STATE(52), [sym_comment] = STATE(1), - [sym_assignment] = STATE(40), - [aux_sym_source_file_repeat1] = STATE(19), + [sym_assignment] = STATE(54), + [aux_sym_source_file_repeat1] = STATE(22), [ts_builtin_sym_end] = ACTIONS(5), [anon_sym_POUND] = ACTIONS(3), [sym_identifier] = ACTIONS(7), }, - [2] = { - [sym_comment] = STATE(2), - [sym__expr] = STATE(31), - [sym_boolean_literal] = STATE(12), - [sym_integer_literal] = STATE(12), - [sym__string_literal] = STATE(12), - [sym_interpreted_string_literal] = STATE(16), - [sym_list_expression] = STATE(12), - [sym_map_expression] = STATE(12), - [anon_sym_POUND] = ACTIONS(3), - [sym_identifier] = ACTIONS(9), - [anon_sym_true] = ACTIONS(11), - [anon_sym_false] = ACTIONS(11), - [anon_sym_DASH] = ACTIONS(13), - [aux_sym_integer_literal_token1] = ACTIONS(15), - [sym_raw_string_literal] = ACTIONS(17), - [anon_sym_DQUOTE] = ACTIONS(19), - [anon_sym_LBRACK] = ACTIONS(21), - [anon_sym_RBRACK] = ACTIONS(23), - [anon_sym_LBRACE] = ACTIONS(25), - }, - [3] = { - [sym_comment] = STATE(3), - [sym__expr] = STATE(44), - [sym_boolean_literal] = STATE(12), - [sym_integer_literal] = STATE(12), - [sym__string_literal] = STATE(12), - [sym_interpreted_string_literal] = STATE(16), - [sym_list_expression] = STATE(12), - [sym_map_expression] = STATE(12), - [anon_sym_POUND] = ACTIONS(3), - [sym_identifier] = ACTIONS(9), - [anon_sym_true] = ACTIONS(11), - [anon_sym_false] = ACTIONS(11), - [anon_sym_DASH] = ACTIONS(13), - [aux_sym_integer_literal_token1] = ACTIONS(15), - [sym_raw_string_literal] = ACTIONS(17), - [anon_sym_DQUOTE] = ACTIONS(19), - [anon_sym_LBRACK] = ACTIONS(21), - [anon_sym_RBRACK] = ACTIONS(27), - [anon_sym_LBRACE] = ACTIONS(25), - }, - [4] = { - [sym_comment] = STATE(4), - [sym__expr] = STATE(44), - [sym_boolean_literal] = STATE(12), - [sym_integer_literal] = STATE(12), - [sym__string_literal] = STATE(12), - [sym_interpreted_string_literal] = STATE(16), - [sym_list_expression] = STATE(12), - [sym_map_expression] = STATE(12), - [anon_sym_POUND] = ACTIONS(3), - [sym_identifier] = ACTIONS(9), - [anon_sym_true] = ACTIONS(11), - [anon_sym_false] = ACTIONS(11), - [anon_sym_DASH] = ACTIONS(13), - [aux_sym_integer_literal_token1] = ACTIONS(15), - [sym_raw_string_literal] = ACTIONS(17), - [anon_sym_DQUOTE] = ACTIONS(19), - [anon_sym_LBRACK] = ACTIONS(21), - [anon_sym_RBRACK] = ACTIONS(29), - [anon_sym_LBRACE] = ACTIONS(25), - }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 13, + [0] = 16, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(9), 1, @@ -4508,25 +5316,145 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, - anon_sym_LBRACK, - ACTIONS(25), 1, + anon_sym_select, + ACTIONS(23), 1, anon_sym_LBRACE, + ACTIONS(25), 1, + anon_sym_unset, + ACTIONS(27), 1, + anon_sym_LBRACK, + STATE(2), 1, + sym_comment, + STATE(15), 1, + sym_interpreted_string_literal, + STATE(76), 1, + sym__expr, + STATE(78), 1, + sym__case_value, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(27), 6, + sym_boolean_literal, + sym_integer_literal, + sym__string_literal, + sym_select_expression, + sym_list_expression, + sym_map_expression, + [55] = 16, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(9), 1, + sym_identifier, + ACTIONS(13), 1, + anon_sym_DASH, + ACTIONS(15), 1, + aux_sym_integer_literal_token1, + ACTIONS(17), 1, + sym_raw_string_literal, + ACTIONS(19), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_LBRACE, + ACTIONS(25), 1, + anon_sym_unset, + ACTIONS(27), 1, + anon_sym_LBRACK, + STATE(3), 1, + sym_comment, + STATE(15), 1, + sym_interpreted_string_literal, + STATE(76), 1, + sym__expr, + STATE(77), 1, + sym__case_value, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(27), 6, + sym_boolean_literal, + sym_integer_literal, + sym__string_literal, + sym_select_expression, + sym_list_expression, + sym_map_expression, + [110] = 15, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(9), 1, + sym_identifier, + ACTIONS(13), 1, + anon_sym_DASH, + ACTIONS(15), 1, + aux_sym_integer_literal_token1, + ACTIONS(17), 1, + sym_raw_string_literal, + ACTIONS(19), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + anon_sym_RBRACK, + STATE(4), 1, + sym_comment, + STATE(15), 1, + sym_interpreted_string_literal, + STATE(51), 1, + sym__expr, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(27), 6, + sym_boolean_literal, + sym_integer_literal, + sym__string_literal, + sym_select_expression, + sym_list_expression, + sym_map_expression, + [162] = 15, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(9), 1, + sym_identifier, + ACTIONS(13), 1, + anon_sym_DASH, + ACTIONS(15), 1, + aux_sym_integer_literal_token1, + ACTIONS(17), 1, + sym_raw_string_literal, + ACTIONS(19), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + anon_sym_RBRACK, STATE(5), 1, sym_comment, - STATE(16), 1, + STATE(15), 1, sym_interpreted_string_literal, - STATE(44), 1, + STATE(51), 1, sym__expr, ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(12), 5, + STATE(27), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, + sym_select_expression, sym_list_expression, sym_map_expression, - [45] = 13, + [214] = 15, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(9), 1, @@ -4540,25 +5468,30 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, - anon_sym_LBRACK, - ACTIONS(25), 1, + anon_sym_select, + ACTIONS(23), 1, anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_RBRACK, STATE(6), 1, sym_comment, - STATE(16), 1, + STATE(15), 1, sym_interpreted_string_literal, - STATE(41), 1, + STATE(38), 1, sym__expr, ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(12), 5, + STATE(27), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, + sym_select_expression, sym_list_expression, sym_map_expression, - [90] = 13, + [266] = 14, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(9), 1, @@ -4572,594 +5505,996 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, - anon_sym_LBRACK, - ACTIONS(25), 1, + anon_sym_select, + ACTIONS(23), 1, anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, STATE(7), 1, sym_comment, - STATE(16), 1, + STATE(15), 1, sym_interpreted_string_literal, - STATE(39), 1, + STATE(51), 1, sym__expr, ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(12), 5, + STATE(27), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, + sym_select_expression, sym_list_expression, sym_map_expression, - [135] = 3, + [315] = 14, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(9), 1, + sym_identifier, + ACTIONS(13), 1, + anon_sym_DASH, + ACTIONS(15), 1, + aux_sym_integer_literal_token1, + ACTIONS(17), 1, + sym_raw_string_literal, + ACTIONS(19), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, STATE(8), 1, sym_comment, - ACTIONS(31), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - [149] = 3, + STATE(15), 1, + sym_interpreted_string_literal, + STATE(48), 1, + sym__expr, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(27), 6, + sym_boolean_literal, + sym_integer_literal, + sym__string_literal, + sym_select_expression, + sym_list_expression, + sym_map_expression, + [364] = 14, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(9), 1, + sym_identifier, + ACTIONS(13), 1, + anon_sym_DASH, + ACTIONS(15), 1, + aux_sym_integer_literal_token1, + ACTIONS(17), 1, + sym_raw_string_literal, + ACTIONS(19), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, STATE(9), 1, sym_comment, - ACTIONS(33), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - [163] = 3, + STATE(15), 1, + sym_interpreted_string_literal, + STATE(53), 1, + sym__expr, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(27), 6, + sym_boolean_literal, + sym_integer_literal, + sym__string_literal, + sym_select_expression, + sym_list_expression, + sym_map_expression, + [413] = 11, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(17), 1, + sym_raw_string_literal, + ACTIONS(19), 1, + anon_sym_DQUOTE, + ACTIONS(35), 1, + anon_sym_RBRACE, + ACTIONS(37), 1, + anon_sym_default, STATE(10), 1, sym_comment, - ACTIONS(35), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - [177] = 6, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(37), 1, - ts_builtin_sym_end, - ACTIONS(39), 1, - sym_identifier, - STATE(40), 1, - sym_assignment, - STATE(43), 1, - sym__definition, - STATE(11), 2, - sym_comment, - aux_sym_source_file_repeat1, - [197] = 3, - ACTIONS(3), 1, - anon_sym_POUND, STATE(12), 1, - sym_comment, - ACTIONS(42), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACK, + aux_sym_select_cases_repeat1, + STATE(15), 1, + sym_interpreted_string_literal, + STATE(57), 1, + sym__string_literal, + STATE(65), 1, + sym_select_case, + STATE(74), 1, + sym_default_case, + [447] = 11, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(17), 1, + sym_raw_string_literal, + ACTIONS(19), 1, + anon_sym_DQUOTE, + ACTIONS(37), 1, + anon_sym_default, + ACTIONS(39), 1, anon_sym_RBRACE, - [211] = 3, + STATE(10), 1, + aux_sym_select_cases_repeat1, + STATE(11), 1, + sym_comment, + STATE(15), 1, + sym_interpreted_string_literal, + STATE(57), 1, + sym__string_literal, + STATE(65), 1, + sym_select_case, + STATE(66), 1, + sym_default_case, + [481] = 8, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(41), 1, + sym_raw_string_literal, + ACTIONS(44), 1, + anon_sym_DQUOTE, + STATE(15), 1, + sym_interpreted_string_literal, + STATE(57), 1, + sym__string_literal, + STATE(65), 1, + sym_select_case, + ACTIONS(47), 2, + anon_sym_RBRACE, + anon_sym_default, + STATE(12), 2, + sym_comment, + aux_sym_select_cases_repeat1, + [508] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(13), 1, sym_comment, - ACTIONS(44), 5, + ACTIONS(49), 7, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, - anon_sym_RBRACK, + anon_sym_RPAREN, anon_sym_RBRACE, - [225] = 3, + anon_sym_COLON, + anon_sym_RBRACK, + [524] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(14), 1, sym_comment, - ACTIONS(46), 5, + ACTIONS(51), 7, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, - anon_sym_RBRACK, + anon_sym_RPAREN, anon_sym_RBRACE, - [239] = 3, + anon_sym_COLON, + anon_sym_RBRACK, + [540] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(15), 1, sym_comment, - ACTIONS(48), 5, + ACTIONS(53), 7, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, - anon_sym_RBRACK, + anon_sym_RPAREN, anon_sym_RBRACE, - [253] = 3, + anon_sym_COLON, + anon_sym_RBRACK, + [556] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(16), 1, sym_comment, - ACTIONS(50), 5, + ACTIONS(55), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, - anon_sym_RBRACK, anon_sym_RBRACE, - [267] = 3, + anon_sym_RBRACK, + [570] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(17), 1, sym_comment, - ACTIONS(52), 5, + ACTIONS(57), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, - anon_sym_RBRACK, anon_sym_RBRACE, - [281] = 3, + anon_sym_RBRACK, + [584] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(18), 1, sym_comment, - ACTIONS(54), 5, + ACTIONS(59), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, - anon_sym_RBRACK, anon_sym_RBRACE, - [295] = 7, + anon_sym_RBRACK, + [598] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(7), 1, - sym_identifier, - ACTIONS(56), 1, - ts_builtin_sym_end, - STATE(11), 1, - aux_sym_source_file_repeat1, STATE(19), 1, sym_comment, - STATE(40), 1, - sym_assignment, - STATE(43), 1, - sym__definition, - [317] = 3, + ACTIONS(61), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + [612] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(20), 1, sym_comment, - ACTIONS(58), 5, + ACTIONS(63), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, - anon_sym_RBRACK, anon_sym_RBRACE, - [331] = 3, + anon_sym_RBRACK, + [626] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(21), 1, sym_comment, - ACTIONS(60), 5, + ACTIONS(65), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, - anon_sym_RBRACK, anon_sym_RBRACE, - [345] = 3, + anon_sym_RBRACK, + [640] = 7, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(67), 1, + ts_builtin_sym_end, STATE(22), 1, sym_comment, - ACTIONS(62), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - [359] = 3, + STATE(28), 1, + aux_sym_source_file_repeat1, + STATE(52), 1, + sym__definition, + STATE(54), 1, + sym_assignment, + [662] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(23), 1, sym_comment, - ACTIONS(64), 5, + ACTIONS(69), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, - anon_sym_RBRACK, anon_sym_RBRACE, - [373] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(24), 1, - sym_comment, - ACTIONS(66), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - [387] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(25), 1, - sym_comment, - ACTIONS(68), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - [401] = 6, - ACTIONS(70), 1, - anon_sym_POUND, - ACTIONS(72), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(74), 1, - anon_sym_DQUOTE2, - ACTIONS(76), 1, - sym_escape_sequence, - STATE(26), 1, - sym_comment, - STATE(28), 1, - aux_sym_interpreted_string_literal_repeat1, - [420] = 6, - ACTIONS(70), 1, - anon_sym_POUND, - ACTIONS(72), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(76), 1, - sym_escape_sequence, - ACTIONS(78), 1, - anon_sym_DQUOTE2, - STATE(26), 1, - aux_sym_interpreted_string_literal_repeat1, - STATE(27), 1, - sym_comment, - [439] = 5, - ACTIONS(70), 1, - anon_sym_POUND, - ACTIONS(80), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(83), 1, - anon_sym_DQUOTE2, - ACTIONS(85), 1, - sym_escape_sequence, - STATE(28), 2, - sym_comment, - aux_sym_interpreted_string_literal_repeat1, - [456] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(88), 1, - anon_sym_COMMA, - ACTIONS(90), 1, - anon_sym_RBRACE, - STATE(29), 1, - sym_comment, - STATE(35), 1, - aux_sym_map_expression_repeat1, - [472] = 4, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(92), 1, - anon_sym_COMMA, - ACTIONS(95), 1, - anon_sym_RBRACE, - STATE(30), 2, - sym_comment, - aux_sym_map_expression_repeat1, - [486] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(97), 1, - anon_sym_COMMA, - ACTIONS(99), 1, - anon_sym_RBRACK, - STATE(31), 1, - sym_comment, - STATE(32), 1, - aux_sym_list_expression_repeat1, - [502] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(29), 1, - anon_sym_RBRACK, - ACTIONS(101), 1, - anon_sym_COMMA, - STATE(32), 1, - sym_comment, - STATE(36), 1, - aux_sym_list_expression_repeat1, - [518] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(103), 1, - sym_identifier, - ACTIONS(105), 1, - anon_sym_RBRACE, - STATE(33), 1, - sym_comment, - STATE(42), 1, - sym__colon_property, - [534] = 4, - ACTIONS(70), 1, - anon_sym_POUND, - ACTIONS(107), 1, - aux_sym_interpreted_string_literal_token1, - STATE(34), 1, - sym_comment, - ACTIONS(109), 2, - anon_sym_DQUOTE2, - sym_escape_sequence, - [548] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(111), 1, - anon_sym_COMMA, - ACTIONS(113), 1, - anon_sym_RBRACE, - STATE(30), 1, - aux_sym_map_expression_repeat1, - STATE(35), 1, - sym_comment, - [564] = 4, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(115), 1, - anon_sym_COMMA, - ACTIONS(118), 1, - anon_sym_RBRACK, - STATE(36), 2, - sym_comment, - aux_sym_list_expression_repeat1, - [578] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(103), 1, - sym_identifier, - ACTIONS(120), 1, - anon_sym_RBRACE, - STATE(29), 1, - sym__colon_property, - STATE(37), 1, - sym_comment, - [594] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(103), 1, - sym_identifier, - ACTIONS(122), 1, - anon_sym_RBRACE, - STATE(38), 1, - sym_comment, - STATE(42), 1, - sym__colon_property, - [610] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(39), 1, - sym_comment, - ACTIONS(124), 2, - ts_builtin_sym_end, - sym_identifier, - [621] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(40), 1, - sym_comment, - ACTIONS(126), 2, - ts_builtin_sym_end, - sym_identifier, - [632] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(41), 1, - sym_comment, - ACTIONS(128), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [643] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(42), 1, - sym_comment, - ACTIONS(130), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [654] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(43), 1, - sym_comment, - ACTIONS(132), 2, - ts_builtin_sym_end, - sym_identifier, - [665] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(44), 1, - sym_comment, - ACTIONS(118), 2, - anon_sym_COMMA, anon_sym_RBRACK, [676] = 3, ACTIONS(3), 1, anon_sym_POUND, + STATE(24), 1, + sym_comment, + ACTIONS(71), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + [690] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(25), 1, + sym_comment, + ACTIONS(73), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + [704] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(26), 1, + sym_comment, + ACTIONS(75), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + [718] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(27), 1, + sym_comment, + ACTIONS(77), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + [732] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(79), 1, + ts_builtin_sym_end, + ACTIONS(81), 1, + sym_identifier, + STATE(52), 1, + sym__definition, + STATE(54), 1, + sym_assignment, + STATE(28), 2, + sym_comment, + aux_sym_source_file_repeat1, + [752] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(29), 1, + sym_comment, + ACTIONS(84), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + [766] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(30), 1, + sym_comment, + ACTIONS(86), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + [780] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(31), 1, + sym_comment, + ACTIONS(88), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + [794] = 4, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(32), 1, + sym_comment, + STATE(64), 1, + sym_select_value, + ACTIONS(90), 3, + anon_sym_product_variable, + anon_sym_release_variable, + anon_sym_variant, + [809] = 5, + ACTIONS(92), 1, + anon_sym_POUND, + ACTIONS(94), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(97), 1, + anon_sym_DQUOTE2, + ACTIONS(99), 1, + sym_escape_sequence, + STATE(33), 2, + sym_comment, + aux_sym_interpreted_string_literal_repeat1, + [826] = 6, + ACTIONS(92), 1, + anon_sym_POUND, + ACTIONS(102), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(104), 1, + anon_sym_DQUOTE2, + ACTIONS(106), 1, + sym_escape_sequence, + STATE(33), 1, + aux_sym_interpreted_string_literal_repeat1, + STATE(34), 1, + sym_comment, + [845] = 6, + ACTIONS(92), 1, + anon_sym_POUND, + ACTIONS(102), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(106), 1, + sym_escape_sequence, + ACTIONS(108), 1, + anon_sym_DQUOTE2, + STATE(34), 1, + aux_sym_interpreted_string_literal_repeat1, + STATE(35), 1, + sym_comment, + [864] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(17), 1, + sym_raw_string_literal, + ACTIONS(19), 1, + anon_sym_DQUOTE, + STATE(15), 1, + sym_interpreted_string_literal, + STATE(36), 1, + sym_comment, + STATE(69), 1, + sym__string_literal, + [883] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(37), 1, + sym_comment, + ACTIONS(47), 4, + sym_raw_string_literal, + anon_sym_DQUOTE, + anon_sym_RBRACE, + anon_sym_default, + [896] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(110), 1, + anon_sym_COMMA, + ACTIONS(112), 1, + anon_sym_RBRACK, + STATE(38), 1, + sym_comment, + STATE(42), 1, + aux_sym_list_expression_repeat1, + [912] = 4, + ACTIONS(92), 1, + anon_sym_POUND, + ACTIONS(114), 1, + aux_sym_interpreted_string_literal_token1, + STATE(39), 1, + sym_comment, + ACTIONS(116), 2, + anon_sym_DQUOTE2, + sym_escape_sequence, + [926] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(118), 1, + anon_sym_COMMA, + ACTIONS(120), 1, + anon_sym_RBRACE, + STATE(40), 1, + sym_comment, + STATE(46), 1, + aux_sym_map_expression_repeat1, + [942] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(122), 1, + sym_identifier, + ACTIONS(124), 1, + anon_sym_RBRACE, + STATE(41), 1, + sym_comment, + STATE(45), 1, + sym__colon_property, + [958] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(31), 1, + anon_sym_RBRACK, + ACTIONS(126), 1, + anon_sym_COMMA, + STATE(42), 1, + sym_comment, + STATE(44), 1, + aux_sym_list_expression_repeat1, + [974] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(122), 1, + sym_identifier, + ACTIONS(128), 1, + anon_sym_RBRACE, + STATE(43), 1, + sym_comment, + STATE(49), 1, + sym__colon_property, + [990] = 4, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(130), 1, + anon_sym_COMMA, + ACTIONS(133), 1, + anon_sym_RBRACK, + STATE(44), 2, + sym_comment, + aux_sym_list_expression_repeat1, + [1004] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(135), 1, + anon_sym_COMMA, + ACTIONS(137), 1, + anon_sym_RBRACE, + STATE(40), 1, + aux_sym_map_expression_repeat1, STATE(45), 1, sym_comment, - ACTIONS(134), 2, - anon_sym_EQ, - anon_sym_PLUS_EQ, - [687] = 4, + [1020] = 4, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(103), 1, - sym_identifier, - STATE(42), 1, - sym__colon_property, - STATE(46), 1, + ACTIONS(139), 1, + anon_sym_COMMA, + ACTIONS(142), 1, + anon_sym_RBRACE, + STATE(46), 2, sym_comment, - [700] = 3, + aux_sym_map_expression_repeat1, + [1034] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(136), 1, - ts_builtin_sym_end, + ACTIONS(122), 1, + sym_identifier, + ACTIONS(144), 1, + anon_sym_RBRACE, STATE(47), 1, sym_comment, - [710] = 3, - ACTIONS(70), 1, + STATE(49), 1, + sym__colon_property, + [1050] = 3, + ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(138), 1, - aux_sym_comment_token1, STATE(48), 1, sym_comment, - [720] = 3, + ACTIONS(146), 2, + ts_builtin_sym_end, + sym_identifier, + [1061] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(140), 1, - anon_sym_COLON, STATE(49), 1, sym_comment, - [730] = 3, + ACTIONS(148), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [1072] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(142), 1, - aux_sym_integer_literal_token1, STATE(50), 1, sym_comment, - [740] = 1, - ACTIONS(144), 1, + ACTIONS(150), 2, + anon_sym_EQ, + anon_sym_PLUS_EQ, + [1083] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(51), 1, + sym_comment, + ACTIONS(133), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [1094] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(52), 1, + sym_comment, + ACTIONS(152), 2, + ts_builtin_sym_end, + sym_identifier, + [1105] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(53), 1, + sym_comment, + ACTIONS(154), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [1116] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(54), 1, + sym_comment, + ACTIONS(156), 2, + ts_builtin_sym_end, + sym_identifier, + [1127] = 4, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(122), 1, + sym_identifier, + STATE(49), 1, + sym__colon_property, + STATE(55), 1, + sym_comment, + [1140] = 4, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(158), 1, + anon_sym_LBRACE, + STATE(56), 1, + sym_comment, + STATE(59), 1, + sym_select_cases, + [1153] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(160), 1, + anon_sym_COLON, + STATE(57), 1, + sym_comment, + [1163] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(162), 1, + ts_builtin_sym_end, + STATE(58), 1, + sym_comment, + [1173] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(164), 1, + anon_sym_RPAREN, + STATE(59), 1, + sym_comment, + [1183] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(166), 1, + anon_sym_COLON, + STATE(60), 1, + sym_comment, + [1193] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(168), 1, + anon_sym_COMMA, + STATE(61), 1, + sym_comment, + [1203] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(170), 1, + anon_sym_RPAREN, + STATE(62), 1, + sym_comment, + [1213] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(172), 1, + anon_sym_COLON, + STATE(63), 1, + sym_comment, + [1223] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(174), 1, + anon_sym_COMMA, + STATE(64), 1, + sym_comment, + [1233] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(176), 1, + anon_sym_COMMA, + STATE(65), 1, + sym_comment, + [1243] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(178), 1, + anon_sym_COMMA, + STATE(66), 1, + sym_comment, + [1253] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(180), 1, + anon_sym_LPAREN, + STATE(67), 1, + sym_comment, + [1263] = 3, + ACTIONS(92), 1, + anon_sym_POUND, + ACTIONS(182), 1, + aux_sym_comment_token1, + STATE(68), 1, + sym_comment, + [1273] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(184), 1, + anon_sym_RPAREN, + STATE(69), 1, + sym_comment, + [1283] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(186), 1, + anon_sym_RPAREN, + STATE(70), 1, + sym_comment, + [1293] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(188), 1, + anon_sym_LPAREN, + STATE(71), 1, + sym_comment, + [1303] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(190), 1, + anon_sym_RBRACE, + STATE(72), 1, + sym_comment, + [1313] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(192), 1, + anon_sym_RPAREN, + STATE(73), 1, + sym_comment, + [1323] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(194), 1, + anon_sym_COMMA, + STATE(74), 1, + sym_comment, + [1333] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(196), 1, + aux_sym_integer_literal_token1, + STATE(75), 1, + sym_comment, + [1343] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(198), 1, + anon_sym_COMMA, + STATE(76), 1, + sym_comment, + [1353] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(200), 1, + anon_sym_COMMA, + STATE(77), 1, + sym_comment, + [1363] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(202), 1, + anon_sym_COMMA, + STATE(78), 1, + sym_comment, + [1373] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(204), 1, + anon_sym_RPAREN, + STATE(79), 1, + sym_comment, + [1383] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(206), 1, + anon_sym_RBRACE, + STATE(80), 1, + sym_comment, + [1393] = 1, + ACTIONS(208), 1, ts_builtin_sym_end, }; static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(5)] = 0, - [SMALL_STATE(6)] = 45, - [SMALL_STATE(7)] = 90, - [SMALL_STATE(8)] = 135, - [SMALL_STATE(9)] = 149, - [SMALL_STATE(10)] = 163, - [SMALL_STATE(11)] = 177, - [SMALL_STATE(12)] = 197, - [SMALL_STATE(13)] = 211, - [SMALL_STATE(14)] = 225, - [SMALL_STATE(15)] = 239, - [SMALL_STATE(16)] = 253, - [SMALL_STATE(17)] = 267, - [SMALL_STATE(18)] = 281, - [SMALL_STATE(19)] = 295, - [SMALL_STATE(20)] = 317, - [SMALL_STATE(21)] = 331, - [SMALL_STATE(22)] = 345, - [SMALL_STATE(23)] = 359, - [SMALL_STATE(24)] = 373, - [SMALL_STATE(25)] = 387, - [SMALL_STATE(26)] = 401, - [SMALL_STATE(27)] = 420, - [SMALL_STATE(28)] = 439, - [SMALL_STATE(29)] = 456, - [SMALL_STATE(30)] = 472, - [SMALL_STATE(31)] = 486, - [SMALL_STATE(32)] = 502, - [SMALL_STATE(33)] = 518, - [SMALL_STATE(34)] = 534, - [SMALL_STATE(35)] = 548, - [SMALL_STATE(36)] = 564, - [SMALL_STATE(37)] = 578, - [SMALL_STATE(38)] = 594, - [SMALL_STATE(39)] = 610, - [SMALL_STATE(40)] = 621, - [SMALL_STATE(41)] = 632, - [SMALL_STATE(42)] = 643, - [SMALL_STATE(43)] = 654, - [SMALL_STATE(44)] = 665, - [SMALL_STATE(45)] = 676, - [SMALL_STATE(46)] = 687, - [SMALL_STATE(47)] = 700, - [SMALL_STATE(48)] = 710, - [SMALL_STATE(49)] = 720, - [SMALL_STATE(50)] = 730, - [SMALL_STATE(51)] = 740, + [SMALL_STATE(2)] = 0, + [SMALL_STATE(3)] = 55, + [SMALL_STATE(4)] = 110, + [SMALL_STATE(5)] = 162, + [SMALL_STATE(6)] = 214, + [SMALL_STATE(7)] = 266, + [SMALL_STATE(8)] = 315, + [SMALL_STATE(9)] = 364, + [SMALL_STATE(10)] = 413, + [SMALL_STATE(11)] = 447, + [SMALL_STATE(12)] = 481, + [SMALL_STATE(13)] = 508, + [SMALL_STATE(14)] = 524, + [SMALL_STATE(15)] = 540, + [SMALL_STATE(16)] = 556, + [SMALL_STATE(17)] = 570, + [SMALL_STATE(18)] = 584, + [SMALL_STATE(19)] = 598, + [SMALL_STATE(20)] = 612, + [SMALL_STATE(21)] = 626, + [SMALL_STATE(22)] = 640, + [SMALL_STATE(23)] = 662, + [SMALL_STATE(24)] = 676, + [SMALL_STATE(25)] = 690, + [SMALL_STATE(26)] = 704, + [SMALL_STATE(27)] = 718, + [SMALL_STATE(28)] = 732, + [SMALL_STATE(29)] = 752, + [SMALL_STATE(30)] = 766, + [SMALL_STATE(31)] = 780, + [SMALL_STATE(32)] = 794, + [SMALL_STATE(33)] = 809, + [SMALL_STATE(34)] = 826, + [SMALL_STATE(35)] = 845, + [SMALL_STATE(36)] = 864, + [SMALL_STATE(37)] = 883, + [SMALL_STATE(38)] = 896, + [SMALL_STATE(39)] = 912, + [SMALL_STATE(40)] = 926, + [SMALL_STATE(41)] = 942, + [SMALL_STATE(42)] = 958, + [SMALL_STATE(43)] = 974, + [SMALL_STATE(44)] = 990, + [SMALL_STATE(45)] = 1004, + [SMALL_STATE(46)] = 1020, + [SMALL_STATE(47)] = 1034, + [SMALL_STATE(48)] = 1050, + [SMALL_STATE(49)] = 1061, + [SMALL_STATE(50)] = 1072, + [SMALL_STATE(51)] = 1083, + [SMALL_STATE(52)] = 1094, + [SMALL_STATE(53)] = 1105, + [SMALL_STATE(54)] = 1116, + [SMALL_STATE(55)] = 1127, + [SMALL_STATE(56)] = 1140, + [SMALL_STATE(57)] = 1153, + [SMALL_STATE(58)] = 1163, + [SMALL_STATE(59)] = 1173, + [SMALL_STATE(60)] = 1183, + [SMALL_STATE(61)] = 1193, + [SMALL_STATE(62)] = 1203, + [SMALL_STATE(63)] = 1213, + [SMALL_STATE(64)] = 1223, + [SMALL_STATE(65)] = 1233, + [SMALL_STATE(66)] = 1243, + [SMALL_STATE(67)] = 1253, + [SMALL_STATE(68)] = 1263, + [SMALL_STATE(69)] = 1273, + [SMALL_STATE(70)] = 1283, + [SMALL_STATE(71)] = 1293, + [SMALL_STATE(72)] = 1303, + [SMALL_STATE(73)] = 1313, + [SMALL_STATE(74)] = 1323, + [SMALL_STATE(75)] = 1333, + [SMALL_STATE(76)] = 1343, + [SMALL_STATE(77)] = 1353, + [SMALL_STATE(78)] = 1363, + [SMALL_STATE(79)] = 1373, + [SMALL_STATE(80)] = 1383, + [SMALL_STATE(81)] = 1393, }; 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(48), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4), - [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 2), - [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 5, .production_id = 4), - [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(45), - [42] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), - [44] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1), - [46] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 5), - [48] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 1), - [50] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 1), - [52] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 2), - [54] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 3, .production_id = 2), - [56] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [58] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 2), - [60] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 3), - [62] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 2), - [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 4), - [66] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2), - [68] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 3), - [70] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), - [72] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [74] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [80] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(34), - [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), - [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(34), - [88] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [90] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [92] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 5), SHIFT_REPEAT(46), - [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 5), - [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), - [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), - [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [115] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), SHIFT_REPEAT(5), - [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), - [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 1), - [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__definition, 1), - [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon_property, 3, .production_id = 3), - [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 2), - [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), - [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [136] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), - [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [41] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(15), + [44] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(35), + [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), + [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 2), + [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 3), + [53] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 1), + [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 3), + [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1), + [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 3, .production_id = 2), + [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 1), + [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 2), + [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_expression, 6), + [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 5), + [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 2), + [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 5, .production_id = 4), + [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 4), + [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), + [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(50), + [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 2), + [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4), + [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2), + [90] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [92] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), + [94] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(39), + [97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), + [99] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(39), + [102] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), + [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), + [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [130] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), SHIFT_REPEAT(7), + [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), + [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [139] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 5), SHIFT_REPEAT(55), + [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 5), + [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 1), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 2), + [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), + [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon_property, 3, .production_id = 3), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__definition, 1), + [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [162] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 4, .production_id = 6), + [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 2), + [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 5), + [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 3), + [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__case_value, 1), + [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_case, 3, .production_id = 7), + [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_case, 3, .production_id = 7), + [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 4), + [206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), }; #ifdef __cplusplus diff --git a/test/corpus/select.txt b/test/corpus/select.txt new file mode 100644 index 0000000..a0bb2bb --- /dev/null +++ b/test/corpus/select.txt @@ -0,0 +1,160 @@ +================================================================================ +Select +================================================================================ + +foo = select(release_variable("RELEASE_TEST"), { + "d": "d2", + default: unset, +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (select_expression + (select_value + (selection_type) + (interpreted_string_literal)) + (select_cases + (select_case + (interpreted_string_literal) + (interpreted_string_literal)) + (default_case + (unset)))))) + +================================================================================ +Select (no default) +================================================================================ + +foo = select(variant("arch"), { + "x86": "my_x86", + "x86_64": "my_x86_64", + "arm": "my_arm", + "arm64": "my_arm64", +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (select_expression + (select_value + (selection_type) + (interpreted_string_literal)) + (select_cases + (select_case + (interpreted_string_literal) + (interpreted_string_literal)) + (select_case + (interpreted_string_literal) + (interpreted_string_literal)) + (select_case + (interpreted_string_literal) + (interpreted_string_literal)) + (select_case + (interpreted_string_literal) + (interpreted_string_literal)))))) + +================================================================================ +Select (no values) +================================================================================ + +foo = select(variant("VARIANT"), {}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (select_expression + (select_value + (selection_type) + (interpreted_string_literal)) + (select_cases)))) + +================================================================================ +Select (default in wrong order) +================================================================================ + +foo = select(variant("VARIANT"), { + "x86": "my_x86", + "x86_64": "my_x86_64", + default: unset, + "arm": "my_arm", + "arm64": "my_arm64", +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (select_expression + (select_value + (selection_type) + (interpreted_string_literal)) + (select_cases + (select_case + (interpreted_string_literal) + (interpreted_string_literal)) + (select_case + (interpreted_string_literal) + (interpreted_string_literal)) + (ERROR + (default_case + (unset))) + (select_case + (interpreted_string_literal) + (interpreted_string_literal)) + (select_case + (interpreted_string_literal) + (interpreted_string_literal)))))) + +================================================================================ +Select (no condition) +================================================================================ + +foo = select(variant(), { + "d": unset, + default: "f2", +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (select_expression + (select_value + (selection_type) + (MISSING raw_string_literal)) + (select_cases + (select_case + (interpreted_string_literal) + (unset)) + (default_case + (interpreted_string_literal)))))) + +================================================================================ +Select (invalid type) +================================================================================ + +foo = select(some_unknown_type("CONDITION"), { + "d": "d2", + default: "f2", +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (ERROR + (identifier) + (identifier) + (interpreted_string_literal) + (interpreted_string_literal)) + (interpreted_string_literal)) + (ERROR))