From 3cb30584df0e673eb4527b421750d22f50e87de6 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Sun, 7 Apr 2024 23:25:05 +0100 Subject: [PATCH 01/10] fixup! Add assignment --- grammar.js | 1 + 1 file changed, 1 insertion(+) diff --git a/grammar.js b/grammar.js index d8ea699..486fe93 100644 --- a/grammar.js +++ b/grammar.js @@ -33,6 +33,7 @@ module.exports = grammar({ // Expressions {{{ _expr: ($) => choice( + // Literals $.identifier, $.integer_literal, $._string_literal, From 37ee75c64ddf5d9021b8363f534be2ed8bd5dbf8 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Sun, 7 Apr 2024 23:36:21 +0100 Subject: [PATCH 02/10] Add map expressions --- grammar.js | 17 + src/grammar.json | 87 ++++ src/node-types.json | 66 +++ src/parser.c | 893 +++++++++++++++++++++++++----------- test/corpus/expressions.txt | 117 +++++ 5 files changed, 912 insertions(+), 268 deletions(-) diff --git a/grammar.js b/grammar.js index 486fe93..abedb32 100644 --- a/grammar.js +++ b/grammar.js @@ -39,6 +39,7 @@ module.exports = grammar({ $._string_literal, // Composites $.list_expression, + $.map_expression, ), // The Blueprint scanner makes use of Go's lexer, so copy their rule @@ -85,6 +86,22 @@ module.exports = grammar({ "]", ), + map_expression: ($) => seq( + "{", + optional(commaSeparated($._colon_property)), + "}", + ), + + // }}} + + // Properties {{{ + + _colon_property: ($) => seq( + field("field", $.identifier), + ":", + field("value", $._expr), + ), + // }}} } }); diff --git a/src/grammar.json b/src/grammar.json index 1d143a0..557367f 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -86,6 +86,10 @@ { "type": "SYMBOL", "name": "list_expression" + }, + { + "type": "SYMBOL", + "name": "map_expression" } ] }, @@ -273,6 +277,89 @@ "value": "]" } ] + }, + "map_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_colon_property" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_colon_property" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "_colon_property": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "field", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] } }, "extras": [ diff --git a/src/node-types.json b/src/node-types.json index 6ce1da6..eeaa5cf 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -47,6 +47,10 @@ "type": "list_expression", "named": true }, + { + "type": "map_expression", + "named": true + }, { "type": "raw_string_literal", "named": true @@ -104,6 +108,10 @@ "type": "list_expression", "named": true }, + { + "type": "map_expression", + "named": true + }, { "type": "raw_string_literal", "named": true @@ -111,6 +119,52 @@ ] } }, + { + "type": "map_expression", + "named": true, + "fields": { + "field": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": true, + "required": false, + "types": [ + { + "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": "source_file", "named": true, @@ -146,6 +200,10 @@ "type": "-", "named": false }, + { + "type": ":", + "named": false + }, { "type": "=", "named": false @@ -169,5 +227,13 @@ { "type": "raw_string_literal", "named": true + }, + { + "type": "{", + "named": false + }, + { + "type": "}", + "named": false } ] \ No newline at end of file diff --git a/src/parser.c b/src/parser.c index 2b757c6..f74b10a 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,15 +6,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 35 +#define STATE_COUNT 51 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 28 +#define SYMBOL_COUNT 34 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 16 +#define TOKEN_COUNT 19 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 3 +#define FIELD_COUNT 5 #define MAX_ALIAS_SEQUENCE_LENGTH 5 -#define PRODUCTION_ID_COUNT 2 +#define PRODUCTION_ID_COUNT 6 enum ts_symbol_identifiers { anon_sym_POUND = 1, @@ -32,18 +32,24 @@ enum ts_symbol_identifiers { anon_sym_LBRACK = 13, anon_sym_COMMA = 14, anon_sym_RBRACK = 15, - sym_source_file = 16, - sym__definition = 17, - sym_comment = 18, - sym_assignment = 19, - sym__expr = 20, - sym_integer_literal = 21, - sym__string_literal = 22, - sym_interpreted_string_literal = 23, - sym_list_expression = 24, - aux_sym_source_file_repeat1 = 25, - aux_sym_interpreted_string_literal_repeat1 = 26, - aux_sym_list_expression_repeat1 = 27, + anon_sym_LBRACE = 16, + anon_sym_RBRACE = 17, + anon_sym_COLON = 18, + sym_source_file = 19, + sym__definition = 20, + sym_comment = 21, + sym_assignment = 22, + sym__expr = 23, + sym_integer_literal = 24, + sym__string_literal = 25, + sym_interpreted_string_literal = 26, + sym_list_expression = 27, + sym_map_expression = 28, + sym__colon_property = 29, + aux_sym_source_file_repeat1 = 30, + aux_sym_interpreted_string_literal_repeat1 = 31, + aux_sym_list_expression_repeat1 = 32, + aux_sym_map_expression_repeat1 = 33, }; static const char * const ts_symbol_names[] = { @@ -63,6 +69,9 @@ static const char * const ts_symbol_names[] = { [anon_sym_LBRACK] = "[", [anon_sym_COMMA] = ",", [anon_sym_RBRACK] = "]", + [anon_sym_LBRACE] = "{", + [anon_sym_RBRACE] = "}", + [anon_sym_COLON] = ":", [sym_source_file] = "source_file", [sym__definition] = "_definition", [sym_comment] = "comment", @@ -72,9 +81,12 @@ static const char * const ts_symbol_names[] = { [sym__string_literal] = "_string_literal", [sym_interpreted_string_literal] = "interpreted_string_literal", [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_list_expression_repeat1] = "list_expression_repeat1", + [aux_sym_map_expression_repeat1] = "map_expression_repeat1", }; static const TSSymbol ts_symbol_map[] = { @@ -94,6 +106,9 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_LBRACE] = anon_sym_LBRACE, + [anon_sym_RBRACE] = anon_sym_RBRACE, + [anon_sym_COLON] = anon_sym_COLON, [sym_source_file] = sym_source_file, [sym__definition] = sym__definition, [sym_comment] = sym_comment, @@ -103,9 +118,12 @@ static const TSSymbol ts_symbol_map[] = { [sym__string_literal] = sym__string_literal, [sym_interpreted_string_literal] = sym_interpreted_string_literal, [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_list_expression_repeat1] = aux_sym_list_expression_repeat1, + [aux_sym_map_expression_repeat1] = aux_sym_map_expression_repeat1, }; static const TSSymbolMetadata ts_symbol_metadata[] = { @@ -173,6 +191,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_LBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON] = { + .visible = true, + .named = false, + }, [sym_source_file] = { .visible = true, .named = true, @@ -209,6 +239,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_map_expression] = { + .visible = true, + .named = true, + }, + [sym__colon_property] = { + .visible = false, + .named = true, + }, [aux_sym_source_file_repeat1] = { .visible = false, .named = false, @@ -221,23 +259,35 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_map_expression_repeat1] = { + .visible = false, + .named = false, + }, }; enum ts_field_identifiers { - field_left = 1, - field_operator = 2, - field_right = 3, + field_field = 1, + field_left = 2, + field_operator = 3, + field_right = 4, + field_value = 5, }; static const char * const ts_field_names[] = { [0] = NULL, + [field_field] = "field", [field_left] = "left", [field_operator] = "operator", [field_right] = "right", + [field_value] = "value", }; static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [1] = {.index = 0, .length = 3}, + [2] = {.index = 3, .length = 2}, + [3] = {.index = 5, .length = 2}, + [4] = {.index = 7, .length = 4}, + [5] = {.index = 11, .length = 4}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -245,6 +295,22 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_left, 0}, {field_operator, 1}, {field_right, 2}, + [3] = + {field_field, 1, .inherited = true}, + {field_value, 1, .inherited = true}, + [5] = + {field_field, 0}, + {field_value, 2}, + [7] = + {field_field, 1, .inherited = true}, + {field_field, 2, .inherited = true}, + {field_value, 1, .inherited = true}, + {field_value, 2, .inherited = true}, + [11] = + {field_field, 0, .inherited = true}, + {field_field, 1, .inherited = true}, + {field_value, 0, .inherited = true}, + {field_value, 1, .inherited = true}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { @@ -291,6 +357,22 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [32] = 32, [33] = 33, [34] = 34, + [35] = 35, + [36] = 36, + [37] = 37, + [38] = 38, + [39] = 39, + [40] = 40, + [41] = 41, + [42] = 42, + [43] = 43, + [44] = 44, + [45] = 45, + [46] = 46, + [47] = 47, + [48] = 48, + [49] = 49, + [50] = 50, }; static inline bool sym_identifier_character_set_1(int32_t c) { @@ -2124,11 +2206,14 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '+') ADVANCE(4); if (lookahead == ',') ADVANCE(37); if (lookahead == '-') ADVANCE(26); + if (lookahead == ':') ADVANCE(41); if (lookahead == '=') ADVANCE(23); if (lookahead == '[') ADVANCE(36); if (lookahead == '\\') ADVANCE(5); if (lookahead == ']') ADVANCE(38); if (lookahead == '`') ADVANCE(15); + if (lookahead == '{') ADVANCE(39); + if (lookahead == '}') ADVANCE(40); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(16) if (('0' <= lookahead && lookahead <= '9')) ADVANCE(27); @@ -2159,6 +2244,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '[') ADVANCE(36); if (lookahead == ']') ADVANCE(38); if (lookahead == '`') ADVANCE(15); + if (lookahead == '{') ADVANCE(39); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(3) if (('0' <= lookahead && lookahead <= '9')) ADVANCE(27); @@ -2229,10 +2315,13 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '+') ADVANCE(4); if (lookahead == ',') ADVANCE(37); if (lookahead == '-') ADVANCE(26); + if (lookahead == ':') ADVANCE(41); if (lookahead == '=') ADVANCE(23); if (lookahead == '[') ADVANCE(36); if (lookahead == ']') ADVANCE(38); if (lookahead == '`') ADVANCE(15); + if (lookahead == '{') ADVANCE(39); + if (lookahead == '}') ADVANCE(40); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(16) if (('0' <= lookahead && lookahead <= '9')) ADVANCE(27); @@ -2334,6 +2423,15 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 38: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); + case 39: + ACCEPT_TOKEN(anon_sym_LBRACE); + END_STATE(); + case 40: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 41: + ACCEPT_TOKEN(anon_sym_COLON); + END_STATE(); default: return false; } @@ -2347,7 +2445,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [4] = {.lex_state = 3}, [5] = {.lex_state = 3}, [6] = {.lex_state = 3}, - [7] = {.lex_state = 0}, + [7] = {.lex_state = 3}, [8] = {.lex_state = 0}, [9] = {.lex_state = 0}, [10] = {.lex_state = 0}, @@ -2356,25 +2454,41 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [13] = {.lex_state = 0}, [14] = {.lex_state = 0}, [15] = {.lex_state = 0}, - [16] = {.lex_state = 1}, + [16] = {.lex_state = 0}, [17] = {.lex_state = 0}, [18] = {.lex_state = 0}, - [19] = {.lex_state = 1}, + [19] = {.lex_state = 0}, [20] = {.lex_state = 0}, - [21] = {.lex_state = 1}, + [21] = {.lex_state = 0}, [22] = {.lex_state = 0}, - [23] = {.lex_state = 1}, + [23] = {.lex_state = 0}, [24] = {.lex_state = 0}, - [25] = {.lex_state = 0}, - [26] = {.lex_state = 0}, - [27] = {.lex_state = 0}, + [25] = {.lex_state = 1}, + [26] = {.lex_state = 1}, + [27] = {.lex_state = 1}, [28] = {.lex_state = 0}, [29] = {.lex_state = 0}, [30] = {.lex_state = 0}, - [31] = {.lex_state = 21}, + [31] = {.lex_state = 0}, [32] = {.lex_state = 0}, [33] = {.lex_state = 0}, - [34] = {(TSStateId)(-1)}, + [34] = {.lex_state = 0}, + [35] = {.lex_state = 0}, + [36] = {.lex_state = 1}, + [37] = {.lex_state = 0}, + [38] = {.lex_state = 0}, + [39] = {.lex_state = 0}, + [40] = {.lex_state = 0}, + [41] = {.lex_state = 0}, + [42] = {.lex_state = 0}, + [43] = {.lex_state = 0}, + [44] = {.lex_state = 0}, + [45] = {.lex_state = 0}, + [46] = {.lex_state = 0}, + [47] = {.lex_state = 21}, + [48] = {.lex_state = 0}, + [49] = {.lex_state = 0}, + [50] = {(TSStateId)(-1)}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2394,13 +2508,16 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_LBRACE] = ACTIONS(1), + [anon_sym_RBRACE] = ACTIONS(1), + [anon_sym_COLON] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(33), - [sym__definition] = STATE(27), + [sym_source_file] = STATE(46), + [sym__definition] = STATE(38), [sym_comment] = STATE(1), - [sym_assignment] = STATE(26), - [aux_sym_source_file_repeat1] = STATE(8), + [sym_assignment] = STATE(43), + [aux_sym_source_file_repeat1] = STATE(24), [ts_builtin_sym_end] = ACTIONS(5), [anon_sym_POUND] = ACTIONS(3), [sym_identifier] = ACTIONS(7), @@ -2408,7 +2525,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }; static const uint16_t ts_small_parse_table[] = { - [0] = 12, + [0] = 13, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(9), 1, @@ -2425,17 +2542,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(21), 1, anon_sym_RBRACK, + ACTIONS(23), 1, + anon_sym_LBRACE, STATE(2), 1, sym_comment, STATE(15), 1, sym_interpreted_string_literal, - STATE(29), 1, + STATE(33), 1, sym__expr, - STATE(12), 3, + STATE(12), 4, sym_integer_literal, sym__string_literal, sym_list_expression, - [39] = 12, + sym_map_expression, + [43] = 13, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(9), 1, @@ -2451,18 +2571,21 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(19), 1, anon_sym_LBRACK, ACTIONS(23), 1, + anon_sym_LBRACE, + ACTIONS(25), 1, anon_sym_RBRACK, STATE(3), 1, sym_comment, STATE(15), 1, sym_interpreted_string_literal, - STATE(29), 1, + STATE(39), 1, sym__expr, - STATE(12), 3, + STATE(12), 4, sym_integer_literal, sym__string_literal, sym_list_expression, - [78] = 12, + sym_map_expression, + [86] = 13, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(9), 1, @@ -2477,19 +2600,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(19), 1, anon_sym_LBRACK, - ACTIONS(25), 1, + ACTIONS(23), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, anon_sym_RBRACK, STATE(4), 1, sym_comment, STATE(15), 1, sym_interpreted_string_literal, - STATE(22), 1, + STATE(39), 1, sym__expr, - STATE(12), 3, + STATE(12), 4, sym_integer_literal, sym__string_literal, sym_list_expression, - [117] = 11, + sym_map_expression, + [129] = 12, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(9), 1, @@ -2504,17 +2630,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(19), 1, anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_LBRACE, STATE(5), 1, sym_comment, STATE(15), 1, sym_interpreted_string_literal, - STATE(28), 1, + STATE(39), 1, sym__expr, - STATE(12), 3, + STATE(12), 4, sym_integer_literal, sym__string_literal, sym_list_expression, - [153] = 11, + sym_map_expression, + [169] = 12, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(9), 1, @@ -2529,378 +2658,606 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(19), 1, anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_LBRACE, STATE(6), 1, sym_comment, STATE(15), 1, sym_interpreted_string_literal, - STATE(29), 1, + STATE(40), 1, sym__expr, - STATE(12), 3, + STATE(12), 4, sym_integer_literal, sym__string_literal, sym_list_expression, - [189] = 6, + sym_map_expression, + [209] = 12, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(27), 1, - ts_builtin_sym_end, - ACTIONS(29), 1, + ACTIONS(9), 1, sym_identifier, - STATE(26), 1, - sym_assignment, - STATE(27), 1, - sym__definition, - STATE(7), 2, - sym_comment, - aux_sym_source_file_repeat1, - [209] = 7, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(7), 1, - sym_identifier, - ACTIONS(32), 1, - ts_builtin_sym_end, + ACTIONS(11), 1, + anon_sym_DASH, + ACTIONS(13), 1, + aux_sym_integer_literal_token1, + ACTIONS(15), 1, + sym_raw_string_literal, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_LBRACE, STATE(7), 1, - aux_sym_source_file_repeat1, + sym_comment, + STATE(15), 1, + sym_interpreted_string_literal, + STATE(41), 1, + sym__expr, + STATE(12), 4, + sym_integer_literal, + sym__string_literal, + sym_list_expression, + sym_map_expression, + [249] = 3, + ACTIONS(3), 1, + anon_sym_POUND, STATE(8), 1, sym_comment, - STATE(26), 1, - sym_assignment, - STATE(27), 1, - sym__definition, - [231] = 3, + ACTIONS(29), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + [263] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(9), 1, sym_comment, - ACTIONS(34), 4, + ACTIONS(31), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, anon_sym_RBRACK, - [244] = 3, + anon_sym_RBRACE, + [277] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(10), 1, sym_comment, - ACTIONS(36), 4, + ACTIONS(33), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, anon_sym_RBRACK, - [257] = 3, + anon_sym_RBRACE, + [291] = 6, ACTIONS(3), 1, anon_sym_POUND, - STATE(11), 1, - sym_comment, - ACTIONS(38), 4, + ACTIONS(35), 1, ts_builtin_sym_end, + ACTIONS(37), 1, sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACK, - [270] = 3, + STATE(38), 1, + sym__definition, + STATE(43), 1, + sym_assignment, + STATE(11), 2, + sym_comment, + aux_sym_source_file_repeat1, + [311] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(12), 1, sym_comment, - ACTIONS(40), 4, + ACTIONS(40), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, anon_sym_RBRACK, - [283] = 3, + anon_sym_RBRACE, + [325] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(13), 1, sym_comment, - ACTIONS(42), 4, + ACTIONS(42), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, anon_sym_RBRACK, - [296] = 3, + anon_sym_RBRACE, + [339] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(14), 1, sym_comment, - ACTIONS(44), 4, + ACTIONS(44), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, anon_sym_RBRACK, - [309] = 3, + anon_sym_RBRACE, + [353] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(15), 1, sym_comment, - ACTIONS(46), 4, + ACTIONS(46), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, anon_sym_RBRACK, - [322] = 6, - ACTIONS(48), 1, + anon_sym_RBRACE, + [367] = 3, + ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(50), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(52), 1, - anon_sym_DQUOTE2, - ACTIONS(54), 1, - sym_escape_sequence, STATE(16), 1, sym_comment, - STATE(21), 1, - aux_sym_interpreted_string_literal_repeat1, - [341] = 3, + ACTIONS(48), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + [381] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(17), 1, sym_comment, - ACTIONS(56), 4, + ACTIONS(50), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, anon_sym_RBRACK, - [354] = 3, + anon_sym_RBRACE, + [395] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(18), 1, sym_comment, - ACTIONS(58), 4, + ACTIONS(52), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, anon_sym_RBRACK, - [367] = 5, - ACTIONS(48), 1, + anon_sym_RBRACE, + [409] = 3, + ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(60), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(63), 1, - anon_sym_DQUOTE2, - ACTIONS(65), 1, - sym_escape_sequence, - STATE(19), 2, + STATE(19), 1, sym_comment, - aux_sym_interpreted_string_literal_repeat1, - [384] = 3, + ACTIONS(54), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + [423] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(20), 1, sym_comment, - ACTIONS(68), 4, + ACTIONS(56), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, anon_sym_RBRACK, - [397] = 6, - ACTIONS(48), 1, - anon_sym_POUND, - ACTIONS(50), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(54), 1, - sym_escape_sequence, - ACTIONS(70), 1, - anon_sym_DQUOTE2, - STATE(19), 1, - aux_sym_interpreted_string_literal_repeat1, - STATE(21), 1, - sym_comment, - [416] = 5, + anon_sym_RBRACE, + [437] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(72), 1, + STATE(21), 1, + sym_comment, + ACTIONS(58), 5, + ts_builtin_sym_end, + sym_identifier, anon_sym_COMMA, - ACTIONS(74), 1, anon_sym_RBRACK, + anon_sym_RBRACE, + [451] = 3, + ACTIONS(3), 1, + anon_sym_POUND, STATE(22), 1, sym_comment, + ACTIONS(60), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + [465] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(23), 1, + sym_comment, + ACTIONS(62), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + [479] = 7, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(64), 1, + ts_builtin_sym_end, + STATE(11), 1, + aux_sym_source_file_repeat1, STATE(24), 1, - aux_sym_list_expression_repeat1, - [432] = 4, - ACTIONS(48), 1, + sym_comment, + STATE(38), 1, + sym__definition, + STATE(43), 1, + sym_assignment, + [501] = 5, + ACTIONS(66), 1, + anon_sym_POUND, + ACTIONS(68), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(71), 1, + anon_sym_DQUOTE2, + ACTIONS(73), 1, + sym_escape_sequence, + STATE(25), 2, + sym_comment, + aux_sym_interpreted_string_literal_repeat1, + [518] = 6, + ACTIONS(66), 1, anon_sym_POUND, ACTIONS(76), 1, aux_sym_interpreted_string_literal_token1, - STATE(23), 1, - sym_comment, - ACTIONS(78), 2, + ACTIONS(78), 1, anon_sym_DQUOTE2, - sym_escape_sequence, - [446] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(23), 1, - anon_sym_RBRACK, ACTIONS(80), 1, - anon_sym_COMMA, - STATE(24), 1, - sym_comment, + sym_escape_sequence, STATE(25), 1, - aux_sym_list_expression_repeat1, - [462] = 4, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(82), 1, - anon_sym_COMMA, - ACTIONS(85), 1, - anon_sym_RBRACK, - STATE(25), 2, - sym_comment, - aux_sym_list_expression_repeat1, - [476] = 3, - ACTIONS(3), 1, - anon_sym_POUND, + aux_sym_interpreted_string_literal_repeat1, STATE(26), 1, sym_comment, - ACTIONS(87), 2, - ts_builtin_sym_end, - sym_identifier, - [487] = 3, - ACTIONS(3), 1, + [537] = 6, + ACTIONS(66), 1, anon_sym_POUND, + ACTIONS(76), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(80), 1, + sym_escape_sequence, + ACTIONS(82), 1, + anon_sym_DQUOTE2, + STATE(26), 1, + aux_sym_interpreted_string_literal_repeat1, STATE(27), 1, sym_comment, - ACTIONS(89), 2, - ts_builtin_sym_end, - sym_identifier, - [498] = 3, + [556] = 5, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(84), 1, + sym_identifier, + ACTIONS(86), 1, + anon_sym_RBRACE, STATE(28), 1, sym_comment, - ACTIONS(91), 2, - ts_builtin_sym_end, - sym_identifier, - [509] = 3, + STATE(42), 1, + sym__colon_property, + [572] = 5, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(88), 1, + anon_sym_COMMA, + ACTIONS(90), 1, + anon_sym_RBRACE, STATE(29), 1, sym_comment, - ACTIONS(85), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [520] = 3, + STATE(30), 1, + aux_sym_map_expression_repeat1, + [588] = 4, ACTIONS(3), 1, anon_sym_POUND, - STATE(30), 1, - sym_comment, - ACTIONS(93), 2, - anon_sym_EQ, - anon_sym_PLUS_EQ, - [531] = 3, - ACTIONS(48), 1, - anon_sym_POUND, + ACTIONS(92), 1, + anon_sym_COMMA, ACTIONS(95), 1, - aux_sym_comment_token1, + anon_sym_RBRACE, + STATE(30), 2, + sym_comment, + aux_sym_map_expression_repeat1, + [602] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(84), 1, + sym_identifier, + ACTIONS(97), 1, + anon_sym_RBRACE, STATE(31), 1, sym_comment, - [541] = 3, + STATE(37), 1, + sym__colon_property, + [618] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(97), 1, - aux_sym_integer_literal_token1, + ACTIONS(27), 1, + anon_sym_RBRACK, + ACTIONS(99), 1, + anon_sym_COMMA, STATE(32), 1, sym_comment, - [551] = 3, + STATE(35), 1, + aux_sym_list_expression_repeat1, + [634] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(99), 1, - ts_builtin_sym_end, + ACTIONS(101), 1, + anon_sym_COMMA, + ACTIONS(103), 1, + anon_sym_RBRACK, + STATE(32), 1, + aux_sym_list_expression_repeat1, STATE(33), 1, sym_comment, - [561] = 1, - ACTIONS(101), 1, + [650] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(84), 1, + sym_identifier, + ACTIONS(105), 1, + anon_sym_RBRACE, + STATE(34), 1, + sym_comment, + STATE(42), 1, + sym__colon_property, + [666] = 4, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(107), 1, + anon_sym_COMMA, + ACTIONS(110), 1, + anon_sym_RBRACK, + STATE(35), 2, + sym_comment, + aux_sym_list_expression_repeat1, + [680] = 4, + ACTIONS(66), 1, + anon_sym_POUND, + ACTIONS(112), 1, + aux_sym_interpreted_string_literal_token1, + STATE(36), 1, + sym_comment, + ACTIONS(114), 2, + anon_sym_DQUOTE2, + sym_escape_sequence, + [694] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(116), 1, + anon_sym_COMMA, + ACTIONS(118), 1, + anon_sym_RBRACE, + STATE(29), 1, + aux_sym_map_expression_repeat1, + STATE(37), 1, + sym_comment, + [710] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(38), 1, + sym_comment, + ACTIONS(120), 2, + ts_builtin_sym_end, + sym_identifier, + [721] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(39), 1, + sym_comment, + ACTIONS(110), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [732] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(40), 1, + sym_comment, + ACTIONS(122), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [743] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(41), 1, + sym_comment, + ACTIONS(124), 2, + ts_builtin_sym_end, + sym_identifier, + [754] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(42), 1, + sym_comment, + ACTIONS(126), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [765] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(43), 1, + sym_comment, + ACTIONS(128), 2, + ts_builtin_sym_end, + sym_identifier, + [776] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(44), 1, + sym_comment, + ACTIONS(130), 2, + anon_sym_EQ, + anon_sym_PLUS_EQ, + [787] = 4, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(84), 1, + sym_identifier, + STATE(42), 1, + sym__colon_property, + STATE(45), 1, + sym_comment, + [800] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(132), 1, + ts_builtin_sym_end, + STATE(46), 1, + sym_comment, + [810] = 3, + ACTIONS(66), 1, + anon_sym_POUND, + ACTIONS(134), 1, + aux_sym_comment_token1, + STATE(47), 1, + sym_comment, + [820] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(136), 1, + anon_sym_COLON, + STATE(48), 1, + sym_comment, + [830] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(138), 1, + aux_sym_integer_literal_token1, + STATE(49), 1, + sym_comment, + [840] = 1, + ACTIONS(140), 1, ts_builtin_sym_end, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 39, - [SMALL_STATE(4)] = 78, - [SMALL_STATE(5)] = 117, - [SMALL_STATE(6)] = 153, - [SMALL_STATE(7)] = 189, - [SMALL_STATE(8)] = 209, - [SMALL_STATE(9)] = 231, - [SMALL_STATE(10)] = 244, - [SMALL_STATE(11)] = 257, - [SMALL_STATE(12)] = 270, - [SMALL_STATE(13)] = 283, - [SMALL_STATE(14)] = 296, - [SMALL_STATE(15)] = 309, - [SMALL_STATE(16)] = 322, - [SMALL_STATE(17)] = 341, - [SMALL_STATE(18)] = 354, - [SMALL_STATE(19)] = 367, - [SMALL_STATE(20)] = 384, - [SMALL_STATE(21)] = 397, - [SMALL_STATE(22)] = 416, - [SMALL_STATE(23)] = 432, - [SMALL_STATE(24)] = 446, - [SMALL_STATE(25)] = 462, - [SMALL_STATE(26)] = 476, - [SMALL_STATE(27)] = 487, - [SMALL_STATE(28)] = 498, - [SMALL_STATE(29)] = 509, - [SMALL_STATE(30)] = 520, - [SMALL_STATE(31)] = 531, - [SMALL_STATE(32)] = 541, - [SMALL_STATE(33)] = 551, - [SMALL_STATE(34)] = 561, + [SMALL_STATE(3)] = 43, + [SMALL_STATE(4)] = 86, + [SMALL_STATE(5)] = 129, + [SMALL_STATE(6)] = 169, + [SMALL_STATE(7)] = 209, + [SMALL_STATE(8)] = 249, + [SMALL_STATE(9)] = 263, + [SMALL_STATE(10)] = 277, + [SMALL_STATE(11)] = 291, + [SMALL_STATE(12)] = 311, + [SMALL_STATE(13)] = 325, + [SMALL_STATE(14)] = 339, + [SMALL_STATE(15)] = 353, + [SMALL_STATE(16)] = 367, + [SMALL_STATE(17)] = 381, + [SMALL_STATE(18)] = 395, + [SMALL_STATE(19)] = 409, + [SMALL_STATE(20)] = 423, + [SMALL_STATE(21)] = 437, + [SMALL_STATE(22)] = 451, + [SMALL_STATE(23)] = 465, + [SMALL_STATE(24)] = 479, + [SMALL_STATE(25)] = 501, + [SMALL_STATE(26)] = 518, + [SMALL_STATE(27)] = 537, + [SMALL_STATE(28)] = 556, + [SMALL_STATE(29)] = 572, + [SMALL_STATE(30)] = 588, + [SMALL_STATE(31)] = 602, + [SMALL_STATE(32)] = 618, + [SMALL_STATE(33)] = 634, + [SMALL_STATE(34)] = 650, + [SMALL_STATE(35)] = 666, + [SMALL_STATE(36)] = 680, + [SMALL_STATE(37)] = 694, + [SMALL_STATE(38)] = 710, + [SMALL_STATE(39)] = 721, + [SMALL_STATE(40)] = 732, + [SMALL_STATE(41)] = 743, + [SMALL_STATE(42)] = 754, + [SMALL_STATE(43)] = 765, + [SMALL_STATE(44)] = 776, + [SMALL_STATE(45)] = 787, + [SMALL_STATE(46)] = 800, + [SMALL_STATE(47)] = 810, + [SMALL_STATE(48)] = 820, + [SMALL_STATE(49)] = 830, + [SMALL_STATE(50)] = 840, }; 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(31), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [27] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [29] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(30), - [32] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [34] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 3), - [36] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2), - [38] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 5), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [29] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4), + [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 3), + [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 5, .production_id = 4), + [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [37] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(44), [40] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), - [42] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4), + [42] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 5), [44] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 1), [46] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 1), - [48] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [50] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), - [52] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [54] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [48] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 4), + [50] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 2), + [52] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 3, .production_id = 2), + [54] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 2), [56] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 3), - [58] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 2), - [60] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(23), - [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), - [65] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(23), - [68] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 2), - [70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [72] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [74] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [76] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), - [78] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), - [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [82] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), SHIFT_REPEAT(6), - [85] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), - [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__definition, 1), - [89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), - [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 1), - [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [99] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), + [58] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 2), + [60] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 2), + [62] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2), + [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [66] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), + [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(36), + [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), + [73] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(36), + [76] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), + [78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [88] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [90] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [92] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 5), SHIFT_REPEAT(45), + [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 5), + [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [107] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), SHIFT_REPEAT(5), + [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), + [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), + [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), + [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon_property, 3, .production_id = 3), + [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 1), + [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 2), + [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__definition, 1), + [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [132] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), + [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), }; #ifdef __cplusplus diff --git a/test/corpus/expressions.txt b/test/corpus/expressions.txt index a3270a7..f45bb0d 100644 --- a/test/corpus/expressions.txt +++ b/test/corpus/expressions.txt @@ -186,3 +186,120 @@ foo = [ (identifier) (list_expression (ERROR)))) + +================================================================================ +Map (empty) +================================================================================ + +foo = {} + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (map_expression))) + +================================================================================ +Map (singleton) +================================================================================ + +foo = {foo:42} + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (map_expression + (identifier) + (integer_literal)))) + +================================================================================ +Map (singleton multiline) +================================================================================ + +foo = { + foo: 42 +} + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (map_expression + (identifier) + (integer_literal)))) + +================================================================================ +Map (singleton trailing comma) +================================================================================ + +foo = { + foo: 42, +} + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (map_expression + (identifier) + (integer_literal)))) + +================================================================================ +Map (mixed values) +================================================================================ + +foo = { + answer: 42, + value: "foobar", +} + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (map_expression + (identifier) + (integer_literal) + (identifier) + (interpreted_string_literal)))) + +================================================================================ +Map (map of map) +================================================================================ + +foo = { + the: {answer: 42}, +} + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (map_expression + (identifier) + (map_expression + (identifier) + (integer_literal))))) + +================================================================================ +Map (rogue comma) +================================================================================ + +foo = { + , +} + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (map_expression + (ERROR)))) From 03fa5fdf85456830a9e82ebfea69992c5d98d7f7 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Sun, 7 Apr 2024 23:39:47 +0100 Subject: [PATCH 03/10] Add boolean literals --- grammar.js | 3 + src/grammar.json | 17 + src/node-types.json | 25 + src/parser.c | 3102 ++++++++++++++++++++++++++++------- test/corpus/expressions.txt | 34 + 5 files changed, 2581 insertions(+), 600 deletions(-) diff --git a/grammar.js b/grammar.js index abedb32..887d127 100644 --- a/grammar.js +++ b/grammar.js @@ -35,6 +35,7 @@ module.exports = grammar({ _expr: ($) => choice( // Literals $.identifier, + $.boolean_literal, $.integer_literal, $._string_literal, // Composites @@ -45,6 +46,8 @@ module.exports = grammar({ // The Blueprint scanner makes use of Go's lexer, so copy their rule identifier: (_) => /[_\p{XID_Start}][_\p{XID_Continue}]*/, + boolean_literal: (_) => choice("true", "false"), + integer_literal: (_) => seq(optional("-"), /[0-9]+/), // The Blueprint scanner makes use of Go's lexer, so copy their rule diff --git a/src/grammar.json b/src/grammar.json index 557367f..5310691 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -75,6 +75,10 @@ "type": "SYMBOL", "name": "identifier" }, + { + "type": "SYMBOL", + "name": "boolean_literal" + }, { "type": "SYMBOL", "name": "integer_literal" @@ -97,6 +101,19 @@ "type": "PATTERN", "value": "[_\\p{XID_Start}][_\\p{XID_Continue}]*" }, + "boolean_literal": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "true" + }, + { + "type": "STRING", + "value": "false" + } + ] + }, "integer_literal": { "type": "SEQ", "members": [ diff --git a/src/node-types.json b/src/node-types.json index eeaa5cf..5ed93aa 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -31,6 +31,10 @@ "multiple": false, "required": true, "types": [ + { + "type": "boolean_literal", + "named": true + }, { "type": "identifier", "named": true @@ -59,6 +63,11 @@ } } }, + { + "type": "boolean_literal", + "named": true, + "fields": {} + }, { "type": "comment", "named": true, @@ -92,6 +101,10 @@ "multiple": true, "required": false, "types": [ + { + "type": "boolean_literal", + "named": true + }, { "type": "identifier", "named": true @@ -137,6 +150,10 @@ "multiple": true, "required": false, "types": [ + { + "type": "boolean_literal", + "named": true + }, { "type": "identifier", "named": true @@ -220,6 +237,10 @@ "type": "escape_sequence", "named": true }, + { + "type": "false", + "named": false + }, { "type": "identifier", "named": true @@ -228,6 +249,10 @@ "type": "raw_string_literal", "named": true }, + { + "type": "true", + "named": false + }, { "type": "{", "named": false diff --git a/src/parser.c b/src/parser.c index f74b10a..a8b41ce 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,11 +6,11 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 51 -#define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 34 +#define STATE_COUNT 52 +#define LARGE_STATE_COUNT 5 +#define SYMBOL_COUNT 37 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 19 +#define TOKEN_COUNT 21 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 5 #define MAX_ALIAS_SEQUENCE_LENGTH 5 @@ -22,34 +22,37 @@ enum ts_symbol_identifiers { anon_sym_EQ = 3, anon_sym_PLUS_EQ = 4, sym_identifier = 5, - anon_sym_DASH = 6, - aux_sym_integer_literal_token1 = 7, - sym_raw_string_literal = 8, - anon_sym_DQUOTE = 9, - aux_sym_interpreted_string_literal_token1 = 10, - anon_sym_DQUOTE2 = 11, - sym_escape_sequence = 12, - anon_sym_LBRACK = 13, - anon_sym_COMMA = 14, - anon_sym_RBRACK = 15, - anon_sym_LBRACE = 16, - anon_sym_RBRACE = 17, - anon_sym_COLON = 18, - sym_source_file = 19, - sym__definition = 20, - sym_comment = 21, - sym_assignment = 22, - sym__expr = 23, - sym_integer_literal = 24, - sym__string_literal = 25, - sym_interpreted_string_literal = 26, - sym_list_expression = 27, - sym_map_expression = 28, - sym__colon_property = 29, - aux_sym_source_file_repeat1 = 30, - aux_sym_interpreted_string_literal_repeat1 = 31, - aux_sym_list_expression_repeat1 = 32, - aux_sym_map_expression_repeat1 = 33, + anon_sym_true = 6, + anon_sym_false = 7, + anon_sym_DASH = 8, + aux_sym_integer_literal_token1 = 9, + sym_raw_string_literal = 10, + anon_sym_DQUOTE = 11, + 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, }; static const char * const ts_symbol_names[] = { @@ -59,6 +62,8 @@ static const char * const ts_symbol_names[] = { [anon_sym_EQ] = "=", [anon_sym_PLUS_EQ] = "+=", [sym_identifier] = "identifier", + [anon_sym_true] = "true", + [anon_sym_false] = "false", [anon_sym_DASH] = "-", [aux_sym_integer_literal_token1] = "integer_literal_token1", [sym_raw_string_literal] = "raw_string_literal", @@ -77,6 +82,7 @@ static const char * const ts_symbol_names[] = { [sym_comment] = "comment", [sym_assignment] = "assignment", [sym__expr] = "_expr", + [sym_boolean_literal] = "boolean_literal", [sym_integer_literal] = "integer_literal", [sym__string_literal] = "_string_literal", [sym_interpreted_string_literal] = "interpreted_string_literal", @@ -96,6 +102,8 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_EQ] = anon_sym_EQ, [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ, [sym_identifier] = sym_identifier, + [anon_sym_true] = anon_sym_true, + [anon_sym_false] = anon_sym_false, [anon_sym_DASH] = anon_sym_DASH, [aux_sym_integer_literal_token1] = aux_sym_integer_literal_token1, [sym_raw_string_literal] = sym_raw_string_literal, @@ -114,6 +122,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_comment] = sym_comment, [sym_assignment] = sym_assignment, [sym__expr] = sym__expr, + [sym_boolean_literal] = sym_boolean_literal, [sym_integer_literal] = sym_integer_literal, [sym__string_literal] = sym__string_literal, [sym_interpreted_string_literal] = sym_interpreted_string_literal, @@ -151,6 +160,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [anon_sym_true] = { + .visible = true, + .named = false, + }, + [anon_sym_false] = { + .visible = true, + .named = false, + }, [anon_sym_DASH] = { .visible = true, .named = false, @@ -223,6 +240,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, + [sym_boolean_literal] = { + .visible = true, + .named = true, + }, [sym_integer_literal] = { .visible = true, .named = true, @@ -373,6 +394,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [48] = 48, [49] = 49, [50] = 50, + [51] = 51, }; static inline bool sym_identifier_character_set_1(int32_t c) { @@ -1178,6 +1200,1828 @@ 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 + ? (c < 736 + ? (c < 186 + ? (c < 'a' + ? (c < '_' + ? (c >= 'A' && c <= 'Z') + : c <= '_') + : (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 < 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 >= 931 && c <= 1013) + : c <= 1153) + : (c <= 1327 || (c < 1369 + ? (c >= 1329 && c <= 1366) + : c <= 1369))) + : (c <= 1416 || (c < 1568 + ? (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 < 2144 + ? (c >= 2112 && c <= 2136) + : 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 >= 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 < 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 < 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 >= 3114 && c <= 3129) + : c <= 3133) + : (c <= 3162 || c == 3165)) + : (c <= 3169 || (c < 3214 + ? (c < 3205 + ? c == 3200 + : 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 >= 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 == 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 <= 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 >= 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 >= 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 <= 6509))) + : (c <= 6516 || (c < 6656 + ? (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 >= 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 == 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 >= 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 < 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 <= 12447 || (c < 12540 + ? (c >= 12449 && c <= 12538) + : c <= 12543))) + : (c <= 12591 || (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 < 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 < 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 < 55216 + ? (c < 44032 + ? (c >= 43888 && c <= 44002) + : 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 >= 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 >= 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 >= 66504 && c <= 66511) + : c <= 66517) + : (c <= 66717 || (c >= 66736 && c <= 66771))) + : (c <= 66811 || (c < 66928 + ? (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 < 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 < 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 < 69296 + ? (c >= 69248 && c <= 69289) + : c <= 69297) + : (c <= 69404 || (c < 69424 + ? c == 69415 + : c <= 69445))) + : (c <= 69505 || (c < 69635 + ? (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 < 70480 + ? c == 70461 + : 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 < 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 >= 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 < 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 <= 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 >= 119977 && c <= 119980) + : c <= 119993))) + : (c <= 119995 || (c < 120071 + ? (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 < 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 == 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 < 126580 + ? (c < 126567 + ? (c < 126564 + ? (c >= 126561 && c <= 126562) + : c <= 126564) + : (c <= 126570 || (c >= 126572 && 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 < 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))))))))))))))))); +} + +static inline bool sym_identifier_character_set_3(int32_t c) { + return (c < 43616 + ? (c < 3782 + ? (c < 2748 + ? (c < 2045 + ? (c < 1015 + ? (c < 710 + ? (c < 181 + ? (c < '_' + ? (c < 'A' + ? (c >= '0' && c <= '9') + : c <= 'Z') + : (c <= '_' || (c < 170 + ? (c >= 'b' && c <= 'z') + : c <= 170))) + : (c <= 181 || (c < 192 + ? (c < 186 + ? c == 183 + : c <= 186) + : (c <= 214 || (c < 248 + ? (c >= 216 && c <= 246) + : c <= 705))))) + : (c <= 721 || (c < 891 + ? (c < 750 + ? (c < 748 + ? (c >= 736 && c <= 740) + : c <= 748) + : (c <= 750 || (c < 886 + ? (c >= 768 && c <= 884) + : c <= 887))) + : (c <= 893 || (c < 908 + ? (c < 902 + ? c == 895 + : c <= 906) + : (c <= 908 || (c < 931 + ? (c >= 910 && c <= 929) + : c <= 1013))))))) + : (c <= 1153 || (c < 1519 + ? (c < 1425 + ? (c < 1329 + ? (c < 1162 + ? (c >= 1155 && c <= 1159) + : c <= 1327) + : (c <= 1366 || (c < 1376 + ? c == 1369 + : c <= 1416))) + : (c <= 1469 || (c < 1476 + ? (c < 1473 + ? c == 1471 + : c <= 1474) + : (c <= 1477 || (c < 1488 + ? c == 1479 + : c <= 1514))))) + : (c <= 1522 || (c < 1770 + ? (c < 1646 + ? (c < 1568 + ? (c >= 1552 && c <= 1562) + : c <= 1641) + : (c <= 1747 || (c < 1759 + ? (c >= 1749 && c <= 1756) + : c <= 1768))) + : (c <= 1788 || (c < 1869 + ? (c < 1808 + ? c == 1791 + : c <= 1866) + : (c <= 1969 || (c < 2042 + ? (c >= 1984 && c <= 2037) + : c <= 2042))))))))) + : (c <= 2045 || (c < 2558 + ? (c < 2451 + ? (c < 2200 + ? (c < 2144 + ? (c < 2112 + ? (c >= 2048 && c <= 2093) + : c <= 2139) + : (c <= 2154 || (c < 2185 + ? (c >= 2160 && c <= 2183) + : c <= 2190))) + : (c <= 2273 || (c < 2417 + ? (c < 2406 + ? (c >= 2275 && c <= 2403) + : c <= 2415) + : (c <= 2435 || (c < 2447 + ? (c >= 2437 && c <= 2444) + : c <= 2448))))) + : (c <= 2472 || (c < 2507 + ? (c < 2486 + ? (c < 2482 + ? (c >= 2474 && c <= 2480) + : c <= 2482) + : (c <= 2489 || (c < 2503 + ? (c >= 2492 && c <= 2500) + : c <= 2504))) + : (c <= 2510 || (c < 2527 + ? (c < 2524 + ? c == 2519 + : c <= 2525) + : (c <= 2531 || (c < 2556 + ? (c >= 2534 && c <= 2545) + : c <= 2556))))))) + : (c <= 2558 || (c < 2635 + ? (c < 2610 + ? (c < 2575 + ? (c < 2565 + ? (c >= 2561 && c <= 2563) + : c <= 2570) + : (c <= 2576 || (c < 2602 + ? (c >= 2579 && c <= 2600) + : c <= 2608))) + : (c <= 2611 || (c < 2620 + ? (c < 2616 + ? (c >= 2613 && c <= 2614) + : c <= 2617) + : (c <= 2620 || (c < 2631 + ? (c >= 2622 && c <= 2626) + : c <= 2632))))) + : (c <= 2637 || (c < 2693 + ? (c < 2654 + ? (c < 2649 + ? c == 2641 + : c <= 2652) + : (c <= 2654 || (c < 2689 + ? (c >= 2662 && c <= 2677) + : c <= 2691))) + : (c <= 2701 || (c < 2730 + ? (c < 2707 + ? (c >= 2703 && c <= 2705) + : c <= 2728) + : (c <= 2736 || (c < 2741 + ? (c >= 2738 && c <= 2739) + : c <= 2745))))))))))) + : (c <= 2757 || (c < 3168 + ? (c < 2958 + ? (c < 2866 + ? (c < 2809 + ? (c < 2768 + ? (c < 2763 + ? (c >= 2759 && c <= 2761) + : c <= 2765) + : (c <= 2768 || (c < 2790 + ? (c >= 2784 && c <= 2787) + : c <= 2799))) + : (c <= 2815 || (c < 2831 + ? (c < 2821 + ? (c >= 2817 && c <= 2819) + : c <= 2828) + : (c <= 2832 || (c < 2858 + ? (c >= 2835 && c <= 2856) + : c <= 2864))))) + : (c <= 2867 || (c < 2908 + ? (c < 2887 + ? (c < 2876 + ? (c >= 2869 && c <= 2873) + : c <= 2884) + : (c <= 2888 || (c < 2901 + ? (c >= 2891 && c <= 2893) + : c <= 2903))) + : (c <= 2909 || (c < 2929 + ? (c < 2918 + ? (c >= 2911 && c <= 2915) + : c <= 2927) + : (c <= 2929 || (c < 2949 + ? (c >= 2946 && c <= 2947) + : c <= 2954))))))) + : (c <= 2960 || (c < 3031 + ? (c < 2984 + ? (c < 2972 + ? (c < 2969 + ? (c >= 2962 && c <= 2965) + : c <= 2970) + : (c <= 2972 || (c < 2979 + ? (c >= 2974 && c <= 2975) + : c <= 2980))) + : (c <= 2986 || (c < 3014 + ? (c < 3006 + ? (c >= 2990 && c <= 3001) + : c <= 3010) + : (c <= 3016 || (c < 3024 + ? (c >= 3018 && c <= 3021) + : c <= 3024))))) + : (c <= 3031 || (c < 3132 + ? (c < 3086 + ? (c < 3072 + ? (c >= 3046 && c <= 3055) + : c <= 3084) + : (c <= 3088 || (c < 3114 + ? (c >= 3090 && c <= 3112) + : c <= 3129))) + : (c <= 3140 || (c < 3157 + ? (c < 3146 + ? (c >= 3142 && c <= 3144) + : c <= 3149) + : (c <= 3158 || (c < 3165 + ? (c >= 3160 && c <= 3162) + : c <= 3165))))))))) + : (c <= 3171 || (c < 3450 + ? (c < 3293 + ? (c < 3242 + ? (c < 3205 + ? (c < 3200 + ? (c >= 3174 && c <= 3183) + : c <= 3203) + : (c <= 3212 || (c < 3218 + ? (c >= 3214 && c <= 3216) + : c <= 3240))) + : (c <= 3251 || (c < 3270 + ? (c < 3260 + ? (c >= 3253 && c <= 3257) + : c <= 3268) + : (c <= 3272 || (c < 3285 + ? (c >= 3274 && c <= 3277) + : c <= 3286))))) + : (c <= 3294 || (c < 3346 + ? (c < 3313 + ? (c < 3302 + ? (c >= 3296 && c <= 3299) + : c <= 3311) + : (c <= 3314 || (c < 3342 + ? (c >= 3328 && c <= 3340) + : c <= 3344))) + : (c <= 3396 || (c < 3412 + ? (c < 3402 + ? (c >= 3398 && c <= 3400) + : c <= 3406) + : (c <= 3415 || (c < 3430 + ? (c >= 3423 && c <= 3427) + : c <= 3439))))))) + : (c <= 3455 || (c < 3570 + ? (c < 3520 + ? (c < 3482 + ? (c < 3461 + ? (c >= 3457 && c <= 3459) + : c <= 3478) + : (c <= 3505 || (c < 3517 + ? (c >= 3507 && c <= 3515) + : c <= 3517))) + : (c <= 3526 || (c < 3542 + ? (c < 3535 + ? c == 3530 + : c <= 3540) + : (c <= 3542 || (c < 3558 + ? (c >= 3544 && c <= 3551) + : c <= 3567))))) + : (c <= 3571 || (c < 3718 + ? (c < 3664 + ? (c < 3648 + ? (c >= 3585 && c <= 3642) + : c <= 3662) + : (c <= 3673 || (c < 3716 + ? (c >= 3713 && c <= 3714) + : c <= 3716))) + : (c <= 3722 || (c < 3751 + ? (c < 3749 + ? (c >= 3724 && c <= 3747) + : c <= 3749) + : (c <= 3773 || (c >= 3776 && c <= 3780))))))))))))) + : (c <= 3782 || (c < 8025 + ? (c < 5888 + ? (c < 4688 + ? (c < 3953 + ? (c < 3872 + ? (c < 3804 + ? (c < 3792 + ? (c >= 3784 && c <= 3789) + : c <= 3801) + : (c <= 3807 || (c < 3864 + ? c == 3840 + : c <= 3865))) + : (c <= 3881 || (c < 3897 + ? (c < 3895 + ? c == 3893 + : c <= 3895) + : (c <= 3897 || (c < 3913 + ? (c >= 3902 && c <= 3911) + : c <= 3948))))) + : (c <= 3972 || (c < 4256 + ? (c < 4038 + ? (c < 3993 + ? (c >= 3974 && c <= 3991) + : c <= 4028) + : (c <= 4038 || (c < 4176 + ? (c >= 4096 && c <= 4169) + : c <= 4253))) + : (c <= 4293 || (c < 4304 + ? (c < 4301 + ? c == 4295 + : c <= 4301) + : (c <= 4346 || (c < 4682 + ? (c >= 4348 && c <= 4680) + : c <= 4685))))))) + : (c <= 4694 || (c < 4882 + ? (c < 4786 + ? (c < 4704 + ? (c < 4698 + ? c == 4696 + : c <= 4701) + : (c <= 4744 || (c < 4752 + ? (c >= 4746 && c <= 4749) + : c <= 4784))) + : (c <= 4789 || (c < 4802 + ? (c < 4800 + ? (c >= 4792 && c <= 4798) + : c <= 4800) + : (c <= 4805 || (c < 4824 + ? (c >= 4808 && c <= 4822) + : c <= 4880))))) + : (c <= 4885 || (c < 5112 + ? (c < 4969 + ? (c < 4957 + ? (c >= 4888 && c <= 4954) + : c <= 4959) + : (c <= 4977 || (c < 5024 + ? (c >= 4992 && c <= 5007) + : c <= 5109))) + : (c <= 5117 || (c < 5761 + ? (c < 5743 + ? (c >= 5121 && c <= 5740) + : c <= 5759) + : (c <= 5786 || (c < 5870 + ? (c >= 5792 && c <= 5866) + : c <= 5880))))))))) + : (c <= 5909 || (c < 6688 + ? (c < 6176 + ? (c < 6016 + ? (c < 5984 + ? (c < 5952 + ? (c >= 5919 && c <= 5940) + : c <= 5971) + : (c <= 5996 || (c < 6002 + ? (c >= 5998 && c <= 6000) + : c <= 6003))) + : (c <= 6099 || (c < 6112 + ? (c < 6108 + ? c == 6103 + : c <= 6109) + : (c <= 6121 || (c < 6159 + ? (c >= 6155 && c <= 6157) + : c <= 6169))))) + : (c <= 6264 || (c < 6470 + ? (c < 6400 + ? (c < 6320 + ? (c >= 6272 && c <= 6314) + : c <= 6389) + : (c <= 6430 || (c < 6448 + ? (c >= 6432 && c <= 6443) + : c <= 6459))) + : (c <= 6509 || (c < 6576 + ? (c < 6528 + ? (c >= 6512 && c <= 6516) + : c <= 6571) + : (c <= 6601 || (c < 6656 + ? (c >= 6608 && c <= 6618) + : c <= 6683))))))) + : (c <= 6750 || (c < 7232 + ? (c < 6847 + ? (c < 6800 + ? (c < 6783 + ? (c >= 6752 && c <= 6780) + : c <= 6793) + : (c <= 6809 || (c < 6832 + ? c == 6823 + : c <= 6845))) + : (c <= 6862 || (c < 7019 + ? (c < 6992 + ? (c >= 6912 && c <= 6988) + : c <= 7001) + : (c <= 7027 || (c < 7168 + ? (c >= 7040 && c <= 7155) + : c <= 7223))))) + : (c <= 7241 || (c < 7380 + ? (c < 7312 + ? (c < 7296 + ? (c >= 7245 && c <= 7293) + : c <= 7304) + : (c <= 7354 || (c < 7376 + ? (c >= 7357 && c <= 7359) + : c <= 7378))) + : (c <= 7418 || (c < 7968 + ? (c < 7960 + ? (c >= 7424 && c <= 7957) + : c <= 7965) + : (c <= 8005 || (c < 8016 + ? (c >= 8008 && c <= 8013) + : c <= 8023))))))))))) + : (c <= 8025 || (c < 11720 + ? (c < 8458 + ? (c < 8178 + ? (c < 8126 + ? (c < 8031 + ? (c < 8029 + ? c == 8027 + : c <= 8029) + : (c <= 8061 || (c < 8118 + ? (c >= 8064 && c <= 8116) + : c <= 8124))) + : (c <= 8126 || (c < 8144 + ? (c < 8134 + ? (c >= 8130 && c <= 8132) + : c <= 8140) + : (c <= 8147 || (c < 8160 + ? (c >= 8150 && c <= 8155) + : c <= 8172))))) + : (c <= 8180 || (c < 8336 + ? (c < 8276 + ? (c < 8255 + ? (c >= 8182 && c <= 8188) + : c <= 8256) + : (c <= 8276 || (c < 8319 + ? c == 8305 + : c <= 8319))) + : (c <= 8348 || (c < 8421 + ? (c < 8417 + ? (c >= 8400 && c <= 8412) + : c <= 8417) + : (c <= 8432 || (c < 8455 + ? c == 8450 + : c <= 8455))))))) + : (c <= 8467 || (c < 11499 + ? (c < 8490 + ? (c < 8484 + ? (c < 8472 + ? c == 8469 + : c <= 8477) + : (c <= 8484 || (c < 8488 + ? c == 8486 + : c <= 8488))) + : (c <= 8505 || (c < 8526 + ? (c < 8517 + ? (c >= 8508 && c <= 8511) + : c <= 8521) + : (c <= 8526 || (c < 11264 + ? (c >= 8544 && c <= 8584) + : c <= 11492))))) + : (c <= 11507 || (c < 11647 + ? (c < 11565 + ? (c < 11559 + ? (c >= 11520 && c <= 11557) + : c <= 11559) + : (c <= 11565 || (c < 11631 + ? (c >= 11568 && c <= 11623) + : c <= 11631))) + : (c <= 11670 || (c < 11696 + ? (c < 11688 + ? (c >= 11680 && c <= 11686) + : c <= 11694) + : (c <= 11702 || (c < 11712 + ? (c >= 11704 && c <= 11710) + : c <= 11718))))))))) + : (c <= 11726 || (c < 42623 + ? (c < 12540 + ? (c < 12337 + ? (c < 11744 + ? (c < 11736 + ? (c >= 11728 && c <= 11734) + : c <= 11742) + : (c <= 11775 || (c < 12321 + ? (c >= 12293 && c <= 12295) + : c <= 12335))) + : (c <= 12341 || (c < 12441 + ? (c < 12353 + ? (c >= 12344 && c <= 12348) + : c <= 12438) + : (c <= 12442 || (c < 12449 + ? (c >= 12445 && c <= 12447) + : c <= 12538))))) + : (c <= 12543 || (c < 19968 + ? (c < 12704 + ? (c < 12593 + ? (c >= 12549 && c <= 12591) + : c <= 12686) + : (c <= 12735 || (c < 13312 + ? (c >= 12784 && c <= 12799) + : c <= 19903))) + : (c <= 42124 || (c < 42512 + ? (c < 42240 + ? (c >= 42192 && c <= 42237) + : c <= 42508) + : (c <= 42539 || (c < 42612 + ? (c >= 42560 && c <= 42607) + : c <= 42621))))))) + : (c <= 42737 || (c < 43232 + ? (c < 42965 + ? (c < 42891 + ? (c < 42786 + ? (c >= 42775 && c <= 42783) + : c <= 42888) + : (c <= 42954 || (c < 42963 + ? (c >= 42960 && c <= 42961) + : c <= 42963))) + : (c <= 42969 || (c < 43072 + ? (c < 43052 + ? (c >= 42994 && c <= 43047) + : c <= 43052) + : (c <= 43123 || (c < 43216 + ? (c >= 43136 && c <= 43205) + : c <= 43225))))) + : (c <= 43255 || (c < 43471 + ? (c < 43312 + ? (c < 43261 + ? c == 43259 + : c <= 43309) + : (c <= 43347 || (c < 43392 + ? (c >= 43360 && c <= 43388) + : c <= 43456))) + : (c <= 43481 || (c < 43584 + ? (c < 43520 + ? (c >= 43488 && c <= 43518) + : c <= 43574) + : (c <= 43597 || (c >= 43600 && c <= 43609))))))))))))))) + : (c <= 43638 || (c < 71453 + ? (c < 67639 + ? (c < 65345 + ? (c < 64312 + ? (c < 43888 + ? (c < 43785 + ? (c < 43744 + ? (c < 43739 + ? (c >= 43642 && c <= 43714) + : c <= 43741) + : (c <= 43759 || (c < 43777 + ? (c >= 43762 && c <= 43766) + : c <= 43782))) + : (c <= 43790 || (c < 43816 + ? (c < 43808 + ? (c >= 43793 && c <= 43798) + : c <= 43814) + : (c <= 43822 || (c < 43868 + ? (c >= 43824 && c <= 43866) + : c <= 43881))))) + : (c <= 44010 || (c < 63744 + ? (c < 44032 + ? (c < 44016 + ? (c >= 44012 && c <= 44013) + : c <= 44025) + : (c <= 55203 || (c < 55243 + ? (c >= 55216 && c <= 55238) + : c <= 55291))) + : (c <= 64109 || (c < 64275 + ? (c < 64256 + ? (c >= 64112 && c <= 64217) + : c <= 64262) + : (c <= 64279 || (c < 64298 + ? (c >= 64285 && c <= 64296) + : c <= 64310))))))) + : (c <= 64316 || (c < 65075 + ? (c < 64612 + ? (c < 64323 + ? (c < 64320 + ? c == 64318 + : c <= 64321) + : (c <= 64324 || (c < 64467 + ? (c >= 64326 && c <= 64433) + : c <= 64605))) + : (c <= 64829 || (c < 65008 + ? (c < 64914 + ? (c >= 64848 && c <= 64911) + : c <= 64967) + : (c <= 65017 || (c < 65056 + ? (c >= 65024 && c <= 65039) + : c <= 65071))))) + : (c <= 65076 || (c < 65147 + ? (c < 65139 + ? (c < 65137 + ? (c >= 65101 && c <= 65103) + : c <= 65137) + : (c <= 65139 || (c < 65145 + ? c == 65143 + : c <= 65145))) + : (c <= 65147 || (c < 65296 + ? (c < 65151 + ? c == 65149 + : c <= 65276) + : (c <= 65305 || (c < 65343 + ? (c >= 65313 && c <= 65338) + : c <= 65343))))))))) + : (c <= 65370 || (c < 66513 + ? (c < 65664 + ? (c < 65536 + ? (c < 65482 + ? (c < 65474 + ? (c >= 65382 && c <= 65470) + : c <= 65479) + : (c <= 65487 || (c < 65498 + ? (c >= 65490 && c <= 65495) + : c <= 65500))) + : (c <= 65547 || (c < 65596 + ? (c < 65576 + ? (c >= 65549 && c <= 65574) + : c <= 65594) + : (c <= 65597 || (c < 65616 + ? (c >= 65599 && c <= 65613) + : c <= 65629))))) + : (c <= 65786 || (c < 66304 + ? (c < 66176 + ? (c < 66045 + ? (c >= 65856 && c <= 65908) + : c <= 66045) + : (c <= 66204 || (c < 66272 + ? (c >= 66208 && c <= 66256) + : c <= 66272))) + : (c <= 66335 || (c < 66432 + ? (c < 66384 + ? (c >= 66349 && c <= 66378) + : c <= 66426) + : (c <= 66461 || (c < 66504 + ? (c >= 66464 && c <= 66499) + : c <= 66511))))))) + : (c <= 66517 || (c < 66979 + ? (c < 66864 + ? (c < 66736 + ? (c < 66720 + ? (c >= 66560 && c <= 66717) + : c <= 66729) + : (c <= 66771 || (c < 66816 + ? (c >= 66776 && c <= 66811) + : c <= 66855))) + : (c <= 66915 || (c < 66956 + ? (c < 66940 + ? (c >= 66928 && c <= 66938) + : c <= 66954) + : (c <= 66962 || (c < 66967 + ? (c >= 66964 && c <= 66965) + : c <= 66977))))) + : (c <= 66993 || (c < 67456 + ? (c < 67072 + ? (c < 67003 + ? (c >= 66995 && c <= 67001) + : c <= 67004) + : (c <= 67382 || (c < 67424 + ? (c >= 67392 && c <= 67413) + : c <= 67431))) + : (c <= 67461 || (c < 67584 + ? (c < 67506 + ? (c >= 67463 && c <= 67504) + : c <= 67514) + : (c <= 67589 || (c < 67594 + ? c == 67592 + : c <= 67637))))))))))) + : (c <= 67640 || (c < 69956 + ? (c < 68448 + ? (c < 68101 + ? (c < 67828 + ? (c < 67680 + ? (c < 67647 + ? c == 67644 + : c <= 67669) + : (c <= 67702 || (c < 67808 + ? (c >= 67712 && c <= 67742) + : c <= 67826))) + : (c <= 67829 || (c < 67968 + ? (c < 67872 + ? (c >= 67840 && c <= 67861) + : c <= 67897) + : (c <= 68023 || (c < 68096 + ? (c >= 68030 && c <= 68031) + : c <= 68099))))) + : (c <= 68102 || (c < 68192 + ? (c < 68121 + ? (c < 68117 + ? (c >= 68108 && c <= 68115) + : c <= 68119) + : (c <= 68149 || (c < 68159 + ? (c >= 68152 && c <= 68154) + : c <= 68159))) + : (c <= 68220 || (c < 68297 + ? (c < 68288 + ? (c >= 68224 && c <= 68252) + : c <= 68295) + : (c <= 68326 || (c < 68416 + ? (c >= 68352 && c <= 68405) + : c <= 68437))))))) + : (c <= 68466 || (c < 69424 + ? (c < 68912 + ? (c < 68736 + ? (c < 68608 + ? (c >= 68480 && c <= 68497) + : c <= 68680) + : (c <= 68786 || (c < 68864 + ? (c >= 68800 && c <= 68850) + : c <= 68903))) + : (c <= 68921 || (c < 69296 + ? (c < 69291 + ? (c >= 69248 && c <= 69289) + : c <= 69292) + : (c <= 69297 || (c < 69415 + ? (c >= 69376 && c <= 69404) + : c <= 69415))))) + : (c <= 69456 || (c < 69759 + ? (c < 69600 + ? (c < 69552 + ? (c >= 69488 && c <= 69509) + : c <= 69572) + : (c <= 69622 || (c < 69734 + ? (c >= 69632 && c <= 69702) + : c <= 69749))) + : (c <= 69818 || (c < 69872 + ? (c < 69840 + ? c == 69826 + : c <= 69864) + : (c <= 69881 || (c < 69942 + ? (c >= 69888 && c <= 69940) + : c <= 69951))))))))) + : (c <= 69959 || (c < 70459 + ? (c < 70282 + ? (c < 70108 + ? (c < 70016 + ? (c < 70006 + ? (c >= 69968 && c <= 70003) + : c <= 70006) + : (c <= 70084 || (c < 70094 + ? (c >= 70089 && c <= 70092) + : c <= 70106))) + : (c <= 70108 || (c < 70206 + ? (c < 70163 + ? (c >= 70144 && c <= 70161) + : c <= 70199) + : (c <= 70206 || (c < 70280 + ? (c >= 70272 && c <= 70278) + : c <= 70280))))) + : (c <= 70285 || (c < 70405 + ? (c < 70320 + ? (c < 70303 + ? (c >= 70287 && c <= 70301) + : c <= 70312) + : (c <= 70378 || (c < 70400 + ? (c >= 70384 && c <= 70393) + : c <= 70403))) + : (c <= 70412 || (c < 70442 + ? (c < 70419 + ? (c >= 70415 && c <= 70416) + : c <= 70440) + : (c <= 70448 || (c < 70453 + ? (c >= 70450 && c <= 70451) + : c <= 70457))))))) + : (c <= 70468 || (c < 70855 + ? (c < 70502 + ? (c < 70480 + ? (c < 70475 + ? (c >= 70471 && c <= 70472) + : c <= 70477) + : (c <= 70480 || (c < 70493 + ? c == 70487 + : c <= 70499))) + : (c <= 70508 || (c < 70736 + ? (c < 70656 + ? (c >= 70512 && c <= 70516) + : c <= 70730) + : (c <= 70745 || (c < 70784 + ? (c >= 70750 && c <= 70753) + : c <= 70853))))) + : (c <= 70855 || (c < 71236 + ? (c < 71096 + ? (c < 71040 + ? (c >= 70864 && c <= 70873) + : c <= 71093) + : (c <= 71104 || (c < 71168 + ? (c >= 71128 && c <= 71133) + : c <= 71232))) + : (c <= 71236 || (c < 71360 + ? (c < 71296 + ? (c >= 71248 && c <= 71257) + : c <= 71352) + : (c <= 71369 || (c >= 71424 && c <= 71450))))))))))))) + : (c <= 71467 || (c < 119973 + ? (c < 77824 + ? (c < 72760 + ? (c < 72016 + ? (c < 71945 + ? (c < 71680 + ? (c < 71488 + ? (c >= 71472 && c <= 71481) + : c <= 71494) + : (c <= 71738 || (c < 71935 + ? (c >= 71840 && c <= 71913) + : c <= 71942))) + : (c <= 71945 || (c < 71960 + ? (c < 71957 + ? (c >= 71948 && c <= 71955) + : c <= 71958) + : (c <= 71989 || (c < 71995 + ? (c >= 71991 && c <= 71992) + : c <= 72003))))) + : (c <= 72025 || (c < 72263 + ? (c < 72154 + ? (c < 72106 + ? (c >= 72096 && c <= 72103) + : c <= 72151) + : (c <= 72161 || (c < 72192 + ? (c >= 72163 && c <= 72164) + : c <= 72254))) + : (c <= 72263 || (c < 72368 + ? (c < 72349 + ? (c >= 72272 && c <= 72345) + : c <= 72349) + : (c <= 72440 || (c < 72714 + ? (c >= 72704 && c <= 72712) + : c <= 72758))))))) + : (c <= 72768 || (c < 73056 + ? (c < 72968 + ? (c < 72850 + ? (c < 72818 + ? (c >= 72784 && c <= 72793) + : c <= 72847) + : (c <= 72871 || (c < 72960 + ? (c >= 72873 && c <= 72886) + : c <= 72966))) + : (c <= 72969 || (c < 73020 + ? (c < 73018 + ? (c >= 72971 && c <= 73014) + : c <= 73018) + : (c <= 73021 || (c < 73040 + ? (c >= 73023 && c <= 73031) + : c <= 73049))))) + : (c <= 73061 || (c < 73440 + ? (c < 73104 + ? (c < 73066 + ? (c >= 73063 && c <= 73064) + : c <= 73102) + : (c <= 73105 || (c < 73120 + ? (c >= 73107 && c <= 73112) + : c <= 73129))) + : (c <= 73462 || (c < 74752 + ? (c < 73728 + ? c == 73648 + : c <= 74649) + : (c <= 74862 || (c < 77712 + ? (c >= 74880 && c <= 75075) + : c <= 77808))))))))) + : (c <= 78894 || (c < 110576 + ? (c < 93027 + ? (c < 92864 + ? (c < 92736 + ? (c < 92160 + ? (c >= 82944 && c <= 83526) + : c <= 92728) + : (c <= 92766 || (c < 92784 + ? (c >= 92768 && c <= 92777) + : c <= 92862))) + : (c <= 92873 || (c < 92928 + ? (c < 92912 + ? (c >= 92880 && c <= 92909) + : c <= 92916) + : (c <= 92982 || (c < 93008 + ? (c >= 92992 && c <= 92995) + : c <= 93017))))) + : (c <= 93047 || (c < 94176 + ? (c < 93952 + ? (c < 93760 + ? (c >= 93053 && c <= 93071) + : c <= 93823) + : (c <= 94026 || (c < 94095 + ? (c >= 94031 && c <= 94087) + : c <= 94111))) + : (c <= 94177 || (c < 94208 + ? (c < 94192 + ? (c >= 94179 && c <= 94180) + : c <= 94193) + : (c <= 100343 || (c < 101632 + ? (c >= 100352 && c <= 101589) + : c <= 101640))))))) + : (c <= 110579 || (c < 118528 + ? (c < 110960 + ? (c < 110592 + ? (c < 110589 + ? (c >= 110581 && c <= 110587) + : c <= 110590) + : (c <= 110882 || (c < 110948 + ? (c >= 110928 && c <= 110930) + : c <= 110951))) + : (c <= 111355 || (c < 113792 + ? (c < 113776 + ? (c >= 113664 && c <= 113770) + : c <= 113788) + : (c <= 113800 || (c < 113821 + ? (c >= 113808 && c <= 113817) + : c <= 113822))))) + : (c <= 118573 || (c < 119210 + ? (c < 119149 + ? (c < 119141 + ? (c >= 118576 && c <= 118598) + : c <= 119145) + : (c <= 119154 || (c < 119173 + ? (c >= 119163 && c <= 119170) + : c <= 119179))) + : (c <= 119213 || (c < 119894 + ? (c < 119808 + ? (c >= 119362 && c <= 119364) + : c <= 119892) + : (c <= 119964 || (c < 119970 + ? (c >= 119966 && 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 < 120005 + ? (c >= 119997 && c <= 120003) + : 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 < 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 < 126551 + ? (c < 126548 + ? (c >= 126545 && c <= 126546) + : c <= 126548) + : (c <= 126551 || (c < 126555 + ? c == 126553 + : c <= 126555))))))) + : (c <= 126557 || (c < 126629 + ? (c < 126580 + ? (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 < 126625 + ? (c >= 126603 && c <= 126619) + : c <= 126627))))) + : (c <= 126633 || (c < 178208 + ? (c < 131072 + ? (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_4(int32_t c) { return (c < 43616 ? (c < 3782 ? (c < 2748 @@ -2200,74 +4044,78 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(17); - if (lookahead == '"') ADVANCE(32); - if (lookahead == '#') ADVANCE(18); + if (eof) ADVANCE(18); + if (lookahead == '"') ADVANCE(42); + if (lookahead == '#') ADVANCE(19); if (lookahead == '+') ADVANCE(4); - if (lookahead == ',') ADVANCE(37); - if (lookahead == '-') ADVANCE(26); - if (lookahead == ':') ADVANCE(41); - if (lookahead == '=') ADVANCE(23); - if (lookahead == '[') ADVANCE(36); + 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(38); + if (lookahead == ']') ADVANCE(48); if (lookahead == '`') ADVANCE(15); - if (lookahead == '{') ADVANCE(39); - if (lookahead == '}') ADVANCE(40); + 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(27); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(25); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(37); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(33); END_STATE(); case 1: if (lookahead == '\n') SKIP(2) - if (lookahead == '"') ADVANCE(32); - if (lookahead == '#') ADVANCE(19); + if (lookahead == '"') ADVANCE(42); + if (lookahead == '#') ADVANCE(20); if (lookahead == '\\') ADVANCE(5); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(30); - if (lookahead != 0) ADVANCE(31); + lookahead == ' ') ADVANCE(40); + if (lookahead != 0) ADVANCE(41); END_STATE(); case 2: if (lookahead == '\n') SKIP(2) - if (lookahead == '#') ADVANCE(19); + if (lookahead == '#') ADVANCE(20); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(30); + lookahead == ' ') ADVANCE(40); if (lookahead != 0 && lookahead != '"' && - lookahead != '\\') ADVANCE(31); + lookahead != '\\') ADVANCE(41); END_STATE(); case 3: - if (lookahead == '"') ADVANCE(29); - if (lookahead == '#') ADVANCE(18); - if (lookahead == '-') ADVANCE(26); - if (lookahead == '[') ADVANCE(36); - if (lookahead == ']') ADVANCE(38); + 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 == '{') ADVANCE(39); + if (lookahead == 'f') ADVANCE(26); + if (lookahead == 't') ADVANCE(30); + if (lookahead == '{') ADVANCE(49); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(3) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(27); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(25); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(37); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(33); END_STATE(); case 4: - if (lookahead == '=') ADVANCE(24); + if (lookahead == '=') ADVANCE(25); 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(35); - if (lookahead != 0) ADVANCE(33); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); + if (lookahead != 0) ADVANCE(43); END_STATE(); case 6: - if (lookahead == '`') ADVANCE(28); + if (lookahead == '`') ADVANCE(38); if (lookahead != 0) ADVANCE(6); END_STATE(); case 7: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(33); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(43); END_STATE(); case 8: if (('0' <= lookahead && lookahead <= '9') || @@ -2309,127 +4157,182 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead != '`') ADVANCE(6); END_STATE(); case 16: - if (eof) ADVANCE(17); - if (lookahead == '"') ADVANCE(29); - if (lookahead == '#') ADVANCE(18); + if (eof) ADVANCE(18); + if (lookahead == '"') ADVANCE(39); + if (lookahead == '#') ADVANCE(19); if (lookahead == '+') ADVANCE(4); - if (lookahead == ',') ADVANCE(37); - if (lookahead == '-') ADVANCE(26); - if (lookahead == ':') ADVANCE(41); - if (lookahead == '=') ADVANCE(23); - if (lookahead == '[') ADVANCE(36); - if (lookahead == ']') ADVANCE(38); + 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 == '{') ADVANCE(39); - if (lookahead == '}') ADVANCE(40); + 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(27); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(25); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(37); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(33); END_STATE(); case 17: - ACCEPT_TOKEN(ts_builtin_sym_end); + 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); END_STATE(); case 18: - ACCEPT_TOKEN(anon_sym_POUND); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 19: ACCEPT_TOKEN(anon_sym_POUND); - if (lookahead != 0 && - lookahead != '\n' && - lookahead != '"' && - lookahead != '\\') ADVANCE(31); END_STATE(); case 20: ACCEPT_TOKEN(anon_sym_POUND); if (lookahead != 0 && - lookahead != '\n') ADVANCE(22); + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(41); END_STATE(); case 21: - ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead == '#') ADVANCE(20); - if (lookahead == '\t' || - (11 <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(21); + ACCEPT_TOKEN(anon_sym_POUND); if (lookahead != 0 && - lookahead != '\n') ADVANCE(22); + lookahead != '\n') ADVANCE(23); END_STATE(); case 22: ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(22); - END_STATE(); - case 23: - ACCEPT_TOKEN(anon_sym_EQ); - END_STATE(); - case 24: - ACCEPT_TOKEN(anon_sym_PLUS_EQ); - END_STATE(); - case 25: - ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(25); - END_STATE(); - case 26: - ACCEPT_TOKEN(anon_sym_DASH); - END_STATE(); - case 27: - ACCEPT_TOKEN(aux_sym_integer_literal_token1); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(27); - END_STATE(); - case 28: - ACCEPT_TOKEN(sym_raw_string_literal); - END_STATE(); - case 29: - ACCEPT_TOKEN(anon_sym_DQUOTE); - END_STATE(); - case 30: - ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); - if (lookahead == '#') ADVANCE(19); + if (lookahead == '#') ADVANCE(21); if (lookahead == '\t' || (11 <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(30); + lookahead == ' ') ADVANCE(22); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(23); + END_STATE(); + case 23: + ACCEPT_TOKEN(aux_sym_comment_token1); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(23); + END_STATE(); + case 24: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 25: + ACCEPT_TOKEN(anon_sym_PLUS_EQ); + END_STATE(); + case 26: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(29); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(33); + END_STATE(); + case 27: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(34); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + END_STATE(); + case 28: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(35); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + END_STATE(); + case 29: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(31); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + END_STATE(); + case 30: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(32); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + END_STATE(); + case 31: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 's') ADVANCE(28); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + END_STATE(); + case 32: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(27); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + END_STATE(); + case 33: + ACCEPT_TOKEN(sym_identifier); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + END_STATE(); + case 34: + ACCEPT_TOKEN(anon_sym_true); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + END_STATE(); + case 35: + ACCEPT_TOKEN(anon_sym_false); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(33); + END_STATE(); + case 36: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 37: + ACCEPT_TOKEN(aux_sym_integer_literal_token1); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(37); + END_STATE(); + case 38: + ACCEPT_TOKEN(sym_raw_string_literal); + END_STATE(); + case 39: + ACCEPT_TOKEN(anon_sym_DQUOTE); + 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(31); + lookahead != '\\') ADVANCE(41); END_STATE(); - case 31: + case 41: ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(31); + lookahead != '\\') ADVANCE(41); END_STATE(); - case 32: + case 42: ACCEPT_TOKEN(anon_sym_DQUOTE2); END_STATE(); - case 33: + case 43: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); - case 34: + case 44: ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(33); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(43); END_STATE(); - case 35: + case 45: ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(34); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); END_STATE(); - case 36: + case 46: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 37: + case 47: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 38: + case 48: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 39: + case 49: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 40: + case 50: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 41: + case 51: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); default: @@ -2439,56 +4342,57 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 0}, + [1] = {.lex_state = 17}, [2] = {.lex_state = 3}, [3] = {.lex_state = 3}, [4] = {.lex_state = 3}, [5] = {.lex_state = 3}, [6] = {.lex_state = 3}, [7] = {.lex_state = 3}, - [8] = {.lex_state = 0}, - [9] = {.lex_state = 0}, - [10] = {.lex_state = 0}, - [11] = {.lex_state = 0}, - [12] = {.lex_state = 0}, - [13] = {.lex_state = 0}, - [14] = {.lex_state = 0}, - [15] = {.lex_state = 0}, - [16] = {.lex_state = 0}, - [17] = {.lex_state = 0}, - [18] = {.lex_state = 0}, - [19] = {.lex_state = 0}, - [20] = {.lex_state = 0}, - [21] = {.lex_state = 0}, - [22] = {.lex_state = 0}, - [23] = {.lex_state = 0}, - [24] = {.lex_state = 0}, - [25] = {.lex_state = 1}, + [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 = 0}, + [28] = {.lex_state = 1}, [29] = {.lex_state = 0}, [30] = {.lex_state = 0}, [31] = {.lex_state = 0}, [32] = {.lex_state = 0}, - [33] = {.lex_state = 0}, - [34] = {.lex_state = 0}, + [33] = {.lex_state = 17}, + [34] = {.lex_state = 1}, [35] = {.lex_state = 0}, - [36] = {.lex_state = 1}, - [37] = {.lex_state = 0}, - [38] = {.lex_state = 0}, - [39] = {.lex_state = 0}, - [40] = {.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}, [42] = {.lex_state = 0}, - [43] = {.lex_state = 0}, + [43] = {.lex_state = 17}, [44] = {.lex_state = 0}, [45] = {.lex_state = 0}, - [46] = {.lex_state = 0}, - [47] = {.lex_state = 21}, - [48] = {.lex_state = 0}, + [46] = {.lex_state = 17}, + [47] = {.lex_state = 0}, + [48] = {.lex_state = 22}, [49] = {.lex_state = 0}, - [50] = {(TSStateId)(-1)}, + [50] = {.lex_state = 0}, + [51] = {(TSStateId)(-1)}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2499,6 +4403,8 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_EQ] = ACTIONS(1), [anon_sym_PLUS_EQ] = ACTIONS(1), [sym_identifier] = ACTIONS(1), + [anon_sym_true] = ACTIONS(1), + [anon_sym_false] = ACTIONS(1), [anon_sym_DASH] = ACTIONS(1), [aux_sym_integer_literal_token1] = ACTIONS(1), [sym_raw_string_literal] = ACTIONS(1), @@ -2513,15 +4419,78 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_COLON] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(46), - [sym__definition] = STATE(38), + [sym_source_file] = STATE(47), + [sym__definition] = STATE(43), [sym_comment] = STATE(1), - [sym_assignment] = STATE(43), - [aux_sym_source_file_repeat1] = STATE(24), + [sym_assignment] = STATE(40), + [aux_sym_source_file_repeat1] = STATE(19), [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[] = { @@ -2530,201 +4499,112 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_POUND, ACTIONS(9), 1, sym_identifier, - ACTIONS(11), 1, - anon_sym_DASH, ACTIONS(13), 1, - aux_sym_integer_literal_token1, + anon_sym_DASH, ACTIONS(15), 1, - sym_raw_string_literal, + aux_sym_integer_literal_token1, ACTIONS(17), 1, - anon_sym_DQUOTE, + sym_raw_string_literal, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_DQUOTE, ACTIONS(21), 1, - anon_sym_RBRACK, - ACTIONS(23), 1, - anon_sym_LBRACE, - STATE(2), 1, - sym_comment, - STATE(15), 1, - sym_interpreted_string_literal, - STATE(33), 1, - sym__expr, - STATE(12), 4, - sym_integer_literal, - sym__string_literal, - sym_list_expression, - sym_map_expression, - [43] = 13, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(9), 1, - sym_identifier, - ACTIONS(11), 1, - anon_sym_DASH, - ACTIONS(13), 1, - aux_sym_integer_literal_token1, - ACTIONS(15), 1, - sym_raw_string_literal, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, anon_sym_LBRACK, - ACTIONS(23), 1, - anon_sym_LBRACE, ACTIONS(25), 1, - anon_sym_RBRACK, - STATE(3), 1, - sym_comment, - STATE(15), 1, - sym_interpreted_string_literal, - STATE(39), 1, - sym__expr, - STATE(12), 4, - sym_integer_literal, - sym__string_literal, - sym_list_expression, - sym_map_expression, - [86] = 13, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(9), 1, - sym_identifier, - ACTIONS(11), 1, - anon_sym_DASH, - ACTIONS(13), 1, - aux_sym_integer_literal_token1, - ACTIONS(15), 1, - sym_raw_string_literal, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(23), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_RBRACK, - STATE(4), 1, - sym_comment, - STATE(15), 1, - sym_interpreted_string_literal, - STATE(39), 1, - sym__expr, - STATE(12), 4, - sym_integer_literal, - sym__string_literal, - sym_list_expression, - sym_map_expression, - [129] = 12, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(9), 1, - sym_identifier, - ACTIONS(11), 1, - anon_sym_DASH, - ACTIONS(13), 1, - aux_sym_integer_literal_token1, - ACTIONS(15), 1, - sym_raw_string_literal, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(23), 1, anon_sym_LBRACE, STATE(5), 1, sym_comment, - STATE(15), 1, + STATE(16), 1, sym_interpreted_string_literal, - STATE(39), 1, + STATE(44), 1, sym__expr, - STATE(12), 4, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 5, + sym_boolean_literal, sym_integer_literal, sym__string_literal, sym_list_expression, sym_map_expression, - [169] = 12, + [45] = 13, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(9), 1, sym_identifier, - ACTIONS(11), 1, - anon_sym_DASH, ACTIONS(13), 1, - aux_sym_integer_literal_token1, + anon_sym_DASH, ACTIONS(15), 1, - sym_raw_string_literal, + aux_sym_integer_literal_token1, ACTIONS(17), 1, - anon_sym_DQUOTE, + sym_raw_string_literal, ACTIONS(19), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, anon_sym_LBRACK, - ACTIONS(23), 1, + ACTIONS(25), 1, anon_sym_LBRACE, STATE(6), 1, sym_comment, - STATE(15), 1, + STATE(16), 1, sym_interpreted_string_literal, - STATE(40), 1, + STATE(41), 1, sym__expr, - STATE(12), 4, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 5, + sym_boolean_literal, sym_integer_literal, sym__string_literal, sym_list_expression, sym_map_expression, - [209] = 12, + [90] = 13, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(9), 1, sym_identifier, - ACTIONS(11), 1, - anon_sym_DASH, ACTIONS(13), 1, - aux_sym_integer_literal_token1, + anon_sym_DASH, ACTIONS(15), 1, - sym_raw_string_literal, + aux_sym_integer_literal_token1, ACTIONS(17), 1, - anon_sym_DQUOTE, + sym_raw_string_literal, ACTIONS(19), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, anon_sym_LBRACK, - ACTIONS(23), 1, + ACTIONS(25), 1, anon_sym_LBRACE, STATE(7), 1, sym_comment, - STATE(15), 1, + STATE(16), 1, sym_interpreted_string_literal, - STATE(41), 1, + STATE(39), 1, sym__expr, - STATE(12), 4, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 5, + sym_boolean_literal, sym_integer_literal, sym__string_literal, sym_list_expression, sym_map_expression, - [249] = 3, + [135] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(8), 1, sym_comment, - ACTIONS(29), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - [263] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(9), 1, - sym_comment, ACTIONS(31), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - [277] = 3, + [149] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(10), 1, + STATE(9), 1, sym_comment, ACTIONS(33), 5, ts_builtin_sym_end, @@ -2732,35 +4612,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - [291] = 6, + [163] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(35), 1, - ts_builtin_sym_end, - ACTIONS(37), 1, - sym_identifier, - STATE(38), 1, - sym__definition, - STATE(43), 1, - sym_assignment, - STATE(11), 2, + STATE(10), 1, sym_comment, - aux_sym_source_file_repeat1, - [311] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(12), 1, - sym_comment, - ACTIONS(40), 5, + ACTIONS(35), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - [325] = 3, + [177] = 6, ACTIONS(3), 1, anon_sym_POUND, - STATE(13), 1, + 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, @@ -2768,10 +4648,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - [339] = 3, + [211] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(14), 1, + STATE(13), 1, sym_comment, ACTIONS(44), 5, ts_builtin_sym_end, @@ -2779,10 +4659,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - [353] = 3, + [225] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(15), 1, + STATE(14), 1, sym_comment, ACTIONS(46), 5, ts_builtin_sym_end, @@ -2790,10 +4670,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - [367] = 3, + [239] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(16), 1, + STATE(15), 1, sym_comment, ACTIONS(48), 5, ts_builtin_sym_end, @@ -2801,10 +4681,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - [381] = 3, + [253] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(17), 1, + STATE(16), 1, sym_comment, ACTIONS(50), 5, ts_builtin_sym_end, @@ -2812,10 +4692,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - [395] = 3, + [267] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(18), 1, + STATE(17), 1, sym_comment, ACTIONS(52), 5, ts_builtin_sym_end, @@ -2823,10 +4703,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - [409] = 3, + [281] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(19), 1, + STATE(18), 1, sym_comment, ACTIONS(54), 5, ts_builtin_sym_end, @@ -2834,32 +4714,36 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - [423] = 3, + [295] = 7, + 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(3), 1, anon_sym_POUND, STATE(20), 1, sym_comment, - ACTIONS(56), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - [437] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(21), 1, - sym_comment, ACTIONS(58), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - [451] = 3, + [331] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(22), 1, + STATE(21), 1, sym_comment, ACTIONS(60), 5, ts_builtin_sym_end, @@ -2867,10 +4751,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - [465] = 3, + [345] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(23), 1, + STATE(22), 1, sym_comment, ACTIONS(62), 5, ts_builtin_sym_end, @@ -2878,71 +4762,78 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - [479] = 7, + [359] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(7), 1, - sym_identifier, - ACTIONS(64), 1, + STATE(23), 1, + sym_comment, + ACTIONS(64), 5, ts_builtin_sym_end, - STATE(11), 1, - aux_sym_source_file_repeat1, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + [373] = 3, + ACTIONS(3), 1, + anon_sym_POUND, STATE(24), 1, sym_comment, - STATE(38), 1, - sym__definition, - STATE(43), 1, - sym_assignment, - [501] = 5, - ACTIONS(66), 1, + 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, - ACTIONS(68), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(71), 1, - anon_sym_DQUOTE2, - ACTIONS(73), 1, - sym_escape_sequence, - STATE(25), 2, - sym_comment, - aux_sym_interpreted_string_literal_repeat1, - [518] = 6, - ACTIONS(66), 1, - anon_sym_POUND, - ACTIONS(76), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(78), 1, - anon_sym_DQUOTE2, - ACTIONS(80), 1, - sym_escape_sequence, STATE(25), 1, - aux_sym_interpreted_string_literal_repeat1, + 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, - [537] = 6, - ACTIONS(66), 1, + STATE(28), 1, + aux_sym_interpreted_string_literal_repeat1, + [420] = 6, + ACTIONS(70), 1, anon_sym_POUND, - ACTIONS(76), 1, + ACTIONS(72), 1, aux_sym_interpreted_string_literal_token1, - ACTIONS(80), 1, + ACTIONS(76), 1, sym_escape_sequence, - ACTIONS(82), 1, + ACTIONS(78), 1, anon_sym_DQUOTE2, STATE(26), 1, aux_sym_interpreted_string_literal_repeat1, STATE(27), 1, sym_comment, - [556] = 5, - ACTIONS(3), 1, + [439] = 5, + ACTIONS(70), 1, anon_sym_POUND, - ACTIONS(84), 1, - sym_identifier, - ACTIONS(86), 1, - anon_sym_RBRACE, - STATE(28), 1, + 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, - STATE(42), 1, - sym__colon_property, - [572] = 5, + aux_sym_interpreted_string_literal_repeat1, + [456] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(88), 1, @@ -2951,9 +4842,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, STATE(29), 1, sym_comment, - STATE(30), 1, + STATE(35), 1, aux_sym_map_expression_repeat1, - [588] = 4, + [472] = 4, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(92), 1, @@ -2963,301 +4854,312 @@ static const uint16_t ts_small_parse_table[] = { STATE(30), 2, sym_comment, aux_sym_map_expression_repeat1, - [602] = 5, + [486] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(84), 1, - sym_identifier, ACTIONS(97), 1, - anon_sym_RBRACE, + anon_sym_COMMA, + ACTIONS(99), 1, + anon_sym_RBRACK, STATE(31), 1, sym_comment, - STATE(37), 1, - sym__colon_property, - [618] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(27), 1, - anon_sym_RBRACK, - ACTIONS(99), 1, - anon_sym_COMMA, STATE(32), 1, - sym_comment, - STATE(35), 1, aux_sym_list_expression_repeat1, - [634] = 5, + [502] = 5, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(29), 1, + anon_sym_RBRACK, ACTIONS(101), 1, anon_sym_COMMA, - ACTIONS(103), 1, - anon_sym_RBRACK, STATE(32), 1, - aux_sym_list_expression_repeat1, - STATE(33), 1, sym_comment, - [650] = 5, + STATE(36), 1, + aux_sym_list_expression_repeat1, + [518] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(84), 1, + ACTIONS(103), 1, sym_identifier, ACTIONS(105), 1, anon_sym_RBRACE, - STATE(34), 1, + STATE(33), 1, sym_comment, STATE(42), 1, sym__colon_property, - [666] = 4, - ACTIONS(3), 1, + [534] = 4, + ACTIONS(70), 1, anon_sym_POUND, ACTIONS(107), 1, - anon_sym_COMMA, - ACTIONS(110), 1, - anon_sym_RBRACK, - STATE(35), 2, - sym_comment, - aux_sym_list_expression_repeat1, - [680] = 4, - ACTIONS(66), 1, - anon_sym_POUND, - ACTIONS(112), 1, aux_sym_interpreted_string_literal_token1, - STATE(36), 1, + STATE(34), 1, sym_comment, - ACTIONS(114), 2, + ACTIONS(109), 2, anon_sym_DQUOTE2, sym_escape_sequence, - [694] = 5, + [548] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(116), 1, + 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_RBRACE, - STATE(29), 1, - aux_sym_map_expression_repeat1, - STATE(37), 1, + anon_sym_RBRACK, + STATE(36), 2, sym_comment, - [710] = 3, + 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, - ACTIONS(120), 2, - ts_builtin_sym_end, - sym_identifier, - [721] = 3, + STATE(42), 1, + sym__colon_property, + [610] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(39), 1, sym_comment, - ACTIONS(110), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [732] = 3, + ACTIONS(124), 2, + ts_builtin_sym_end, + sym_identifier, + [621] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(40), 1, sym_comment, - ACTIONS(122), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [743] = 3, + ACTIONS(126), 2, + ts_builtin_sym_end, + sym_identifier, + [632] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(41), 1, sym_comment, - ACTIONS(124), 2, - ts_builtin_sym_end, - sym_identifier, - [754] = 3, + ACTIONS(128), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [643] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(42), 1, sym_comment, - ACTIONS(126), 2, + ACTIONS(130), 2, anon_sym_COMMA, anon_sym_RBRACE, - [765] = 3, + [654] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(43), 1, sym_comment, - ACTIONS(128), 2, + ACTIONS(132), 2, ts_builtin_sym_end, sym_identifier, - [776] = 3, + [665] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(44), 1, sym_comment, - ACTIONS(130), 2, - anon_sym_EQ, - anon_sym_PLUS_EQ, - [787] = 4, + ACTIONS(118), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [676] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(84), 1, + STATE(45), 1, + sym_comment, + ACTIONS(134), 2, + anon_sym_EQ, + anon_sym_PLUS_EQ, + [687] = 4, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(103), 1, sym_identifier, STATE(42), 1, sym__colon_property, - STATE(45), 1, - sym_comment, - [800] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(132), 1, - ts_builtin_sym_end, STATE(46), 1, sym_comment, - [810] = 3, - ACTIONS(66), 1, - anon_sym_POUND, - ACTIONS(134), 1, - aux_sym_comment_token1, - STATE(47), 1, - sym_comment, - [820] = 3, + [700] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(136), 1, - anon_sym_COLON, - STATE(48), 1, + ts_builtin_sym_end, + STATE(47), 1, sym_comment, - [830] = 3, - ACTIONS(3), 1, + [710] = 3, + ACTIONS(70), 1, anon_sym_POUND, ACTIONS(138), 1, - aux_sym_integer_literal_token1, + aux_sym_comment_token1, + STATE(48), 1, + sym_comment, + [720] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(140), 1, + anon_sym_COLON, STATE(49), 1, sym_comment, - [840] = 1, - ACTIONS(140), 1, + [730] = 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, ts_builtin_sym_end, }; static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 43, - [SMALL_STATE(4)] = 86, - [SMALL_STATE(5)] = 129, - [SMALL_STATE(6)] = 169, - [SMALL_STATE(7)] = 209, - [SMALL_STATE(8)] = 249, - [SMALL_STATE(9)] = 263, - [SMALL_STATE(10)] = 277, - [SMALL_STATE(11)] = 291, - [SMALL_STATE(12)] = 311, - [SMALL_STATE(13)] = 325, - [SMALL_STATE(14)] = 339, - [SMALL_STATE(15)] = 353, - [SMALL_STATE(16)] = 367, - [SMALL_STATE(17)] = 381, - [SMALL_STATE(18)] = 395, - [SMALL_STATE(19)] = 409, - [SMALL_STATE(20)] = 423, - [SMALL_STATE(21)] = 437, - [SMALL_STATE(22)] = 451, - [SMALL_STATE(23)] = 465, - [SMALL_STATE(24)] = 479, - [SMALL_STATE(25)] = 501, - [SMALL_STATE(26)] = 518, - [SMALL_STATE(27)] = 537, - [SMALL_STATE(28)] = 556, - [SMALL_STATE(29)] = 572, - [SMALL_STATE(30)] = 588, - [SMALL_STATE(31)] = 602, - [SMALL_STATE(32)] = 618, - [SMALL_STATE(33)] = 634, - [SMALL_STATE(34)] = 650, - [SMALL_STATE(35)] = 666, - [SMALL_STATE(36)] = 680, - [SMALL_STATE(37)] = 694, - [SMALL_STATE(38)] = 710, - [SMALL_STATE(39)] = 721, - [SMALL_STATE(40)] = 732, - [SMALL_STATE(41)] = 743, - [SMALL_STATE(42)] = 754, - [SMALL_STATE(43)] = 765, - [SMALL_STATE(44)] = 776, - [SMALL_STATE(45)] = 787, - [SMALL_STATE(46)] = 800, - [SMALL_STATE(47)] = 810, - [SMALL_STATE(48)] = 820, - [SMALL_STATE(49)] = 830, - [SMALL_STATE(50)] = 840, + [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, }; 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(47), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [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(27), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [29] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4), - [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 3), - [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 5, .production_id = 4), - [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [37] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(44), - [40] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), - [42] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 5), - [44] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 1), - [46] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 1), - [48] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 4), - [50] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 2), - [52] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 3, .production_id = 2), - [54] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 2), - [56] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 3), - [58] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 2), - [60] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 2), - [62] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2), - [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [66] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(36), - [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), - [73] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(36), - [76] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), - [78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [88] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [90] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [92] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 5), SHIFT_REPEAT(45), + [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(22), - [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [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 = 2, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), SHIFT_REPEAT(5), - [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), - [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), - [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), - [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon_property, 3, .production_id = 3), + [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(aux_sym_map_expression_repeat1, 2, .production_id = 2), - [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__definition, 1), - [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [132] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), - [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), + [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), }; #ifdef __cplusplus diff --git a/test/corpus/expressions.txt b/test/corpus/expressions.txt index f45bb0d..466737a 100644 --- a/test/corpus/expressions.txt +++ b/test/corpus/expressions.txt @@ -1,3 +1,37 @@ +================================================================================ +Boolean +================================================================================ + +foo = false +foo = true + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (boolean_literal)) + (assignment + (identifier) + (boolean_literal))) + +================================================================================ +Boolean (identifier/literal) +================================================================================ + +true = false +false = true + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (boolean_literal)) + (assignment + (identifier) + (boolean_literal))) + ================================================================================ Integer ================================================================================ From 64c29499e7a7d6adac3f3e389ca7e0ff2f60b7d2 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 8 Apr 2024 01:12:35 +0100 Subject: [PATCH 04/10] 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 887d127..9991c26 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", @@ -38,6 +42,8 @@ module.exports = grammar({ $.boolean_literal, $.integer_literal, $._string_literal, + // Conditionals + $.select_expression, // Composites $.list_expression, $.map_expression, @@ -83,6 +89,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)) From dea4120ecebc0a7b0ba5a1061ded858d5f2e1e59 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 8 Apr 2024 01:25:09 +0100 Subject: [PATCH 05/10] Add 'soong_config_variable' selection --- grammar.js | 16 +- src/grammar.json | 68 +- src/node-types.json | 58 + src/parser.c | 2274 ++++++++++++++++++++++------------------ test/corpus/select.txt | 27 + 5 files changed, 1440 insertions(+), 1003 deletions(-) diff --git a/grammar.js b/grammar.js index 9991c26..2811c4f 100644 --- a/grammar.js +++ b/grammar.js @@ -92,7 +92,7 @@ module.exports = grammar({ select_expression: ($) => seq( "select", "(", - $.select_value, + choice($.select_value, $.soong_config_variable), ",", $.select_cases, ")", @@ -108,6 +108,20 @@ module.exports = grammar({ ")", ), + soong_config_variable: ($) => seq( + field("type", alias("soong_config_variable", $.selection_type)), + "(", + field( + "condition", + seq( + field("namespace", $._string_literal), + ",", + field("variable", $._string_literal), + ), + ), + ")", + ), + select_cases: ($) => seq( "{", optional(trailingCommaSeparated($.select_case)), diff --git a/src/grammar.json b/src/grammar.json index 813d77a..59c7327 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -253,8 +253,17 @@ "value": "(" }, { - "type": "SYMBOL", - "name": "select_value" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "select_value" + }, + { + "type": "SYMBOL", + "name": "soong_config_variable" + } + ] }, { "type": "STRING", @@ -317,6 +326,61 @@ } ] }, + "soong_config_variable": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "type", + "content": { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "soong_config_variable" + }, + "named": true, + "value": "selection_type" + } + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "namespace", + "content": { + "type": "SYMBOL", + "name": "_string_literal" + } + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "variable", + "content": { + "type": "SYMBOL", + "name": "_string_literal" + } + } + ] + } + }, + { + "type": "STRING", + "value": ")" + } + ] + }, "select_cases": { "type": "SEQ", "members": [ diff --git a/src/node-types.json b/src/node-types.json index 6d01c69..7ee3cc5 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -348,6 +348,10 @@ { "type": "select_value", "named": true + }, + { + "type": "soong_config_variable", + "named": true } ] } @@ -382,6 +386,60 @@ } } }, + { + "type": "soong_config_variable", + "named": true, + "fields": { + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": ",", + "named": false + } + ] + }, + "namespace": { + "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 + } + ] + }, + "variable": { + "multiple": false, + "required": true, + "types": [ + { + "type": "interpreted_string_literal", + "named": true + }, + { + "type": "raw_string_literal", + "named": true + } + ] + } + } + }, { "type": "source_file", "named": true, diff --git a/src/parser.c b/src/parser.c index cd52097..b5a17ea 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,15 +6,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 82 +#define STATE_COUNT 88 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 52 +#define SYMBOL_COUNT 54 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 29 +#define TOKEN_COUNT 30 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 8 +#define FIELD_COUNT 10 #define MAX_ALIAS_SEQUENCE_LENGTH 6 -#define PRODUCTION_ID_COUNT 8 +#define PRODUCTION_ID_COUNT 9 enum ts_symbol_identifiers { anon_sym_POUND = 1, @@ -38,36 +38,38 @@ enum ts_symbol_identifiers { 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, + anon_sym_soong_config_variable = 22, + anon_sym_LBRACE = 23, + anon_sym_RBRACE = 24, + anon_sym_COLON = 25, + anon_sym_default = 26, + anon_sym_unset = 27, + anon_sym_LBRACK = 28, + anon_sym_RBRACK = 29, + sym_source_file = 30, + sym__definition = 31, + sym_comment = 32, + sym_assignment = 33, + sym__expr = 34, + sym_boolean_literal = 35, + sym_integer_literal = 36, + sym__string_literal = 37, + sym_interpreted_string_literal = 38, + sym_select_expression = 39, + sym_select_value = 40, + sym_soong_config_variable = 41, + sym_select_cases = 42, + sym_select_case = 43, + sym_default_case = 44, + sym__case_value = 45, + sym_list_expression = 46, + sym_map_expression = 47, + sym__colon_property = 48, + aux_sym_source_file_repeat1 = 49, + aux_sym_interpreted_string_literal_repeat1 = 50, + aux_sym_select_cases_repeat1 = 51, + aux_sym_list_expression_repeat1 = 52, + aux_sym_map_expression_repeat1 = 53, }; static const char * const ts_symbol_names[] = { @@ -93,6 +95,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_product_variable] = "selection_type", [anon_sym_release_variable] = "selection_type", [anon_sym_variant] = "selection_type", + [anon_sym_soong_config_variable] = "selection_type", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", [anon_sym_COLON] = ":", @@ -111,6 +114,7 @@ static const char * const ts_symbol_names[] = { [sym_interpreted_string_literal] = "interpreted_string_literal", [sym_select_expression] = "select_expression", [sym_select_value] = "select_value", + [sym_soong_config_variable] = "soong_config_variable", [sym_select_cases] = "select_cases", [sym_select_case] = "select_case", [sym_default_case] = "default_case", @@ -148,6 +152,7 @@ static const TSSymbol ts_symbol_map[] = { [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_soong_config_variable] = anon_sym_product_variable, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, [anon_sym_COLON] = anon_sym_COLON, @@ -166,6 +171,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_interpreted_string_literal] = sym_interpreted_string_literal, [sym_select_expression] = sym_select_expression, [sym_select_value] = sym_select_value, + [sym_soong_config_variable] = sym_soong_config_variable, [sym_select_cases] = sym_select_cases, [sym_select_case] = sym_select_case, [sym_default_case] = sym_default_case, @@ -269,6 +275,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [anon_sym_soong_config_variable] = { + .visible = true, + .named = true, + }, [anon_sym_LBRACE] = { .visible = true, .named = false, @@ -341,6 +351,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_soong_config_variable] = { + .visible = true, + .named = true, + }, [sym_select_cases] = { .visible = true, .named = true, @@ -395,11 +409,13 @@ enum ts_field_identifiers { field_condition = 1, field_field = 2, field_left = 3, - field_operator = 4, - field_pattern = 5, - field_right = 6, - field_type = 7, - field_value = 8, + field_namespace = 4, + field_operator = 5, + field_pattern = 6, + field_right = 7, + field_type = 8, + field_value = 9, + field_variable = 10, }; static const char * const ts_field_names[] = { @@ -407,11 +423,13 @@ static const char * const ts_field_names[] = { [field_condition] = "condition", [field_field] = "field", [field_left] = "left", + [field_namespace] = "namespace", [field_operator] = "operator", [field_pattern] = "pattern", [field_right] = "right", [field_type] = "type", [field_value] = "value", + [field_variable] = "variable", }; static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { @@ -421,7 +439,8 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [4] = {.index = 7, .length = 4}, [5] = {.index = 11, .length = 4}, [6] = {.index = 15, .length = 2}, - [7] = {.index = 17, .length = 2}, + [7] = {.index = 17, .length = 4}, + [8] = {.index = 21, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -449,6 +468,11 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_condition, 2}, {field_type, 0}, [17] = + {field_condition, 3}, + {field_namespace, 2}, + {field_type, 0}, + {field_variable, 4}, + [21] = {field_pattern, 0}, {field_value, 2}, }; @@ -544,6 +568,12 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [79] = 79, [80] = 80, [81] = 81, + [82] = 82, + [83] = 83, + [84] = 84, + [85] = 85, + [86] = 86, + [87] = 87, }; static inline bool sym_identifier_character_set_1(int32_t c) { @@ -4405,767 +4435,936 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(62); - if (lookahead == '"') ADVANCE(137); - if (lookahead == '#') ADVANCE(63); - if (lookahead == '(') ADVANCE(142); - if (lookahead == ')') ADVANCE(144); + if (eof) ADVANCE(82); + if (lookahead == '"') ADVANCE(177); + if (lookahead == '#') ADVANCE(83); + if (lookahead == '(') ADVANCE(182); + if (lookahead == ')') ADVANCE(184); 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(183); + if (lookahead == '-') ADVANCE(171); + if (lookahead == ':') ADVANCE(195); + if (lookahead == '=') ADVANCE(88); + if (lookahead == '[') ADVANCE(199); 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 (lookahead == ']') ADVANCE(200); + if (lookahead == '`') ADVANCE(79); + if (lookahead == 'd') ADVANCE(112); + if (lookahead == 'f') ADVANCE(94); + if (lookahead == 'p') ADVANCE(148); + if (lookahead == 'r') ADVANCE(120); + if (lookahead == 's') ADVANCE(122); + if (lookahead == 't') ADVANCE(149); + if (lookahead == 'u') ADVANCE(141); + if (lookahead == 'v') ADVANCE(97); + if (lookahead == '{') ADVANCE(193); + if (lookahead == '}') ADVANCE(194); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(60) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(132); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(128); + lookahead == ' ') SKIP(80) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(172); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(168); END_STATE(); case 1: if (lookahead == '\n') SKIP(2) - if (lookahead == '"') ADVANCE(137); - if (lookahead == '#') ADVANCE(64); + if (lookahead == '"') ADVANCE(177); + if (lookahead == '#') ADVANCE(84); if (lookahead == '\\') ADVANCE(7); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(135); - if (lookahead != 0) ADVANCE(136); + lookahead == ' ') ADVANCE(175); + if (lookahead != 0) ADVANCE(176); END_STATE(); case 2: if (lookahead == '\n') SKIP(2) - if (lookahead == '#') ADVANCE(64); + if (lookahead == '#') ADVANCE(84); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(135); + lookahead == ' ') ADVANCE(175); if (lookahead != 0 && lookahead != '"' && - lookahead != '\\') ADVANCE(136); + lookahead != '\\') ADVANCE(176); END_STATE(); case 3: - 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 (lookahead == '"') ADVANCE(174); + if (lookahead == '#') ADVANCE(83); + if (lookahead == '-') ADVANCE(171); + if (lookahead == '[') ADVANCE(199); + if (lookahead == ']') ADVANCE(200); + if (lookahead == '`') ADVANCE(79); + if (lookahead == 'f') ADVANCE(94); + if (lookahead == 's') ADVANCE(123); + if (lookahead == 't') ADVANCE(149); + if (lookahead == '{') ADVANCE(193); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(3) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(132); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(128); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(172); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(168); END_STATE(); case 4: - 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 (lookahead == '"') ADVANCE(174); + if (lookahead == '#') ADVANCE(83); + if (lookahead == '-') ADVANCE(171); + if (lookahead == '[') ADVANCE(199); + if (lookahead == '`') ADVANCE(79); + if (lookahead == 'f') ADVANCE(94); + if (lookahead == 's') ADVANCE(123); + if (lookahead == 't') ADVANCE(149); + if (lookahead == 'u') ADVANCE(141); + if (lookahead == '{') ADVANCE(193); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(4) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(132); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(128); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(172); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(168); END_STATE(); case 5: - 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 (lookahead == '"') ADVANCE(174); + if (lookahead == '#') ADVANCE(83); + if (lookahead == '`') ADVANCE(79); + if (lookahead == 'd') ADVANCE(29); + if (lookahead == 'p') ADVANCE(58); + if (lookahead == 'r') ADVANCE(30); + if (lookahead == 's') ADVANCE(55); + if (lookahead == 'v') ADVANCE(16); + if (lookahead == '}') ADVANCE(194); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(5) END_STATE(); case 6: - if (lookahead == '=') ADVANCE(69); + if (lookahead == '=') ADVANCE(89); END_STATE(); case 7: - 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); + if (lookahead == 'U') ADVANCE(78); + if (lookahead == 'u') ADVANCE(74); + if (lookahead == 'x') ADVANCE(72); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(180); + if (lookahead != 0) ADVANCE(178); END_STATE(); case 8: - if (lookahead == '_') ADVANCE(49); + if (lookahead == '_') ADVANCE(68); END_STATE(); case 9: - if (lookahead == '_') ADVANCE(50); + if (lookahead == '_') ADVANCE(27); END_STATE(); case 10: - if (lookahead == '`') ADVANCE(133); - if (lookahead != 0) ADVANCE(10); + if (lookahead == '_') ADVANCE(69); END_STATE(); case 11: - if (lookahead == 'a') ADVANCE(48); + if (lookahead == '_') ADVANCE(70); END_STATE(); case 12: - if (lookahead == 'a') ADVANCE(43); + if (lookahead == '`') ADVANCE(173); + if (lookahead != 0) ADVANCE(12); END_STATE(); case 13: - if (lookahead == 'a') ADVANCE(37); + if (lookahead == 'a') ADVANCE(67); END_STATE(); case 14: - if (lookahead == 'a') ADVANCE(19); + if (lookahead == 'a') ADVANCE(62); END_STATE(); case 15: - if (lookahead == 'a') ADVANCE(40); + if (lookahead == 'a') ADVANCE(23); END_STATE(); case 16: - if (lookahead == 'a') ADVANCE(41); + if (lookahead == 'a') ADVANCE(57); END_STATE(); case 17: - if (lookahead == 'a') ADVANCE(20); + if (lookahead == 'a') ADVANCE(52); END_STATE(); case 18: - if (lookahead == 'a') ADVANCE(42); + if (lookahead == 'a') ADVANCE(59); END_STATE(); case 19: - if (lookahead == 'b') ADVANCE(35); + if (lookahead == 'a') ADVANCE(24); END_STATE(); case 20: - if (lookahead == 'b') ADVANCE(36); + if (lookahead == 'a') ADVANCE(60); END_STATE(); case 21: - if (lookahead == 'c') ADVANCE(45); + if (lookahead == 'a') ADVANCE(25); END_STATE(); case 22: - if (lookahead == 'd') ADVANCE(47); + if (lookahead == 'a') ADVANCE(61); END_STATE(); case 23: - if (lookahead == 'e') ADVANCE(29); + if (lookahead == 'b') ADVANCE(47); END_STATE(); case 24: - if (lookahead == 'e') ADVANCE(34); + if (lookahead == 'b') ADVANCE(48); END_STATE(); case 25: - if (lookahead == 'e') ADVANCE(145); + if (lookahead == 'b') ADVANCE(49); END_STATE(); case 26: - if (lookahead == 'e') ADVANCE(147); + if (lookahead == 'c') ADVANCE(65); END_STATE(); case 27: - if (lookahead == 'e') ADVANCE(12); + if (lookahead == 'c') ADVANCE(56); END_STATE(); case 28: - if (lookahead == 'e') ADVANCE(9); + if (lookahead == 'd') ADVANCE(66); END_STATE(); case 29: - if (lookahead == 'f') ADVANCE(11); + if (lookahead == 'e') ADVANCE(36); END_STATE(); case 30: - if (lookahead == 'i') ADVANCE(13); + if (lookahead == 'e') ADVANCE(46); END_STATE(); case 31: - if (lookahead == 'i') ADVANCE(14); + if (lookahead == 'e') ADVANCE(185); END_STATE(); case 32: - if (lookahead == 'i') ADVANCE(17); + if (lookahead == 'e') ADVANCE(187); END_STATE(); case 33: - if (lookahead == 'l') ADVANCE(44); + if (lookahead == 'e') ADVANCE(191); END_STATE(); case 34: - if (lookahead == 'l') ADVANCE(27); + if (lookahead == 'e') ADVANCE(14); END_STATE(); case 35: - if (lookahead == 'l') ADVANCE(25); + if (lookahead == 'e') ADVANCE(10); END_STATE(); case 36: - if (lookahead == 'l') ADVANCE(26); + if (lookahead == 'f') ADVANCE(13); END_STATE(); case 37: - if (lookahead == 'n') ADVANCE(46); + if (lookahead == 'f') ADVANCE(42); END_STATE(); case 38: - if (lookahead == 'o') ADVANCE(22); + if (lookahead == 'g') ADVANCE(9); END_STATE(); case 39: - if (lookahead == 'r') ADVANCE(38); + if (lookahead == 'g') ADVANCE(11); END_STATE(); case 40: - if (lookahead == 'r') ADVANCE(30); + if (lookahead == 'i') ADVANCE(17); END_STATE(); case 41: - if (lookahead == 'r') ADVANCE(31); + if (lookahead == 'i') ADVANCE(15); END_STATE(); case 42: - if (lookahead == 'r') ADVANCE(32); + if (lookahead == 'i') ADVANCE(39); END_STATE(); case 43: - if (lookahead == 's') ADVANCE(28); + if (lookahead == 'i') ADVANCE(19); END_STATE(); case 44: - if (lookahead == 't') ADVANCE(154); + if (lookahead == 'i') ADVANCE(21); END_STATE(); case 45: - if (lookahead == 't') ADVANCE(8); + if (lookahead == 'l') ADVANCE(63); END_STATE(); case 46: - if (lookahead == 't') ADVANCE(149); + if (lookahead == 'l') ADVANCE(34); END_STATE(); case 47: - if (lookahead == 'u') ADVANCE(21); + if (lookahead == 'l') ADVANCE(31); END_STATE(); case 48: - if (lookahead == 'u') ADVANCE(33); + if (lookahead == 'l') ADVANCE(32); END_STATE(); case 49: - if (lookahead == 'v') ADVANCE(16); + if (lookahead == 'l') ADVANCE(33); END_STATE(); case 50: - if (lookahead == 'v') ADVANCE(18); + if (lookahead == 'n') ADVANCE(38); END_STATE(); case 51: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(138); + if (lookahead == 'n') ADVANCE(37); END_STATE(); case 52: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(51); + if (lookahead == 'n') ADVANCE(64); END_STATE(); case 53: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(52); + if (lookahead == 'o') ADVANCE(28); END_STATE(); case 54: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(53); + if (lookahead == 'o') ADVANCE(50); END_STATE(); case 55: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(54); + if (lookahead == 'o') ADVANCE(54); END_STATE(); case 56: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(55); + if (lookahead == 'o') ADVANCE(51); END_STATE(); case 57: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(56); + if (lookahead == 'r') ADVANCE(40); END_STATE(); case 58: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(57); + if (lookahead == 'r') ADVANCE(53); END_STATE(); case 59: - if (lookahead != 0 && - lookahead != '`') ADVANCE(10); + if (lookahead == 'r') ADVANCE(41); 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); + if (lookahead == 'r') ADVANCE(43); 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); + if (lookahead == 'r') ADVANCE(44); END_STATE(); case 62: - ACCEPT_TOKEN(ts_builtin_sym_end); + if (lookahead == 's') ADVANCE(35); END_STATE(); case 63: - ACCEPT_TOKEN(anon_sym_POUND); + if (lookahead == 't') ADVANCE(196); END_STATE(); case 64: + if (lookahead == 't') ADVANCE(189); + END_STATE(); + case 65: + if (lookahead == 't') ADVANCE(8); + END_STATE(); + case 66: + if (lookahead == 'u') ADVANCE(26); + END_STATE(); + case 67: + if (lookahead == 'u') ADVANCE(45); + END_STATE(); + case 68: + if (lookahead == 'v') ADVANCE(18); + END_STATE(); + case 69: + if (lookahead == 'v') ADVANCE(20); + END_STATE(); + case 70: + if (lookahead == 'v') ADVANCE(22); + END_STATE(); + case 71: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(178); + END_STATE(); + case 72: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(71); + END_STATE(); + case 73: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(72); + END_STATE(); + case 74: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(73); + END_STATE(); + case 75: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(74); + END_STATE(); + case 76: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(75); + END_STATE(); + case 77: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(76); + END_STATE(); + case 78: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(77); + END_STATE(); + case 79: + if (lookahead != 0 && + lookahead != '`') ADVANCE(12); + END_STATE(); + case 80: + if (eof) ADVANCE(82); + if (lookahead == '"') ADVANCE(174); + if (lookahead == '#') ADVANCE(83); + if (lookahead == '(') ADVANCE(182); + if (lookahead == ')') ADVANCE(184); + if (lookahead == '+') ADVANCE(6); + if (lookahead == ',') ADVANCE(183); + if (lookahead == '-') ADVANCE(171); + if (lookahead == ':') ADVANCE(195); + if (lookahead == '=') ADVANCE(88); + if (lookahead == '[') ADVANCE(199); + if (lookahead == ']') ADVANCE(200); + if (lookahead == '`') ADVANCE(79); + if (lookahead == 'd') ADVANCE(112); + if (lookahead == 'f') ADVANCE(94); + if (lookahead == 'p') ADVANCE(148); + if (lookahead == 'r') ADVANCE(120); + if (lookahead == 's') ADVANCE(122); + if (lookahead == 't') ADVANCE(149); + if (lookahead == 'u') ADVANCE(141); + if (lookahead == 'v') ADVANCE(97); + if (lookahead == '{') ADVANCE(193); + if (lookahead == '}') ADVANCE(194); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(80) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(172); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(168); + END_STATE(); + case 81: + if (eof) ADVANCE(82); + if (lookahead == '"') ADVANCE(174); + if (lookahead == '#') ADVANCE(83); + if (lookahead == ')') ADVANCE(184); + if (lookahead == ',') ADVANCE(183); + if (lookahead == ':') ADVANCE(195); + if (lookahead == ']') ADVANCE(200); + if (lookahead == '`') ADVANCE(79); + if (lookahead == '}') ADVANCE(194); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(81) + if (sym_identifier_character_set_1(lookahead)) ADVANCE(168); + END_STATE(); + case 82: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 83: + ACCEPT_TOKEN(anon_sym_POUND); + END_STATE(); + case 84: 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); + lookahead != '\\') ADVANCE(176); END_STATE(); case 85: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'd') ADVANCE(125); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + ACCEPT_TOKEN(anon_sym_POUND); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(87); END_STATE(); case 86: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(97); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + ACCEPT_TOKEN(aux_sym_comment_token1); + if (lookahead == '#') ADVANCE(85); + if (lookahead == '\t' || + (11 <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(86); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(87); END_STATE(); case 87: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(83); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + ACCEPT_TOKEN(aux_sym_comment_token1); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(87); END_STATE(); case 88: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(129); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 89: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(118); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + ACCEPT_TOKEN(anon_sym_PLUS_EQ); END_STATE(); case 90: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(130); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == '_') ADVANCE(165); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(168); END_STATE(); case 91: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(146); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == '_') ADVANCE(109); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(168); END_STATE(); case 92: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(148); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == '_') ADVANCE(166); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(168); END_STATE(); case 93: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(101); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == '_') ADVANCE(167); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(168); END_STATE(); case 94: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(78); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'a') ADVANCE(140); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); END_STATE(); case 95: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(103); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'a') ADVANCE(105); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); END_STATE(); case 96: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(71); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'a') ADVANCE(162); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); END_STATE(); case 97: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'f') ADVANCE(75); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'a') ADVANCE(150); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); END_STATE(); case 98: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(74); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'a') ADVANCE(144); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); END_STATE(); case 99: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(73); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'a') ADVANCE(151); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); END_STATE(); case 100: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(79); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'a') ADVANCE(156); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); END_STATE(); case 101: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(94); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'a') ADVANCE(106); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); END_STATE(); case 102: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(120); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'a') ADVANCE(152); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); END_STATE(); case 103: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(87); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'a') ADVANCE(107); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); END_STATE(); case 104: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(91); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'a') ADVANCE(153); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); END_STATE(); case 105: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(92); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'b') ADVANCE(137); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 106: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(116); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'b') ADVANCE(138); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 107: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(115); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'b') ADVANCE(139); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 108: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(122); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'c') ADVANCE(158); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 109: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(85); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'c') ADVANCE(147); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 110: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(109); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'c') ADVANCE(161); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 111: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(124); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'd') ADVANCE(164); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 112: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(98); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'e') ADVANCE(126); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 113: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(99); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'e') ADVANCE(108); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 114: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(100); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'e') ADVANCE(169); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 115: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(89); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'e') ADVANCE(157); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 116: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(90); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'e') ADVANCE(170); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 117: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(96); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'e') ADVANCE(186); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 118: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(156); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'e') ADVANCE(188); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 119: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(141); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'e') ADVANCE(192); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 120: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(155); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'e') ADVANCE(134); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 121: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(70); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'e') ADVANCE(100); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 122: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(150); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'e') ADVANCE(136); + if (lookahead == 'o') ADVANCE(146); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 123: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(102); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'e') ADVANCE(136); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 124: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(88); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'e') ADVANCE(92); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 125: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(84); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'f') ADVANCE(131); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 126: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'v') ADVANCE(77); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'f') ADVANCE(96); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 127: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'v') ADVANCE(80); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'g') ADVANCE(91); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 128: ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (lookahead == 'g') ADVANCE(93); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 129: - ACCEPT_TOKEN(anon_sym_true); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'i') ADVANCE(98); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 130: - ACCEPT_TOKEN(anon_sym_false); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'i') ADVANCE(95); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 131: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'i') ADVANCE(128); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 132: - ACCEPT_TOKEN(aux_sym_integer_literal_token1); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(132); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'i') ADVANCE(101); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 133: - ACCEPT_TOKEN(sym_raw_string_literal); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'i') ADVANCE(103); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 134: - ACCEPT_TOKEN(anon_sym_DQUOTE); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(121); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); 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); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(159); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); case 136: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(113); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 137: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(117); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 138: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(118); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 139: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(119); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 140: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(155); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 141: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'n') ADVANCE(154); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 142: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'n') ADVANCE(127); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 143: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'n') ADVANCE(125); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 144: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'n') ADVANCE(160); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 145: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'o') ADVANCE(111); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 146: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'o') ADVANCE(142); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 147: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'o') ADVANCE(143); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 148: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(145); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 149: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(163); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 150: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(129); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 151: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(130); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 152: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(132); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 153: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(133); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 154: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 's') ADVANCE(115); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 155: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 's') ADVANCE(116); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 156: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 's') ADVANCE(124); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 157: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(198); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 158: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(181); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 159: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(197); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 160: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(190); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 161: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(90); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 162: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(135); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 163: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(114); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 164: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(110); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 165: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'v') ADVANCE(99); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 166: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'v') ADVANCE(102); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 167: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'v') ADVANCE(104); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 168: + ACCEPT_TOKEN(sym_identifier); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 169: + ACCEPT_TOKEN(anon_sym_true); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 170: + ACCEPT_TOKEN(anon_sym_false); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 171: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 172: + ACCEPT_TOKEN(aux_sym_integer_literal_token1); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(172); + END_STATE(); + case 173: + ACCEPT_TOKEN(sym_raw_string_literal); + END_STATE(); + case 174: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 175: + ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); + if (lookahead == '#') ADVANCE(84); + if (lookahead == '\t' || + (11 <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(175); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(176); + END_STATE(); + case 176: ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(136); + lookahead != '\\') ADVANCE(176); END_STATE(); - case 137: + case 177: ACCEPT_TOKEN(anon_sym_DQUOTE2); END_STATE(); - case 138: + case 178: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); - case 139: + case 179: ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(138); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(178); END_STATE(); - case 140: + case 180: ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(139); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(179); END_STATE(); - case 141: + case 181: ACCEPT_TOKEN(anon_sym_select); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); - case 142: + case 182: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 143: + case 183: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 144: + case 184: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 145: + case 185: ACCEPT_TOKEN(anon_sym_product_variable); END_STATE(); - case 146: + case 186: ACCEPT_TOKEN(anon_sym_product_variable); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); - case 147: + case 187: ACCEPT_TOKEN(anon_sym_release_variable); END_STATE(); - case 148: + case 188: ACCEPT_TOKEN(anon_sym_release_variable); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); - case 149: + case 189: ACCEPT_TOKEN(anon_sym_variant); END_STATE(); - case 150: + case 190: ACCEPT_TOKEN(anon_sym_variant); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); - case 151: + case 191: + ACCEPT_TOKEN(anon_sym_soong_config_variable); + END_STATE(); + case 192: + ACCEPT_TOKEN(anon_sym_soong_config_variable); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + END_STATE(); + case 193: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 152: + case 194: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 153: + case 195: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 154: + case 196: ACCEPT_TOKEN(anon_sym_default); END_STATE(); - case 155: + case 197: ACCEPT_TOKEN(anon_sym_default); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); - case 156: + case 198: ACCEPT_TOKEN(anon_sym_unset); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(128); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); END_STATE(); - case 157: + case 199: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 158: + case 200: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); default: @@ -5175,7 +5374,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 61}, + [1] = {.lex_state = 81}, [2] = {.lex_state = 4}, [3] = {.lex_state = 4}, [4] = {.lex_state = 3}, @@ -5187,50 +5386,50 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [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}, + [13] = {.lex_state = 81}, + [14] = {.lex_state = 81}, + [15] = {.lex_state = 81}, + [16] = {.lex_state = 5}, + [17] = {.lex_state = 81}, + [18] = {.lex_state = 81}, + [19] = {.lex_state = 81}, + [20] = {.lex_state = 81}, + [21] = {.lex_state = 81}, + [22] = {.lex_state = 81}, + [23] = {.lex_state = 81}, + [24] = {.lex_state = 81}, + [25] = {.lex_state = 81}, + [26] = {.lex_state = 81}, + [27] = {.lex_state = 81}, + [28] = {.lex_state = 81}, + [29] = {.lex_state = 81}, + [30] = {.lex_state = 81}, + [31] = {.lex_state = 81}, + [32] = {.lex_state = 81}, + [33] = {.lex_state = 81}, [34] = {.lex_state = 1}, [35] = {.lex_state = 1}, - [36] = {.lex_state = 61}, - [37] = {.lex_state = 5}, - [38] = {.lex_state = 0}, - [39] = {.lex_state = 1}, + [36] = {.lex_state = 5}, + [37] = {.lex_state = 81}, + [38] = {.lex_state = 1}, + [39] = {.lex_state = 81}, [40] = {.lex_state = 0}, - [41] = {.lex_state = 61}, + [41] = {.lex_state = 81}, [42] = {.lex_state = 0}, - [43] = {.lex_state = 61}, + [43] = {.lex_state = 0}, [44] = {.lex_state = 0}, - [45] = {.lex_state = 0}, + [45] = {.lex_state = 81}, [46] = {.lex_state = 0}, - [47] = {.lex_state = 61}, - [48] = {.lex_state = 61}, - [49] = {.lex_state = 0}, - [50] = {.lex_state = 0}, - [51] = {.lex_state = 0}, - [52] = {.lex_state = 61}, + [47] = {.lex_state = 1}, + [48] = {.lex_state = 0}, + [49] = {.lex_state = 81}, + [50] = {.lex_state = 81}, + [51] = {.lex_state = 81}, + [52] = {.lex_state = 0}, [53] = {.lex_state = 0}, - [54] = {.lex_state = 61}, - [55] = {.lex_state = 61}, - [56] = {.lex_state = 0}, + [54] = {.lex_state = 0}, + [55] = {.lex_state = 81}, + [56] = {.lex_state = 81}, [57] = {.lex_state = 0}, [58] = {.lex_state = 0}, [59] = {.lex_state = 0}, @@ -5239,10 +5438,10 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [62] = {.lex_state = 0}, [63] = {.lex_state = 0}, [64] = {.lex_state = 0}, - [65] = {.lex_state = 0}, + [65] = {.lex_state = 86}, [66] = {.lex_state = 0}, [67] = {.lex_state = 0}, - [68] = {.lex_state = 66}, + [68] = {.lex_state = 0}, [69] = {.lex_state = 0}, [70] = {.lex_state = 0}, [71] = {.lex_state = 0}, @@ -5255,7 +5454,13 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [78] = {.lex_state = 0}, [79] = {.lex_state = 0}, [80] = {.lex_state = 0}, - [81] = {(TSStateId)(-1)}, + [81] = {.lex_state = 0}, + [82] = {.lex_state = 0}, + [83] = {.lex_state = 0}, + [84] = {.lex_state = 0}, + [85] = {.lex_state = 0}, + [86] = {.lex_state = 0}, + [87] = {(TSStateId)(-1)}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -5281,6 +5486,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_product_variable] = ACTIONS(1), [anon_sym_release_variable] = ACTIONS(1), [anon_sym_variant] = ACTIONS(1), + [anon_sym_soong_config_variable] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), [anon_sym_COLON] = ACTIONS(1), @@ -5290,11 +5496,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_RBRACK] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(58), - [sym__definition] = STATE(52), + [sym_source_file] = STATE(75), + [sym__definition] = STATE(50), [sym_comment] = STATE(1), - [sym_assignment] = STATE(54), - [aux_sym_source_file_repeat1] = STATE(22), + [sym_assignment] = STATE(56), + [aux_sym_source_file_repeat1] = STATE(31), [ts_builtin_sym_end] = ACTIONS(5), [anon_sym_POUND] = ACTIONS(3), [sym_identifier] = ACTIONS(7), @@ -5327,14 +5533,14 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(15), 1, sym_interpreted_string_literal, - STATE(76), 1, + STATE(82), 1, sym__expr, - STATE(78), 1, + STATE(84), 1, sym__case_value, ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(27), 6, + STATE(26), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5366,14 +5572,14 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(15), 1, sym_interpreted_string_literal, - STATE(76), 1, + STATE(82), 1, sym__expr, - STATE(77), 1, + STATE(83), 1, sym__case_value, ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(27), 6, + STATE(26), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5405,12 +5611,12 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(15), 1, sym_interpreted_string_literal, - STATE(51), 1, + STATE(54), 1, sym__expr, ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(27), 6, + STATE(26), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5442,12 +5648,12 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(15), 1, sym_interpreted_string_literal, - STATE(51), 1, + STATE(40), 1, sym__expr, ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(27), 6, + STATE(26), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5479,12 +5685,12 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(15), 1, sym_interpreted_string_literal, - STATE(38), 1, + STATE(54), 1, sym__expr, ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(27), 6, + STATE(26), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5514,12 +5720,12 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(15), 1, sym_interpreted_string_literal, - STATE(51), 1, + STATE(54), 1, sym__expr, ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(27), 6, + STATE(26), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5549,12 +5755,12 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(15), 1, sym_interpreted_string_literal, - STATE(48), 1, + STATE(55), 1, sym__expr, ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(27), 6, + STATE(26), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5584,12 +5790,12 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(15), 1, sym_interpreted_string_literal, - STATE(53), 1, + STATE(57), 1, sym__expr, ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(27), 6, + STATE(26), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5609,15 +5815,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_default, STATE(10), 1, sym_comment, - STATE(12), 1, + STATE(11), 1, aux_sym_select_cases_repeat1, STATE(15), 1, sym_interpreted_string_literal, - STATE(57), 1, - sym__string_literal, - STATE(65), 1, + STATE(59), 1, sym_select_case, - STATE(74), 1, + STATE(68), 1, + sym__string_literal, + STATE(70), 1, sym_default_case, [447] = 11, ACTIONS(3), 1, @@ -5630,17 +5836,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_default, ACTIONS(39), 1, anon_sym_RBRACE, - STATE(10), 1, - aux_sym_select_cases_repeat1, STATE(11), 1, sym_comment, + STATE(12), 1, + aux_sym_select_cases_repeat1, STATE(15), 1, sym_interpreted_string_literal, - STATE(57), 1, - sym__string_literal, - STATE(65), 1, + STATE(59), 1, sym_select_case, - STATE(66), 1, + STATE(68), 1, + sym__string_literal, + STATE(79), 1, sym_default_case, [481] = 8, ACTIONS(3), 1, @@ -5651,10 +5857,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, STATE(15), 1, sym_interpreted_string_literal, - STATE(57), 1, - sym__string_literal, - STATE(65), 1, + STATE(59), 1, sym_select_case, + STATE(68), 1, + sym__string_literal, ACTIONS(47), 2, anon_sym_RBRACE, anon_sym_default, @@ -5700,43 +5906,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_COLON, anon_sym_RBRACK, - [556] = 3, + [556] = 5, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(57), 1, + anon_sym_soong_config_variable, STATE(16), 1, sym_comment, - ACTIONS(55), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [570] = 3, + STATE(60), 2, + sym_select_value, + sym_soong_config_variable, + ACTIONS(55), 3, + anon_sym_product_variable, + anon_sym_release_variable, + anon_sym_variant, + [575] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(17), 1, sym_comment, - ACTIONS(57), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [584] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(18), 1, - sym_comment, ACTIONS(59), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RBRACK, - [598] = 3, + [589] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(19), 1, + STATE(18), 1, sym_comment, ACTIONS(61), 5, ts_builtin_sym_end, @@ -5744,10 +5942,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RBRACK, - [612] = 3, + [603] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(20), 1, + STATE(19), 1, sym_comment, ACTIONS(63), 5, ts_builtin_sym_end, @@ -5755,10 +5953,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RBRACK, - [626] = 3, + [617] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(21), 1, + STATE(20), 1, sym_comment, ACTIONS(65), 5, ts_builtin_sym_end, @@ -5766,25 +5964,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RBRACK, - [640] = 7, + [631] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(7), 1, - sym_identifier, - ACTIONS(67), 1, - ts_builtin_sym_end, - STATE(22), 1, + STATE(21), 1, sym_comment, - STATE(28), 1, - aux_sym_source_file_repeat1, - STATE(52), 1, - sym__definition, - STATE(54), 1, - sym_assignment, - [662] = 3, + ACTIONS(67), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + [645] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(23), 1, + STATE(22), 1, sym_comment, ACTIONS(69), 5, ts_builtin_sym_end, @@ -5792,10 +5986,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RBRACK, - [676] = 3, + [659] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(24), 1, + STATE(23), 1, sym_comment, ACTIONS(71), 5, ts_builtin_sym_end, @@ -5803,10 +5997,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RBRACK, - [690] = 3, + [673] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(25), 1, + STATE(24), 1, sym_comment, ACTIONS(73), 5, ts_builtin_sym_end, @@ -5814,10 +6008,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RBRACK, - [704] = 3, + [687] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(26), 1, + STATE(25), 1, sym_comment, ACTIONS(75), 5, ts_builtin_sym_end, @@ -5825,10 +6019,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RBRACK, - [718] = 3, + [701] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(27), 1, + STATE(26), 1, sym_comment, ACTIONS(77), 5, ts_builtin_sym_end, @@ -5836,103 +6030,80 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RBRACK, - [732] = 6, + [715] = 3, 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, + STATE(27), 1, sym_comment, - aux_sym_source_file_repeat1, - [752] = 3, + ACTIONS(79), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + [729] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(28), 1, + sym_comment, + ACTIONS(81), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + [743] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(29), 1, sym_comment, - ACTIONS(84), 5, + ACTIONS(83), 5, ts_builtin_sym_end, sym_identifier, anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RBRACK, - [766] = 3, + [757] = 6, ACTIONS(3), 1, anon_sym_POUND, - STATE(30), 1, + ACTIONS(85), 1, + ts_builtin_sym_end, + ACTIONS(87), 1, + sym_identifier, + STATE(50), 1, + sym__definition, + STATE(56), 1, + sym_assignment, + STATE(30), 2, sym_comment, - ACTIONS(86), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [780] = 3, + aux_sym_source_file_repeat1, + [777] = 7, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(90), 1, + ts_builtin_sym_end, + STATE(30), 1, + aux_sym_source_file_repeat1, 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, + STATE(50), 1, + sym__definition, + STATE(56), 1, + sym_assignment, + [799] = 3, 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(92), 5, + ts_builtin_sym_end, + sym_identifier, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + [813] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(17), 1, @@ -5941,371 +6112,463 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, STATE(15), 1, sym_interpreted_string_literal, - STATE(36), 1, + STATE(33), 1, sym_comment, - STATE(69), 1, + STATE(72), 1, sym__string_literal, - [883] = 3, + [832] = 6, + ACTIONS(94), 1, + anon_sym_POUND, + ACTIONS(96), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(98), 1, + anon_sym_DQUOTE2, + ACTIONS(100), 1, + sym_escape_sequence, + STATE(34), 1, + sym_comment, + STATE(35), 1, + aux_sym_interpreted_string_literal_repeat1, + [851] = 5, + ACTIONS(94), 1, + anon_sym_POUND, + ACTIONS(102), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(105), 1, + anon_sym_DQUOTE2, + ACTIONS(107), 1, + sym_escape_sequence, + STATE(35), 2, + sym_comment, + aux_sym_interpreted_string_literal_repeat1, + [868] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(37), 1, + STATE(36), 1, sym_comment, ACTIONS(47), 4, sym_raw_string_literal, anon_sym_DQUOTE, anon_sym_RBRACE, anon_sym_default, - [896] = 5, + [881] = 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(37), 1, + sym_comment, + STATE(73), 1, + sym__string_literal, + [900] = 6, + ACTIONS(94), 1, + anon_sym_POUND, + ACTIONS(96), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(100), 1, + sym_escape_sequence, ACTIONS(110), 1, - anon_sym_COMMA, - ACTIONS(112), 1, - anon_sym_RBRACK, + anon_sym_DQUOTE2, + STATE(34), 1, + aux_sym_interpreted_string_literal_repeat1, STATE(38), 1, sym_comment, - STATE(42), 1, - aux_sym_list_expression_repeat1, - [912] = 4, - ACTIONS(92), 1, + [919] = 6, + ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(114), 1, - aux_sym_interpreted_string_literal_token1, + ACTIONS(17), 1, + sym_raw_string_literal, + ACTIONS(19), 1, + anon_sym_DQUOTE, + STATE(15), 1, + sym_interpreted_string_literal, STATE(39), 1, sym_comment, - ACTIONS(116), 2, - anon_sym_DQUOTE2, - sym_escape_sequence, - [926] = 5, + STATE(80), 1, + sym__string_literal, + [938] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(118), 1, + ACTIONS(112), 1, anon_sym_COMMA, - ACTIONS(120), 1, - anon_sym_RBRACE, + ACTIONS(114), 1, + anon_sym_RBRACK, STATE(40), 1, sym_comment, - STATE(46), 1, - aux_sym_map_expression_repeat1, - [942] = 5, + STATE(43), 1, + aux_sym_list_expression_repeat1, + [954] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(122), 1, + ACTIONS(116), 1, sym_identifier, - ACTIONS(124), 1, + ACTIONS(118), 1, anon_sym_RBRACE, STATE(41), 1, sym_comment, - STATE(45), 1, + STATE(53), 1, sym__colon_property, - [958] = 5, + [970] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(31), 1, - anon_sym_RBRACK, - ACTIONS(126), 1, + ACTIONS(120), 1, anon_sym_COMMA, + ACTIONS(122), 1, + anon_sym_RBRACE, STATE(42), 1, sym_comment, - STATE(44), 1, - aux_sym_list_expression_repeat1, - [974] = 5, + STATE(46), 1, + aux_sym_map_expression_repeat1, + [986] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(122), 1, - sym_identifier, - ACTIONS(128), 1, - anon_sym_RBRACE, + ACTIONS(29), 1, + anon_sym_RBRACK, + ACTIONS(124), 1, + anon_sym_COMMA, 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, + STATE(48), 1, aux_sym_list_expression_repeat1, - [1004] = 5, + [1002] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(135), 1, + ACTIONS(126), 1, anon_sym_COMMA, - ACTIONS(137), 1, + ACTIONS(128), 1, anon_sym_RBRACE, - STATE(40), 1, + STATE(42), 1, aux_sym_map_expression_repeat1, + STATE(44), 1, + sym_comment, + [1018] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(130), 1, + anon_sym_RBRACE, + STATE(44), 1, + sym__colon_property, STATE(45), 1, sym_comment, - [1020] = 4, + [1034] = 4, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(139), 1, + ACTIONS(132), 1, anon_sym_COMMA, - ACTIONS(142), 1, + ACTIONS(135), 1, anon_sym_RBRACE, STATE(46), 2, sym_comment, aux_sym_map_expression_repeat1, - [1034] = 5, - ACTIONS(3), 1, + [1048] = 4, + ACTIONS(94), 1, anon_sym_POUND, - ACTIONS(122), 1, - sym_identifier, - ACTIONS(144), 1, - anon_sym_RBRACE, + ACTIONS(137), 1, + aux_sym_interpreted_string_literal_token1, STATE(47), 1, sym_comment, - STATE(49), 1, - sym__colon_property, - [1050] = 3, + ACTIONS(139), 2, + anon_sym_DQUOTE2, + sym_escape_sequence, + [1062] = 4, ACTIONS(3), 1, anon_sym_POUND, - STATE(48), 1, - sym_comment, - ACTIONS(146), 2, - ts_builtin_sym_end, - sym_identifier, - [1061] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(49), 1, - sym_comment, - ACTIONS(148), 2, + ACTIONS(141), 1, anon_sym_COMMA, + ACTIONS(144), 1, + anon_sym_RBRACK, + STATE(48), 2, + sym_comment, + aux_sym_list_expression_repeat1, + [1076] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(146), 1, anon_sym_RBRACE, - [1072] = 3, + STATE(49), 1, + sym_comment, + STATE(53), 1, + sym__colon_property, + [1092] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(50), 1, sym_comment, - ACTIONS(150), 2, - anon_sym_EQ, - anon_sym_PLUS_EQ, - [1083] = 3, + ACTIONS(148), 2, + ts_builtin_sym_end, + sym_identifier, + [1103] = 4, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(116), 1, + sym_identifier, STATE(51), 1, sym_comment, - ACTIONS(133), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [1094] = 3, + STATE(53), 1, + sym__colon_property, + [1116] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(52), 1, sym_comment, - ACTIONS(152), 2, - ts_builtin_sym_end, - sym_identifier, - [1105] = 3, + ACTIONS(150), 2, + anon_sym_EQ, + anon_sym_PLUS_EQ, + [1127] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(53), 1, sym_comment, - ACTIONS(154), 2, + ACTIONS(152), 2, anon_sym_COMMA, anon_sym_RBRACE, - [1116] = 3, + [1138] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(54), 1, sym_comment, + ACTIONS(144), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [1149] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(55), 1, + sym_comment, + ACTIONS(154), 2, + ts_builtin_sym_end, + sym_identifier, + [1160] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(56), 1, + sym_comment, ACTIONS(156), 2, ts_builtin_sym_end, sym_identifier, - [1127] = 4, + [1171] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(122), 1, - sym_identifier, - STATE(49), 1, - sym__colon_property, - STATE(55), 1, + STATE(57), 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(158), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [1182] = 4, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(160), 1, - anon_sym_COLON, - STATE(57), 1, + anon_sym_LBRACE, + STATE(58), 1, sym_comment, - [1163] = 3, + STATE(61), 1, + sym_select_cases, + [1195] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(162), 1, - ts_builtin_sym_end, - STATE(58), 1, + anon_sym_COMMA, + STATE(59), 1, sym_comment, - [1173] = 3, + [1205] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(164), 1, - anon_sym_RPAREN, - STATE(59), 1, + anon_sym_COMMA, + STATE(60), 1, sym_comment, - [1183] = 3, + [1215] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(166), 1, - anon_sym_COLON, - STATE(60), 1, + anon_sym_RPAREN, + STATE(61), 1, sym_comment, - [1193] = 3, + [1225] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(168), 1, - anon_sym_COMMA, - STATE(61), 1, + anon_sym_LPAREN, + STATE(62), 1, sym_comment, - [1203] = 3, + [1235] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(170), 1, - anon_sym_RPAREN, - STATE(62), 1, + aux_sym_integer_literal_token1, + STATE(63), 1, sym_comment, - [1213] = 3, + [1245] = 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, + [1255] = 3, + ACTIONS(94), 1, + anon_sym_POUND, + ACTIONS(174), 1, + aux_sym_comment_token1, + STATE(65), 1, + sym_comment, + [1265] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(176), 1, - anon_sym_COMMA, - STATE(65), 1, + anon_sym_RPAREN, + STATE(66), 1, sym_comment, - [1243] = 3, + [1275] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(178), 1, - anon_sym_COMMA, - STATE(66), 1, + anon_sym_COLON, + STATE(67), 1, sym_comment, - [1253] = 3, + [1285] = 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, + anon_sym_COLON, STATE(68), 1, sym_comment, - [1273] = 3, + [1295] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(182), 1, + anon_sym_COLON, + STATE(69), 1, + sym_comment, + [1305] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(184), 1, - anon_sym_RPAREN, - STATE(69), 1, + anon_sym_COMMA, + STATE(70), 1, sym_comment, - [1283] = 3, + [1315] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(186), 1, anon_sym_RPAREN, - STATE(70), 1, + STATE(71), 1, sym_comment, - [1293] = 3, + [1325] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(188), 1, - anon_sym_LPAREN, - STATE(71), 1, + anon_sym_COMMA, + STATE(72), 1, sym_comment, - [1303] = 3, + [1335] = 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, + [1345] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(192), 1, + anon_sym_LPAREN, + STATE(74), 1, + sym_comment, + [1355] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(194), 1, - anon_sym_COMMA, - STATE(74), 1, + ts_builtin_sym_end, + STATE(75), 1, sym_comment, - [1333] = 3, + [1365] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(196), 1, - aux_sym_integer_literal_token1, - STATE(75), 1, + anon_sym_LPAREN, + STATE(76), 1, sym_comment, - [1343] = 3, + [1375] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(198), 1, - anon_sym_COMMA, - STATE(76), 1, + anon_sym_RBRACE, + STATE(77), 1, sym_comment, - [1353] = 3, + [1385] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(200), 1, - anon_sym_COMMA, - STATE(77), 1, + anon_sym_RPAREN, + STATE(78), 1, sym_comment, - [1363] = 3, + [1395] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(202), 1, anon_sym_COMMA, - STATE(78), 1, + STATE(79), 1, sym_comment, - [1373] = 3, + [1405] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(204), 1, anon_sym_RPAREN, - STATE(79), 1, + STATE(80), 1, sym_comment, - [1383] = 3, + [1415] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(206), 1, - anon_sym_RBRACE, - STATE(80), 1, + anon_sym_COMMA, + STATE(81), 1, sym_comment, - [1393] = 1, + [1425] = 3, + ACTIONS(3), 1, + anon_sym_POUND, ACTIONS(208), 1, + anon_sym_COMMA, + STATE(82), 1, + sym_comment, + [1435] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(210), 1, + anon_sym_COMMA, + STATE(83), 1, + sym_comment, + [1445] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(212), 1, + anon_sym_COMMA, + STATE(84), 1, + sym_comment, + [1455] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(214), 1, + anon_sym_RPAREN, + STATE(85), 1, + sym_comment, + [1465] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(216), 1, + anon_sym_RBRACE, + STATE(86), 1, + sym_comment, + [1475] = 1, + ACTIONS(218), 1, ts_builtin_sym_end, }; @@ -6325,176 +6588,187 @@ static const uint32_t ts_small_parse_table_map[] = { [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, + [SMALL_STATE(17)] = 575, + [SMALL_STATE(18)] = 589, + [SMALL_STATE(19)] = 603, + [SMALL_STATE(20)] = 617, + [SMALL_STATE(21)] = 631, + [SMALL_STATE(22)] = 645, + [SMALL_STATE(23)] = 659, + [SMALL_STATE(24)] = 673, + [SMALL_STATE(25)] = 687, + [SMALL_STATE(26)] = 701, + [SMALL_STATE(27)] = 715, + [SMALL_STATE(28)] = 729, + [SMALL_STATE(29)] = 743, + [SMALL_STATE(30)] = 757, + [SMALL_STATE(31)] = 777, + [SMALL_STATE(32)] = 799, + [SMALL_STATE(33)] = 813, + [SMALL_STATE(34)] = 832, + [SMALL_STATE(35)] = 851, + [SMALL_STATE(36)] = 868, + [SMALL_STATE(37)] = 881, + [SMALL_STATE(38)] = 900, + [SMALL_STATE(39)] = 919, + [SMALL_STATE(40)] = 938, + [SMALL_STATE(41)] = 954, + [SMALL_STATE(42)] = 970, + [SMALL_STATE(43)] = 986, + [SMALL_STATE(44)] = 1002, + [SMALL_STATE(45)] = 1018, + [SMALL_STATE(46)] = 1034, + [SMALL_STATE(47)] = 1048, + [SMALL_STATE(48)] = 1062, + [SMALL_STATE(49)] = 1076, + [SMALL_STATE(50)] = 1092, + [SMALL_STATE(51)] = 1103, + [SMALL_STATE(52)] = 1116, + [SMALL_STATE(53)] = 1127, + [SMALL_STATE(54)] = 1138, + [SMALL_STATE(55)] = 1149, + [SMALL_STATE(56)] = 1160, + [SMALL_STATE(57)] = 1171, + [SMALL_STATE(58)] = 1182, + [SMALL_STATE(59)] = 1195, + [SMALL_STATE(60)] = 1205, + [SMALL_STATE(61)] = 1215, + [SMALL_STATE(62)] = 1225, + [SMALL_STATE(63)] = 1235, + [SMALL_STATE(64)] = 1245, + [SMALL_STATE(65)] = 1255, + [SMALL_STATE(66)] = 1265, + [SMALL_STATE(67)] = 1275, + [SMALL_STATE(68)] = 1285, + [SMALL_STATE(69)] = 1295, + [SMALL_STATE(70)] = 1305, + [SMALL_STATE(71)] = 1315, + [SMALL_STATE(72)] = 1325, + [SMALL_STATE(73)] = 1335, + [SMALL_STATE(74)] = 1345, + [SMALL_STATE(75)] = 1355, + [SMALL_STATE(76)] = 1365, + [SMALL_STATE(77)] = 1375, + [SMALL_STATE(78)] = 1385, + [SMALL_STATE(79)] = 1395, + [SMALL_STATE(80)] = 1405, + [SMALL_STATE(81)] = 1415, + [SMALL_STATE(82)] = 1425, + [SMALL_STATE(83)] = 1435, + [SMALL_STATE(84)] = 1445, + [SMALL_STATE(85)] = 1455, + [SMALL_STATE(86)] = 1465, + [SMALL_STATE(87)] = 1475, }; 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(68), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [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), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), [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), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), [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), + [44] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(38), [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), + [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 3), + [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 2), [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), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 5, .production_id = 4), + [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_expression, 6), + [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 1), + [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4), + [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 2), + [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 4), + [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 5), + [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 2), + [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1), [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), + [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 2), + [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 3), + [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2), + [85] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(52), + [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 3, .production_id = 2), + [94] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [96] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), + [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [102] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(47), + [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), + [107] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(47), + [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [132] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 5), SHIFT_REPEAT(51), + [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 5), + [137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), + [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), + [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), SHIFT_REPEAT(7), + [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), + [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), [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), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 2), + [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 1), [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), + [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon_property, 3, .production_id = 3), + [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 4, .production_id = 6), + [174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 2), + [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), [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), + [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [194] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 3), + [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_soong_config_variable, 6, .production_id = 7), + [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__case_value, 1), + [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_case, 3, .production_id = 8), + [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_case, 3, .production_id = 8), + [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 4), + [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), }; #ifdef __cplusplus diff --git a/test/corpus/select.txt b/test/corpus/select.txt index a0bb2bb..2f6ce71 100644 --- a/test/corpus/select.txt +++ b/test/corpus/select.txt @@ -23,6 +23,33 @@ foo = select(release_variable("RELEASE_TEST"), { (default_case (unset)))))) +================================================================================ +Select (soong config variable) +================================================================================ + +foo = select(soong_config_variable("my_namespace", "my_var"), { + "foo": unset, + "default": "bar", +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (select_expression + (soong_config_variable + (selection_type) + (interpreted_string_literal) + (interpreted_string_literal)) + (select_cases + (select_case + (interpreted_string_literal) + (unset)) + (select_case + (interpreted_string_literal) + (interpreted_string_literal)))))) + ================================================================================ Select (no default) ================================================================================ From b3f3b2f147c23b37b4faf40bfa9d018c2d466494 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 8 Apr 2024 01:26:03 +0100 Subject: [PATCH 06/10] fixup! Add assignment --- grammar.js | 1 - 1 file changed, 1 deletion(-) diff --git a/grammar.js b/grammar.js index 2811c4f..6d2f476 100644 --- a/grammar.js +++ b/grammar.js @@ -15,7 +15,6 @@ module.exports = grammar({ ], rules: { - // TODO: add the actual grammar rules source_file: ($) => repeat($._definition), _definition: ($) => choice( From 8d917d11a062a457ce8d7501bd6efdd9434caacc Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 8 Apr 2024 01:36:27 +0100 Subject: [PATCH 07/10] Add modules --- grammar.js | 27 + src/grammar.json | 170 +++ src/node-types.json | 78 + src/parser.c | 3135 +++++++++++++++++++++++---------------- test/corpus/modules.txt | 116 ++ 5 files changed, 2209 insertions(+), 1317 deletions(-) create mode 100644 test/corpus/modules.txt diff --git a/grammar.js b/grammar.js index 6d2f476..f489221 100644 --- a/grammar.js +++ b/grammar.js @@ -19,6 +19,7 @@ module.exports = grammar({ _definition: ($) => choice( $.assignment, + $.module, ), comment: (_) => seq("#", /.*/), @@ -31,6 +32,26 @@ module.exports = grammar({ field("right", $._expr), ), + module: ($) => choice( + $._old_module, + $._new_module, + ), + + // This syntax is deprecated, but still accepted + _old_module: ($) => seq( + field("type", $.identifier), + "{", + optional(commaSeparated($._colon_property)), + "}", + ), + + _new_module: ($) => seq( + $.identifier, + "(", + optional(commaSeparated($._equal_property)), + ")", + ), + // }}} // Expressions {{{ @@ -168,6 +189,12 @@ module.exports = grammar({ field("value", $._expr), ), + _equal_property: ($) => seq( + field("field", $.identifier), + "=", + field("value", $._expr), + ), + // }}} } }); diff --git a/src/grammar.json b/src/grammar.json index 59c7327..0695e75 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -14,6 +14,10 @@ { "type": "SYMBOL", "name": "assignment" + }, + { + "type": "SYMBOL", + "name": "module" } ] }, @@ -68,6 +72,147 @@ } ] }, + "module": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_old_module" + }, + { + "type": "SYMBOL", + "name": "_new_module" + } + ] + }, + "_old_module": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_colon_property" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_colon_property" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "_new_module": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_equal_property" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_equal_property" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, "_expr": { "type": "CHOICE", "members": [ @@ -647,6 +792,31 @@ } } ] + }, + "_equal_property": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "field", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] } }, "extras": [ diff --git a/src/node-types.json b/src/node-types.json index 7ee3cc5..d7af57d 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -252,6 +252,80 @@ } } }, + { + "type": "module", + "named": true, + "fields": { + "field": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": true, + "required": false, + "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 + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, { "type": "select_case", "named": true, @@ -451,6 +525,10 @@ { "type": "assignment", "named": true + }, + { + "type": "module", + "named": true } ] } diff --git a/src/parser.c b/src/parser.c index b5a17ea..af4adfb 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,41 +6,41 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 88 +#define STATE_COUNT 116 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 54 +#define SYMBOL_COUNT 59 #define ALIAS_COUNT 0 #define TOKEN_COUNT 30 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 10 #define MAX_ALIAS_SEQUENCE_LENGTH 6 -#define PRODUCTION_ID_COUNT 9 +#define PRODUCTION_ID_COUNT 16 enum ts_symbol_identifiers { anon_sym_POUND = 1, aux_sym_comment_token1 = 2, anon_sym_EQ = 3, anon_sym_PLUS_EQ = 4, - sym_identifier = 5, - anon_sym_true = 6, - anon_sym_false = 7, - anon_sym_DASH = 8, - aux_sym_integer_literal_token1 = 9, - sym_raw_string_literal = 10, - anon_sym_DQUOTE = 11, - aux_sym_interpreted_string_literal_token1 = 12, - anon_sym_DQUOTE2 = 13, - sym_escape_sequence = 14, - 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_soong_config_variable = 22, - anon_sym_LBRACE = 23, - anon_sym_RBRACE = 24, + anon_sym_LBRACE = 5, + anon_sym_COMMA = 6, + anon_sym_RBRACE = 7, + anon_sym_LPAREN = 8, + anon_sym_RPAREN = 9, + sym_identifier = 10, + anon_sym_true = 11, + anon_sym_false = 12, + anon_sym_DASH = 13, + aux_sym_integer_literal_token1 = 14, + sym_raw_string_literal = 15, + anon_sym_DQUOTE = 16, + aux_sym_interpreted_string_literal_token1 = 17, + anon_sym_DQUOTE2 = 18, + sym_escape_sequence = 19, + anon_sym_select = 20, + anon_sym_product_variable = 21, + anon_sym_release_variable = 22, + anon_sym_variant = 23, + anon_sym_soong_config_variable = 24, anon_sym_COLON = 25, anon_sym_default = 26, anon_sym_unset = 27, @@ -50,26 +50,31 @@ enum ts_symbol_identifiers { sym__definition = 31, sym_comment = 32, sym_assignment = 33, - sym__expr = 34, - sym_boolean_literal = 35, - sym_integer_literal = 36, - sym__string_literal = 37, - sym_interpreted_string_literal = 38, - sym_select_expression = 39, - sym_select_value = 40, - sym_soong_config_variable = 41, - sym_select_cases = 42, - sym_select_case = 43, - sym_default_case = 44, - sym__case_value = 45, - sym_list_expression = 46, - sym_map_expression = 47, - sym__colon_property = 48, - aux_sym_source_file_repeat1 = 49, - aux_sym_interpreted_string_literal_repeat1 = 50, - aux_sym_select_cases_repeat1 = 51, - aux_sym_list_expression_repeat1 = 52, - aux_sym_map_expression_repeat1 = 53, + sym_module = 34, + sym__old_module = 35, + sym__new_module = 36, + sym__expr = 37, + sym_boolean_literal = 38, + sym_integer_literal = 39, + sym__string_literal = 40, + sym_interpreted_string_literal = 41, + sym_select_expression = 42, + sym_select_value = 43, + sym_soong_config_variable = 44, + sym_select_cases = 45, + sym_select_case = 46, + sym_default_case = 47, + sym__case_value = 48, + sym_list_expression = 49, + sym_map_expression = 50, + sym__colon_property = 51, + sym__equal_property = 52, + aux_sym_source_file_repeat1 = 53, + aux_sym__old_module_repeat1 = 54, + aux_sym__new_module_repeat1 = 55, + aux_sym_interpreted_string_literal_repeat1 = 56, + aux_sym_select_cases_repeat1 = 57, + aux_sym_list_expression_repeat1 = 58, }; static const char * const ts_symbol_names[] = { @@ -78,6 +83,11 @@ static const char * const ts_symbol_names[] = { [aux_sym_comment_token1] = "comment_token1", [anon_sym_EQ] = "=", [anon_sym_PLUS_EQ] = "+=", + [anon_sym_LBRACE] = "{", + [anon_sym_COMMA] = ",", + [anon_sym_RBRACE] = "}", + [anon_sym_LPAREN] = "(", + [anon_sym_RPAREN] = ")", [sym_identifier] = "identifier", [anon_sym_true] = "true", [anon_sym_false] = "false", @@ -89,15 +99,10 @@ static const char * const ts_symbol_names[] = { [anon_sym_DQUOTE2] = "\"", [sym_escape_sequence] = "escape_sequence", [anon_sym_select] = "select", - [anon_sym_LPAREN] = "(", - [anon_sym_COMMA] = ",", - [anon_sym_RPAREN] = ")", [anon_sym_product_variable] = "selection_type", [anon_sym_release_variable] = "selection_type", [anon_sym_variant] = "selection_type", [anon_sym_soong_config_variable] = "selection_type", - [anon_sym_LBRACE] = "{", - [anon_sym_RBRACE] = "}", [anon_sym_COLON] = ":", [anon_sym_default] = "default", [anon_sym_unset] = "unset", @@ -107,6 +112,9 @@ static const char * const ts_symbol_names[] = { [sym__definition] = "_definition", [sym_comment] = "comment", [sym_assignment] = "assignment", + [sym_module] = "module", + [sym__old_module] = "_old_module", + [sym__new_module] = "_new_module", [sym__expr] = "_expr", [sym_boolean_literal] = "boolean_literal", [sym_integer_literal] = "integer_literal", @@ -122,11 +130,13 @@ static const char * const ts_symbol_names[] = { [sym_list_expression] = "list_expression", [sym_map_expression] = "map_expression", [sym__colon_property] = "_colon_property", + [sym__equal_property] = "_equal_property", [aux_sym_source_file_repeat1] = "source_file_repeat1", + [aux_sym__old_module_repeat1] = "_old_module_repeat1", + [aux_sym__new_module_repeat1] = "_new_module_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", }; static const TSSymbol ts_symbol_map[] = { @@ -135,6 +145,11 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_comment_token1] = aux_sym_comment_token1, [anon_sym_EQ] = anon_sym_EQ, [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ, + [anon_sym_LBRACE] = anon_sym_LBRACE, + [anon_sym_COMMA] = anon_sym_COMMA, + [anon_sym_RBRACE] = anon_sym_RBRACE, + [anon_sym_LPAREN] = anon_sym_LPAREN, + [anon_sym_RPAREN] = anon_sym_RPAREN, [sym_identifier] = sym_identifier, [anon_sym_true] = anon_sym_true, [anon_sym_false] = anon_sym_false, @@ -146,15 +161,10 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_DQUOTE2] = anon_sym_DQUOTE, [sym_escape_sequence] = sym_escape_sequence, [anon_sym_select] = anon_sym_select, - [anon_sym_LPAREN] = anon_sym_LPAREN, - [anon_sym_COMMA] = anon_sym_COMMA, - [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_soong_config_variable] = 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, @@ -164,6 +174,9 @@ static const TSSymbol ts_symbol_map[] = { [sym__definition] = sym__definition, [sym_comment] = sym_comment, [sym_assignment] = sym_assignment, + [sym_module] = sym_module, + [sym__old_module] = sym__old_module, + [sym__new_module] = sym__new_module, [sym__expr] = sym__expr, [sym_boolean_literal] = sym_boolean_literal, [sym_integer_literal] = sym_integer_literal, @@ -179,11 +192,13 @@ static const TSSymbol ts_symbol_map[] = { [sym_list_expression] = sym_list_expression, [sym_map_expression] = sym_map_expression, [sym__colon_property] = sym__colon_property, + [sym__equal_property] = sym__equal_property, [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, + [aux_sym__old_module_repeat1] = aux_sym__old_module_repeat1, + [aux_sym__new_module_repeat1] = aux_sym__new_module_repeat1, [aux_sym_interpreted_string_literal_repeat1] = aux_sym_interpreted_string_literal_repeat1, [aux_sym_select_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, }; static const TSSymbolMetadata ts_symbol_metadata[] = { @@ -207,6 +222,26 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_LBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_COMMA] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_LPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_RPAREN] = { + .visible = true, + .named = false, + }, [sym_identifier] = { .visible = true, .named = true, @@ -251,18 +286,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_LPAREN] = { - .visible = true, - .named = false, - }, - [anon_sym_COMMA] = { - .visible = true, - .named = false, - }, - [anon_sym_RPAREN] = { - .visible = true, - .named = false, - }, [anon_sym_product_variable] = { .visible = true, .named = true, @@ -279,14 +302,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [anon_sym_LBRACE] = { - .visible = true, - .named = false, - }, - [anon_sym_RBRACE] = { - .visible = true, - .named = false, - }, [anon_sym_COLON] = { .visible = true, .named = false, @@ -323,6 +338,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_module] = { + .visible = true, + .named = true, + }, + [sym__old_module] = { + .visible = false, + .named = true, + }, + [sym__new_module] = { + .visible = false, + .named = true, + }, [sym__expr] = { .visible = false, .named = true, @@ -383,10 +410,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, + [sym__equal_property] = { + .visible = false, + .named = true, + }, [aux_sym_source_file_repeat1] = { .visible = false, .named = false, }, + [aux_sym__old_module_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__new_module_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_interpreted_string_literal_repeat1] = { .visible = false, .named = false, @@ -399,10 +438,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [aux_sym_map_expression_repeat1] = { - .visible = false, - .named = false, - }, }; enum ts_field_identifiers { @@ -435,44 +470,78 @@ static const char * const ts_field_names[] = { static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [1] = {.index = 0, .length = 3}, [2] = {.index = 3, .length = 2}, - [3] = {.index = 5, .length = 2}, - [4] = {.index = 7, .length = 4}, - [5] = {.index = 11, .length = 4}, - [6] = {.index = 15, .length = 2}, - [7] = {.index = 17, .length = 4}, - [8] = {.index = 21, .length = 2}, + [3] = {.index = 5, .length = 3}, + [4] = {.index = 8, .length = 1}, + [5] = {.index = 9, .length = 3}, + [6] = {.index = 12, .length = 2}, + [7] = {.index = 14, .length = 2}, + [8] = {.index = 16, .length = 2}, + [9] = {.index = 18, .length = 5}, + [10] = {.index = 23, .length = 4}, + [11] = {.index = 27, .length = 4}, + [12] = {.index = 31, .length = 4}, + [13] = {.index = 35, .length = 2}, + [14] = {.index = 37, .length = 4}, + [15] = {.index = 41, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { [0] = + {field_field, 0, .inherited = true}, + {field_type, 0, .inherited = true}, + {field_value, 0, .inherited = true}, + [3] = + {field_field, 0, .inherited = true}, + {field_value, 0, .inherited = true}, + [5] = {field_left, 0}, {field_operator, 1}, {field_right, 2}, - [3] = + [8] = + {field_type, 0}, + [9] = + {field_field, 2, .inherited = true}, + {field_type, 0}, + {field_value, 2, .inherited = true}, + [12] = + {field_field, 2, .inherited = true}, + {field_value, 2, .inherited = true}, + [14] = {field_field, 1, .inherited = true}, {field_value, 1, .inherited = true}, - [5] = + [16] = {field_field, 0}, {field_value, 2}, - [7] = - {field_field, 1, .inherited = true}, + [18] = {field_field, 2, .inherited = true}, - {field_value, 1, .inherited = true}, + {field_field, 3, .inherited = true}, + {field_type, 0}, {field_value, 2, .inherited = true}, - [11] = + {field_value, 3, .inherited = true}, + [23] = {field_field, 0, .inherited = true}, {field_field, 1, .inherited = true}, {field_value, 0, .inherited = true}, {field_value, 1, .inherited = true}, - [15] = + [27] = + {field_field, 2, .inherited = true}, + {field_field, 3, .inherited = true}, + {field_value, 2, .inherited = true}, + {field_value, 3, .inherited = true}, + [31] = + {field_field, 1, .inherited = true}, + {field_field, 2, .inherited = true}, + {field_value, 1, .inherited = true}, + {field_value, 2, .inherited = true}, + [35] = {field_condition, 2}, {field_type, 0}, - [17] = + [37] = {field_condition, 3}, {field_namespace, 2}, {field_type, 0}, {field_variable, 4}, - [21] = + [41] = {field_pattern, 0}, {field_value, 2}, }; @@ -574,6 +643,34 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [85] = 85, [86] = 86, [87] = 87, + [88] = 88, + [89] = 89, + [90] = 90, + [91] = 91, + [92] = 92, + [93] = 93, + [94] = 94, + [95] = 95, + [96] = 96, + [97] = 97, + [98] = 98, + [99] = 99, + [100] = 100, + [101] = 101, + [102] = 102, + [103] = 103, + [104] = 104, + [105] = 105, + [106] = 106, + [107] = 107, + [108] = 108, + [109] = 109, + [110] = 110, + [111] = 111, + [112] = 112, + [113] = 113, + [114] = 114, + [115] = 115, }; static inline bool sym_identifier_character_set_1(int32_t c) { @@ -4436,86 +4533,86 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { switch (state) { case 0: if (eof) ADVANCE(82); - if (lookahead == '"') ADVANCE(177); + if (lookahead == '"') ADVANCE(182); if (lookahead == '#') ADVANCE(83); - if (lookahead == '(') ADVANCE(182); - if (lookahead == ')') ADVANCE(184); + if (lookahead == '(') ADVANCE(93); + if (lookahead == ')') ADVANCE(94); if (lookahead == '+') ADVANCE(6); - if (lookahead == ',') ADVANCE(183); - if (lookahead == '-') ADVANCE(171); + if (lookahead == ',') ADVANCE(91); + if (lookahead == '-') ADVANCE(176); if (lookahead == ':') ADVANCE(195); if (lookahead == '=') ADVANCE(88); if (lookahead == '[') ADVANCE(199); if (lookahead == '\\') ADVANCE(7); if (lookahead == ']') ADVANCE(200); if (lookahead == '`') ADVANCE(79); - if (lookahead == 'd') ADVANCE(112); - if (lookahead == 'f') ADVANCE(94); - if (lookahead == 'p') ADVANCE(148); - if (lookahead == 'r') ADVANCE(120); - if (lookahead == 's') ADVANCE(122); - if (lookahead == 't') ADVANCE(149); - if (lookahead == 'u') ADVANCE(141); - if (lookahead == 'v') ADVANCE(97); - if (lookahead == '{') ADVANCE(193); - if (lookahead == '}') ADVANCE(194); + if (lookahead == 'd') ADVANCE(117); + if (lookahead == 'f') ADVANCE(99); + if (lookahead == 'p') ADVANCE(153); + if (lookahead == 'r') ADVANCE(125); + if (lookahead == 's') ADVANCE(127); + if (lookahead == 't') ADVANCE(154); + if (lookahead == 'u') ADVANCE(146); + if (lookahead == 'v') ADVANCE(102); + if (lookahead == '{') ADVANCE(90); + if (lookahead == '}') ADVANCE(92); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(80) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(172); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(168); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(177); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(173); END_STATE(); case 1: if (lookahead == '\n') SKIP(2) - if (lookahead == '"') ADVANCE(177); + if (lookahead == '"') ADVANCE(182); if (lookahead == '#') ADVANCE(84); if (lookahead == '\\') ADVANCE(7); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(175); - if (lookahead != 0) ADVANCE(176); + lookahead == ' ') ADVANCE(180); + if (lookahead != 0) ADVANCE(181); END_STATE(); case 2: if (lookahead == '\n') SKIP(2) if (lookahead == '#') ADVANCE(84); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(175); + lookahead == ' ') ADVANCE(180); if (lookahead != 0 && lookahead != '"' && - lookahead != '\\') ADVANCE(176); + lookahead != '\\') ADVANCE(181); END_STATE(); case 3: - if (lookahead == '"') ADVANCE(174); + if (lookahead == '"') ADVANCE(179); if (lookahead == '#') ADVANCE(83); - if (lookahead == '-') ADVANCE(171); + if (lookahead == '-') ADVANCE(176); if (lookahead == '[') ADVANCE(199); if (lookahead == ']') ADVANCE(200); if (lookahead == '`') ADVANCE(79); - if (lookahead == 'f') ADVANCE(94); - if (lookahead == 's') ADVANCE(123); - if (lookahead == 't') ADVANCE(149); - if (lookahead == '{') ADVANCE(193); + if (lookahead == 'f') ADVANCE(99); + if (lookahead == 's') ADVANCE(128); + if (lookahead == 't') ADVANCE(154); + if (lookahead == '{') ADVANCE(90); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(3) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(172); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(168); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(177); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(173); END_STATE(); case 4: - if (lookahead == '"') ADVANCE(174); + if (lookahead == '"') ADVANCE(179); if (lookahead == '#') ADVANCE(83); - if (lookahead == '-') ADVANCE(171); + if (lookahead == '-') ADVANCE(176); if (lookahead == '[') ADVANCE(199); if (lookahead == '`') ADVANCE(79); - if (lookahead == 'f') ADVANCE(94); - if (lookahead == 's') ADVANCE(123); - if (lookahead == 't') ADVANCE(149); - if (lookahead == 'u') ADVANCE(141); - if (lookahead == '{') ADVANCE(193); + if (lookahead == 'f') ADVANCE(99); + if (lookahead == 's') ADVANCE(128); + if (lookahead == 't') ADVANCE(154); + if (lookahead == 'u') ADVANCE(146); + if (lookahead == '{') ADVANCE(90); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(4) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(172); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(168); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(177); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(173); END_STATE(); case 5: - if (lookahead == '"') ADVANCE(174); + if (lookahead == '"') ADVANCE(179); if (lookahead == '#') ADVANCE(83); if (lookahead == '`') ADVANCE(79); if (lookahead == 'd') ADVANCE(29); @@ -4523,7 +4620,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'r') ADVANCE(30); if (lookahead == 's') ADVANCE(55); if (lookahead == 'v') ADVANCE(16); - if (lookahead == '}') ADVANCE(194); + if (lookahead == '}') ADVANCE(92); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(5) END_STATE(); @@ -4534,8 +4631,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'U') ADVANCE(78); if (lookahead == 'u') ADVANCE(74); if (lookahead == 'x') ADVANCE(72); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(180); - if (lookahead != 0) ADVANCE(178); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(185); + if (lookahead != 0) ADVANCE(183); END_STATE(); case 8: if (lookahead == '_') ADVANCE(68); @@ -4550,7 +4647,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '_') ADVANCE(70); END_STATE(); case 12: - if (lookahead == '`') ADVANCE(173); + if (lookahead == '`') ADVANCE(178); if (lookahead != 0) ADVANCE(12); END_STATE(); case 13: @@ -4608,13 +4705,13 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'e') ADVANCE(46); END_STATE(); case 31: - if (lookahead == 'e') ADVANCE(185); - END_STATE(); - case 32: if (lookahead == 'e') ADVANCE(187); END_STATE(); + case 32: + if (lookahead == 'e') ADVANCE(189); + END_STATE(); case 33: - if (lookahead == 'e') ADVANCE(191); + if (lookahead == 'e') ADVANCE(193); END_STATE(); case 34: if (lookahead == 'e') ADVANCE(14); @@ -4707,7 +4804,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 't') ADVANCE(196); END_STATE(); case 64: - if (lookahead == 't') ADVANCE(189); + if (lookahead == 't') ADVANCE(191); END_STATE(); case 65: if (lookahead == 't') ADVANCE(8); @@ -4730,7 +4827,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 71: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(178); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(183); END_STATE(); case 72: if (('0' <= lookahead && lookahead <= '9') || @@ -4773,46 +4870,46 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 80: if (eof) ADVANCE(82); - if (lookahead == '"') ADVANCE(174); + if (lookahead == '"') ADVANCE(179); if (lookahead == '#') ADVANCE(83); - if (lookahead == '(') ADVANCE(182); - if (lookahead == ')') ADVANCE(184); + if (lookahead == '(') ADVANCE(93); + if (lookahead == ')') ADVANCE(94); if (lookahead == '+') ADVANCE(6); - if (lookahead == ',') ADVANCE(183); - if (lookahead == '-') ADVANCE(171); + if (lookahead == ',') ADVANCE(91); + if (lookahead == '-') ADVANCE(176); if (lookahead == ':') ADVANCE(195); if (lookahead == '=') ADVANCE(88); if (lookahead == '[') ADVANCE(199); if (lookahead == ']') ADVANCE(200); if (lookahead == '`') ADVANCE(79); - if (lookahead == 'd') ADVANCE(112); - if (lookahead == 'f') ADVANCE(94); - if (lookahead == 'p') ADVANCE(148); - if (lookahead == 'r') ADVANCE(120); - if (lookahead == 's') ADVANCE(122); - if (lookahead == 't') ADVANCE(149); - if (lookahead == 'u') ADVANCE(141); - if (lookahead == 'v') ADVANCE(97); - if (lookahead == '{') ADVANCE(193); - if (lookahead == '}') ADVANCE(194); + if (lookahead == 'd') ADVANCE(117); + if (lookahead == 'f') ADVANCE(99); + if (lookahead == 'p') ADVANCE(153); + if (lookahead == 'r') ADVANCE(125); + if (lookahead == 's') ADVANCE(127); + if (lookahead == 't') ADVANCE(154); + if (lookahead == 'u') ADVANCE(146); + if (lookahead == 'v') ADVANCE(102); + if (lookahead == '{') ADVANCE(90); + if (lookahead == '}') ADVANCE(92); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(80) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(172); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(168); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(177); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(173); END_STATE(); case 81: if (eof) ADVANCE(82); - if (lookahead == '"') ADVANCE(174); + if (lookahead == '"') ADVANCE(179); if (lookahead == '#') ADVANCE(83); - if (lookahead == ')') ADVANCE(184); - if (lookahead == ',') ADVANCE(183); + if (lookahead == ')') ADVANCE(94); + if (lookahead == ',') ADVANCE(91); if (lookahead == ':') ADVANCE(195); if (lookahead == ']') ADVANCE(200); if (lookahead == '`') ADVANCE(79); - if (lookahead == '}') ADVANCE(194); + if (lookahead == '}') ADVANCE(92); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(81) - if (sym_identifier_character_set_1(lookahead)) ADVANCE(168); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(173); END_STATE(); case 82: ACCEPT_TOKEN(ts_builtin_sym_end); @@ -4825,7 +4922,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(176); + lookahead != '\\') ADVANCE(181); END_STATE(); case 85: ACCEPT_TOKEN(anon_sym_POUND); @@ -4853,499 +4950,499 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ACCEPT_TOKEN(anon_sym_PLUS_EQ); END_STATE(); case 90: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == '_') ADVANCE(165); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(168); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 91: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == '_') ADVANCE(109); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(168); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 92: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == '_') ADVANCE(166); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(168); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 93: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == '_') ADVANCE(167); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(168); + ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 94: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(140); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); + ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 95: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(105); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); + if (lookahead == '_') ADVANCE(170); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(173); END_STATE(); case 96: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(162); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); + if (lookahead == '_') ADVANCE(114); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(173); END_STATE(); case 97: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(150); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); + if (lookahead == '_') ADVANCE(171); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(173); END_STATE(); case 98: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(144); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); + if (lookahead == '_') ADVANCE(172); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(173); END_STATE(); case 99: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(151); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); + if (lookahead == 'a') ADVANCE(145); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(173); END_STATE(); case 100: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(156); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); + if (lookahead == 'a') ADVANCE(110); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(173); END_STATE(); case 101: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(106); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); + if (lookahead == 'a') ADVANCE(167); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(173); END_STATE(); case 102: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(152); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); + if (lookahead == 'a') ADVANCE(155); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(173); END_STATE(); case 103: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(107); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); + if (lookahead == 'a') ADVANCE(149); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(173); END_STATE(); case 104: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(153); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(168); + if (lookahead == 'a') ADVANCE(156); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(173); END_STATE(); case 105: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'b') ADVANCE(137); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'a') ADVANCE(161); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(173); END_STATE(); case 106: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'b') ADVANCE(138); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'a') ADVANCE(111); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(173); END_STATE(); case 107: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'b') ADVANCE(139); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'a') ADVANCE(157); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(173); END_STATE(); case 108: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'c') ADVANCE(158); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'a') ADVANCE(112); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(173); END_STATE(); case 109: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'c') ADVANCE(147); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'a') ADVANCE(158); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(173); END_STATE(); case 110: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'c') ADVANCE(161); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'b') ADVANCE(142); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 111: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'd') ADVANCE(164); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'b') ADVANCE(143); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 112: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(126); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'b') ADVANCE(144); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 113: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(108); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'c') ADVANCE(163); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 114: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(169); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'c') ADVANCE(152); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 115: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(157); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'c') ADVANCE(166); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 116: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(170); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'd') ADVANCE(169); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 117: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(186); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'e') ADVANCE(131); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 118: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(188); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'e') ADVANCE(113); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 119: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(192); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'e') ADVANCE(174); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 120: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(134); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'e') ADVANCE(162); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 121: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(100); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'e') ADVANCE(175); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 122: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(136); - if (lookahead == 'o') ADVANCE(146); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'e') ADVANCE(188); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 123: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(136); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'e') ADVANCE(190); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 124: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(92); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'e') ADVANCE(194); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 125: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'f') ADVANCE(131); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'e') ADVANCE(139); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 126: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'f') ADVANCE(96); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'e') ADVANCE(105); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 127: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'g') ADVANCE(91); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'e') ADVANCE(141); + if (lookahead == 'o') ADVANCE(151); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 128: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'g') ADVANCE(93); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'e') ADVANCE(141); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 129: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(98); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'e') ADVANCE(97); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 130: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(95); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'f') ADVANCE(136); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 131: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(128); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'f') ADVANCE(101); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 132: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(101); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'g') ADVANCE(96); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 133: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(103); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'g') ADVANCE(98); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 134: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(121); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'i') ADVANCE(103); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 135: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(159); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'i') ADVANCE(100); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 136: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(113); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'i') ADVANCE(133); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 137: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(117); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'i') ADVANCE(106); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 138: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(118); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'i') ADVANCE(108); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 139: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(119); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'l') ADVANCE(126); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 140: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(155); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'l') ADVANCE(164); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 141: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(154); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'l') ADVANCE(118); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 142: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(127); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'l') ADVANCE(122); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 143: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(125); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'l') ADVANCE(123); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 144: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(160); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'l') ADVANCE(124); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 145: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(111); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'l') ADVANCE(160); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 146: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(142); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'n') ADVANCE(159); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 147: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(143); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'n') ADVANCE(132); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 148: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(145); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'n') ADVANCE(130); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 149: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(163); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'n') ADVANCE(165); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 150: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(129); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'o') ADVANCE(116); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 151: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(130); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'o') ADVANCE(147); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 152: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(132); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'o') ADVANCE(148); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 153: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(133); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'r') ADVANCE(150); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 154: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(115); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'r') ADVANCE(168); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 155: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(116); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'r') ADVANCE(134); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 156: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(124); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'r') ADVANCE(135); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 157: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(198); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'r') ADVANCE(137); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 158: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(181); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'r') ADVANCE(138); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 159: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(197); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 's') ADVANCE(120); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 160: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(190); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 's') ADVANCE(121); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 161: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(90); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 's') ADVANCE(129); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 162: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(135); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 't') ADVANCE(198); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 163: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(114); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 't') ADVANCE(186); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 164: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(110); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 't') ADVANCE(197); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 165: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'v') ADVANCE(99); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 't') ADVANCE(192); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 166: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'v') ADVANCE(102); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 't') ADVANCE(95); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 167: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'v') ADVANCE(104); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'u') ADVANCE(140); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 168: ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (lookahead == 'u') ADVANCE(119); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 169: - ACCEPT_TOKEN(anon_sym_true); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(115); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 170: - ACCEPT_TOKEN(anon_sym_false); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'v') ADVANCE(104); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 171: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'v') ADVANCE(107); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 172: - ACCEPT_TOKEN(aux_sym_integer_literal_token1); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(172); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'v') ADVANCE(109); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 173: - ACCEPT_TOKEN(sym_raw_string_literal); + ACCEPT_TOKEN(sym_identifier); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 174: - ACCEPT_TOKEN(anon_sym_DQUOTE); + ACCEPT_TOKEN(anon_sym_true); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 175: + ACCEPT_TOKEN(anon_sym_false); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); + END_STATE(); + case 176: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 177: + ACCEPT_TOKEN(aux_sym_integer_literal_token1); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(177); + END_STATE(); + case 178: + ACCEPT_TOKEN(sym_raw_string_literal); + END_STATE(); + case 179: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 180: ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); if (lookahead == '#') ADVANCE(84); if (lookahead == '\t' || (11 <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(175); + lookahead == ' ') ADVANCE(180); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(176); + lookahead != '\\') ADVANCE(181); END_STATE(); - case 176: + case 181: ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(176); - END_STATE(); - case 177: - ACCEPT_TOKEN(anon_sym_DQUOTE2); - END_STATE(); - case 178: - ACCEPT_TOKEN(sym_escape_sequence); - END_STATE(); - case 179: - ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(178); - END_STATE(); - case 180: - ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(179); - END_STATE(); - case 181: - ACCEPT_TOKEN(anon_sym_select); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + lookahead != '\\') ADVANCE(181); END_STATE(); case 182: - ACCEPT_TOKEN(anon_sym_LPAREN); + ACCEPT_TOKEN(anon_sym_DQUOTE2); END_STATE(); case 183: - ACCEPT_TOKEN(anon_sym_COMMA); + ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); case 184: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(183); END_STATE(); case 185: - ACCEPT_TOKEN(anon_sym_product_variable); + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(184); END_STATE(); case 186: - ACCEPT_TOKEN(anon_sym_product_variable); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + ACCEPT_TOKEN(anon_sym_select); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 187: - ACCEPT_TOKEN(anon_sym_release_variable); + ACCEPT_TOKEN(anon_sym_product_variable); END_STATE(); case 188: - ACCEPT_TOKEN(anon_sym_release_variable); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + ACCEPT_TOKEN(anon_sym_product_variable); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 189: - ACCEPT_TOKEN(anon_sym_variant); + ACCEPT_TOKEN(anon_sym_release_variable); END_STATE(); case 190: - ACCEPT_TOKEN(anon_sym_variant); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + ACCEPT_TOKEN(anon_sym_release_variable); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 191: - ACCEPT_TOKEN(anon_sym_soong_config_variable); + ACCEPT_TOKEN(anon_sym_variant); END_STATE(); case 192: - ACCEPT_TOKEN(anon_sym_soong_config_variable); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + ACCEPT_TOKEN(anon_sym_variant); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 193: - ACCEPT_TOKEN(anon_sym_LBRACE); + ACCEPT_TOKEN(anon_sym_soong_config_variable); END_STATE(); case 194: - ACCEPT_TOKEN(anon_sym_RBRACE); + ACCEPT_TOKEN(anon_sym_soong_config_variable); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 195: ACCEPT_TOKEN(anon_sym_COLON); @@ -5355,11 +5452,11 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 197: ACCEPT_TOKEN(anon_sym_default); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 198: ACCEPT_TOKEN(anon_sym_unset); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(168); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(173); END_STATE(); case 199: ACCEPT_TOKEN(anon_sym_LBRACK); @@ -5383,13 +5480,13 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [7] = {.lex_state = 3}, [8] = {.lex_state = 3}, [9] = {.lex_state = 3}, - [10] = {.lex_state = 5}, + [10] = {.lex_state = 3}, [11] = {.lex_state = 5}, [12] = {.lex_state = 5}, - [13] = {.lex_state = 81}, + [13] = {.lex_state = 5}, [14] = {.lex_state = 81}, [15] = {.lex_state = 81}, - [16] = {.lex_state = 5}, + [16] = {.lex_state = 81}, [17] = {.lex_state = 81}, [18] = {.lex_state = 81}, [19] = {.lex_state = 81}, @@ -5403,64 +5500,92 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [27] = {.lex_state = 81}, [28] = {.lex_state = 81}, [29] = {.lex_state = 81}, - [30] = {.lex_state = 81}, + [30] = {.lex_state = 5}, [31] = {.lex_state = 81}, [32] = {.lex_state = 81}, [33] = {.lex_state = 81}, [34] = {.lex_state = 1}, - [35] = {.lex_state = 1}, - [36] = {.lex_state = 5}, - [37] = {.lex_state = 81}, - [38] = {.lex_state = 1}, - [39] = {.lex_state = 81}, - [40] = {.lex_state = 0}, + [35] = {.lex_state = 81}, + [36] = {.lex_state = 1}, + [37] = {.lex_state = 5}, + [38] = {.lex_state = 0}, + [39] = {.lex_state = 1}, + [40] = {.lex_state = 81}, [41] = {.lex_state = 81}, - [42] = {.lex_state = 0}, - [43] = {.lex_state = 0}, + [42] = {.lex_state = 81}, + [43] = {.lex_state = 81}, [44] = {.lex_state = 0}, [45] = {.lex_state = 81}, [46] = {.lex_state = 0}, - [47] = {.lex_state = 1}, - [48] = {.lex_state = 0}, + [47] = {.lex_state = 0}, + [48] = {.lex_state = 81}, [49] = {.lex_state = 81}, - [50] = {.lex_state = 81}, - [51] = {.lex_state = 81}, - [52] = {.lex_state = 0}, - [53] = {.lex_state = 0}, + [50] = {.lex_state = 0}, + [51] = {.lex_state = 0}, + [52] = {.lex_state = 81}, + [53] = {.lex_state = 1}, [54] = {.lex_state = 0}, [55] = {.lex_state = 81}, - [56] = {.lex_state = 81}, + [56] = {.lex_state = 0}, [57] = {.lex_state = 0}, - [58] = {.lex_state = 0}, + [58] = {.lex_state = 81}, [59] = {.lex_state = 0}, - [60] = {.lex_state = 0}, + [60] = {.lex_state = 81}, [61] = {.lex_state = 0}, [62] = {.lex_state = 0}, - [63] = {.lex_state = 0}, - [64] = {.lex_state = 0}, - [65] = {.lex_state = 86}, - [66] = {.lex_state = 0}, + [63] = {.lex_state = 81}, + [64] = {.lex_state = 81}, + [65] = {.lex_state = 0}, + [66] = {.lex_state = 81}, [67] = {.lex_state = 0}, - [68] = {.lex_state = 0}, - [69] = {.lex_state = 0}, + [68] = {.lex_state = 81}, + [69] = {.lex_state = 81}, [70] = {.lex_state = 0}, - [71] = {.lex_state = 0}, - [72] = {.lex_state = 0}, + [71] = {.lex_state = 81}, + [72] = {.lex_state = 81}, [73] = {.lex_state = 0}, - [74] = {.lex_state = 0}, - [75] = {.lex_state = 0}, + [74] = {.lex_state = 81}, + [75] = {.lex_state = 81}, [76] = {.lex_state = 0}, - [77] = {.lex_state = 0}, + [77] = {.lex_state = 81}, [78] = {.lex_state = 0}, - [79] = {.lex_state = 0}, - [80] = {.lex_state = 0}, - [81] = {.lex_state = 0}, - [82] = {.lex_state = 0}, - [83] = {.lex_state = 0}, - [84] = {.lex_state = 0}, - [85] = {.lex_state = 0}, + [79] = {.lex_state = 81}, + [80] = {.lex_state = 81}, + [81] = {.lex_state = 81}, + [82] = {.lex_state = 81}, + [83] = {.lex_state = 81}, + [84] = {.lex_state = 81}, + [85] = {.lex_state = 81}, [86] = {.lex_state = 0}, - [87] = {(TSStateId)(-1)}, + [87] = {.lex_state = 0}, + [88] = {.lex_state = 0}, + [89] = {.lex_state = 0}, + [90] = {.lex_state = 0}, + [91] = {.lex_state = 0}, + [92] = {.lex_state = 0}, + [93] = {.lex_state = 0}, + [94] = {.lex_state = 0}, + [95] = {.lex_state = 0}, + [96] = {.lex_state = 0}, + [97] = {.lex_state = 0}, + [98] = {.lex_state = 0}, + [99] = {.lex_state = 0}, + [100] = {.lex_state = 0}, + [101] = {.lex_state = 0}, + [102] = {.lex_state = 0}, + [103] = {.lex_state = 86}, + [104] = {.lex_state = 0}, + [105] = {.lex_state = 0}, + [106] = {.lex_state = 0}, + [107] = {.lex_state = 0}, + [108] = {.lex_state = 0}, + [109] = {.lex_state = 0}, + [110] = {.lex_state = 0}, + [111] = {.lex_state = 0}, + [112] = {.lex_state = 0}, + [113] = {.lex_state = 0}, + [114] = {.lex_state = 0}, + [115] = {(TSStateId)(-1)}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -5470,6 +5595,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_POUND] = ACTIONS(3), [anon_sym_EQ] = ACTIONS(1), [anon_sym_PLUS_EQ] = ACTIONS(1), + [anon_sym_LBRACE] = ACTIONS(1), + [anon_sym_COMMA] = ACTIONS(1), + [anon_sym_RBRACE] = ACTIONS(1), + [anon_sym_LPAREN] = ACTIONS(1), + [anon_sym_RPAREN] = ACTIONS(1), [sym_identifier] = ACTIONS(1), [anon_sym_true] = ACTIONS(1), [anon_sym_false] = ACTIONS(1), @@ -5480,15 +5610,10 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DQUOTE2] = ACTIONS(1), [sym_escape_sequence] = ACTIONS(1), [anon_sym_select] = ACTIONS(1), - [anon_sym_LPAREN] = ACTIONS(1), - [anon_sym_COMMA] = 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_soong_config_variable] = 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), @@ -5496,11 +5621,14 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_RBRACK] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(75), - [sym__definition] = STATE(50), + [sym_source_file] = STATE(102), + [sym__definition] = STATE(71), [sym_comment] = STATE(1), - [sym_assignment] = STATE(56), - [aux_sym_source_file_repeat1] = STATE(31), + [sym_assignment] = STATE(64), + [sym_module] = STATE(64), + [sym__old_module] = STATE(74), + [sym__new_module] = STATE(75), + [aux_sym_source_file_repeat1] = STATE(14), [ts_builtin_sym_end] = ACTIONS(5), [anon_sym_POUND] = ACTIONS(3), [sym_identifier] = ACTIONS(7), @@ -5512,35 +5640,35 @@ static const uint16_t ts_small_parse_table[] = { 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(11), 1, + sym_identifier, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + aux_sym_integer_literal_token1, + ACTIONS(19), 1, + sym_raw_string_literal, + ACTIONS(21), 1, + anon_sym_DQUOTE, + ACTIONS(23), 1, + anon_sym_select, ACTIONS(25), 1, anon_sym_unset, ACTIONS(27), 1, anon_sym_LBRACK, STATE(2), 1, sym_comment, - STATE(15), 1, + STATE(18), 1, sym_interpreted_string_literal, - STATE(82), 1, + STATE(110), 1, sym__expr, - STATE(84), 1, + STATE(112), 1, sym__case_value, - ACTIONS(11), 2, + ACTIONS(13), 2, anon_sym_true, anon_sym_false, - STATE(26), 6, + STATE(21), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5551,35 +5679,35 @@ static const uint16_t ts_small_parse_table[] = { 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(11), 1, + sym_identifier, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + aux_sym_integer_literal_token1, + ACTIONS(19), 1, + sym_raw_string_literal, + ACTIONS(21), 1, + anon_sym_DQUOTE, + ACTIONS(23), 1, + anon_sym_select, ACTIONS(25), 1, anon_sym_unset, ACTIONS(27), 1, anon_sym_LBRACK, STATE(3), 1, sym_comment, - STATE(15), 1, + STATE(18), 1, sym_interpreted_string_literal, - STATE(82), 1, + STATE(110), 1, sym__expr, - STATE(83), 1, + STATE(111), 1, sym__case_value, - ACTIONS(11), 2, + ACTIONS(13), 2, anon_sym_true, anon_sym_false, - STATE(26), 6, + STATE(21), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5590,33 +5718,33 @@ static const uint16_t ts_small_parse_table[] = { 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(11), 1, + sym_identifier, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + aux_sym_integer_literal_token1, + ACTIONS(19), 1, + sym_raw_string_literal, + ACTIONS(21), 1, + anon_sym_DQUOTE, + ACTIONS(23), 1, + anon_sym_select, ACTIONS(27), 1, anon_sym_LBRACK, ACTIONS(29), 1, anon_sym_RBRACK, STATE(4), 1, sym_comment, - STATE(15), 1, + STATE(18), 1, sym_interpreted_string_literal, - STATE(54), 1, + STATE(51), 1, sym__expr, - ACTIONS(11), 2, + ACTIONS(13), 2, anon_sym_true, anon_sym_false, - STATE(26), 6, + STATE(21), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5627,33 +5755,33 @@ static const uint16_t ts_small_parse_table[] = { 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(11), 1, + sym_identifier, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + aux_sym_integer_literal_token1, + ACTIONS(19), 1, + sym_raw_string_literal, + ACTIONS(21), 1, + anon_sym_DQUOTE, + ACTIONS(23), 1, + anon_sym_select, ACTIONS(27), 1, anon_sym_LBRACK, ACTIONS(31), 1, anon_sym_RBRACK, STATE(5), 1, sym_comment, - STATE(15), 1, + STATE(18), 1, sym_interpreted_string_literal, - STATE(40), 1, + STATE(78), 1, sym__expr, - ACTIONS(11), 2, + ACTIONS(13), 2, anon_sym_true, anon_sym_false, - STATE(26), 6, + STATE(21), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5664,33 +5792,33 @@ static const uint16_t ts_small_parse_table[] = { 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(11), 1, + sym_identifier, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + aux_sym_integer_literal_token1, + ACTIONS(19), 1, + sym_raw_string_literal, + ACTIONS(21), 1, + anon_sym_DQUOTE, + ACTIONS(23), 1, + anon_sym_select, ACTIONS(27), 1, anon_sym_LBRACK, ACTIONS(33), 1, anon_sym_RBRACK, STATE(6), 1, sym_comment, - STATE(15), 1, + STATE(18), 1, sym_interpreted_string_literal, - STATE(54), 1, + STATE(78), 1, sym__expr, - ACTIONS(11), 2, + ACTIONS(13), 2, anon_sym_true, anon_sym_false, - STATE(26), 6, + STATE(21), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5701,31 +5829,31 @@ static const uint16_t ts_small_parse_table[] = { 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(11), 1, + sym_identifier, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + aux_sym_integer_literal_token1, + ACTIONS(19), 1, + sym_raw_string_literal, + ACTIONS(21), 1, + anon_sym_DQUOTE, + ACTIONS(23), 1, + anon_sym_select, ACTIONS(27), 1, anon_sym_LBRACK, STATE(7), 1, sym_comment, - STATE(15), 1, + STATE(18), 1, sym_interpreted_string_literal, - STATE(54), 1, + STATE(65), 1, sym__expr, - ACTIONS(11), 2, + ACTIONS(13), 2, anon_sym_true, anon_sym_false, - STATE(26), 6, + STATE(21), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5736,31 +5864,31 @@ static const uint16_t ts_small_parse_table[] = { 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(11), 1, + sym_identifier, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + aux_sym_integer_literal_token1, + ACTIONS(19), 1, + sym_raw_string_literal, + ACTIONS(21), 1, + anon_sym_DQUOTE, + ACTIONS(23), 1, + anon_sym_select, ACTIONS(27), 1, anon_sym_LBRACK, STATE(8), 1, sym_comment, - STATE(15), 1, + STATE(18), 1, sym_interpreted_string_literal, - STATE(55), 1, + STATE(73), 1, sym__expr, - ACTIONS(11), 2, + ACTIONS(13), 2, anon_sym_true, anon_sym_false, - STATE(26), 6, + STATE(21), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5771,804 +5899,1115 @@ static const uint16_t ts_small_parse_table[] = { 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(11), 1, + sym_identifier, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + aux_sym_integer_literal_token1, + ACTIONS(19), 1, + sym_raw_string_literal, + ACTIONS(21), 1, + anon_sym_DQUOTE, + ACTIONS(23), 1, + anon_sym_select, ACTIONS(27), 1, anon_sym_LBRACK, STATE(9), 1, sym_comment, - STATE(15), 1, + STATE(18), 1, sym_interpreted_string_literal, - STATE(57), 1, + STATE(80), 1, sym__expr, - ACTIONS(11), 2, + ACTIONS(13), 2, anon_sym_true, anon_sym_false, - STATE(26), 6, + STATE(21), 6, sym_boolean_literal, sym_integer_literal, sym__string_literal, sym_select_expression, sym_list_expression, sym_map_expression, - [413] = 11, + [413] = 14, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(9), 1, + anon_sym_LBRACE, + ACTIONS(11), 1, + sym_identifier, + ACTIONS(15), 1, + anon_sym_DASH, ACTIONS(17), 1, - sym_raw_string_literal, + aux_sym_integer_literal_token1, ACTIONS(19), 1, + sym_raw_string_literal, + ACTIONS(21), 1, + anon_sym_DQUOTE, + ACTIONS(23), 1, + anon_sym_select, + ACTIONS(27), 1, + anon_sym_LBRACK, + STATE(10), 1, + sym_comment, + STATE(18), 1, + sym_interpreted_string_literal, + STATE(78), 1, + sym__expr, + ACTIONS(13), 2, + anon_sym_true, + anon_sym_false, + STATE(21), 6, + sym_boolean_literal, + sym_integer_literal, + sym__string_literal, + sym_select_expression, + sym_list_expression, + sym_map_expression, + [462] = 11, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(19), 1, + sym_raw_string_literal, + ACTIONS(21), 1, anon_sym_DQUOTE, ACTIONS(35), 1, anon_sym_RBRACE, ACTIONS(37), 1, anon_sym_default, - STATE(10), 1, - sym_comment, STATE(11), 1, + sym_comment, + STATE(13), 1, aux_sym_select_cases_repeat1, - STATE(15), 1, + STATE(18), 1, sym_interpreted_string_literal, - STATE(59), 1, - sym_select_case, - STATE(68), 1, + STATE(96), 1, sym__string_literal, - STATE(70), 1, + STATE(97), 1, + sym_select_case, + STATE(107), 1, sym_default_case, - [447] = 11, + [496] = 11, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(17), 1, - sym_raw_string_literal, ACTIONS(19), 1, + sym_raw_string_literal, + ACTIONS(21), 1, anon_sym_DQUOTE, ACTIONS(37), 1, anon_sym_default, ACTIONS(39), 1, anon_sym_RBRACE, STATE(11), 1, - sym_comment, - STATE(12), 1, aux_sym_select_cases_repeat1, - STATE(15), 1, + STATE(12), 1, + sym_comment, + STATE(18), 1, sym_interpreted_string_literal, - STATE(59), 1, - sym_select_case, - STATE(68), 1, + STATE(96), 1, sym__string_literal, - STATE(79), 1, + STATE(97), 1, + sym_select_case, + STATE(98), 1, sym_default_case, - [481] = 8, + [530] = 8, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(41), 1, + ACTIONS(43), 1, sym_raw_string_literal, - ACTIONS(44), 1, + ACTIONS(46), 1, anon_sym_DQUOTE, - STATE(15), 1, + STATE(18), 1, sym_interpreted_string_literal, - STATE(59), 1, - sym_select_case, - STATE(68), 1, + STATE(96), 1, sym__string_literal, - ACTIONS(47), 2, + STATE(97), 1, + sym_select_case, + ACTIONS(41), 2, anon_sym_RBRACE, anon_sym_default, - STATE(12), 2, + STATE(13), 2, sym_comment, aux_sym_select_cases_repeat1, - [508] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(13), 1, - sym_comment, - ACTIONS(49), 7, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - [524] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(14), 1, - sym_comment, - ACTIONS(51), 7, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - [540] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(15), 1, - sym_comment, - ACTIONS(53), 7, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - [556] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(57), 1, - anon_sym_soong_config_variable, - STATE(16), 1, - sym_comment, - STATE(60), 2, - sym_select_value, - sym_soong_config_variable, - ACTIONS(55), 3, - anon_sym_product_variable, - anon_sym_release_variable, - anon_sym_variant, - [575] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(17), 1, - sym_comment, - ACTIONS(59), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [589] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(18), 1, - sym_comment, - ACTIONS(61), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [603] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(19), 1, - sym_comment, - ACTIONS(63), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [617] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(20), 1, - sym_comment, - ACTIONS(65), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [631] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(21), 1, - sym_comment, - ACTIONS(67), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [645] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(22), 1, - sym_comment, - ACTIONS(69), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [659] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(23), 1, - sym_comment, - ACTIONS(71), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [673] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(24), 1, - sym_comment, - ACTIONS(73), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [687] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(25), 1, - sym_comment, - ACTIONS(75), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [701] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(26), 1, - sym_comment, - ACTIONS(77), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [715] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(27), 1, - sym_comment, - ACTIONS(79), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [729] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(28), 1, - sym_comment, - ACTIONS(81), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [743] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(29), 1, - sym_comment, - ACTIONS(83), 5, - ts_builtin_sym_end, - sym_identifier, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RBRACK, - [757] = 6, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(85), 1, - ts_builtin_sym_end, - ACTIONS(87), 1, - sym_identifier, - STATE(50), 1, - sym__definition, - STATE(56), 1, - sym_assignment, - STATE(30), 2, - sym_comment, - aux_sym_source_file_repeat1, - [777] = 7, + [557] = 9, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(7), 1, sym_identifier, - ACTIONS(90), 1, + ACTIONS(49), 1, ts_builtin_sym_end, - STATE(30), 1, + STATE(14), 1, + sym_comment, + STATE(15), 1, aux_sym_source_file_repeat1, + STATE(71), 1, + sym__definition, + STATE(74), 1, + sym__old_module, + STATE(75), 1, + sym__new_module, + STATE(64), 2, + sym_assignment, + sym_module, + [586] = 8, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(51), 1, + ts_builtin_sym_end, + ACTIONS(53), 1, + sym_identifier, + STATE(71), 1, + sym__definition, + STATE(74), 1, + sym__old_module, + STATE(75), 1, + sym__new_module, + STATE(15), 2, + sym_comment, + aux_sym_source_file_repeat1, + STATE(64), 2, + sym_assignment, + sym_module, + [613] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(16), 1, + sym_comment, + ACTIONS(56), 7, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_COLON, + anon_sym_RBRACK, + [629] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(17), 1, + sym_comment, + ACTIONS(58), 7, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_COLON, + anon_sym_RBRACK, + [645] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(18), 1, + sym_comment, + ACTIONS(60), 7, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_COLON, + anon_sym_RBRACK, + [661] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(19), 1, + sym_comment, + ACTIONS(62), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + [676] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(20), 1, + sym_comment, + ACTIONS(64), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + [691] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(21), 1, + sym_comment, + ACTIONS(66), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + [706] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(22), 1, + sym_comment, + ACTIONS(68), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + [721] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(23), 1, + sym_comment, + ACTIONS(70), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + [736] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(24), 1, + sym_comment, + ACTIONS(72), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + [751] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(25), 1, + sym_comment, + ACTIONS(74), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + [766] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(26), 1, + sym_comment, + ACTIONS(76), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + [781] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(27), 1, + sym_comment, + ACTIONS(78), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + [796] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(28), 1, + sym_comment, + ACTIONS(80), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + [811] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(29), 1, + sym_comment, + ACTIONS(82), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + [826] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(86), 1, + anon_sym_soong_config_variable, + STATE(30), 1, + sym_comment, + STATE(104), 2, + sym_select_value, + sym_soong_config_variable, + ACTIONS(84), 3, + anon_sym_product_variable, + anon_sym_release_variable, + anon_sym_variant, + [845] = 3, + ACTIONS(3), 1, + anon_sym_POUND, STATE(31), 1, sym_comment, - STATE(50), 1, - sym__definition, - STATE(56), 1, - sym_assignment, - [799] = 3, + ACTIONS(88), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + [860] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(32), 1, sym_comment, - ACTIONS(92), 5, + ACTIONS(90), 6, ts_builtin_sym_end, - sym_identifier, anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, anon_sym_RBRACK, - [813] = 6, + [875] = 3, 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(33), 1, sym_comment, - STATE(72), 1, - sym__string_literal, - [832] = 6, + ACTIONS(92), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + [890] = 5, ACTIONS(94), 1, anon_sym_POUND, ACTIONS(96), 1, aux_sym_interpreted_string_literal_token1, - ACTIONS(98), 1, + ACTIONS(99), 1, anon_sym_DQUOTE2, - ACTIONS(100), 1, + ACTIONS(101), 1, sym_escape_sequence, - STATE(34), 1, - sym_comment, - STATE(35), 1, - aux_sym_interpreted_string_literal_repeat1, - [851] = 5, - ACTIONS(94), 1, - anon_sym_POUND, - ACTIONS(102), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(105), 1, - anon_sym_DQUOTE2, - ACTIONS(107), 1, - sym_escape_sequence, - STATE(35), 2, + STATE(34), 2, sym_comment, aux_sym_interpreted_string_literal_repeat1, - [868] = 3, + [907] = 6, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(19), 1, + sym_raw_string_literal, + ACTIONS(21), 1, + anon_sym_DQUOTE, + STATE(18), 1, + sym_interpreted_string_literal, + STATE(35), 1, + sym_comment, + STATE(101), 1, + sym__string_literal, + [926] = 6, + ACTIONS(94), 1, + anon_sym_POUND, + ACTIONS(104), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(106), 1, + anon_sym_DQUOTE2, + ACTIONS(108), 1, + sym_escape_sequence, + STATE(34), 1, + aux_sym_interpreted_string_literal_repeat1, STATE(36), 1, sym_comment, - ACTIONS(47), 4, - sym_raw_string_literal, - anon_sym_DQUOTE, - anon_sym_RBRACE, - anon_sym_default, - [881] = 6, + [945] = 3, 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(37), 1, sym_comment, - STATE(73), 1, - sym__string_literal, - [900] = 6, - ACTIONS(94), 1, - anon_sym_POUND, - ACTIONS(96), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(100), 1, - sym_escape_sequence, - ACTIONS(110), 1, - anon_sym_DQUOTE2, - STATE(34), 1, - aux_sym_interpreted_string_literal_repeat1, - STATE(38), 1, - sym_comment, - [919] = 6, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(17), 1, + ACTIONS(41), 4, + anon_sym_RBRACE, sym_raw_string_literal, - ACTIONS(19), 1, anon_sym_DQUOTE, - STATE(15), 1, - sym_interpreted_string_literal, - STATE(39), 1, - sym_comment, - STATE(80), 1, - sym__string_literal, - [938] = 5, + anon_sym_default, + [958] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(112), 1, - anon_sym_COMMA, + anon_sym_LBRACE, ACTIONS(114), 1, - anon_sym_RBRACK, - STATE(40), 1, + anon_sym_LPAREN, + STATE(38), 1, sym_comment, - STATE(43), 1, - aux_sym_list_expression_repeat1, - [954] = 5, + ACTIONS(110), 2, + anon_sym_EQ, + anon_sym_PLUS_EQ, + [975] = 6, + ACTIONS(94), 1, + anon_sym_POUND, + ACTIONS(104), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(108), 1, + sym_escape_sequence, + ACTIONS(116), 1, + anon_sym_DQUOTE2, + STATE(36), 1, + aux_sym_interpreted_string_literal_repeat1, + STATE(39), 1, + sym_comment, + [994] = 6, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(116), 1, - sym_identifier, - ACTIONS(118), 1, - anon_sym_RBRACE, + ACTIONS(19), 1, + sym_raw_string_literal, + ACTIONS(21), 1, + anon_sym_DQUOTE, + STATE(18), 1, + sym_interpreted_string_literal, + STATE(40), 1, + sym_comment, + STATE(100), 1, + sym__string_literal, + [1013] = 6, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(19), 1, + sym_raw_string_literal, + ACTIONS(21), 1, + anon_sym_DQUOTE, + STATE(18), 1, + sym_interpreted_string_literal, STATE(41), 1, sym_comment, - STATE(53), 1, + STATE(106), 1, + sym__string_literal, + [1032] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(118), 1, + anon_sym_RBRACE, + ACTIONS(120), 1, + sym_identifier, + STATE(42), 1, + sym_comment, + STATE(62), 1, sym__colon_property, - [970] = 5, + [1048] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(120), 1, - anon_sym_COMMA, + sym_identifier, ACTIONS(122), 1, anon_sym_RBRACE, - STATE(42), 1, - sym_comment, - STATE(46), 1, - aux_sym_map_expression_repeat1, - [986] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(29), 1, - anon_sym_RBRACK, - ACTIONS(124), 1, - anon_sym_COMMA, STATE(43), 1, sym_comment, - STATE(48), 1, - aux_sym_list_expression_repeat1, - [1002] = 5, + STATE(70), 1, + sym__colon_property, + [1064] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(126), 1, + ACTIONS(124), 1, anon_sym_COMMA, - ACTIONS(128), 1, + ACTIONS(126), 1, anon_sym_RBRACE, - STATE(42), 1, - aux_sym_map_expression_repeat1, STATE(44), 1, sym_comment, - [1018] = 5, + STATE(59), 1, + aux_sym__old_module_repeat1, + [1080] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(116), 1, - sym_identifier, + ACTIONS(128), 1, + anon_sym_RPAREN, ACTIONS(130), 1, - anon_sym_RBRACE, - STATE(44), 1, - sym__colon_property, + sym_identifier, STATE(45), 1, sym_comment, - [1034] = 4, + STATE(67), 1, + sym__equal_property, + [1096] = 4, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(132), 1, anon_sym_COMMA, ACTIONS(135), 1, - anon_sym_RBRACE, + anon_sym_RBRACK, STATE(46), 2, sym_comment, - aux_sym_map_expression_repeat1, - [1048] = 4, - ACTIONS(94), 1, + aux_sym_list_expression_repeat1, + [1110] = 5, + ACTIONS(3), 1, anon_sym_POUND, ACTIONS(137), 1, - aux_sym_interpreted_string_literal_token1, + anon_sym_COMMA, + ACTIONS(139), 1, + anon_sym_RPAREN, STATE(47), 1, sym_comment, - ACTIONS(139), 2, - anon_sym_DQUOTE2, - sym_escape_sequence, - [1062] = 4, + STATE(61), 1, + aux_sym__new_module_repeat1, + [1126] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(141), 1, - anon_sym_COMMA, - ACTIONS(144), 1, - anon_sym_RBRACK, - STATE(48), 2, - sym_comment, - aux_sym_list_expression_repeat1, - [1076] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(116), 1, + ACTIONS(120), 1, sym_identifier, - ACTIONS(146), 1, + ACTIONS(141), 1, + anon_sym_RBRACE, + STATE(48), 1, + sym_comment, + STATE(70), 1, + sym__colon_property, + [1142] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(120), 1, + sym_identifier, + ACTIONS(143), 1, anon_sym_RBRACE, STATE(49), 1, sym_comment, - STATE(53), 1, + STATE(54), 1, sym__colon_property, - [1092] = 3, + [1158] = 5, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(145), 1, + anon_sym_COMMA, + ACTIONS(147), 1, + anon_sym_RBRACE, STATE(50), 1, sym_comment, - ACTIONS(148), 2, - ts_builtin_sym_end, - sym_identifier, - [1103] = 4, + STATE(59), 1, + aux_sym__old_module_repeat1, + [1174] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(116), 1, - sym_identifier, + ACTIONS(149), 1, + anon_sym_COMMA, + ACTIONS(151), 1, + anon_sym_RBRACK, STATE(51), 1, sym_comment, - STATE(53), 1, - sym__colon_property, - [1116] = 3, + STATE(57), 1, + aux_sym_list_expression_repeat1, + [1190] = 5, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(130), 1, + sym_identifier, + ACTIONS(153), 1, + anon_sym_RPAREN, STATE(52), 1, sym_comment, - ACTIONS(150), 2, - anon_sym_EQ, - anon_sym_PLUS_EQ, - [1127] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(53), 1, - sym_comment, - ACTIONS(152), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [1138] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(54), 1, - sym_comment, - ACTIONS(144), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [1149] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(55), 1, - sym_comment, - ACTIONS(154), 2, - ts_builtin_sym_end, - sym_identifier, - [1160] = 3, - ACTIONS(3), 1, - anon_sym_POUND, STATE(56), 1, - sym_comment, - ACTIONS(156), 2, - ts_builtin_sym_end, - sym_identifier, - [1171] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(57), 1, - sym_comment, - ACTIONS(158), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [1182] = 4, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(160), 1, - anon_sym_LBRACE, - STATE(58), 1, - sym_comment, - STATE(61), 1, - sym_select_cases, - [1195] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(162), 1, - anon_sym_COMMA, - STATE(59), 1, - sym_comment, - [1205] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(164), 1, - anon_sym_COMMA, - STATE(60), 1, - sym_comment, - [1215] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(166), 1, - anon_sym_RPAREN, - STATE(61), 1, - sym_comment, - [1225] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(168), 1, - anon_sym_LPAREN, - STATE(62), 1, - sym_comment, - [1235] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(170), 1, - aux_sym_integer_literal_token1, - STATE(63), 1, - sym_comment, - [1245] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(172), 1, - anon_sym_COMMA, - STATE(64), 1, - sym_comment, - [1255] = 3, + sym__equal_property, + [1206] = 4, ACTIONS(94), 1, anon_sym_POUND, - ACTIONS(174), 1, - aux_sym_comment_token1, - STATE(65), 1, + ACTIONS(155), 1, + aux_sym_interpreted_string_literal_token1, + STATE(53), 1, sym_comment, - [1265] = 3, + ACTIONS(157), 2, + anon_sym_DQUOTE2, + sym_escape_sequence, + [1220] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(176), 1, + ACTIONS(159), 1, + anon_sym_COMMA, + ACTIONS(161), 1, + anon_sym_RBRACE, + STATE(50), 1, + aux_sym__old_module_repeat1, + STATE(54), 1, + sym_comment, + [1236] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(120), 1, + sym_identifier, + ACTIONS(163), 1, + anon_sym_RBRACE, + STATE(55), 1, + sym_comment, + STATE(70), 1, + sym__colon_property, + [1252] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(165), 1, + anon_sym_COMMA, + ACTIONS(167), 1, anon_sym_RPAREN, - STATE(66), 1, + STATE(47), 1, + aux_sym__new_module_repeat1, + STATE(56), 1, sym_comment, - [1275] = 3, + [1268] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(178), 1, - anon_sym_COLON, - STATE(67), 1, + ACTIONS(31), 1, + anon_sym_RBRACK, + ACTIONS(169), 1, + anon_sym_COMMA, + STATE(46), 1, + aux_sym_list_expression_repeat1, + STATE(57), 1, sym_comment, - [1285] = 3, + [1284] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(120), 1, + sym_identifier, + ACTIONS(171), 1, + anon_sym_RBRACE, + STATE(58), 1, + sym_comment, + STATE(70), 1, + sym__colon_property, + [1300] = 4, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(173), 1, + anon_sym_COMMA, + ACTIONS(176), 1, + anon_sym_RBRACE, + STATE(59), 2, + sym_comment, + aux_sym__old_module_repeat1, + [1314] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(130), 1, + sym_identifier, + ACTIONS(178), 1, + anon_sym_RPAREN, + STATE(60), 1, + sym_comment, + STATE(67), 1, + sym__equal_property, + [1330] = 4, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(180), 1, - anon_sym_COLON, - STATE(68), 1, - sym_comment, - [1295] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(182), 1, - anon_sym_COLON, - STATE(69), 1, - sym_comment, - [1305] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(184), 1, anon_sym_COMMA, - STATE(70), 1, - sym_comment, - [1315] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(186), 1, + ACTIONS(183), 1, anon_sym_RPAREN, - STATE(71), 1, + STATE(61), 2, sym_comment, - [1325] = 3, + aux_sym__new_module_repeat1, + [1344] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(188), 1, + ACTIONS(185), 1, anon_sym_COMMA, - STATE(72), 1, - sym_comment, - [1335] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(190), 1, - anon_sym_RPAREN, - STATE(73), 1, - sym_comment, - [1345] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(192), 1, - anon_sym_LPAREN, - STATE(74), 1, - sym_comment, - [1355] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(194), 1, - ts_builtin_sym_end, - STATE(75), 1, - sym_comment, - [1365] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(196), 1, - anon_sym_LPAREN, - STATE(76), 1, - sym_comment, - [1375] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(198), 1, + ACTIONS(187), 1, anon_sym_RBRACE, - STATE(77), 1, + STATE(44), 1, + aux_sym__old_module_repeat1, + STATE(62), 1, sym_comment, - [1385] = 3, + [1360] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(200), 1, - anon_sym_RPAREN, - STATE(78), 1, + STATE(63), 1, sym_comment, - [1395] = 3, + ACTIONS(189), 2, + ts_builtin_sym_end, + sym_identifier, + [1371] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(202), 1, + STATE(64), 1, + sym_comment, + ACTIONS(191), 2, + ts_builtin_sym_end, + sym_identifier, + [1382] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(65), 1, + sym_comment, + ACTIONS(193), 2, anon_sym_COMMA, - STATE(79), 1, - sym_comment, - [1405] = 3, + anon_sym_RPAREN, + [1393] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(204), 1, - anon_sym_RPAREN, - STATE(80), 1, + STATE(66), 1, sym_comment, + ACTIONS(195), 2, + ts_builtin_sym_end, + sym_identifier, + [1404] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(67), 1, + sym_comment, + ACTIONS(197), 2, + anon_sym_COMMA, + anon_sym_RPAREN, [1415] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(206), 1, + STATE(68), 1, + sym_comment, + ACTIONS(199), 2, + ts_builtin_sym_end, + sym_identifier, + [1426] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(69), 1, + sym_comment, + ACTIONS(201), 2, + ts_builtin_sym_end, + sym_identifier, + [1437] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(70), 1, + sym_comment, + ACTIONS(203), 2, anon_sym_COMMA, + anon_sym_RBRACE, + [1448] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(71), 1, + sym_comment, + ACTIONS(205), 2, + ts_builtin_sym_end, + sym_identifier, + [1459] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(72), 1, + sym_comment, + ACTIONS(207), 2, + ts_builtin_sym_end, + sym_identifier, + [1470] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(73), 1, + sym_comment, + ACTIONS(209), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [1481] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(74), 1, + sym_comment, + ACTIONS(211), 2, + ts_builtin_sym_end, + sym_identifier, + [1492] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(75), 1, + sym_comment, + ACTIONS(213), 2, + ts_builtin_sym_end, + sym_identifier, + [1503] = 4, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(215), 1, + anon_sym_LBRACE, + STATE(76), 1, + sym_comment, + STATE(89), 1, + sym_select_cases, + [1516] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(77), 1, + sym_comment, + ACTIONS(217), 2, + ts_builtin_sym_end, + sym_identifier, + [1527] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(78), 1, + sym_comment, + ACTIONS(135), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [1538] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(79), 1, + sym_comment, + ACTIONS(219), 2, + ts_builtin_sym_end, + sym_identifier, + [1549] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(80), 1, + sym_comment, + ACTIONS(221), 2, + ts_builtin_sym_end, + sym_identifier, + [1560] = 3, + ACTIONS(3), 1, + anon_sym_POUND, STATE(81), 1, sym_comment, - [1425] = 3, + ACTIONS(223), 2, + ts_builtin_sym_end, + sym_identifier, + [1571] = 4, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(208), 1, - anon_sym_COMMA, + ACTIONS(120), 1, + sym_identifier, + STATE(70), 1, + sym__colon_property, STATE(82), 1, sym_comment, - [1435] = 3, + [1584] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(210), 1, - anon_sym_COMMA, STATE(83), 1, sym_comment, - [1445] = 3, + ACTIONS(225), 2, + ts_builtin_sym_end, + sym_identifier, + [1595] = 4, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(212), 1, - anon_sym_COMMA, + ACTIONS(130), 1, + sym_identifier, + STATE(67), 1, + sym__equal_property, STATE(84), 1, sym_comment, - [1455] = 3, + [1608] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(214), 1, - anon_sym_RPAREN, STATE(85), 1, sym_comment, - [1465] = 3, + ACTIONS(227), 2, + ts_builtin_sym_end, + sym_identifier, + [1619] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(216), 1, - anon_sym_RBRACE, + ACTIONS(229), 1, + anon_sym_LPAREN, STATE(86), 1, sym_comment, - [1475] = 1, - ACTIONS(218), 1, + [1629] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(231), 1, + anon_sym_RPAREN, + STATE(87), 1, + sym_comment, + [1639] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(233), 1, + anon_sym_COLON, + STATE(88), 1, + sym_comment, + [1649] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(235), 1, + anon_sym_RPAREN, + STATE(89), 1, + sym_comment, + [1659] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(237), 1, + anon_sym_EQ, + STATE(90), 1, + sym_comment, + [1669] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(239), 1, + anon_sym_LPAREN, + STATE(91), 1, + sym_comment, + [1679] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(241), 1, + anon_sym_COMMA, + STATE(92), 1, + sym_comment, + [1689] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(243), 1, + aux_sym_integer_literal_token1, + STATE(93), 1, + sym_comment, + [1699] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(245), 1, + anon_sym_RPAREN, + STATE(94), 1, + sym_comment, + [1709] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(247), 1, + anon_sym_COLON, + STATE(95), 1, + sym_comment, + [1719] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(249), 1, + anon_sym_COLON, + STATE(96), 1, + sym_comment, + [1729] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(251), 1, + anon_sym_COMMA, + STATE(97), 1, + sym_comment, + [1739] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(253), 1, + anon_sym_COMMA, + STATE(98), 1, + sym_comment, + [1749] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(255), 1, + anon_sym_RPAREN, + STATE(99), 1, + sym_comment, + [1759] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(257), 1, + anon_sym_COMMA, + STATE(100), 1, + sym_comment, + [1769] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(259), 1, + anon_sym_RPAREN, + STATE(101), 1, + sym_comment, + [1779] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(261), 1, + ts_builtin_sym_end, + STATE(102), 1, + sym_comment, + [1789] = 3, + ACTIONS(94), 1, + anon_sym_POUND, + ACTIONS(263), 1, + aux_sym_comment_token1, + STATE(103), 1, + sym_comment, + [1799] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(265), 1, + anon_sym_COMMA, + STATE(104), 1, + sym_comment, + [1809] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(267), 1, + anon_sym_RBRACE, + STATE(105), 1, + sym_comment, + [1819] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(269), 1, + anon_sym_RPAREN, + STATE(106), 1, + sym_comment, + [1829] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(271), 1, + anon_sym_COMMA, + STATE(107), 1, + sym_comment, + [1839] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(273), 1, + anon_sym_LPAREN, + STATE(108), 1, + sym_comment, + [1849] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(275), 1, + anon_sym_COMMA, + STATE(109), 1, + sym_comment, + [1859] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(277), 1, + anon_sym_COMMA, + STATE(110), 1, + sym_comment, + [1869] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(279), 1, + anon_sym_COMMA, + STATE(111), 1, + sym_comment, + [1879] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(281), 1, + anon_sym_COMMA, + STATE(112), 1, + sym_comment, + [1889] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(283), 1, + anon_sym_RPAREN, + STATE(113), 1, + sym_comment, + [1899] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(285), 1, + anon_sym_RBRACE, + STATE(114), 1, + sym_comment, + [1909] = 1, + ACTIONS(287), 1, ts_builtin_sym_end, }; @@ -6582,193 +7021,255 @@ static const uint32_t ts_small_parse_table_map[] = { [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)] = 575, - [SMALL_STATE(18)] = 589, - [SMALL_STATE(19)] = 603, - [SMALL_STATE(20)] = 617, - [SMALL_STATE(21)] = 631, - [SMALL_STATE(22)] = 645, - [SMALL_STATE(23)] = 659, - [SMALL_STATE(24)] = 673, - [SMALL_STATE(25)] = 687, - [SMALL_STATE(26)] = 701, - [SMALL_STATE(27)] = 715, - [SMALL_STATE(28)] = 729, - [SMALL_STATE(29)] = 743, - [SMALL_STATE(30)] = 757, - [SMALL_STATE(31)] = 777, - [SMALL_STATE(32)] = 799, - [SMALL_STATE(33)] = 813, - [SMALL_STATE(34)] = 832, - [SMALL_STATE(35)] = 851, - [SMALL_STATE(36)] = 868, - [SMALL_STATE(37)] = 881, - [SMALL_STATE(38)] = 900, - [SMALL_STATE(39)] = 919, - [SMALL_STATE(40)] = 938, - [SMALL_STATE(41)] = 954, - [SMALL_STATE(42)] = 970, - [SMALL_STATE(43)] = 986, - [SMALL_STATE(44)] = 1002, - [SMALL_STATE(45)] = 1018, - [SMALL_STATE(46)] = 1034, - [SMALL_STATE(47)] = 1048, - [SMALL_STATE(48)] = 1062, - [SMALL_STATE(49)] = 1076, - [SMALL_STATE(50)] = 1092, - [SMALL_STATE(51)] = 1103, - [SMALL_STATE(52)] = 1116, - [SMALL_STATE(53)] = 1127, - [SMALL_STATE(54)] = 1138, - [SMALL_STATE(55)] = 1149, - [SMALL_STATE(56)] = 1160, - [SMALL_STATE(57)] = 1171, - [SMALL_STATE(58)] = 1182, - [SMALL_STATE(59)] = 1195, - [SMALL_STATE(60)] = 1205, - [SMALL_STATE(61)] = 1215, - [SMALL_STATE(62)] = 1225, - [SMALL_STATE(63)] = 1235, - [SMALL_STATE(64)] = 1245, - [SMALL_STATE(65)] = 1255, - [SMALL_STATE(66)] = 1265, - [SMALL_STATE(67)] = 1275, - [SMALL_STATE(68)] = 1285, - [SMALL_STATE(69)] = 1295, - [SMALL_STATE(70)] = 1305, - [SMALL_STATE(71)] = 1315, - [SMALL_STATE(72)] = 1325, - [SMALL_STATE(73)] = 1335, - [SMALL_STATE(74)] = 1345, - [SMALL_STATE(75)] = 1355, - [SMALL_STATE(76)] = 1365, - [SMALL_STATE(77)] = 1375, - [SMALL_STATE(78)] = 1385, - [SMALL_STATE(79)] = 1395, - [SMALL_STATE(80)] = 1405, - [SMALL_STATE(81)] = 1415, - [SMALL_STATE(82)] = 1425, - [SMALL_STATE(83)] = 1435, - [SMALL_STATE(84)] = 1445, - [SMALL_STATE(85)] = 1455, - [SMALL_STATE(86)] = 1465, - [SMALL_STATE(87)] = 1475, + [SMALL_STATE(11)] = 462, + [SMALL_STATE(12)] = 496, + [SMALL_STATE(13)] = 530, + [SMALL_STATE(14)] = 557, + [SMALL_STATE(15)] = 586, + [SMALL_STATE(16)] = 613, + [SMALL_STATE(17)] = 629, + [SMALL_STATE(18)] = 645, + [SMALL_STATE(19)] = 661, + [SMALL_STATE(20)] = 676, + [SMALL_STATE(21)] = 691, + [SMALL_STATE(22)] = 706, + [SMALL_STATE(23)] = 721, + [SMALL_STATE(24)] = 736, + [SMALL_STATE(25)] = 751, + [SMALL_STATE(26)] = 766, + [SMALL_STATE(27)] = 781, + [SMALL_STATE(28)] = 796, + [SMALL_STATE(29)] = 811, + [SMALL_STATE(30)] = 826, + [SMALL_STATE(31)] = 845, + [SMALL_STATE(32)] = 860, + [SMALL_STATE(33)] = 875, + [SMALL_STATE(34)] = 890, + [SMALL_STATE(35)] = 907, + [SMALL_STATE(36)] = 926, + [SMALL_STATE(37)] = 945, + [SMALL_STATE(38)] = 958, + [SMALL_STATE(39)] = 975, + [SMALL_STATE(40)] = 994, + [SMALL_STATE(41)] = 1013, + [SMALL_STATE(42)] = 1032, + [SMALL_STATE(43)] = 1048, + [SMALL_STATE(44)] = 1064, + [SMALL_STATE(45)] = 1080, + [SMALL_STATE(46)] = 1096, + [SMALL_STATE(47)] = 1110, + [SMALL_STATE(48)] = 1126, + [SMALL_STATE(49)] = 1142, + [SMALL_STATE(50)] = 1158, + [SMALL_STATE(51)] = 1174, + [SMALL_STATE(52)] = 1190, + [SMALL_STATE(53)] = 1206, + [SMALL_STATE(54)] = 1220, + [SMALL_STATE(55)] = 1236, + [SMALL_STATE(56)] = 1252, + [SMALL_STATE(57)] = 1268, + [SMALL_STATE(58)] = 1284, + [SMALL_STATE(59)] = 1300, + [SMALL_STATE(60)] = 1314, + [SMALL_STATE(61)] = 1330, + [SMALL_STATE(62)] = 1344, + [SMALL_STATE(63)] = 1360, + [SMALL_STATE(64)] = 1371, + [SMALL_STATE(65)] = 1382, + [SMALL_STATE(66)] = 1393, + [SMALL_STATE(67)] = 1404, + [SMALL_STATE(68)] = 1415, + [SMALL_STATE(69)] = 1426, + [SMALL_STATE(70)] = 1437, + [SMALL_STATE(71)] = 1448, + [SMALL_STATE(72)] = 1459, + [SMALL_STATE(73)] = 1470, + [SMALL_STATE(74)] = 1481, + [SMALL_STATE(75)] = 1492, + [SMALL_STATE(76)] = 1503, + [SMALL_STATE(77)] = 1516, + [SMALL_STATE(78)] = 1527, + [SMALL_STATE(79)] = 1538, + [SMALL_STATE(80)] = 1549, + [SMALL_STATE(81)] = 1560, + [SMALL_STATE(82)] = 1571, + [SMALL_STATE(83)] = 1584, + [SMALL_STATE(84)] = 1595, + [SMALL_STATE(85)] = 1608, + [SMALL_STATE(86)] = 1619, + [SMALL_STATE(87)] = 1629, + [SMALL_STATE(88)] = 1639, + [SMALL_STATE(89)] = 1649, + [SMALL_STATE(90)] = 1659, + [SMALL_STATE(91)] = 1669, + [SMALL_STATE(92)] = 1679, + [SMALL_STATE(93)] = 1689, + [SMALL_STATE(94)] = 1699, + [SMALL_STATE(95)] = 1709, + [SMALL_STATE(96)] = 1719, + [SMALL_STATE(97)] = 1729, + [SMALL_STATE(98)] = 1739, + [SMALL_STATE(99)] = 1749, + [SMALL_STATE(100)] = 1759, + [SMALL_STATE(101)] = 1769, + [SMALL_STATE(102)] = 1779, + [SMALL_STATE(103)] = 1789, + [SMALL_STATE(104)] = 1799, + [SMALL_STATE(105)] = 1809, + [SMALL_STATE(106)] = 1819, + [SMALL_STATE(107)] = 1829, + [SMALL_STATE(108)] = 1839, + [SMALL_STATE(109)] = 1849, + [SMALL_STATE(110)] = 1859, + [SMALL_STATE(111)] = 1869, + [SMALL_STATE(112)] = 1879, + [SMALL_STATE(113)] = 1889, + [SMALL_STATE(114)] = 1899, + [SMALL_STATE(115)] = 1909, }; 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(65), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [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(38), - [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), - [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 3), - [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 2), - [53] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 1), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 5, .production_id = 4), - [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_expression, 6), - [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 1), - [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4), - [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 2), - [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 4), - [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 5), - [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 2), - [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1), - [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), - [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 2), - [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 3), - [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2), - [85] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(52), - [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 3, .production_id = 2), - [94] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [96] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [102] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(47), - [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), - [107] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(47), - [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [132] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 5), SHIFT_REPEAT(51), - [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 5), - [137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), - [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), - [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), SHIFT_REPEAT(7), - [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), - [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), - [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_expression_repeat1, 2, .production_id = 2), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 1), - [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__definition, 1), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon_property, 3, .production_id = 3), - [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 4, .production_id = 6), - [174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), - [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 2), - [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 5), - [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [194] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 3), - [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_soong_config_variable, 6, .production_id = 7), - [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__case_value, 1), - [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_case, 3, .production_id = 8), - [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_case, 3, .production_id = 8), - [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 4), - [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), + [43] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(18), + [46] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(39), + [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [53] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(38), + [56] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 3), + [58] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 2), + [60] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 1), + [62] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 2), + [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_expression, 6), + [66] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), + [68] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1), + [70] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 1), + [72] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 3, .production_id = 7), + [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 5), + [76] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 5, .production_id = 12), + [78] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 7), + [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 3), + [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2), + [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 12), + [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4), + [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 2), + [94] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), + [96] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(53), + [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), + [101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(53), + [104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [132] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), SHIFT_REPEAT(10), + [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), + [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [155] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), + [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), + [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [173] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 10), SHIFT_REPEAT(82), + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 10), + [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [180] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 10), SHIFT_REPEAT(84), + [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 10), + [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 3), + [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__definition, 1), + [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__equal_property, 3, .production_id = 8), + [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 5, .production_id = 6), + [197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 7), + [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 5, .production_id = 5), + [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 5, .production_id = 11), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 7), + [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), + [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 5, .production_id = 9), + [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon_property, 3, .production_id = 8), + [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 1, .production_id = 1), + [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 1, .production_id = 2), + [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 4, .production_id = 6), + [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 4, .production_id = 5), + [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 3), + [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 6, .production_id = 9), + [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 6, .production_id = 11), + [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 3, .production_id = 4), + [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 3), + [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 4, .production_id = 13), + [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 2), + [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 5), + [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [261] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [263] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), + [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_soong_config_variable, 6, .production_id = 14), + [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__case_value, 1), + [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_case, 3, .production_id = 15), + [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_case, 3, .production_id = 15), + [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 4), + [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), }; #ifdef __cplusplus diff --git a/test/corpus/modules.txt b/test/corpus/modules.txt new file mode 100644 index 0000000..943f665 --- /dev/null +++ b/test/corpus/modules.txt @@ -0,0 +1,116 @@ +================================================================================ +Empty module +================================================================================ + +foo{} + +-------------------------------------------------------------------------------- + +(source_file + (module + (identifier))) + +================================================================================ +Empty module (newlines) +================================================================================ + +foo { +} + +-------------------------------------------------------------------------------- + +(source_file + (module + (identifier))) + +================================================================================ +Single property +================================================================================ + +foo { + bar: 42 +} + +-------------------------------------------------------------------------------- + +(source_file + (module + (identifier) + (identifier) + (integer_literal))) + +================================================================================ +Single property (trailing comma) +================================================================================ + +foo { + bar: 42, +} + +-------------------------------------------------------------------------------- + +(source_file + (module + (identifier) + (identifier) + (integer_literal))) + +================================================================================ +Mixed values +================================================================================ + +foo { + active: true, + value: "foo", + answer: 42, +} + +-------------------------------------------------------------------------------- + +(source_file + (module + (identifier) + (identifier) + (boolean_literal) + (identifier) + (interpreted_string_literal) + (identifier) + (integer_literal))) + +================================================================================ +Complex value +================================================================================ + +foo { + some: [ + { + complex: "value", + } + ], +} + +-------------------------------------------------------------------------------- + +(source_file + (module + (identifier) + (identifier) + (list_expression + (map_expression + (identifier) + (interpreted_string_literal))))) + +================================================================================ +Rogue comma +================================================================================ + +foo { + , +} + +-------------------------------------------------------------------------------- + +(source_file + (module + (identifier) + (ERROR))) From 05cec8d83123b9e28ef791cb118dd4754d6d85a4 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 8 Apr 2024 01:44:57 +0100 Subject: [PATCH 08/10] Add 'property' field name where relevant --- grammar.js | 6 ++-- src/grammar.json | 48 ++++++++++++++++++------- src/node-types.json | 88 +++++++++++++++++++++++++++++++++++++++++++++ src/parser.c | 83 ++++++++++++++++++++++++------------------ 4 files changed, 176 insertions(+), 49 deletions(-) diff --git a/grammar.js b/grammar.js index f489221..1a12ee6 100644 --- a/grammar.js +++ b/grammar.js @@ -41,14 +41,14 @@ module.exports = grammar({ _old_module: ($) => seq( field("type", $.identifier), "{", - optional(commaSeparated($._colon_property)), + optional(commaSeparated(field("property", $._colon_property))), "}", ), _new_module: ($) => seq( $.identifier, "(", - optional(commaSeparated($._equal_property)), + optional(commaSeparated(field("property", $._equal_property))), ")", ), @@ -175,7 +175,7 @@ module.exports = grammar({ map_expression: ($) => seq( "{", - optional(commaSeparated($._colon_property)), + optional(commaSeparated(field("property", $._colon_property))), "}", ), diff --git a/src/grammar.json b/src/grammar.json index 0695e75..66c9cea 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -107,8 +107,12 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "_colon_property" + "type": "FIELD", + "name": "property", + "content": { + "type": "SYMBOL", + "name": "_colon_property" + } }, { "type": "REPEAT", @@ -120,8 +124,12 @@ "value": "," }, { - "type": "SYMBOL", - "name": "_colon_property" + "type": "FIELD", + "name": "property", + "content": { + "type": "SYMBOL", + "name": "_colon_property" + } } ] } @@ -169,8 +177,12 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "_equal_property" + "type": "FIELD", + "name": "property", + "content": { + "type": "SYMBOL", + "name": "_equal_property" + } }, { "type": "REPEAT", @@ -182,8 +194,12 @@ "value": "," }, { - "type": "SYMBOL", - "name": "_equal_property" + "type": "FIELD", + "name": "property", + "content": { + "type": "SYMBOL", + "name": "_equal_property" + } } ] } @@ -724,8 +740,12 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "_colon_property" + "type": "FIELD", + "name": "property", + "content": { + "type": "SYMBOL", + "name": "_colon_property" + } }, { "type": "REPEAT", @@ -737,8 +757,12 @@ "value": "," }, { - "type": "SYMBOL", - "name": "_colon_property" + "type": "FIELD", + "name": "property", + "content": { + "type": "SYMBOL", + "name": "_colon_property" + } } ] } diff --git a/src/node-types.json b/src/node-types.json index d7af57d..1fc545c 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -212,6 +212,48 @@ } ] }, + "property": { + "multiple": true, + "required": false, + "types": [ + { + "type": ":", + "named": false + }, + { + "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 + } + ] + }, "value": { "multiple": true, "required": false, @@ -266,6 +308,52 @@ } ] }, + "property": { + "multiple": true, + "required": false, + "types": [ + { + "type": ":", + "named": false + }, + { + "type": "=", + "named": false + }, + { + "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": { "multiple": false, "required": false, diff --git a/src/parser.c b/src/parser.c index af4adfb..f1cbc7f 100644 --- a/src/parser.c +++ b/src/parser.c @@ -12,7 +12,7 @@ #define ALIAS_COUNT 0 #define TOKEN_COUNT 30 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 10 +#define FIELD_COUNT 11 #define MAX_ALIAS_SEQUENCE_LENGTH 6 #define PRODUCTION_ID_COUNT 16 @@ -447,10 +447,11 @@ enum ts_field_identifiers { field_namespace = 4, field_operator = 5, field_pattern = 6, - field_right = 7, - field_type = 8, - field_value = 9, - field_variable = 10, + field_property = 7, + field_right = 8, + field_type = 9, + field_value = 10, + field_variable = 11, }; static const char * const ts_field_names[] = { @@ -461,6 +462,7 @@ static const char * const ts_field_names[] = { [field_namespace] = "namespace", [field_operator] = "operator", [field_pattern] = "pattern", + [field_property] = "property", [field_right] = "right", [field_type] = "type", [field_value] = "value", @@ -468,80 +470,93 @@ static const char * const ts_field_names[] = { }; static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { - [1] = {.index = 0, .length = 3}, - [2] = {.index = 3, .length = 2}, - [3] = {.index = 5, .length = 3}, - [4] = {.index = 8, .length = 1}, - [5] = {.index = 9, .length = 3}, - [6] = {.index = 12, .length = 2}, - [7] = {.index = 14, .length = 2}, - [8] = {.index = 16, .length = 2}, - [9] = {.index = 18, .length = 5}, - [10] = {.index = 23, .length = 4}, - [11] = {.index = 27, .length = 4}, - [12] = {.index = 31, .length = 4}, - [13] = {.index = 35, .length = 2}, - [14] = {.index = 37, .length = 4}, - [15] = {.index = 41, .length = 2}, + [1] = {.index = 0, .length = 4}, + [2] = {.index = 4, .length = 3}, + [3] = {.index = 7, .length = 3}, + [4] = {.index = 10, .length = 1}, + [5] = {.index = 11, .length = 4}, + [6] = {.index = 15, .length = 3}, + [7] = {.index = 18, .length = 3}, + [8] = {.index = 21, .length = 2}, + [9] = {.index = 23, .length = 7}, + [10] = {.index = 30, .length = 6}, + [11] = {.index = 36, .length = 6}, + [12] = {.index = 42, .length = 6}, + [13] = {.index = 48, .length = 2}, + [14] = {.index = 50, .length = 4}, + [15] = {.index = 54, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { [0] = {field_field, 0, .inherited = true}, + {field_property, 0, .inherited = true}, {field_type, 0, .inherited = true}, {field_value, 0, .inherited = true}, - [3] = + [4] = {field_field, 0, .inherited = true}, + {field_property, 0, .inherited = true}, {field_value, 0, .inherited = true}, - [5] = + [7] = {field_left, 0}, {field_operator, 1}, {field_right, 2}, - [8] = + [10] = {field_type, 0}, - [9] = + [11] = {field_field, 2, .inherited = true}, + {field_property, 2}, {field_type, 0}, {field_value, 2, .inherited = true}, - [12] = + [15] = {field_field, 2, .inherited = true}, + {field_property, 2}, {field_value, 2, .inherited = true}, - [14] = + [18] = {field_field, 1, .inherited = true}, + {field_property, 1}, {field_value, 1, .inherited = true}, - [16] = + [21] = {field_field, 0}, {field_value, 2}, - [18] = + [23] = {field_field, 2, .inherited = true}, {field_field, 3, .inherited = true}, + {field_property, 2}, + {field_property, 3, .inherited = true}, {field_type, 0}, {field_value, 2, .inherited = true}, {field_value, 3, .inherited = true}, - [23] = + [30] = {field_field, 0, .inherited = true}, {field_field, 1, .inherited = true}, + {field_property, 0, .inherited = true}, + {field_property, 1, .inherited = true}, {field_value, 0, .inherited = true}, {field_value, 1, .inherited = true}, - [27] = + [36] = {field_field, 2, .inherited = true}, {field_field, 3, .inherited = true}, + {field_property, 2}, + {field_property, 3, .inherited = true}, {field_value, 2, .inherited = true}, {field_value, 3, .inherited = true}, - [31] = + [42] = {field_field, 1, .inherited = true}, {field_field, 2, .inherited = true}, + {field_property, 1}, + {field_property, 2, .inherited = true}, {field_value, 1, .inherited = true}, {field_value, 2, .inherited = true}, - [35] = + [48] = {field_condition, 2}, {field_type, 0}, - [37] = + [50] = {field_condition, 3}, {field_namespace, 2}, {field_type, 0}, {field_variable, 4}, - [41] = + [54] = {field_pattern, 0}, {field_value, 2}, }; From 4a20da5c8fef739525aead0a1b3f1b2fd9edea70 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 8 Apr 2024 01:46:43 +0100 Subject: [PATCH 09/10] Add 'element' field name to list --- grammar.js | 2 +- src/grammar.json | 16 +- src/node-types.json | 77 +-- src/parser.c | 1567 ++++++++++++++++++++++--------------------- 4 files changed, 851 insertions(+), 811 deletions(-) diff --git a/grammar.js b/grammar.js index 1a12ee6..41f2ad1 100644 --- a/grammar.js +++ b/grammar.js @@ -169,7 +169,7 @@ module.exports = grammar({ list_expression: ($) => seq( "[", - optional(commaSeparated($._expr)), + optional(commaSeparated(field("element", $._expr))), "]", ), diff --git a/src/grammar.json b/src/grammar.json index 66c9cea..078d39d 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -682,8 +682,12 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "_expr" + "type": "FIELD", + "name": "element", + "content": { + "type": "SYMBOL", + "name": "_expr" + } }, { "type": "REPEAT", @@ -695,8 +699,12 @@ "value": "," }, { - "type": "SYMBOL", - "name": "_expr" + "type": "FIELD", + "name": "element", + "content": { + "type": "SYMBOL", + "name": "_expr" + } } ] } diff --git a/src/node-types.json b/src/node-types.json index 1fc545c..6314f91 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -158,44 +158,45 @@ { "type": "list_expression", "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "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 - } - ] + "fields": { + "element": { + "multiple": true, + "required": false, + "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 + } + ] + } } }, { diff --git a/src/parser.c b/src/parser.c index f1cbc7f..dbc00fd 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,15 +6,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 116 +#define STATE_COUNT 117 #define LARGE_STATE_COUNT 2 #define SYMBOL_COUNT 59 #define ALIAS_COUNT 0 #define TOKEN_COUNT 30 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 11 +#define FIELD_COUNT 12 #define MAX_ALIAS_SEQUENCE_LENGTH 6 -#define PRODUCTION_ID_COUNT 16 +#define PRODUCTION_ID_COUNT 19 enum ts_symbol_identifiers { anon_sym_POUND = 1, @@ -442,21 +442,23 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { enum ts_field_identifiers { field_condition = 1, - field_field = 2, - field_left = 3, - field_namespace = 4, - field_operator = 5, - field_pattern = 6, - field_property = 7, - field_right = 8, - field_type = 9, - field_value = 10, - field_variable = 11, + field_element = 2, + field_field = 3, + field_left = 4, + field_namespace = 5, + field_operator = 6, + field_pattern = 7, + field_property = 8, + field_right = 9, + field_type = 10, + field_value = 11, + field_variable = 12, }; static const char * const ts_field_names[] = { [0] = NULL, [field_condition] = "condition", + [field_element] = "element", [field_field] = "field", [field_left] = "left", [field_namespace] = "namespace", @@ -477,14 +479,17 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [5] = {.index = 11, .length = 4}, [6] = {.index = 15, .length = 3}, [7] = {.index = 18, .length = 3}, - [8] = {.index = 21, .length = 2}, - [9] = {.index = 23, .length = 7}, - [10] = {.index = 30, .length = 6}, - [11] = {.index = 36, .length = 6}, - [12] = {.index = 42, .length = 6}, - [13] = {.index = 48, .length = 2}, - [14] = {.index = 50, .length = 4}, - [15] = {.index = 54, .length = 2}, + [8] = {.index = 21, .length = 1}, + [9] = {.index = 22, .length = 2}, + [10] = {.index = 24, .length = 7}, + [11] = {.index = 31, .length = 6}, + [12] = {.index = 37, .length = 6}, + [13] = {.index = 43, .length = 6}, + [14] = {.index = 49, .length = 2}, + [15] = {.index = 51, .length = 2}, + [16] = {.index = 53, .length = 2}, + [17] = {.index = 55, .length = 4}, + [18] = {.index = 59, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -517,9 +522,11 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_property, 1}, {field_value, 1, .inherited = true}, [21] = + {field_element, 1}, + [22] = {field_field, 0}, {field_value, 2}, - [23] = + [24] = {field_field, 2, .inherited = true}, {field_field, 3, .inherited = true}, {field_property, 2}, @@ -527,36 +534,42 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_type, 0}, {field_value, 2, .inherited = true}, {field_value, 3, .inherited = true}, - [30] = + [31] = {field_field, 0, .inherited = true}, {field_field, 1, .inherited = true}, {field_property, 0, .inherited = true}, {field_property, 1, .inherited = true}, {field_value, 0, .inherited = true}, {field_value, 1, .inherited = true}, - [36] = + [37] = {field_field, 2, .inherited = true}, {field_field, 3, .inherited = true}, {field_property, 2}, {field_property, 3, .inherited = true}, {field_value, 2, .inherited = true}, {field_value, 3, .inherited = true}, - [42] = + [43] = {field_field, 1, .inherited = true}, {field_field, 2, .inherited = true}, {field_property, 1}, {field_property, 2, .inherited = true}, {field_value, 1, .inherited = true}, {field_value, 2, .inherited = true}, - [48] = + [49] = + {field_element, 1}, + {field_element, 2, .inherited = true}, + [51] = + {field_element, 0, .inherited = true}, + {field_element, 1, .inherited = true}, + [53] = {field_condition, 2}, {field_type, 0}, - [50] = + [55] = {field_condition, 3}, {field_namespace, 2}, {field_type, 0}, {field_variable, 4}, - [54] = + [59] = {field_pattern, 0}, {field_value, 2}, }; @@ -686,6 +699,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [113] = 113, [114] = 114, [115] = 115, + [116] = 116, }; static inline bool sym_identifier_character_set_1(int32_t c) { @@ -5505,7 +5519,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [17] = {.lex_state = 81}, [18] = {.lex_state = 81}, [19] = {.lex_state = 81}, - [20] = {.lex_state = 81}, + [20] = {.lex_state = 5}, [21] = {.lex_state = 81}, [22] = {.lex_state = 81}, [23] = {.lex_state = 81}, @@ -5515,51 +5529,51 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [27] = {.lex_state = 81}, [28] = {.lex_state = 81}, [29] = {.lex_state = 81}, - [30] = {.lex_state = 5}, + [30] = {.lex_state = 81}, [31] = {.lex_state = 81}, [32] = {.lex_state = 81}, [33] = {.lex_state = 81}, - [34] = {.lex_state = 1}, + [34] = {.lex_state = 81}, [35] = {.lex_state = 81}, [36] = {.lex_state = 1}, - [37] = {.lex_state = 5}, - [38] = {.lex_state = 0}, - [39] = {.lex_state = 1}, + [37] = {.lex_state = 0}, + [38] = {.lex_state = 1}, + [39] = {.lex_state = 5}, [40] = {.lex_state = 81}, - [41] = {.lex_state = 81}, + [41] = {.lex_state = 1}, [42] = {.lex_state = 81}, - [43] = {.lex_state = 81}, - [44] = {.lex_state = 0}, - [45] = {.lex_state = 81}, - [46] = {.lex_state = 0}, + [43] = {.lex_state = 0}, + [44] = {.lex_state = 81}, + [45] = {.lex_state = 0}, + [46] = {.lex_state = 81}, [47] = {.lex_state = 0}, [48] = {.lex_state = 81}, [49] = {.lex_state = 81}, - [50] = {.lex_state = 0}, + [50] = {.lex_state = 1}, [51] = {.lex_state = 0}, - [52] = {.lex_state = 81}, - [53] = {.lex_state = 1}, - [54] = {.lex_state = 0}, - [55] = {.lex_state = 81}, - [56] = {.lex_state = 0}, + [52] = {.lex_state = 0}, + [53] = {.lex_state = 81}, + [54] = {.lex_state = 81}, + [55] = {.lex_state = 0}, + [56] = {.lex_state = 81}, [57] = {.lex_state = 0}, - [58] = {.lex_state = 81}, - [59] = {.lex_state = 0}, - [60] = {.lex_state = 81}, - [61] = {.lex_state = 0}, + [58] = {.lex_state = 0}, + [59] = {.lex_state = 81}, + [60] = {.lex_state = 0}, + [61] = {.lex_state = 81}, [62] = {.lex_state = 0}, - [63] = {.lex_state = 81}, + [63] = {.lex_state = 0}, [64] = {.lex_state = 81}, - [65] = {.lex_state = 0}, + [65] = {.lex_state = 81}, [66] = {.lex_state = 81}, [67] = {.lex_state = 0}, - [68] = {.lex_state = 81}, + [68] = {.lex_state = 0}, [69] = {.lex_state = 81}, [70] = {.lex_state = 0}, [71] = {.lex_state = 81}, [72] = {.lex_state = 81}, - [73] = {.lex_state = 0}, - [74] = {.lex_state = 81}, + [73] = {.lex_state = 81}, + [74] = {.lex_state = 0}, [75] = {.lex_state = 81}, [76] = {.lex_state = 0}, [77] = {.lex_state = 81}, @@ -5571,7 +5585,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [83] = {.lex_state = 81}, [84] = {.lex_state = 81}, [85] = {.lex_state = 81}, - [86] = {.lex_state = 0}, + [86] = {.lex_state = 81}, [87] = {.lex_state = 0}, [88] = {.lex_state = 0}, [89] = {.lex_state = 0}, @@ -5588,9 +5602,9 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [100] = {.lex_state = 0}, [101] = {.lex_state = 0}, [102] = {.lex_state = 0}, - [103] = {.lex_state = 86}, + [103] = {.lex_state = 0}, [104] = {.lex_state = 0}, - [105] = {.lex_state = 0}, + [105] = {.lex_state = 86}, [106] = {.lex_state = 0}, [107] = {.lex_state = 0}, [108] = {.lex_state = 0}, @@ -5600,7 +5614,8 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [112] = {.lex_state = 0}, [113] = {.lex_state = 0}, [114] = {.lex_state = 0}, - [115] = {(TSStateId)(-1)}, + [115] = {.lex_state = 0}, + [116] = {(TSStateId)(-1)}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -5636,13 +5651,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_RBRACK] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(102), - [sym__definition] = STATE(71), + [sym_source_file] = STATE(103), + [sym__definition] = STATE(73), [sym_comment] = STATE(1), - [sym_assignment] = STATE(64), - [sym_module] = STATE(64), - [sym__old_module] = STATE(74), - [sym__new_module] = STATE(75), + [sym_assignment] = STATE(65), + [sym_module] = STATE(65), + [sym__old_module] = STATE(75), + [sym__new_module] = STATE(77), [aux_sym_source_file_repeat1] = STATE(14), [ts_builtin_sym_end] = ACTIONS(5), [anon_sym_POUND] = ACTIONS(3), @@ -5676,9 +5691,9 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(18), 1, sym_interpreted_string_literal, - STATE(110), 1, + STATE(111), 1, sym__expr, - STATE(112), 1, + STATE(113), 1, sym__case_value, ACTIONS(13), 2, anon_sym_true, @@ -5715,9 +5730,9 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(18), 1, sym_interpreted_string_literal, - STATE(110), 1, - sym__expr, STATE(111), 1, + sym__expr, + STATE(112), 1, sym__case_value, ACTIONS(13), 2, anon_sym_true, @@ -5754,7 +5769,7 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(18), 1, sym_interpreted_string_literal, - STATE(51), 1, + STATE(52), 1, sym__expr, ACTIONS(13), 2, anon_sym_true, @@ -5863,7 +5878,7 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(18), 1, sym_interpreted_string_literal, - STATE(65), 1, + STATE(74), 1, sym__expr, ACTIONS(13), 2, anon_sym_true, @@ -5898,7 +5913,7 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(18), 1, sym_interpreted_string_literal, - STATE(73), 1, + STATE(81), 1, sym__expr, ACTIONS(13), 2, anon_sym_true, @@ -5933,7 +5948,7 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(18), 1, sym_interpreted_string_literal, - STATE(80), 1, + STATE(70), 1, sym__expr, ACTIONS(13), 2, anon_sym_true, @@ -5997,11 +6012,11 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_select_cases_repeat1, STATE(18), 1, sym_interpreted_string_literal, - STATE(96), 1, - sym__string_literal, STATE(97), 1, + sym__string_literal, + STATE(98), 1, sym_select_case, - STATE(107), 1, + STATE(108), 1, sym_default_case, [496] = 11, ACTIONS(3), 1, @@ -6020,11 +6035,11 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(18), 1, sym_interpreted_string_literal, - STATE(96), 1, - sym__string_literal, STATE(97), 1, - sym_select_case, + sym__string_literal, STATE(98), 1, + sym_select_case, + STATE(99), 1, sym_default_case, [530] = 8, ACTIONS(3), 1, @@ -6035,9 +6050,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, STATE(18), 1, sym_interpreted_string_literal, - STATE(96), 1, - sym__string_literal, STATE(97), 1, + sym__string_literal, + STATE(98), 1, sym_select_case, ACTIONS(41), 2, anon_sym_RBRACE, @@ -6056,13 +6071,13 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(15), 1, aux_sym_source_file_repeat1, - STATE(71), 1, + STATE(73), 1, sym__definition, - STATE(74), 1, - sym__old_module, STATE(75), 1, + sym__old_module, + STATE(77), 1, sym__new_module, - STATE(64), 2, + STATE(65), 2, sym_assignment, sym_module, [586] = 8, @@ -6072,16 +6087,16 @@ static const uint16_t ts_small_parse_table[] = { ts_builtin_sym_end, ACTIONS(53), 1, sym_identifier, - STATE(71), 1, + STATE(73), 1, sym__definition, - STATE(74), 1, - sym__old_module, STATE(75), 1, + sym__old_module, + STATE(77), 1, sym__new_module, STATE(15), 2, sym_comment, aux_sym_source_file_repeat1, - STATE(64), 2, + STATE(65), 2, sym_assignment, sym_module, [613] = 3, @@ -6135,35 +6150,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, sym_identifier, anon_sym_RBRACK, - [676] = 3, + [676] = 5, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(66), 1, + anon_sym_soong_config_variable, STATE(20), 1, sym_comment, - ACTIONS(64), 6, - ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - sym_identifier, - anon_sym_RBRACK, - [691] = 3, + STATE(104), 2, + sym_select_value, + sym_soong_config_variable, + ACTIONS(64), 3, + anon_sym_product_variable, + anon_sym_release_variable, + anon_sym_variant, + [695] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(21), 1, sym_comment, - ACTIONS(66), 6, - ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - sym_identifier, - anon_sym_RBRACK, - [706] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(22), 1, - sym_comment, ACTIONS(68), 6, ts_builtin_sym_end, anon_sym_COMMA, @@ -6171,10 +6176,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, sym_identifier, anon_sym_RBRACK, - [721] = 3, + [710] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(23), 1, + STATE(22), 1, sym_comment, ACTIONS(70), 6, ts_builtin_sym_end, @@ -6183,10 +6188,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, sym_identifier, anon_sym_RBRACK, - [736] = 3, + [725] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(24), 1, + STATE(23), 1, sym_comment, ACTIONS(72), 6, ts_builtin_sym_end, @@ -6195,10 +6200,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, sym_identifier, anon_sym_RBRACK, - [751] = 3, + [740] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(25), 1, + STATE(24), 1, sym_comment, ACTIONS(74), 6, ts_builtin_sym_end, @@ -6207,10 +6212,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, sym_identifier, anon_sym_RBRACK, - [766] = 3, + [755] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(26), 1, + STATE(25), 1, sym_comment, ACTIONS(76), 6, ts_builtin_sym_end, @@ -6219,10 +6224,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, sym_identifier, anon_sym_RBRACK, - [781] = 3, + [770] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(27), 1, + STATE(26), 1, sym_comment, ACTIONS(78), 6, ts_builtin_sym_end, @@ -6231,10 +6236,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, sym_identifier, anon_sym_RBRACK, - [796] = 3, + [785] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(28), 1, + STATE(27), 1, sym_comment, ACTIONS(80), 6, ts_builtin_sym_end, @@ -6243,10 +6248,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, sym_identifier, anon_sym_RBRACK, - [811] = 3, + [800] = 3, ACTIONS(3), 1, anon_sym_POUND, - STATE(29), 1, + STATE(28), 1, sym_comment, ACTIONS(82), 6, ts_builtin_sym_end, @@ -6255,20 +6260,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, sym_identifier, anon_sym_RBRACK, - [826] = 5, + [815] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(29), 1, + sym_comment, + ACTIONS(84), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + [830] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(86), 1, - anon_sym_soong_config_variable, STATE(30), 1, sym_comment, - STATE(104), 2, - sym_select_value, - sym_soong_config_variable, - ACTIONS(84), 3, - anon_sym_product_variable, - anon_sym_release_variable, - anon_sym_variant, + ACTIONS(86), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, [845] = 3, ACTIONS(3), 1, anon_sym_POUND, @@ -6305,19 +6320,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, sym_identifier, anon_sym_RBRACK, - [890] = 5, - ACTIONS(94), 1, + [890] = 3, + ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(96), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(99), 1, - anon_sym_DQUOTE2, - ACTIONS(101), 1, - sym_escape_sequence, - STATE(34), 2, + STATE(34), 1, sym_comment, - aux_sym_interpreted_string_literal_repeat1, - [907] = 6, + ACTIONS(94), 6, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + [905] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(19), 1, @@ -6330,55 +6345,55 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, STATE(101), 1, sym__string_literal, - [926] = 6, - ACTIONS(94), 1, + [924] = 6, + ACTIONS(96), 1, anon_sym_POUND, - ACTIONS(104), 1, + ACTIONS(98), 1, aux_sym_interpreted_string_literal_token1, - ACTIONS(106), 1, + ACTIONS(100), 1, anon_sym_DQUOTE2, - ACTIONS(108), 1, + ACTIONS(102), 1, sym_escape_sequence, - STATE(34), 1, - aux_sym_interpreted_string_literal_repeat1, STATE(36), 1, sym_comment, - [945] = 3, + STATE(38), 1, + aux_sym_interpreted_string_literal_repeat1, + [943] = 5, ACTIONS(3), 1, anon_sym_POUND, + ACTIONS(106), 1, + anon_sym_LBRACE, + ACTIONS(108), 1, + anon_sym_LPAREN, STATE(37), 1, sym_comment, + ACTIONS(104), 2, + anon_sym_EQ, + anon_sym_PLUS_EQ, + [960] = 6, + ACTIONS(96), 1, + anon_sym_POUND, + ACTIONS(98), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(102), 1, + sym_escape_sequence, + ACTIONS(110), 1, + anon_sym_DQUOTE2, + STATE(38), 1, + sym_comment, + STATE(41), 1, + aux_sym_interpreted_string_literal_repeat1, + [979] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(39), 1, + sym_comment, ACTIONS(41), 4, anon_sym_RBRACE, sym_raw_string_literal, anon_sym_DQUOTE, anon_sym_default, - [958] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(112), 1, - anon_sym_LBRACE, - ACTIONS(114), 1, - anon_sym_LPAREN, - STATE(38), 1, - sym_comment, - ACTIONS(110), 2, - anon_sym_EQ, - anon_sym_PLUS_EQ, - [975] = 6, - ACTIONS(94), 1, - anon_sym_POUND, - ACTIONS(104), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(108), 1, - sym_escape_sequence, - ACTIONS(116), 1, - anon_sym_DQUOTE2, - STATE(36), 1, - aux_sym_interpreted_string_literal_repeat1, - STATE(39), 1, - sym_comment, - [994] = 6, + [992] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(19), 1, @@ -6389,9 +6404,21 @@ static const uint16_t ts_small_parse_table[] = { sym_interpreted_string_literal, STATE(40), 1, sym_comment, - STATE(100), 1, + STATE(102), 1, sym__string_literal, - [1013] = 6, + [1011] = 5, + ACTIONS(96), 1, + anon_sym_POUND, + ACTIONS(112), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(115), 1, + anon_sym_DQUOTE2, + ACTIONS(117), 1, + sym_escape_sequence, + STATE(41), 2, + sym_comment, + aux_sym_interpreted_string_literal_repeat1, + [1028] = 6, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(19), 1, @@ -6400,629 +6427,629 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, STATE(18), 1, sym_interpreted_string_literal, - STATE(41), 1, - sym_comment, - STATE(106), 1, - sym__string_literal, - [1032] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(118), 1, - anon_sym_RBRACE, - ACTIONS(120), 1, - sym_identifier, STATE(42), 1, sym_comment, - STATE(62), 1, - sym__colon_property, - [1048] = 5, + STATE(107), 1, + sym__string_literal, + [1047] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(120), 1, - sym_identifier, + anon_sym_COMMA, ACTIONS(122), 1, anon_sym_RBRACE, STATE(43), 1, sym_comment, - STATE(70), 1, - sym__colon_property, - [1064] = 5, + STATE(60), 1, + aux_sym__old_module_repeat1, + [1063] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(124), 1, - anon_sym_COMMA, - ACTIONS(126), 1, anon_sym_RBRACE, + ACTIONS(126), 1, + sym_identifier, STATE(44), 1, sym_comment, - STATE(59), 1, - aux_sym__old_module_repeat1, - [1080] = 5, + STATE(57), 1, + sym__colon_property, + [1079] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(128), 1, - anon_sym_RPAREN, + anon_sym_COMMA, ACTIONS(130), 1, - sym_identifier, + anon_sym_RBRACE, STATE(45), 1, sym_comment, - STATE(67), 1, - sym__equal_property, - [1096] = 4, + STATE(60), 1, + aux_sym__old_module_repeat1, + [1095] = 5, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(132), 1, - anon_sym_COMMA, - ACTIONS(135), 1, - anon_sym_RBRACK, - STATE(46), 2, - sym_comment, - aux_sym_list_expression_repeat1, - [1110] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(137), 1, - anon_sym_COMMA, - ACTIONS(139), 1, anon_sym_RPAREN, - STATE(47), 1, - sym_comment, - STATE(61), 1, - aux_sym__new_module_repeat1, - [1126] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(120), 1, + ACTIONS(134), 1, sym_identifier, - ACTIONS(141), 1, - anon_sym_RBRACE, - STATE(48), 1, - sym_comment, - STATE(70), 1, - sym__colon_property, - [1142] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(120), 1, - sym_identifier, - ACTIONS(143), 1, - anon_sym_RBRACE, - STATE(49), 1, - sym_comment, - STATE(54), 1, - sym__colon_property, - [1158] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(145), 1, - anon_sym_COMMA, - ACTIONS(147), 1, - anon_sym_RBRACE, - STATE(50), 1, - sym_comment, - STATE(59), 1, - aux_sym__old_module_repeat1, - [1174] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(149), 1, - anon_sym_COMMA, - ACTIONS(151), 1, - anon_sym_RBRACK, - STATE(51), 1, - sym_comment, - STATE(57), 1, - aux_sym_list_expression_repeat1, - [1190] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(130), 1, - sym_identifier, - ACTIONS(153), 1, - anon_sym_RPAREN, - STATE(52), 1, - sym_comment, - STATE(56), 1, - sym__equal_property, - [1206] = 4, - ACTIONS(94), 1, - anon_sym_POUND, - ACTIONS(155), 1, - aux_sym_interpreted_string_literal_token1, - STATE(53), 1, - sym_comment, - ACTIONS(157), 2, - anon_sym_DQUOTE2, - sym_escape_sequence, - [1220] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(159), 1, - anon_sym_COMMA, - ACTIONS(161), 1, - anon_sym_RBRACE, - STATE(50), 1, - aux_sym__old_module_repeat1, - STATE(54), 1, - sym_comment, - [1236] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(120), 1, - sym_identifier, - ACTIONS(163), 1, - anon_sym_RBRACE, - STATE(55), 1, - sym_comment, - STATE(70), 1, - sym__colon_property, - [1252] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(165), 1, - anon_sym_COMMA, - ACTIONS(167), 1, - anon_sym_RPAREN, - STATE(47), 1, - aux_sym__new_module_repeat1, - STATE(56), 1, - sym_comment, - [1268] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(31), 1, - anon_sym_RBRACK, - ACTIONS(169), 1, - anon_sym_COMMA, STATE(46), 1, - aux_sym_list_expression_repeat1, - STATE(57), 1, - sym_comment, - [1284] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(120), 1, - sym_identifier, - ACTIONS(171), 1, - anon_sym_RBRACE, - STATE(58), 1, - sym_comment, - STATE(70), 1, - sym__colon_property, - [1300] = 4, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(173), 1, - anon_sym_COMMA, - ACTIONS(176), 1, - anon_sym_RBRACE, - STATE(59), 2, - sym_comment, - aux_sym__old_module_repeat1, - [1314] = 5, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(130), 1, - sym_identifier, - ACTIONS(178), 1, - anon_sym_RPAREN, - STATE(60), 1, sym_comment, STATE(67), 1, sym__equal_property, - [1330] = 4, + [1111] = 5, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(180), 1, + ACTIONS(136), 1, anon_sym_COMMA, - ACTIONS(183), 1, + ACTIONS(138), 1, anon_sym_RPAREN, - STATE(61), 2, + STATE(47), 1, + sym_comment, + STATE(62), 1, + aux_sym__new_module_repeat1, + [1127] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(126), 1, + sym_identifier, + ACTIONS(140), 1, + anon_sym_RBRACE, + STATE(48), 1, + sym_comment, + STATE(68), 1, + sym__colon_property, + [1143] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(126), 1, + sym_identifier, + ACTIONS(142), 1, + anon_sym_RBRACE, + STATE(49), 1, + sym_comment, + STATE(68), 1, + sym__colon_property, + [1159] = 4, + ACTIONS(96), 1, + anon_sym_POUND, + ACTIONS(144), 1, + aux_sym_interpreted_string_literal_token1, + STATE(50), 1, + sym_comment, + ACTIONS(146), 2, + anon_sym_DQUOTE2, + sym_escape_sequence, + [1173] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(148), 1, + anon_sym_COMMA, + ACTIONS(150), 1, + anon_sym_RBRACE, + STATE(43), 1, + aux_sym__old_module_repeat1, + STATE(51), 1, + sym_comment, + [1189] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(152), 1, + anon_sym_COMMA, + ACTIONS(154), 1, + anon_sym_RBRACK, + STATE(52), 1, + sym_comment, + STATE(58), 1, + aux_sym_list_expression_repeat1, + [1205] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(126), 1, + sym_identifier, + ACTIONS(156), 1, + anon_sym_RBRACE, + STATE(51), 1, + sym__colon_property, + STATE(53), 1, + sym_comment, + [1221] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(126), 1, + sym_identifier, + ACTIONS(158), 1, + anon_sym_RBRACE, + STATE(54), 1, + sym_comment, + STATE(68), 1, + sym__colon_property, + [1237] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(160), 1, + anon_sym_COMMA, + ACTIONS(162), 1, + anon_sym_RPAREN, + STATE(47), 1, + aux_sym__new_module_repeat1, + STATE(55), 1, + sym_comment, + [1253] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(134), 1, + sym_identifier, + ACTIONS(164), 1, + anon_sym_RPAREN, + STATE(55), 1, + sym__equal_property, + STATE(56), 1, + sym_comment, + [1269] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(166), 1, + anon_sym_COMMA, + ACTIONS(168), 1, + anon_sym_RBRACE, + STATE(45), 1, + aux_sym__old_module_repeat1, + STATE(57), 1, + sym_comment, + [1285] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(170), 1, + anon_sym_COMMA, + ACTIONS(172), 1, + anon_sym_RBRACK, + STATE(58), 1, + sym_comment, + STATE(63), 1, + aux_sym_list_expression_repeat1, + [1301] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(126), 1, + sym_identifier, + ACTIONS(174), 1, + anon_sym_RBRACE, + STATE(59), 1, + sym_comment, + STATE(68), 1, + sym__colon_property, + [1317] = 4, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(176), 1, + anon_sym_COMMA, + ACTIONS(179), 1, + anon_sym_RBRACE, + STATE(60), 2, + sym_comment, + aux_sym__old_module_repeat1, + [1331] = 5, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(134), 1, + sym_identifier, + ACTIONS(181), 1, + anon_sym_RPAREN, + STATE(61), 1, + sym_comment, + STATE(67), 1, + sym__equal_property, + [1347] = 4, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(183), 1, + anon_sym_COMMA, + ACTIONS(186), 1, + anon_sym_RPAREN, + STATE(62), 2, sym_comment, aux_sym__new_module_repeat1, - [1344] = 5, + [1361] = 4, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(185), 1, + ACTIONS(188), 1, anon_sym_COMMA, - ACTIONS(187), 1, - anon_sym_RBRACE, - STATE(44), 1, - aux_sym__old_module_repeat1, - STATE(62), 1, + ACTIONS(191), 1, + anon_sym_RBRACK, + STATE(63), 2, sym_comment, - [1360] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(63), 1, - sym_comment, - ACTIONS(189), 2, - ts_builtin_sym_end, - sym_identifier, - [1371] = 3, + aux_sym_list_expression_repeat1, + [1375] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(64), 1, sym_comment, - ACTIONS(191), 2, + ACTIONS(193), 2, ts_builtin_sym_end, sym_identifier, - [1382] = 3, + [1386] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(65), 1, sym_comment, - ACTIONS(193), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [1393] = 3, + ACTIONS(195), 2, + ts_builtin_sym_end, + sym_identifier, + [1397] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(66), 1, sym_comment, - ACTIONS(195), 2, + ACTIONS(197), 2, ts_builtin_sym_end, sym_identifier, - [1404] = 3, + [1408] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(67), 1, sym_comment, - ACTIONS(197), 2, + ACTIONS(199), 2, anon_sym_COMMA, anon_sym_RPAREN, - [1415] = 3, + [1419] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(68), 1, sym_comment, - ACTIONS(199), 2, - ts_builtin_sym_end, - sym_identifier, - [1426] = 3, + ACTIONS(201), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [1430] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(69), 1, sym_comment, - ACTIONS(201), 2, + ACTIONS(203), 2, ts_builtin_sym_end, sym_identifier, - [1437] = 3, + [1441] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(70), 1, sym_comment, - ACTIONS(203), 2, + ACTIONS(205), 2, anon_sym_COMMA, anon_sym_RBRACE, - [1448] = 3, + [1452] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(71), 1, sym_comment, - ACTIONS(205), 2, + ACTIONS(207), 2, ts_builtin_sym_end, sym_identifier, - [1459] = 3, + [1463] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(72), 1, sym_comment, - ACTIONS(207), 2, + ACTIONS(209), 2, ts_builtin_sym_end, sym_identifier, - [1470] = 3, + [1474] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(73), 1, sym_comment, - ACTIONS(209), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [1481] = 3, + ACTIONS(211), 2, + ts_builtin_sym_end, + sym_identifier, + [1485] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(74), 1, sym_comment, - ACTIONS(211), 2, - ts_builtin_sym_end, - sym_identifier, - [1492] = 3, + ACTIONS(213), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [1496] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(75), 1, sym_comment, - ACTIONS(213), 2, + ACTIONS(215), 2, ts_builtin_sym_end, sym_identifier, - [1503] = 4, + [1507] = 4, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(215), 1, + ACTIONS(217), 1, anon_sym_LBRACE, STATE(76), 1, sym_comment, - STATE(89), 1, + STATE(90), 1, sym_select_cases, - [1516] = 3, + [1520] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(77), 1, sym_comment, - ACTIONS(217), 2, + ACTIONS(219), 2, ts_builtin_sym_end, sym_identifier, - [1527] = 3, + [1531] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(78), 1, sym_comment, - ACTIONS(135), 2, + ACTIONS(221), 2, anon_sym_COMMA, anon_sym_RBRACK, - [1538] = 3, + [1542] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(79), 1, sym_comment, - ACTIONS(219), 2, + ACTIONS(223), 2, ts_builtin_sym_end, sym_identifier, - [1549] = 3, + [1553] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(80), 1, sym_comment, - ACTIONS(221), 2, + ACTIONS(225), 2, ts_builtin_sym_end, sym_identifier, - [1560] = 3, + [1564] = 3, ACTIONS(3), 1, anon_sym_POUND, STATE(81), 1, sym_comment, - ACTIONS(223), 2, - ts_builtin_sym_end, - sym_identifier, - [1571] = 4, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(120), 1, - sym_identifier, - STATE(70), 1, - sym__colon_property, - STATE(82), 1, - sym_comment, - [1584] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(83), 1, - sym_comment, - ACTIONS(225), 2, - ts_builtin_sym_end, - sym_identifier, - [1595] = 4, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(130), 1, - sym_identifier, - STATE(67), 1, - sym__equal_property, - STATE(84), 1, - sym_comment, - [1608] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - STATE(85), 1, - sym_comment, ACTIONS(227), 2, ts_builtin_sym_end, sym_identifier, - [1619] = 3, + [1575] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(82), 1, + sym_comment, + ACTIONS(229), 2, + ts_builtin_sym_end, + sym_identifier, + [1586] = 4, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(126), 1, + sym_identifier, + STATE(68), 1, + sym__colon_property, + STATE(83), 1, + sym_comment, + [1599] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + STATE(84), 1, + sym_comment, + ACTIONS(231), 2, + ts_builtin_sym_end, + sym_identifier, + [1610] = 4, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(134), 1, + sym_identifier, + STATE(67), 1, + sym__equal_property, + STATE(85), 1, + sym_comment, + [1623] = 3, ACTIONS(3), 1, anon_sym_POUND, - ACTIONS(229), 1, - anon_sym_LPAREN, STATE(86), 1, sym_comment, - [1629] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(231), 1, - anon_sym_RPAREN, - STATE(87), 1, - sym_comment, - [1639] = 3, - ACTIONS(3), 1, - anon_sym_POUND, - ACTIONS(233), 1, - anon_sym_COLON, - STATE(88), 1, - sym_comment, - [1649] = 3, + ACTIONS(233), 2, + ts_builtin_sym_end, + sym_identifier, + [1634] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(235), 1, - anon_sym_RPAREN, - STATE(89), 1, + anon_sym_LPAREN, + STATE(87), 1, sym_comment, - [1659] = 3, + [1644] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(237), 1, - anon_sym_EQ, - STATE(90), 1, + anon_sym_RPAREN, + STATE(88), 1, sym_comment, - [1669] = 3, + [1654] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(239), 1, - anon_sym_LPAREN, - STATE(91), 1, + anon_sym_COLON, + STATE(89), 1, sym_comment, - [1679] = 3, + [1664] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(241), 1, - anon_sym_COMMA, - STATE(92), 1, + anon_sym_RPAREN, + STATE(90), 1, sym_comment, - [1689] = 3, + [1674] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(243), 1, - aux_sym_integer_literal_token1, - STATE(93), 1, + anon_sym_EQ, + STATE(91), 1, sym_comment, - [1699] = 3, + [1684] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(245), 1, - anon_sym_RPAREN, - STATE(94), 1, + anon_sym_LPAREN, + STATE(92), 1, sym_comment, - [1709] = 3, + [1694] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(247), 1, - anon_sym_COLON, - STATE(95), 1, + anon_sym_COMMA, + STATE(93), 1, sym_comment, - [1719] = 3, + [1704] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(249), 1, - anon_sym_COLON, - STATE(96), 1, + aux_sym_integer_literal_token1, + STATE(94), 1, sym_comment, - [1729] = 3, + [1714] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(251), 1, - anon_sym_COMMA, - STATE(97), 1, + anon_sym_RPAREN, + STATE(95), 1, sym_comment, - [1739] = 3, + [1724] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(253), 1, - anon_sym_COMMA, - STATE(98), 1, + anon_sym_COLON, + STATE(96), 1, sym_comment, - [1749] = 3, + [1734] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(255), 1, - anon_sym_RPAREN, - STATE(99), 1, + anon_sym_COLON, + STATE(97), 1, sym_comment, - [1759] = 3, + [1744] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(257), 1, anon_sym_COMMA, - STATE(100), 1, + STATE(98), 1, sym_comment, - [1769] = 3, + [1754] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(259), 1, - anon_sym_RPAREN, - STATE(101), 1, + anon_sym_COMMA, + STATE(99), 1, sym_comment, - [1779] = 3, + [1764] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(261), 1, - ts_builtin_sym_end, - STATE(102), 1, + anon_sym_RPAREN, + STATE(100), 1, sym_comment, - [1789] = 3, - ACTIONS(94), 1, + [1774] = 3, + ACTIONS(3), 1, anon_sym_POUND, ACTIONS(263), 1, - aux_sym_comment_token1, - STATE(103), 1, + anon_sym_COMMA, + STATE(101), 1, sym_comment, - [1799] = 3, + [1784] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(265), 1, - anon_sym_COMMA, - STATE(104), 1, + anon_sym_RPAREN, + STATE(102), 1, sym_comment, - [1809] = 3, + [1794] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(267), 1, - anon_sym_RBRACE, - STATE(105), 1, + ts_builtin_sym_end, + STATE(103), 1, sym_comment, - [1819] = 3, + [1804] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(269), 1, - anon_sym_RPAREN, - STATE(106), 1, + anon_sym_COMMA, + STATE(104), 1, sym_comment, - [1829] = 3, - ACTIONS(3), 1, + [1814] = 3, + ACTIONS(96), 1, anon_sym_POUND, ACTIONS(271), 1, - anon_sym_COMMA, - STATE(107), 1, + aux_sym_comment_token1, + STATE(105), 1, sym_comment, - [1839] = 3, + [1824] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(273), 1, - anon_sym_LPAREN, - STATE(108), 1, + anon_sym_RBRACE, + STATE(106), 1, sym_comment, - [1849] = 3, + [1834] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(275), 1, - anon_sym_COMMA, - STATE(109), 1, + anon_sym_RPAREN, + STATE(107), 1, sym_comment, - [1859] = 3, + [1844] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(277), 1, anon_sym_COMMA, - STATE(110), 1, + STATE(108), 1, sym_comment, - [1869] = 3, + [1854] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(279), 1, - anon_sym_COMMA, - STATE(111), 1, + anon_sym_LPAREN, + STATE(109), 1, sym_comment, - [1879] = 3, + [1864] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(281), 1, anon_sym_COMMA, - STATE(112), 1, + STATE(110), 1, sym_comment, - [1889] = 3, + [1874] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(283), 1, - anon_sym_RPAREN, - STATE(113), 1, + anon_sym_COMMA, + STATE(111), 1, sym_comment, - [1899] = 3, + [1884] = 3, ACTIONS(3), 1, anon_sym_POUND, ACTIONS(285), 1, - anon_sym_RBRACE, + anon_sym_COMMA, + STATE(112), 1, + sym_comment, + [1894] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(287), 1, + anon_sym_COMMA, + STATE(113), 1, + sym_comment, + [1904] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(289), 1, + anon_sym_RPAREN, STATE(114), 1, sym_comment, - [1909] = 1, - ACTIONS(287), 1, + [1914] = 3, + ACTIONS(3), 1, + anon_sym_POUND, + ACTIONS(291), 1, + anon_sym_RBRACE, + STATE(115), 1, + sym_comment, + [1924] = 1, + ACTIONS(293), 1, ts_builtin_sym_end, }; @@ -7046,245 +7073,249 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(18)] = 645, [SMALL_STATE(19)] = 661, [SMALL_STATE(20)] = 676, - [SMALL_STATE(21)] = 691, - [SMALL_STATE(22)] = 706, - [SMALL_STATE(23)] = 721, - [SMALL_STATE(24)] = 736, - [SMALL_STATE(25)] = 751, - [SMALL_STATE(26)] = 766, - [SMALL_STATE(27)] = 781, - [SMALL_STATE(28)] = 796, - [SMALL_STATE(29)] = 811, - [SMALL_STATE(30)] = 826, + [SMALL_STATE(21)] = 695, + [SMALL_STATE(22)] = 710, + [SMALL_STATE(23)] = 725, + [SMALL_STATE(24)] = 740, + [SMALL_STATE(25)] = 755, + [SMALL_STATE(26)] = 770, + [SMALL_STATE(27)] = 785, + [SMALL_STATE(28)] = 800, + [SMALL_STATE(29)] = 815, + [SMALL_STATE(30)] = 830, [SMALL_STATE(31)] = 845, [SMALL_STATE(32)] = 860, [SMALL_STATE(33)] = 875, [SMALL_STATE(34)] = 890, - [SMALL_STATE(35)] = 907, - [SMALL_STATE(36)] = 926, - [SMALL_STATE(37)] = 945, - [SMALL_STATE(38)] = 958, - [SMALL_STATE(39)] = 975, - [SMALL_STATE(40)] = 994, - [SMALL_STATE(41)] = 1013, - [SMALL_STATE(42)] = 1032, - [SMALL_STATE(43)] = 1048, - [SMALL_STATE(44)] = 1064, - [SMALL_STATE(45)] = 1080, - [SMALL_STATE(46)] = 1096, - [SMALL_STATE(47)] = 1110, - [SMALL_STATE(48)] = 1126, - [SMALL_STATE(49)] = 1142, - [SMALL_STATE(50)] = 1158, - [SMALL_STATE(51)] = 1174, - [SMALL_STATE(52)] = 1190, - [SMALL_STATE(53)] = 1206, - [SMALL_STATE(54)] = 1220, - [SMALL_STATE(55)] = 1236, - [SMALL_STATE(56)] = 1252, - [SMALL_STATE(57)] = 1268, - [SMALL_STATE(58)] = 1284, - [SMALL_STATE(59)] = 1300, - [SMALL_STATE(60)] = 1314, - [SMALL_STATE(61)] = 1330, - [SMALL_STATE(62)] = 1344, - [SMALL_STATE(63)] = 1360, - [SMALL_STATE(64)] = 1371, - [SMALL_STATE(65)] = 1382, - [SMALL_STATE(66)] = 1393, - [SMALL_STATE(67)] = 1404, - [SMALL_STATE(68)] = 1415, - [SMALL_STATE(69)] = 1426, - [SMALL_STATE(70)] = 1437, - [SMALL_STATE(71)] = 1448, - [SMALL_STATE(72)] = 1459, - [SMALL_STATE(73)] = 1470, - [SMALL_STATE(74)] = 1481, - [SMALL_STATE(75)] = 1492, - [SMALL_STATE(76)] = 1503, - [SMALL_STATE(77)] = 1516, - [SMALL_STATE(78)] = 1527, - [SMALL_STATE(79)] = 1538, - [SMALL_STATE(80)] = 1549, - [SMALL_STATE(81)] = 1560, - [SMALL_STATE(82)] = 1571, - [SMALL_STATE(83)] = 1584, - [SMALL_STATE(84)] = 1595, - [SMALL_STATE(85)] = 1608, - [SMALL_STATE(86)] = 1619, - [SMALL_STATE(87)] = 1629, - [SMALL_STATE(88)] = 1639, - [SMALL_STATE(89)] = 1649, - [SMALL_STATE(90)] = 1659, - [SMALL_STATE(91)] = 1669, - [SMALL_STATE(92)] = 1679, - [SMALL_STATE(93)] = 1689, - [SMALL_STATE(94)] = 1699, - [SMALL_STATE(95)] = 1709, - [SMALL_STATE(96)] = 1719, - [SMALL_STATE(97)] = 1729, - [SMALL_STATE(98)] = 1739, - [SMALL_STATE(99)] = 1749, - [SMALL_STATE(100)] = 1759, - [SMALL_STATE(101)] = 1769, - [SMALL_STATE(102)] = 1779, - [SMALL_STATE(103)] = 1789, - [SMALL_STATE(104)] = 1799, - [SMALL_STATE(105)] = 1809, - [SMALL_STATE(106)] = 1819, - [SMALL_STATE(107)] = 1829, - [SMALL_STATE(108)] = 1839, - [SMALL_STATE(109)] = 1849, - [SMALL_STATE(110)] = 1859, - [SMALL_STATE(111)] = 1869, - [SMALL_STATE(112)] = 1879, - [SMALL_STATE(113)] = 1889, - [SMALL_STATE(114)] = 1899, - [SMALL_STATE(115)] = 1909, + [SMALL_STATE(35)] = 905, + [SMALL_STATE(36)] = 924, + [SMALL_STATE(37)] = 943, + [SMALL_STATE(38)] = 960, + [SMALL_STATE(39)] = 979, + [SMALL_STATE(40)] = 992, + [SMALL_STATE(41)] = 1011, + [SMALL_STATE(42)] = 1028, + [SMALL_STATE(43)] = 1047, + [SMALL_STATE(44)] = 1063, + [SMALL_STATE(45)] = 1079, + [SMALL_STATE(46)] = 1095, + [SMALL_STATE(47)] = 1111, + [SMALL_STATE(48)] = 1127, + [SMALL_STATE(49)] = 1143, + [SMALL_STATE(50)] = 1159, + [SMALL_STATE(51)] = 1173, + [SMALL_STATE(52)] = 1189, + [SMALL_STATE(53)] = 1205, + [SMALL_STATE(54)] = 1221, + [SMALL_STATE(55)] = 1237, + [SMALL_STATE(56)] = 1253, + [SMALL_STATE(57)] = 1269, + [SMALL_STATE(58)] = 1285, + [SMALL_STATE(59)] = 1301, + [SMALL_STATE(60)] = 1317, + [SMALL_STATE(61)] = 1331, + [SMALL_STATE(62)] = 1347, + [SMALL_STATE(63)] = 1361, + [SMALL_STATE(64)] = 1375, + [SMALL_STATE(65)] = 1386, + [SMALL_STATE(66)] = 1397, + [SMALL_STATE(67)] = 1408, + [SMALL_STATE(68)] = 1419, + [SMALL_STATE(69)] = 1430, + [SMALL_STATE(70)] = 1441, + [SMALL_STATE(71)] = 1452, + [SMALL_STATE(72)] = 1463, + [SMALL_STATE(73)] = 1474, + [SMALL_STATE(74)] = 1485, + [SMALL_STATE(75)] = 1496, + [SMALL_STATE(76)] = 1507, + [SMALL_STATE(77)] = 1520, + [SMALL_STATE(78)] = 1531, + [SMALL_STATE(79)] = 1542, + [SMALL_STATE(80)] = 1553, + [SMALL_STATE(81)] = 1564, + [SMALL_STATE(82)] = 1575, + [SMALL_STATE(83)] = 1586, + [SMALL_STATE(84)] = 1599, + [SMALL_STATE(85)] = 1610, + [SMALL_STATE(86)] = 1623, + [SMALL_STATE(87)] = 1634, + [SMALL_STATE(88)] = 1644, + [SMALL_STATE(89)] = 1654, + [SMALL_STATE(90)] = 1664, + [SMALL_STATE(91)] = 1674, + [SMALL_STATE(92)] = 1684, + [SMALL_STATE(93)] = 1694, + [SMALL_STATE(94)] = 1704, + [SMALL_STATE(95)] = 1714, + [SMALL_STATE(96)] = 1724, + [SMALL_STATE(97)] = 1734, + [SMALL_STATE(98)] = 1744, + [SMALL_STATE(99)] = 1754, + [SMALL_STATE(100)] = 1764, + [SMALL_STATE(101)] = 1774, + [SMALL_STATE(102)] = 1784, + [SMALL_STATE(103)] = 1794, + [SMALL_STATE(104)] = 1804, + [SMALL_STATE(105)] = 1814, + [SMALL_STATE(106)] = 1824, + [SMALL_STATE(107)] = 1834, + [SMALL_STATE(108)] = 1844, + [SMALL_STATE(109)] = 1854, + [SMALL_STATE(110)] = 1864, + [SMALL_STATE(111)] = 1874, + [SMALL_STATE(112)] = 1884, + [SMALL_STATE(113)] = 1894, + [SMALL_STATE(114)] = 1904, + [SMALL_STATE(115)] = 1914, + [SMALL_STATE(116)] = 1924, }; 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(103), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), [43] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(18), - [46] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(39), + [46] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(36), [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [53] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(38), + [53] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(37), [56] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 3), [58] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 2), [60] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 1), - [62] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 2), - [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_expression, 6), - [66] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), - [68] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1), - [70] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 1), - [72] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 3, .production_id = 7), - [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 5), - [76] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 5, .production_id = 12), - [78] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 7), - [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 3), - [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2), - [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 12), - [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4), - [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 2), - [94] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), - [96] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(53), - [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), - [101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(53), - [104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), - [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [132] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), SHIFT_REPEAT(10), - [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2), - [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [155] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), - [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), - [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [173] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 10), SHIFT_REPEAT(82), - [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 10), - [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [180] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 10), SHIFT_REPEAT(84), - [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 10), - [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 3), - [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__definition, 1), - [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__equal_property, 3, .production_id = 8), - [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 5, .production_id = 6), - [197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 7), - [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 5, .production_id = 5), - [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 5, .production_id = 11), - [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 7), - [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), - [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 5, .production_id = 9), - [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon_property, 3, .production_id = 8), - [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 1, .production_id = 1), - [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 1, .production_id = 2), - [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 4, .production_id = 6), - [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 4, .production_id = 5), - [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 3), - [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 6, .production_id = 9), - [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 6, .production_id = 11), - [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 3, .production_id = 4), - [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 3), - [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 4, .production_id = 13), - [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 2), - [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 5), - [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [261] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [263] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), - [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_soong_config_variable, 6, .production_id = 14), - [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__case_value, 1), - [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_case, 3, .production_id = 15), - [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_case, 3, .production_id = 15), - [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 4), - [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), + [62] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 2), + [64] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [66] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [68] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), + [70] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1), + [72] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 1), + [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 7), + [76] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 5, .production_id = 14), + [78] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 5, .production_id = 13), + [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 3, .production_id = 8), + [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 13), + [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4, .production_id = 14), + [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_expression, 6), + [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 2), + [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 3, .production_id = 7), + [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4, .production_id = 8), + [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2), + [96] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [98] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [112] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(50), + [115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), + [117] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(50), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), + [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), + [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [176] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 11), SHIFT_REPEAT(83), + [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 11), + [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [183] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 11), SHIFT_REPEAT(85), + [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 11), + [188] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2, .production_id = 15), SHIFT_REPEAT(10), + [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2, .production_id = 15), + [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 3), + [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__definition, 1), + [197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 5, .production_id = 6), + [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 7), + [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 7), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 5, .production_id = 12), + [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon_property, 3, .production_id = 9), + [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 5, .production_id = 10), + [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 5, .production_id = 5), + [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), + [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__equal_property, 3, .production_id = 9), + [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 1, .production_id = 1), + [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 1, .production_id = 2), + [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2, .production_id = 8), + [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 4, .production_id = 6), + [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 4, .production_id = 5), + [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 3), + [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 6, .production_id = 10), + [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 6, .production_id = 12), + [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 3, .production_id = 4), + [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 3), + [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 4, .production_id = 16), + [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 2), + [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 5), + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [267] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [271] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), + [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_soong_config_variable, 6, .production_id = 17), + [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__case_value, 1), + [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_case, 3, .production_id = 18), + [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_case, 3, .production_id = 18), + [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 4), + [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), }; #ifdef __cplusplus From dd50817b9da04728387929c4c290532a3708f66f Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 8 Apr 2024 01:49:24 +0100 Subject: [PATCH 10/10] Add 'property' alias It makes the syntax tree more readable. --- grammar.js | 12 +- src/grammar.json | 90 ++++++++++----- src/node-types.json | 222 +++++++++--------------------------- src/parser.c | 100 +++++++--------- test/corpus/expressions.txt | 33 +++--- test/corpus/modules.txt | 37 +++--- 6 files changed, 210 insertions(+), 284 deletions(-) diff --git a/grammar.js b/grammar.js index 41f2ad1..f07c99a 100644 --- a/grammar.js +++ b/grammar.js @@ -41,14 +41,18 @@ module.exports = grammar({ _old_module: ($) => seq( field("type", $.identifier), "{", - optional(commaSeparated(field("property", $._colon_property))), + optional(commaSeparated( + alias(field("property", $._colon_property), $.property) + )), "}", ), _new_module: ($) => seq( $.identifier, "(", - optional(commaSeparated(field("property", $._equal_property))), + optional(commaSeparated( + alias(field("property", $._equal_property), $.property) + )), ")", ), @@ -175,7 +179,9 @@ module.exports = grammar({ map_expression: ($) => seq( "{", - optional(commaSeparated(field("property", $._colon_property))), + optional(commaSeparated( + alias(field("property", $._colon_property), $.property) + )), "}", ), diff --git a/src/grammar.json b/src/grammar.json index 078d39d..e5a5ec7 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -107,12 +107,17 @@ "type": "SEQ", "members": [ { - "type": "FIELD", - "name": "property", + "type": "ALIAS", "content": { - "type": "SYMBOL", - "name": "_colon_property" - } + "type": "FIELD", + "name": "property", + "content": { + "type": "SYMBOL", + "name": "_colon_property" + } + }, + "named": true, + "value": "property" }, { "type": "REPEAT", @@ -124,12 +129,17 @@ "value": "," }, { - "type": "FIELD", - "name": "property", + "type": "ALIAS", "content": { - "type": "SYMBOL", - "name": "_colon_property" - } + "type": "FIELD", + "name": "property", + "content": { + "type": "SYMBOL", + "name": "_colon_property" + } + }, + "named": true, + "value": "property" } ] } @@ -177,12 +187,17 @@ "type": "SEQ", "members": [ { - "type": "FIELD", - "name": "property", + "type": "ALIAS", "content": { - "type": "SYMBOL", - "name": "_equal_property" - } + "type": "FIELD", + "name": "property", + "content": { + "type": "SYMBOL", + "name": "_equal_property" + } + }, + "named": true, + "value": "property" }, { "type": "REPEAT", @@ -194,12 +209,17 @@ "value": "," }, { - "type": "FIELD", - "name": "property", + "type": "ALIAS", "content": { - "type": "SYMBOL", - "name": "_equal_property" - } + "type": "FIELD", + "name": "property", + "content": { + "type": "SYMBOL", + "name": "_equal_property" + } + }, + "named": true, + "value": "property" } ] } @@ -748,12 +768,17 @@ "type": "SEQ", "members": [ { - "type": "FIELD", - "name": "property", + "type": "ALIAS", "content": { - "type": "SYMBOL", - "name": "_colon_property" - } + "type": "FIELD", + "name": "property", + "content": { + "type": "SYMBOL", + "name": "_colon_property" + } + }, + "named": true, + "value": "property" }, { "type": "REPEAT", @@ -765,12 +790,17 @@ "value": "," }, { - "type": "FIELD", - "name": "property", + "type": "ALIAS", "content": { - "type": "SYMBOL", - "name": "_colon_property" - } + "type": "FIELD", + "name": "property", + "content": { + "type": "SYMBOL", + "name": "_colon_property" + } + }, + "named": true, + "value": "property" } ] } diff --git a/src/node-types.json b/src/node-types.json index 6314f91..73e03df 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -203,92 +203,12 @@ "type": "map_expression", "named": true, "fields": { - "field": { - "multiple": true, - "required": false, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, "property": { "multiple": true, "required": false, "types": [ { - "type": ":", - "named": false - }, - { - "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 - } - ] - }, - "value": { - "multiple": true, - "required": false, - "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", + "type": "property", "named": true } ] @@ -299,58 +219,12 @@ "type": "module", "named": true, "fields": { - "field": { - "multiple": true, - "required": false, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, "property": { "multiple": true, "required": false, "types": [ { - "type": ":", - "named": false - }, - { - "type": "=", - "named": false - }, - { - "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", + "type": "property", "named": true } ] @@ -364,44 +238,6 @@ "named": true } ] - }, - "value": { - "multiple": true, - "required": false, - "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 - } - ] } }, "children": { @@ -415,6 +251,60 @@ ] } }, + { + "type": "property", + "named": true, + "fields": { + "field": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "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": "select_case", "named": true, diff --git a/src/parser.c b/src/parser.c index dbc00fd..0341730 100644 --- a/src/parser.c +++ b/src/parser.c @@ -129,8 +129,8 @@ static const char * const ts_symbol_names[] = { [sym__case_value] = "_case_value", [sym_list_expression] = "list_expression", [sym_map_expression] = "map_expression", - [sym__colon_property] = "_colon_property", - [sym__equal_property] = "_equal_property", + [sym__colon_property] = "property", + [sym__equal_property] = "property", [aux_sym_source_file_repeat1] = "source_file_repeat1", [aux_sym__old_module_repeat1] = "_old_module_repeat1", [aux_sym__new_module_repeat1] = "_new_module_repeat1", @@ -192,7 +192,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_list_expression] = sym_list_expression, [sym_map_expression] = sym_map_expression, [sym__colon_property] = sym__colon_property, - [sym__equal_property] = sym__equal_property, + [sym__equal_property] = sym__colon_property, [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, [aux_sym__old_module_repeat1] = aux_sym__old_module_repeat1, [aux_sym__new_module_repeat1] = aux_sym__new_module_repeat1, @@ -407,11 +407,11 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .named = true, }, [sym__colon_property] = { - .visible = false, + .visible = true, .named = true, }, [sym__equal_property] = { - .visible = false, + .visible = true, .named = true, }, [aux_sym_source_file_repeat1] = { @@ -472,104 +472,90 @@ static const char * const ts_field_names[] = { }; static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { - [1] = {.index = 0, .length = 4}, - [2] = {.index = 4, .length = 3}, - [3] = {.index = 7, .length = 3}, - [4] = {.index = 10, .length = 1}, - [5] = {.index = 11, .length = 4}, - [6] = {.index = 15, .length = 3}, - [7] = {.index = 18, .length = 3}, - [8] = {.index = 21, .length = 1}, - [9] = {.index = 22, .length = 2}, - [10] = {.index = 24, .length = 7}, - [11] = {.index = 31, .length = 6}, - [12] = {.index = 37, .length = 6}, - [13] = {.index = 43, .length = 6}, - [14] = {.index = 49, .length = 2}, - [15] = {.index = 51, .length = 2}, - [16] = {.index = 53, .length = 2}, - [17] = {.index = 55, .length = 4}, - [18] = {.index = 59, .length = 2}, + [1] = {.index = 0, .length = 2}, + [2] = {.index = 2, .length = 1}, + [3] = {.index = 3, .length = 3}, + [4] = {.index = 6, .length = 1}, + [5] = {.index = 7, .length = 4}, + [6] = {.index = 11, .length = 3}, + [7] = {.index = 14, .length = 3}, + [8] = {.index = 17, .length = 1}, + [9] = {.index = 18, .length = 2}, + [10] = {.index = 20, .length = 5}, + [11] = {.index = 25, .length = 2}, + [12] = {.index = 27, .length = 4}, + [13] = {.index = 31, .length = 4}, + [14] = {.index = 35, .length = 2}, + [15] = {.index = 37, .length = 2}, + [16] = {.index = 39, .length = 2}, + [17] = {.index = 41, .length = 4}, + [18] = {.index = 45, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { [0] = - {field_field, 0, .inherited = true}, {field_property, 0, .inherited = true}, {field_type, 0, .inherited = true}, - {field_value, 0, .inherited = true}, - [4] = - {field_field, 0, .inherited = true}, + [2] = {field_property, 0, .inherited = true}, - {field_value, 0, .inherited = true}, - [7] = + [3] = {field_left, 0}, {field_operator, 1}, {field_right, 2}, - [10] = + [6] = {field_type, 0}, + [7] = + {field_field, 2, .inherited = true}, + {field_property, 2}, + {field_type, 0}, + {field_value, 2, .inherited = true}, [11] = {field_field, 2, .inherited = true}, {field_property, 2}, - {field_type, 0}, {field_value, 2, .inherited = true}, - [15] = - {field_field, 2, .inherited = true}, - {field_property, 2}, - {field_value, 2, .inherited = true}, - [18] = + [14] = {field_field, 1, .inherited = true}, {field_property, 1}, {field_value, 1, .inherited = true}, - [21] = + [17] = {field_element, 1}, - [22] = + [18] = {field_field, 0}, {field_value, 2}, - [24] = + [20] = {field_field, 2, .inherited = true}, - {field_field, 3, .inherited = true}, {field_property, 2}, {field_property, 3, .inherited = true}, {field_type, 0}, {field_value, 2, .inherited = true}, - {field_value, 3, .inherited = true}, - [31] = - {field_field, 0, .inherited = true}, - {field_field, 1, .inherited = true}, + [25] = {field_property, 0, .inherited = true}, {field_property, 1, .inherited = true}, - {field_value, 0, .inherited = true}, - {field_value, 1, .inherited = true}, - [37] = + [27] = {field_field, 2, .inherited = true}, - {field_field, 3, .inherited = true}, {field_property, 2}, {field_property, 3, .inherited = true}, {field_value, 2, .inherited = true}, - {field_value, 3, .inherited = true}, - [43] = + [31] = {field_field, 1, .inherited = true}, - {field_field, 2, .inherited = true}, {field_property, 1}, {field_property, 2, .inherited = true}, {field_value, 1, .inherited = true}, - {field_value, 2, .inherited = true}, - [49] = + [35] = {field_element, 1}, {field_element, 2, .inherited = true}, - [51] = + [37] = {field_element, 0, .inherited = true}, {field_element, 1, .inherited = true}, - [53] = + [39] = {field_condition, 2}, {field_type, 0}, - [55] = + [41] = {field_condition, 3}, {field_namespace, 2}, {field_type, 0}, {field_variable, 4}, - [59] = + [45] = {field_pattern, 0}, {field_value, 2}, }; diff --git a/test/corpus/expressions.txt b/test/corpus/expressions.txt index 466737a..03682d9 100644 --- a/test/corpus/expressions.txt +++ b/test/corpus/expressions.txt @@ -246,8 +246,9 @@ foo = {foo:42} (assignment (identifier) (map_expression - (identifier) - (integer_literal)))) + (property + (identifier) + (integer_literal))))) ================================================================================ Map (singleton multiline) @@ -263,8 +264,9 @@ foo = { (assignment (identifier) (map_expression - (identifier) - (integer_literal)))) + (property + (identifier) + (integer_literal))))) ================================================================================ Map (singleton trailing comma) @@ -280,8 +282,9 @@ foo = { (assignment (identifier) (map_expression - (identifier) - (integer_literal)))) + (property + (identifier) + (integer_literal))))) ================================================================================ Map (mixed values) @@ -298,10 +301,12 @@ foo = { (assignment (identifier) (map_expression - (identifier) - (integer_literal) - (identifier) - (interpreted_string_literal)))) + (property + (identifier) + (integer_literal)) + (property + (identifier) + (interpreted_string_literal))))) ================================================================================ Map (map of map) @@ -317,10 +322,12 @@ foo = { (assignment (identifier) (map_expression - (identifier) - (map_expression + (property (identifier) - (integer_literal))))) + (map_expression + (property + (identifier) + (integer_literal))))))) ================================================================================ Map (rogue comma) diff --git a/test/corpus/modules.txt b/test/corpus/modules.txt index 943f665..73d87bc 100644 --- a/test/corpus/modules.txt +++ b/test/corpus/modules.txt @@ -36,8 +36,9 @@ foo { (source_file (module (identifier) - (identifier) - (integer_literal))) + (property + (identifier) + (integer_literal)))) ================================================================================ Single property (trailing comma) @@ -52,8 +53,9 @@ foo { (source_file (module (identifier) - (identifier) - (integer_literal))) + (property + (identifier) + (integer_literal)))) ================================================================================ Mixed values @@ -70,12 +72,15 @@ foo { (source_file (module (identifier) - (identifier) - (boolean_literal) - (identifier) - (interpreted_string_literal) - (identifier) - (integer_literal))) + (property + (identifier) + (boolean_literal)) + (property + (identifier) + (interpreted_string_literal)) + (property + (identifier) + (integer_literal)))) ================================================================================ Complex value @@ -94,11 +99,13 @@ foo { (source_file (module (identifier) - (identifier) - (list_expression - (map_expression - (identifier) - (interpreted_string_literal))))) + (property + (identifier) + (list_expression + (map_expression + (property + (identifier) + (interpreted_string_literal))))))) ================================================================================ Rogue comma