From fdb45d9ddd937ec09757435d9470f160617aa247 Mon Sep 17 00:00:00 2001 From: mhoffm Date: Tue, 8 Jun 2021 00:04:05 +0200 Subject: [PATCH] add collections; improve identifier --- grammar.js | 47 +- src/grammar.json | 180 ++- src/node-types.json | 97 +- src/parser.c | 2909 ++++++++++++++++++++++++++++++++++++------- 4 files changed, 2740 insertions(+), 493 deletions(-) diff --git a/grammar.js b/grammar.js index ce94075..c028a90 100644 --- a/grammar.js +++ b/grammar.js @@ -1,12 +1,15 @@ const - space = ' ', - decimal = /[0-9]/ + //TODO figure out how to subtact regex sets + unicodeLetter = /\p{L}/ + unicodePunctuation = /\p{Pc}/ + unicodeDigit = /[0-9]/ module.exports = grammar({ name: 'hcl', conflicts: $ => [ [$.body], + [$.object_elem, $.variable_expr], ], extras: $ => [ @@ -46,7 +49,7 @@ module.exports = grammar({ expr_term: $ => choice( $.literal_value, - // $.collection_value, + $.collection_value, // $.template_expr, $.variable_expr, // $.function_call, @@ -68,6 +71,35 @@ module.exports = grammar({ numeric_lit: $ => /[0-9]+(\.[0-9]+([eE][-+]?[0-9]+)?)?/, + collection_value: $ => choice( + $.tuple, + $.object, + ), + + tuple: $ => seq( + '[', + optional(seq( + $.expression, + repeat(seq(',', $.expression)), + )), + ']', + ), + + object: $ => seq( + '{', + optional(seq( + $.object_elem, + repeat(seq(',', $.object_elem)), + )), + '}', + ), + + object_elem: $ => seq( + choice($.identifier, $.expression), + choice('=', ':'), + $.expression, + ), + variable_expr: $ => $.identifier, // TODO: template expressions @@ -81,8 +113,11 @@ module.exports = grammar({ // TODO: string_literals are special template literals string_lit: $ => seq('"', /\w+/, '"'), - // TODO: unicode identifier - identifier: $ => /\w+/, + // TODO: not to spec, but maybe good enough + identifier: $ => token(seq( + unicodeLetter, + repeat(choice(unicodeLetter, unicodeDigit, unicodePunctuation)) + )), // http://stackoverflow.com/questions/13014947/regex-to-match-a-c-style-multiline-comment/36328890#36328890 comment: $ => token(choice( @@ -93,6 +128,6 @@ module.exports = grammar({ /[^*]*\*+([^/*][^*]*\*+)*/, '/' ) - )) + )), } }); diff --git a/src/grammar.json b/src/grammar.json index 377e687..a39975b 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -104,6 +104,10 @@ "type": "SYMBOL", "name": "literal_value" }, + { + "type": "SYMBOL", + "name": "collection_value" + }, { "type": "SYMBOL", "name": "variable_expr" @@ -156,6 +160,146 @@ "type": "PATTERN", "value": "[0-9]+(\\.[0-9]+([eE][-+]?[0-9]+)?)?" }, + "collection_value": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "tuple" + }, + { + "type": "SYMBOL", + "name": "object" + } + ] + }, + "tuple": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "object": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "object_elem" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "object_elem" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "object_elem": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "STRING", + "value": ":" + } + ] + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, "variable_expr": { "type": "SYMBOL", "name": "identifier" @@ -178,8 +322,36 @@ ] }, "identifier": { - "type": "PATTERN", - "value": "\\w+" + "type": "TOKEN", + "content": { + "type": "SEQ", + "members": [ + { + "type": "PATTERN", + "value": "\\p{L}" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "\\p{L}" + }, + { + "type": "PATTERN", + "value": "[0-9]" + }, + { + "type": "PATTERN", + "value": "\\p{Pc}" + } + ] + } + } + ] + } }, "comment": { "type": "TOKEN", @@ -246,6 +418,10 @@ "conflicts": [ [ "body" + ], + [ + "object_elem", + "variable_expr" ] ], "precedences": [], diff --git a/src/node-types.json b/src/node-types.json index 109a871..eb59204 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -60,6 +60,25 @@ ] } }, + { + "type": "collection_value", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "object", + "named": true + }, + { + "type": "tuple", + "named": true + } + ] + } + }, { "type": "config_file", "named": true, @@ -83,6 +102,10 @@ "multiple": false, "required": true, "types": [ + { + "type": "collection_value", + "named": true + }, { "type": "expression", "named": true @@ -113,11 +136,6 @@ ] } }, - { - "type": "identifier", - "named": true, - "fields": {} - }, { "type": "literal_value", "named": true, @@ -137,11 +155,60 @@ ] } }, + { + "type": "object", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "object_elem", + "named": true + } + ] + } + }, + { + "type": "object_elem", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, { "type": "string_lit", "named": true, "fields": {} }, + { + "type": "tuple", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, { "type": "variable_expr", "named": true, @@ -169,10 +236,26 @@ "type": ")", "named": false }, + { + "type": ",", + "named": false + }, + { + "type": ":", + "named": false + }, { "type": "=", "named": false }, + { + "type": "[", + "named": false + }, + { + "type": "]", + "named": false + }, { "type": "comment", "named": true @@ -181,6 +264,10 @@ "type": "false", "named": false }, + { + "type": "identifier", + "named": true + }, { "type": "null", "named": false diff --git a/src/parser.c b/src/parser.c index 7c320e8..52ef9eb 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,11 +6,11 @@ #endif #define LANGUAGE_VERSION 13 -#define STATE_COUNT 29 -#define LARGE_STATE_COUNT 4 -#define SYMBOL_COUNT 25 +#define STATE_COUNT 51 +#define LARGE_STATE_COUNT 9 +#define SYMBOL_COUNT 35 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 13 +#define TOKEN_COUNT 18 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 5 @@ -26,21 +26,31 @@ enum { anon_sym_false = 7, anon_sym_null = 8, sym_numeric_lit = 9, - anon_sym_DQUOTE = 10, - aux_sym_string_lit_token1 = 11, - sym_comment = 12, - sym_config_file = 13, - sym_body = 14, - sym_attribute = 15, - sym_block = 16, - sym_expression = 17, - sym_expr_term = 18, - sym_literal_value = 19, - sym_variable_expr = 20, - sym_string_lit = 21, - sym_identifier = 22, - aux_sym_body_repeat1 = 23, - aux_sym_block_repeat1 = 24, + anon_sym_LBRACK = 10, + anon_sym_COMMA = 11, + anon_sym_RBRACK = 12, + anon_sym_COLON = 13, + anon_sym_DQUOTE = 14, + aux_sym_string_lit_token1 = 15, + sym_identifier = 16, + sym_comment = 17, + sym_config_file = 18, + sym_body = 19, + sym_attribute = 20, + sym_block = 21, + sym_expression = 22, + sym_expr_term = 23, + sym_literal_value = 24, + sym_collection_value = 25, + sym_tuple = 26, + sym_object = 27, + sym_object_elem = 28, + sym_variable_expr = 29, + sym_string_lit = 30, + aux_sym_body_repeat1 = 31, + aux_sym_block_repeat1 = 32, + aux_sym_tuple_repeat1 = 33, + aux_sym_object_repeat1 = 34, }; static const char * const ts_symbol_names[] = { @@ -54,8 +64,13 @@ static const char * const ts_symbol_names[] = { [anon_sym_false] = "false", [anon_sym_null] = "null", [sym_numeric_lit] = "numeric_lit", + [anon_sym_LBRACK] = "[", + [anon_sym_COMMA] = ",", + [anon_sym_RBRACK] = "]", + [anon_sym_COLON] = ":", [anon_sym_DQUOTE] = "\"", [aux_sym_string_lit_token1] = "string_lit_token1", + [sym_identifier] = "identifier", [sym_comment] = "comment", [sym_config_file] = "config_file", [sym_body] = "body", @@ -64,11 +79,16 @@ static const char * const ts_symbol_names[] = { [sym_expression] = "expression", [sym_expr_term] = "expr_term", [sym_literal_value] = "literal_value", + [sym_collection_value] = "collection_value", + [sym_tuple] = "tuple", + [sym_object] = "object", + [sym_object_elem] = "object_elem", [sym_variable_expr] = "variable_expr", [sym_string_lit] = "string_lit", - [sym_identifier] = "identifier", [aux_sym_body_repeat1] = "body_repeat1", [aux_sym_block_repeat1] = "block_repeat1", + [aux_sym_tuple_repeat1] = "tuple_repeat1", + [aux_sym_object_repeat1] = "object_repeat1", }; static const TSSymbol ts_symbol_map[] = { @@ -82,8 +102,13 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_false] = anon_sym_false, [anon_sym_null] = anon_sym_null, [sym_numeric_lit] = sym_numeric_lit, + [anon_sym_LBRACK] = anon_sym_LBRACK, + [anon_sym_COMMA] = anon_sym_COMMA, + [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_COLON] = anon_sym_COLON, [anon_sym_DQUOTE] = anon_sym_DQUOTE, [aux_sym_string_lit_token1] = aux_sym_string_lit_token1, + [sym_identifier] = sym_identifier, [sym_comment] = sym_comment, [sym_config_file] = sym_config_file, [sym_body] = sym_body, @@ -92,11 +117,16 @@ static const TSSymbol ts_symbol_map[] = { [sym_expression] = sym_expression, [sym_expr_term] = sym_expr_term, [sym_literal_value] = sym_literal_value, + [sym_collection_value] = sym_collection_value, + [sym_tuple] = sym_tuple, + [sym_object] = sym_object, + [sym_object_elem] = sym_object_elem, [sym_variable_expr] = sym_variable_expr, [sym_string_lit] = sym_string_lit, - [sym_identifier] = sym_identifier, [aux_sym_body_repeat1] = aux_sym_body_repeat1, [aux_sym_block_repeat1] = aux_sym_block_repeat1, + [aux_sym_tuple_repeat1] = aux_sym_tuple_repeat1, + [aux_sym_object_repeat1] = aux_sym_object_repeat1, }; static const TSSymbolMetadata ts_symbol_metadata[] = { @@ -140,6 +170,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [anon_sym_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_COMMA] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON] = { + .visible = true, + .named = false, + }, [anon_sym_DQUOTE] = { .visible = true, .named = false, @@ -148,6 +194,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [sym_identifier] = { + .visible = true, + .named = true, + }, [sym_comment] = { .visible = true, .named = true, @@ -180,6 +230,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_collection_value] = { + .visible = true, + .named = true, + }, + [sym_tuple] = { + .visible = true, + .named = true, + }, + [sym_object] = { + .visible = true, + .named = true, + }, + [sym_object_elem] = { + .visible = true, + .named = true, + }, [sym_variable_expr] = { .visible = true, .named = true, @@ -188,10 +254,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_identifier] = { - .visible = true, - .named = true, - }, [aux_sym_body_repeat1] = { .visible = false, .named = false, @@ -200,6 +262,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_tuple_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_object_repeat1] = { + .visible = false, + .named = false, + }, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { @@ -210,228 +280,1758 @@ static const uint16_t ts_non_terminal_alias_map[] = { 0, }; +static inline bool sym_identifier_character_set_1(int32_t c) { + return (c < 6688 + ? (c < 2990 + ? (c < 2384 + ? (c < 1488 + ? (c < 886 + ? (c < 216 + ? (c < 181 + ? (c < 'a' + ? (c >= 'A' && c <= 'Z') + : (c <= 'z' || c == 170)) + : (c <= 181 || (c < 192 + ? c == 186 + : c <= 214))) + : (c <= 246 || (c < 748 + ? (c < 710 + ? (c >= 248 && c <= 705) + : (c <= 721 || (c >= 736 && c <= 740))) + : (c <= 748 || (c < 880 + ? c == 750 + : c <= 884))))) + : (c <= 887 || (c < 931 + ? (c < 904 + ? (c < 895 + ? (c >= 890 && c <= 893) + : (c <= 895 || c == 902)) + : (c <= 906 || (c < 910 + ? c == 908 + : c <= 929))) + : (c <= 1013 || (c < 1329 + ? (c < 1162 + ? (c >= 1015 && c <= 1153) + : c <= 1327) + : (c <= 1366 || (c < 1376 + ? c == 1369 + : c <= 1416))))))) + : (c <= 1514 || (c < 1994 + ? (c < 1774 + ? (c < 1649 + ? (c < 1568 + ? (c >= 1519 && c <= 1522) + : (c <= 1610 || (c >= 1646 && c <= 1647))) + : (c <= 1747 || (c < 1765 + ? c == 1749 + : c <= 1766))) + : (c <= 1775 || (c < 1810 + ? (c < 1791 + ? (c >= 1786 && c <= 1788) + : (c <= 1791 || c == 1808)) + : (c <= 1839 || (c < 1969 + ? (c >= 1869 && c <= 1957) + : c <= 1969))))) + : (c <= 2026 || (c < 2112 + ? (c < 2074 + ? (c < 2042 + ? (c >= 2036 && c <= 2037) + : (c <= 2042 || (c >= 2048 && c <= 2069))) + : (c <= 2074 || (c < 2088 + ? c == 2084 + : c <= 2088))) + : (c <= 2136 || (c < 2230 + ? (c < 2208 + ? (c >= 2144 && c <= 2154) + : c <= 2228) + : (c <= 2247 || (c < 2365 + ? (c >= 2308 && c <= 2361) + : c <= 2365))))))))) + : (c <= 2384 || (c < 2707 + ? (c < 2556 + ? (c < 2482 + ? (c < 2447 + ? (c < 2417 + ? (c >= 2392 && c <= 2401) + : (c <= 2432 || (c >= 2437 && c <= 2444))) + : (c <= 2448 || (c < 2474 + ? (c >= 2451 && c <= 2472) + : c <= 2480))) + : (c <= 2482 || (c < 2524 + ? (c < 2493 + ? (c >= 2486 && c <= 2489) + : (c <= 2493 || c == 2510)) + : (c <= 2525 || (c < 2544 + ? (c >= 2527 && c <= 2529) + : c <= 2545))))) + : (c <= 2556 || (c < 2616 + ? (c < 2602 + ? (c < 2575 + ? (c >= 2565 && c <= 2570) + : (c <= 2576 || (c >= 2579 && c <= 2600))) + : (c <= 2608 || (c < 2613 + ? (c >= 2610 && c <= 2611) + : c <= 2614))) + : (c <= 2617 || (c < 2674 + ? (c < 2654 + ? (c >= 2649 && c <= 2652) + : c <= 2654) + : (c <= 2676 || (c < 2703 + ? (c >= 2693 && c <= 2701) + : c <= 2705))))))) + : (c <= 2728 || (c < 2877 + ? (c < 2809 + ? (c < 2749 + ? (c < 2738 + ? (c >= 2730 && c <= 2736) + : (c <= 2739 || (c >= 2741 && c <= 2745))) + : (c <= 2749 || (c < 2784 + ? c == 2768 + : c <= 2785))) + : (c <= 2809 || (c < 2858 + ? (c < 2831 + ? (c >= 2821 && c <= 2828) + : (c <= 2832 || (c >= 2835 && c <= 2856))) + : (c <= 2864 || (c < 2869 + ? (c >= 2866 && c <= 2867) + : c <= 2873))))) + : (c <= 2877 || (c < 2962 + ? (c < 2947 + ? (c < 2911 + ? (c >= 2908 && c <= 2909) + : (c <= 2913 || c == 2929)) + : (c <= 2947 || (c < 2958 + ? (c >= 2949 && c <= 2954) + : c <= 2960))) + : (c <= 2965 || (c < 2974 + ? (c < 2972 + ? (c >= 2969 && c <= 2970) + : c <= 2972) + : (c <= 2975 || (c < 2984 + ? (c >= 2979 && c <= 2980) + : c <= 2986))))))))))) + : (c <= 3001 || (c < 4193 + ? (c < 3461 + ? (c < 3253 + ? (c < 3160 + ? (c < 3090 + ? (c < 3077 + ? c == 3024 + : (c <= 3084 || (c >= 3086 && c <= 3088))) + : (c <= 3112 || (c < 3133 + ? (c >= 3114 && c <= 3129) + : c <= 3133))) + : (c <= 3162 || (c < 3214 + ? (c < 3200 + ? (c >= 3168 && c <= 3169) + : (c <= 3200 || (c >= 3205 && c <= 3212))) + : (c <= 3216 || (c < 3242 + ? (c >= 3218 && c <= 3240) + : c <= 3251))))) + : (c <= 3257 || (c < 3346 + ? (c < 3313 + ? (c < 3294 + ? c == 3261 + : (c <= 3294 || (c >= 3296 && c <= 3297))) + : (c <= 3314 || (c < 3342 + ? (c >= 3332 && c <= 3340) + : c <= 3344))) + : (c <= 3386 || (c < 3412 + ? (c < 3406 + ? c == 3389 + : c <= 3406) + : (c <= 3414 || (c < 3450 + ? (c >= 3423 && c <= 3425) + : c <= 3455))))))) + : (c <= 3478 || (c < 3762 + ? (c < 3648 + ? (c < 3520 + ? (c < 3507 + ? (c >= 3482 && c <= 3505) + : (c <= 3515 || c == 3517)) + : (c <= 3526 || (c < 3634 + ? (c >= 3585 && c <= 3632) + : c <= 3635))) + : (c <= 3654 || (c < 3724 + ? (c < 3716 + ? (c >= 3713 && c <= 3714) + : (c <= 3716 || (c >= 3718 && c <= 3722))) + : (c <= 3747 || (c < 3751 + ? c == 3749 + : c <= 3760))))) + : (c <= 3763 || (c < 3913 + ? (c < 3804 + ? (c < 3776 + ? c == 3773 + : (c <= 3780 || c == 3782)) + : (c <= 3807 || (c < 3904 + ? c == 3840 + : c <= 3911))) + : (c <= 3948 || (c < 4159 + ? (c < 4096 + ? (c >= 3976 && c <= 3980) + : c <= 4138) + : (c <= 4159 || (c < 4186 + ? (c >= 4176 && c <= 4181) + : c <= 4189))))))))) + : (c <= 4193 || (c < 5112 + ? (c < 4704 + ? (c < 4301 + ? (c < 4238 + ? (c < 4206 + ? (c >= 4197 && c <= 4198) + : (c <= 4208 || (c >= 4213 && c <= 4225))) + : (c <= 4238 || (c < 4295 + ? (c >= 4256 && c <= 4293) + : c <= 4295))) + : (c <= 4301 || (c < 4688 + ? (c < 4348 + ? (c >= 4304 && c <= 4346) + : (c <= 4680 || (c >= 4682 && c <= 4685))) + : (c <= 4694 || (c < 4698 + ? c == 4696 + : c <= 4701))))) + : (c <= 4744 || (c < 4808 + ? (c < 4792 + ? (c < 4752 + ? (c >= 4746 && c <= 4749) + : (c <= 4784 || (c >= 4786 && c <= 4789))) + : (c <= 4798 || (c < 4802 + ? c == 4800 + : c <= 4805))) + : (c <= 4822 || (c < 4888 + ? (c < 4882 + ? (c >= 4824 && c <= 4880) + : c <= 4885) + : (c <= 4954 || (c < 5024 + ? (c >= 4992 && c <= 5007) + : c <= 5109))))))) + : (c <= 5117 || (c < 6103 + ? (c < 5902 + ? (c < 5792 + ? (c < 5743 + ? (c >= 5121 && c <= 5740) + : (c <= 5759 || (c >= 5761 && c <= 5786))) + : (c <= 5866 || (c < 5888 + ? (c >= 5873 && c <= 5880) + : c <= 5900))) + : (c <= 5905 || (c < 5984 + ? (c < 5952 + ? (c >= 5920 && c <= 5937) + : c <= 5969) + : (c <= 5996 || (c < 6016 + ? (c >= 5998 && c <= 6000) + : c <= 6067))))) + : (c <= 6103 || (c < 6400 + ? (c < 6279 + ? (c < 6176 + ? c == 6108 + : (c <= 6264 || (c >= 6272 && c <= 6276))) + : (c <= 6312 || (c < 6320 + ? c == 6314 + : c <= 6389))) + : (c <= 6430 || (c < 6528 + ? (c < 6512 + ? (c >= 6480 && c <= 6509) + : c <= 6516) + : (c <= 6571 || (c < 6656 + ? (c >= 6576 && c <= 6601) + : c <= 6678))))))))))))) + : (c <= 6740 || (c < 43259 + ? (c < 11264 + ? (c < 8064 + ? (c < 7406 + ? (c < 7168 + ? (c < 7043 + ? (c < 6917 + ? c == 6823 + : (c <= 6963 || (c >= 6981 && c <= 6987))) + : (c <= 7072 || (c < 7098 + ? (c >= 7086 && c <= 7087) + : c <= 7141))) + : (c <= 7203 || (c < 7312 + ? (c < 7258 + ? (c >= 7245 && c <= 7247) + : (c <= 7293 || (c >= 7296 && c <= 7304))) + : (c <= 7354 || (c < 7401 + ? (c >= 7357 && c <= 7359) + : c <= 7404))))) + : (c <= 7411 || (c < 8008 + ? (c < 7680 + ? (c < 7418 + ? (c >= 7413 && c <= 7414) + : (c <= 7418 || (c >= 7424 && c <= 7615))) + : (c <= 7957 || (c < 7968 + ? (c >= 7960 && c <= 7965) + : c <= 8005))) + : (c <= 8013 || (c < 8027 + ? (c < 8025 + ? (c >= 8016 && c <= 8023) + : c <= 8025) + : (c <= 8027 || (c < 8031 + ? c == 8029 + : c <= 8061))))))) + : (c <= 8116 || (c < 8455 + ? (c < 8160 + ? (c < 8134 + ? (c < 8126 + ? (c >= 8118 && c <= 8124) + : (c <= 8126 || (c >= 8130 && c <= 8132))) + : (c <= 8140 || (c < 8150 + ? (c >= 8144 && c <= 8147) + : c <= 8155))) + : (c <= 8172 || (c < 8319 + ? (c < 8182 + ? (c >= 8178 && c <= 8180) + : (c <= 8188 || c == 8305)) + : (c <= 8319 || (c < 8450 + ? (c >= 8336 && c <= 8348) + : c <= 8450))))) + : (c <= 8455 || (c < 8490 + ? (c < 8484 + ? (c < 8469 + ? (c >= 8458 && c <= 8467) + : (c <= 8469 || (c >= 8473 && c <= 8477))) + : (c <= 8484 || (c < 8488 + ? c == 8486 + : c <= 8488))) + : (c <= 8493 || (c < 8517 + ? (c < 8508 + ? (c >= 8495 && c <= 8505) + : c <= 8511) + : (c <= 8521 || (c < 8579 + ? c == 8526 + : c <= 8580))))))))) + : (c <= 11310 || (c < 12549 + ? (c < 11704 + ? (c < 11565 + ? (c < 11506 + ? (c < 11360 + ? (c >= 11312 && c <= 11358) + : (c <= 11492 || (c >= 11499 && c <= 11502))) + : (c <= 11507 || (c < 11559 + ? (c >= 11520 && c <= 11557) + : c <= 11559))) + : (c <= 11565 || (c < 11680 + ? (c < 11631 + ? (c >= 11568 && c <= 11623) + : (c <= 11631 || (c >= 11648 && c <= 11670))) + : (c <= 11686 || (c < 11696 + ? (c >= 11688 && c <= 11694) + : c <= 11702))))) + : (c <= 11710 || (c < 12337 + ? (c < 11736 + ? (c < 11720 + ? (c >= 11712 && c <= 11718) + : (c <= 11726 || (c >= 11728 && c <= 11734))) + : (c <= 11742 || (c < 12293 + ? c == 11823 + : c <= 12294))) + : (c <= 12341 || (c < 12445 + ? (c < 12353 + ? (c >= 12347 && c <= 12348) + : c <= 12438) + : (c <= 12447 || (c < 12540 + ? (c >= 12449 && c <= 12538) + : c <= 12543))))))) + : (c <= 12591 || (c < 42623 + ? (c < 40956 + ? (c < 13312 + ? (c < 12704 + ? (c >= 12593 && c <= 12686) + : (c <= 12735 || (c >= 12784 && c <= 12799))) + : (c <= 13312 || (c < 19968 + ? c == 19903 + : c <= 19968))) + : (c <= 40956 || (c < 42512 + ? (c < 42192 + ? (c >= 40960 && c <= 42124) + : (c <= 42237 || (c >= 42240 && c <= 42508))) + : (c <= 42527 || (c < 42560 + ? (c >= 42538 && c <= 42539) + : c <= 42606))))) + : (c <= 42653 || (c < 43011 + ? (c < 42891 + ? (c < 42775 + ? (c >= 42656 && c <= 42725) + : (c <= 42783 || (c >= 42786 && c <= 42888))) + : (c <= 42943 || (c < 42997 + ? (c >= 42946 && c <= 42954) + : c <= 43009))) + : (c <= 43013 || (c < 43072 + ? (c < 43020 + ? (c >= 43015 && c <= 43018) + : c <= 43042) + : (c <= 43123 || (c < 43250 + ? (c >= 43138 && c <= 43187) + : c <= 43255))))))))))) + : (c <= 43259 || (c < 65313 + ? (c < 43808 + ? (c < 43642 + ? (c < 43488 + ? (c < 43360 + ? (c < 43274 + ? (c >= 43261 && c <= 43262) + : (c <= 43301 || (c >= 43312 && c <= 43334))) + : (c <= 43388 || (c < 43471 + ? (c >= 43396 && c <= 43442) + : c <= 43471))) + : (c <= 43492 || (c < 43584 + ? (c < 43514 + ? (c >= 43494 && c <= 43503) + : (c <= 43518 || (c >= 43520 && c <= 43560))) + : (c <= 43586 || (c < 43616 + ? (c >= 43588 && c <= 43595) + : c <= 43638))))) + : (c <= 43642 || (c < 43739 + ? (c < 43705 + ? (c < 43697 + ? (c >= 43646 && c <= 43695) + : (c <= 43697 || (c >= 43701 && c <= 43702))) + : (c <= 43709 || (c < 43714 + ? c == 43712 + : c <= 43714))) + : (c <= 43741 || (c < 43777 + ? (c < 43762 + ? (c >= 43744 && c <= 43754) + : c <= 43764) + : (c <= 43782 || (c < 43793 + ? (c >= 43785 && c <= 43790) + : c <= 43798))))))) + : (c <= 43814 || (c < 64287 + ? (c < 55216 + ? (c < 43888 + ? (c < 43824 + ? (c >= 43816 && c <= 43822) + : (c <= 43866 || (c >= 43868 && c <= 43881))) + : (c <= 44002 || (c < 55203 + ? c == 44032 + : c <= 55203))) + : (c <= 55238 || (c < 64256 + ? (c < 63744 + ? (c >= 55243 && c <= 55291) + : (c <= 64109 || (c >= 64112 && c <= 64217))) + : (c <= 64262 || (c < 64285 + ? (c >= 64275 && c <= 64279) + : c <= 64285))))) + : (c <= 64296 || (c < 64467 + ? (c < 64320 + ? (c < 64312 + ? (c >= 64298 && c <= 64310) + : (c <= 64316 || c == 64318)) + : (c <= 64321 || (c < 64326 + ? (c >= 64323 && c <= 64324) + : c <= 64433))) + : (c <= 64829 || (c < 65008 + ? (c < 64914 + ? (c >= 64848 && c <= 64911) + : c <= 64967) + : (c <= 65019 || (c < 65142 + ? (c >= 65136 && c <= 65140) + : c <= 65276))))))))) + : (c <= 65338 || (c < 66864 + ? (c < 66176 + ? (c < 65536 + ? (c < 65482 + ? (c < 65382 + ? (c >= 65345 && c <= 65370) + : (c <= 65470 || (c >= 65474 && c <= 65479))) + : (c <= 65487 || (c < 65498 + ? (c >= 65490 && c <= 65495) + : c <= 65500))) + : (c <= 65547 || (c < 65599 + ? (c < 65576 + ? (c >= 65549 && c <= 65574) + : (c <= 65594 || (c >= 65596 && c <= 65597))) + : (c <= 65613 || (c < 65664 + ? (c >= 65616 && c <= 65629) + : c <= 65786))))) + : (c <= 66204 || (c < 66464 + ? (c < 66370 + ? (c < 66304 + ? (c >= 66208 && c <= 66256) + : (c <= 66335 || (c >= 66349 && c <= 66368))) + : (c <= 66377 || (c < 66432 + ? (c >= 66384 && c <= 66421) + : c <= 66461))) + : (c <= 66499 || (c < 66736 + ? (c < 66560 + ? (c >= 66504 && c <= 66511) + : c <= 66717) + : (c <= 66771 || (c < 66816 + ? (c >= 66776 && c <= 66811) + : c <= 66855))))))) + : (c <= 66915 || (c < 67828 + ? (c < 67639 + ? (c < 67584 + ? (c < 67392 + ? (c >= 67072 && c <= 67382) + : (c <= 67413 || (c >= 67424 && c <= 67431))) + : (c <= 67589 || (c < 67594 + ? c == 67592 + : c <= 67637))) + : (c <= 67640 || (c < 67680 + ? (c < 67647 + ? c == 67644 + : c <= 67669) + : (c <= 67702 || (c < 67808 + ? (c >= 67712 && c <= 67742) + : c <= 67826))))) + : (c <= 67829 || (c < 68117 + ? (c < 68030 + ? (c < 67872 + ? (c >= 67840 && c <= 67861) + : (c <= 67897 || (c >= 67968 && c <= 68023))) + : (c <= 68031 || (c < 68112 + ? c == 68096 + : c <= 68115))) + : (c <= 68119 || (c < 68224 + ? (c < 68192 + ? (c >= 68121 && c <= 68149) + : c <= 68220) + : (c <= 68252 || (c < 68297 + ? (c >= 68288 && c <= 68295) + : c <= 68309))))))))))))))); +} + +static inline bool sym_identifier_character_set_2(int32_t c) { + return (c < 6917 + ? (c < 2990 + ? (c < 2365 + ? (c < 1376 + ? (c < 750 + ? (c < 186 + ? (c < 'a' + ? (c < 'A' + ? (c >= '0' && c <= '9') + : (c <= 'Z' || c == '_')) + : (c <= 'z' || (c < 181 + ? c == 170 + : c <= 181))) + : (c <= 186 || (c < 710 + ? (c < 216 + ? (c >= 192 && c <= 214) + : (c <= 246 || (c >= 248 && c <= 705))) + : (c <= 721 || (c < 748 + ? (c >= 736 && c <= 740) + : c <= 748))))) + : (c <= 750 || (c < 908 + ? (c < 895 + ? (c < 886 + ? (c >= 880 && c <= 884) + : (c <= 887 || (c >= 890 && c <= 893))) + : (c <= 895 || (c < 904 + ? c == 902 + : c <= 906))) + : (c <= 908 || (c < 1162 + ? (c < 931 + ? (c >= 910 && c <= 929) + : (c <= 1013 || (c >= 1015 && c <= 1153))) + : (c <= 1327 || (c < 1369 + ? (c >= 1329 && c <= 1366) + : c <= 1369))))))) + : (c <= 1416 || (c < 1969 + ? (c < 1765 + ? (c < 1646 + ? (c < 1519 + ? (c >= 1488 && c <= 1514) + : (c <= 1522 || (c >= 1568 && c <= 1610))) + : (c <= 1647 || (c < 1749 + ? (c >= 1649 && c <= 1747) + : c <= 1749))) + : (c <= 1766 || (c < 1808 + ? (c < 1786 + ? (c >= 1774 && c <= 1775) + : (c <= 1788 || c == 1791)) + : (c <= 1808 || (c < 1869 + ? (c >= 1810 && c <= 1839) + : c <= 1957))))) + : (c <= 1969 || (c < 2088 + ? (c < 2048 + ? (c < 2036 + ? (c >= 1994 && c <= 2026) + : (c <= 2037 || c == 2042)) + : (c <= 2069 || (c < 2084 + ? c == 2074 + : c <= 2084))) + : (c <= 2088 || (c < 2208 + ? (c < 2144 + ? (c >= 2112 && c <= 2136) + : c <= 2154) + : (c <= 2228 || (c < 2308 + ? (c >= 2230 && c <= 2247) + : c <= 2361))))))))) + : (c <= 2365 || (c < 2707 + ? (c < 2544 + ? (c < 2474 + ? (c < 2437 + ? (c < 2392 + ? c == 2384 + : (c <= 2401 || (c >= 2417 && c <= 2432))) + : (c <= 2444 || (c < 2451 + ? (c >= 2447 && c <= 2448) + : c <= 2472))) + : (c <= 2480 || (c < 2510 + ? (c < 2486 + ? c == 2482 + : (c <= 2489 || c == 2493)) + : (c <= 2510 || (c < 2527 + ? (c >= 2524 && c <= 2525) + : c <= 2529))))) + : (c <= 2545 || (c < 2613 + ? (c < 2579 + ? (c < 2565 + ? c == 2556 + : (c <= 2570 || (c >= 2575 && c <= 2576))) + : (c <= 2600 || (c < 2610 + ? (c >= 2602 && c <= 2608) + : c <= 2611))) + : (c <= 2614 || (c < 2674 + ? (c < 2649 + ? (c >= 2616 && c <= 2617) + : (c <= 2652 || c == 2654)) + : (c <= 2676 || (c < 2703 + ? (c >= 2693 && c <= 2701) + : c <= 2705))))))) + : (c <= 2728 || (c < 2877 + ? (c < 2809 + ? (c < 2749 + ? (c < 2738 + ? (c >= 2730 && c <= 2736) + : (c <= 2739 || (c >= 2741 && c <= 2745))) + : (c <= 2749 || (c < 2784 + ? c == 2768 + : c <= 2785))) + : (c <= 2809 || (c < 2858 + ? (c < 2831 + ? (c >= 2821 && c <= 2828) + : (c <= 2832 || (c >= 2835 && c <= 2856))) + : (c <= 2864 || (c < 2869 + ? (c >= 2866 && c <= 2867) + : c <= 2873))))) + : (c <= 2877 || (c < 2962 + ? (c < 2947 + ? (c < 2911 + ? (c >= 2908 && c <= 2909) + : (c <= 2913 || c == 2929)) + : (c <= 2947 || (c < 2958 + ? (c >= 2949 && c <= 2954) + : c <= 2960))) + : (c <= 2965 || (c < 2974 + ? (c < 2972 + ? (c >= 2969 && c <= 2970) + : c <= 2972) + : (c <= 2975 || (c < 2984 + ? (c >= 2979 && c <= 2980) + : c <= 2986))))))))))) + : (c <= 3001 || (c < 4197 + ? (c < 3482 + ? (c < 3253 + ? (c < 3160 + ? (c < 3090 + ? (c < 3077 + ? c == 3024 + : (c <= 3084 || (c >= 3086 && c <= 3088))) + : (c <= 3112 || (c < 3133 + ? (c >= 3114 && c <= 3129) + : c <= 3133))) + : (c <= 3162 || (c < 3214 + ? (c < 3200 + ? (c >= 3168 && c <= 3169) + : (c <= 3200 || (c >= 3205 && c <= 3212))) + : (c <= 3216 || (c < 3242 + ? (c >= 3218 && c <= 3240) + : c <= 3251))))) + : (c <= 3257 || (c < 3346 + ? (c < 3313 + ? (c < 3294 + ? c == 3261 + : (c <= 3294 || (c >= 3296 && c <= 3297))) + : (c <= 3314 || (c < 3342 + ? (c >= 3332 && c <= 3340) + : c <= 3344))) + : (c <= 3386 || (c < 3423 + ? (c < 3406 + ? c == 3389 + : (c <= 3406 || (c >= 3412 && c <= 3414))) + : (c <= 3425 || (c < 3461 + ? (c >= 3450 && c <= 3455) + : c <= 3478))))))) + : (c <= 3505 || (c < 3773 + ? (c < 3713 + ? (c < 3585 + ? (c < 3517 + ? (c >= 3507 && c <= 3515) + : (c <= 3517 || (c >= 3520 && c <= 3526))) + : (c <= 3632 || (c < 3648 + ? (c >= 3634 && c <= 3635) + : c <= 3654))) + : (c <= 3714 || (c < 3749 + ? (c < 3718 + ? c == 3716 + : (c <= 3722 || (c >= 3724 && c <= 3747))) + : (c <= 3749 || (c < 3762 + ? (c >= 3751 && c <= 3760) + : c <= 3763))))) + : (c <= 3773 || (c < 3976 + ? (c < 3840 + ? (c < 3782 + ? (c >= 3776 && c <= 3780) + : (c <= 3782 || (c >= 3804 && c <= 3807))) + : (c <= 3840 || (c < 3913 + ? (c >= 3904 && c <= 3911) + : c <= 3948))) + : (c <= 3980 || (c < 4176 + ? (c < 4159 + ? (c >= 4096 && c <= 4138) + : c <= 4159) + : (c <= 4181 || (c < 4193 + ? (c >= 4186 && c <= 4189) + : c <= 4193))))))))) + : (c <= 4198 || (c < 5121 + ? (c < 4746 + ? (c < 4304 + ? (c < 4256 + ? (c < 4213 + ? (c >= 4206 && c <= 4208) + : (c <= 4225 || c == 4238)) + : (c <= 4293 || (c < 4301 + ? c == 4295 + : c <= 4301))) + : (c <= 4346 || (c < 4696 + ? (c < 4682 + ? (c >= 4348 && c <= 4680) + : (c <= 4685 || (c >= 4688 && c <= 4694))) + : (c <= 4696 || (c < 4704 + ? (c >= 4698 && c <= 4701) + : c <= 4744))))) + : (c <= 4749 || (c < 4824 + ? (c < 4800 + ? (c < 4786 + ? (c >= 4752 && c <= 4784) + : (c <= 4789 || (c >= 4792 && c <= 4798))) + : (c <= 4800 || (c < 4808 + ? (c >= 4802 && c <= 4805) + : c <= 4822))) + : (c <= 4880 || (c < 4992 + ? (c < 4888 + ? (c >= 4882 && c <= 4885) + : c <= 4954) + : (c <= 5007 || (c < 5112 + ? (c >= 5024 && c <= 5109) + : c <= 5117))))))) + : (c <= 5740 || (c < 6176 + ? (c < 5920 + ? (c < 5873 + ? (c < 5761 + ? (c >= 5743 && c <= 5759) + : (c <= 5786 || (c >= 5792 && c <= 5866))) + : (c <= 5880 || (c < 5902 + ? (c >= 5888 && c <= 5900) + : c <= 5905))) + : (c <= 5937 || (c < 6016 + ? (c < 5984 + ? (c >= 5952 && c <= 5969) + : (c <= 5996 || (c >= 5998 && c <= 6000))) + : (c <= 6067 || (c < 6108 + ? c == 6103 + : c <= 6108))))) + : (c <= 6264 || (c < 6512 + ? (c < 6320 + ? (c < 6279 + ? (c >= 6272 && c <= 6276) + : (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 < 6823 + ? (c >= 6688 && c <= 6740) + : c <= 6823))))))))))))) + : (c <= 6963 || (c < 43261 + ? (c < 11312 + ? (c < 8130 + ? (c < 7418 + ? (c < 7258 + ? (c < 7098 + ? (c < 7043 + ? (c >= 6981 && c <= 6987) + : (c <= 7072 || (c >= 7086 && c <= 7087))) + : (c <= 7141 || (c < 7245 + ? (c >= 7168 && c <= 7203) + : c <= 7247))) + : (c <= 7293 || (c < 7401 + ? (c < 7312 + ? (c >= 7296 && c <= 7304) + : (c <= 7354 || (c >= 7357 && c <= 7359))) + : (c <= 7404 || (c < 7413 + ? (c >= 7406 && c <= 7411) + : c <= 7414))))) + : (c <= 7418 || (c < 8025 + ? (c < 7968 + ? (c < 7680 + ? (c >= 7424 && c <= 7615) + : (c <= 7957 || (c >= 7960 && c <= 7965))) + : (c <= 8005 || (c < 8016 + ? (c >= 8008 && c <= 8013) + : c <= 8023))) + : (c <= 8025 || (c < 8064 + ? (c < 8029 + ? c == 8027 + : (c <= 8029 || (c >= 8031 && c <= 8061))) + : (c <= 8116 || (c < 8126 + ? (c >= 8118 && c <= 8124) + : c <= 8126))))))) + : (c <= 8132 || (c < 8458 + ? (c < 8255 + ? (c < 8160 + ? (c < 8144 + ? (c >= 8134 && c <= 8140) + : (c <= 8147 || (c >= 8150 && c <= 8155))) + : (c <= 8172 || (c < 8182 + ? (c >= 8178 && c <= 8180) + : c <= 8188))) + : (c <= 8256 || (c < 8336 + ? (c < 8305 + ? c == 8276 + : (c <= 8305 || c == 8319)) + : (c <= 8348 || (c < 8455 + ? c == 8450 + : c <= 8455))))) + : (c <= 8467 || (c < 8495 + ? (c < 8486 + ? (c < 8473 + ? c == 8469 + : (c <= 8477 || c == 8484)) + : (c <= 8486 || (c < 8490 + ? c == 8488 + : c <= 8493))) + : (c <= 8505 || (c < 8526 + ? (c < 8517 + ? (c >= 8508 && c <= 8511) + : c <= 8521) + : (c <= 8526 || (c < 11264 + ? (c >= 8579 && c <= 8580) + : c <= 11310))))))))) + : (c <= 11358 || (c < 12593 + ? (c < 11712 + ? (c < 11568 + ? (c < 11520 + ? (c < 11499 + ? (c >= 11360 && c <= 11492) + : (c <= 11502 || (c >= 11506 && c <= 11507))) + : (c <= 11557 || (c < 11565 + ? c == 11559 + : c <= 11565))) + : (c <= 11623 || (c < 11688 + ? (c < 11648 + ? c == 11631 + : (c <= 11670 || (c >= 11680 && c <= 11686))) + : (c <= 11694 || (c < 11704 + ? (c >= 11696 && c <= 11702) + : c <= 11710))))) + : (c <= 11718 || (c < 12347 + ? (c < 11823 + ? (c < 11728 + ? (c >= 11720 && c <= 11726) + : (c <= 11734 || (c >= 11736 && c <= 11742))) + : (c <= 11823 || (c < 12337 + ? (c >= 12293 && c <= 12294) + : c <= 12341))) + : (c <= 12348 || (c < 12449 + ? (c < 12445 + ? (c >= 12353 && c <= 12438) + : c <= 12447) + : (c <= 12538 || (c < 12549 + ? (c >= 12540 && c <= 12543) + : c <= 12591))))))) + : (c <= 12686 || (c < 42656 + ? (c < 40960 + ? (c < 19903 + ? (c < 12784 + ? (c >= 12704 && c <= 12735) + : (c <= 12799 || c == 13312)) + : (c <= 19903 || (c < 40956 + ? c == 19968 + : c <= 40956))) + : (c <= 42124 || (c < 42538 + ? (c < 42240 + ? (c >= 42192 && c <= 42237) + : (c <= 42508 || (c >= 42512 && c <= 42527))) + : (c <= 42539 || (c < 42623 + ? (c >= 42560 && c <= 42606) + : c <= 42653))))) + : (c <= 42725 || (c < 43015 + ? (c < 42946 + ? (c < 42786 + ? (c >= 42775 && c <= 42783) + : (c <= 42888 || (c >= 42891 && c <= 42943))) + : (c <= 42954 || (c < 43011 + ? (c >= 42997 && c <= 43009) + : c <= 43013))) + : (c <= 43018 || (c < 43138 + ? (c < 43072 + ? (c >= 43020 && c <= 43042) + : c <= 43123) + : (c <= 43187 || (c < 43259 + ? (c >= 43250 && c <= 43255) + : c <= 43259))))))))))) + : (c <= 43262 || (c < 65313 + ? (c < 43824 + ? (c < 43646 + ? (c < 43494 + ? (c < 43396 + ? (c < 43312 + ? (c >= 43274 && c <= 43301) + : (c <= 43334 || (c >= 43360 && c <= 43388))) + : (c <= 43442 || (c < 43488 + ? c == 43471 + : c <= 43492))) + : (c <= 43503 || (c < 43588 + ? (c < 43520 + ? (c >= 43514 && c <= 43518) + : (c <= 43560 || (c >= 43584 && c <= 43586))) + : (c <= 43595 || (c < 43642 + ? (c >= 43616 && c <= 43638) + : c <= 43642))))) + : (c <= 43695 || (c < 43744 + ? (c < 43712 + ? (c < 43701 + ? c == 43697 + : (c <= 43702 || (c >= 43705 && c <= 43709))) + : (c <= 43712 || (c < 43739 + ? c == 43714 + : c <= 43741))) + : (c <= 43754 || (c < 43793 + ? (c < 43777 + ? (c >= 43762 && c <= 43764) + : (c <= 43782 || (c >= 43785 && c <= 43790))) + : (c <= 43798 || (c < 43816 + ? (c >= 43808 && c <= 43814) + : c <= 43822))))))) + : (c <= 43866 || (c < 64312 + ? (c < 63744 + ? (c < 55203 + ? (c < 43888 + ? (c >= 43868 && c <= 43881) + : (c <= 44002 || c == 44032)) + : (c <= 55203 || (c < 55243 + ? (c >= 55216 && c <= 55238) + : c <= 55291))) + : (c <= 64109 || (c < 64285 + ? (c < 64256 + ? (c >= 64112 && c <= 64217) + : (c <= 64262 || (c >= 64275 && c <= 64279))) + : (c <= 64285 || (c < 64298 + ? (c >= 64287 && c <= 64296) + : c <= 64310))))) + : (c <= 64316 || (c < 64914 + ? (c < 64326 + ? (c < 64320 + ? c == 64318 + : (c <= 64321 || (c >= 64323 && c <= 64324))) + : (c <= 64433 || (c < 64848 + ? (c >= 64467 && c <= 64829) + : c <= 64911))) + : (c <= 64967 || (c < 65101 + ? (c < 65075 + ? (c >= 65008 && c <= 65019) + : c <= 65076) + : (c <= 65103 || (c < 65142 + ? (c >= 65136 && c <= 65140) + : c <= 65276))))))))) + : (c <= 65338 || (c < 66816 + ? (c < 65664 + ? (c < 65498 + ? (c < 65474 + ? (c < 65345 + ? c == 65343 + : (c <= 65370 || (c >= 65382 && c <= 65470))) + : (c <= 65479 || (c < 65490 + ? (c >= 65482 && c <= 65487) + : c <= 65495))) + : (c <= 65500 || (c < 65596 + ? (c < 65549 + ? (c >= 65536 && c <= 65547) + : (c <= 65574 || (c >= 65576 && c <= 65594))) + : (c <= 65597 || (c < 65616 + ? (c >= 65599 && c <= 65613) + : c <= 65629))))) + : (c <= 65786 || (c < 66432 + ? (c < 66349 + ? (c < 66208 + ? (c >= 66176 && c <= 66204) + : (c <= 66256 || (c >= 66304 && c <= 66335))) + : (c <= 66368 || (c < 66384 + ? (c >= 66370 && c <= 66377) + : c <= 66421))) + : (c <= 66461 || (c < 66560 + ? (c < 66504 + ? (c >= 66464 && c <= 66499) + : c <= 66511) + : (c <= 66717 || (c < 66776 + ? (c >= 66736 && c <= 66771) + : c <= 66811))))))) + : (c <= 66855 || (c < 67828 + ? (c < 67594 + ? (c < 67424 + ? (c < 67072 + ? (c >= 66864 && c <= 66915) + : (c <= 67382 || (c >= 67392 && c <= 67413))) + : (c <= 67431 || (c < 67592 + ? (c >= 67584 && c <= 67589) + : c <= 67592))) + : (c <= 67637 || (c < 67680 + ? (c < 67644 + ? (c >= 67639 && c <= 67640) + : (c <= 67644 || (c >= 67647 && c <= 67669))) + : (c <= 67702 || (c < 67808 + ? (c >= 67712 && c <= 67742) + : c <= 67826))))) + : (c <= 67829 || (c < 68117 + ? (c < 68030 + ? (c < 67872 + ? (c >= 67840 && c <= 67861) + : (c <= 67897 || (c >= 67968 && c <= 68023))) + : (c <= 68031 || (c < 68112 + ? c == 68096 + : c <= 68115))) + : (c <= 68119 || (c < 68224 + ? (c < 68192 + ? (c >= 68121 && c <= 68149) + : c <= 68220) + : (c <= 68252 || (c < 68297 + ? (c >= 68288 && c <= 68295) + : c <= 68309))))))))))))))); +} + +static inline bool sym_identifier_character_set_3(int32_t c) { + return (c < 6917 + ? (c < 2990 + ? (c < 2365 + ? (c < 1376 + ? (c < 750 + ? (c < 186 + ? (c < 'b' + ? (c < 'A' + ? (c >= '0' && c <= '9') + : (c <= 'Z' || c == '_')) + : (c <= 'z' || (c < 181 + ? c == 170 + : c <= 181))) + : (c <= 186 || (c < 710 + ? (c < 216 + ? (c >= 192 && c <= 214) + : (c <= 246 || (c >= 248 && c <= 705))) + : (c <= 721 || (c < 748 + ? (c >= 736 && c <= 740) + : c <= 748))))) + : (c <= 750 || (c < 908 + ? (c < 895 + ? (c < 886 + ? (c >= 880 && c <= 884) + : (c <= 887 || (c >= 890 && c <= 893))) + : (c <= 895 || (c < 904 + ? c == 902 + : c <= 906))) + : (c <= 908 || (c < 1162 + ? (c < 931 + ? (c >= 910 && c <= 929) + : (c <= 1013 || (c >= 1015 && c <= 1153))) + : (c <= 1327 || (c < 1369 + ? (c >= 1329 && c <= 1366) + : c <= 1369))))))) + : (c <= 1416 || (c < 1969 + ? (c < 1765 + ? (c < 1646 + ? (c < 1519 + ? (c >= 1488 && c <= 1514) + : (c <= 1522 || (c >= 1568 && c <= 1610))) + : (c <= 1647 || (c < 1749 + ? (c >= 1649 && c <= 1747) + : c <= 1749))) + : (c <= 1766 || (c < 1808 + ? (c < 1786 + ? (c >= 1774 && c <= 1775) + : (c <= 1788 || c == 1791)) + : (c <= 1808 || (c < 1869 + ? (c >= 1810 && c <= 1839) + : c <= 1957))))) + : (c <= 1969 || (c < 2088 + ? (c < 2048 + ? (c < 2036 + ? (c >= 1994 && c <= 2026) + : (c <= 2037 || c == 2042)) + : (c <= 2069 || (c < 2084 + ? c == 2074 + : c <= 2084))) + : (c <= 2088 || (c < 2208 + ? (c < 2144 + ? (c >= 2112 && c <= 2136) + : c <= 2154) + : (c <= 2228 || (c < 2308 + ? (c >= 2230 && c <= 2247) + : c <= 2361))))))))) + : (c <= 2365 || (c < 2707 + ? (c < 2544 + ? (c < 2474 + ? (c < 2437 + ? (c < 2392 + ? c == 2384 + : (c <= 2401 || (c >= 2417 && c <= 2432))) + : (c <= 2444 || (c < 2451 + ? (c >= 2447 && c <= 2448) + : c <= 2472))) + : (c <= 2480 || (c < 2510 + ? (c < 2486 + ? c == 2482 + : (c <= 2489 || c == 2493)) + : (c <= 2510 || (c < 2527 + ? (c >= 2524 && c <= 2525) + : c <= 2529))))) + : (c <= 2545 || (c < 2613 + ? (c < 2579 + ? (c < 2565 + ? c == 2556 + : (c <= 2570 || (c >= 2575 && c <= 2576))) + : (c <= 2600 || (c < 2610 + ? (c >= 2602 && c <= 2608) + : c <= 2611))) + : (c <= 2614 || (c < 2674 + ? (c < 2649 + ? (c >= 2616 && c <= 2617) + : (c <= 2652 || c == 2654)) + : (c <= 2676 || (c < 2703 + ? (c >= 2693 && c <= 2701) + : c <= 2705))))))) + : (c <= 2728 || (c < 2877 + ? (c < 2809 + ? (c < 2749 + ? (c < 2738 + ? (c >= 2730 && c <= 2736) + : (c <= 2739 || (c >= 2741 && c <= 2745))) + : (c <= 2749 || (c < 2784 + ? c == 2768 + : c <= 2785))) + : (c <= 2809 || (c < 2858 + ? (c < 2831 + ? (c >= 2821 && c <= 2828) + : (c <= 2832 || (c >= 2835 && c <= 2856))) + : (c <= 2864 || (c < 2869 + ? (c >= 2866 && c <= 2867) + : c <= 2873))))) + : (c <= 2877 || (c < 2962 + ? (c < 2947 + ? (c < 2911 + ? (c >= 2908 && c <= 2909) + : (c <= 2913 || c == 2929)) + : (c <= 2947 || (c < 2958 + ? (c >= 2949 && c <= 2954) + : c <= 2960))) + : (c <= 2965 || (c < 2974 + ? (c < 2972 + ? (c >= 2969 && c <= 2970) + : c <= 2972) + : (c <= 2975 || (c < 2984 + ? (c >= 2979 && c <= 2980) + : c <= 2986))))))))))) + : (c <= 3001 || (c < 4197 + ? (c < 3482 + ? (c < 3253 + ? (c < 3160 + ? (c < 3090 + ? (c < 3077 + ? c == 3024 + : (c <= 3084 || (c >= 3086 && c <= 3088))) + : (c <= 3112 || (c < 3133 + ? (c >= 3114 && c <= 3129) + : c <= 3133))) + : (c <= 3162 || (c < 3214 + ? (c < 3200 + ? (c >= 3168 && c <= 3169) + : (c <= 3200 || (c >= 3205 && c <= 3212))) + : (c <= 3216 || (c < 3242 + ? (c >= 3218 && c <= 3240) + : c <= 3251))))) + : (c <= 3257 || (c < 3346 + ? (c < 3313 + ? (c < 3294 + ? c == 3261 + : (c <= 3294 || (c >= 3296 && c <= 3297))) + : (c <= 3314 || (c < 3342 + ? (c >= 3332 && c <= 3340) + : c <= 3344))) + : (c <= 3386 || (c < 3423 + ? (c < 3406 + ? c == 3389 + : (c <= 3406 || (c >= 3412 && c <= 3414))) + : (c <= 3425 || (c < 3461 + ? (c >= 3450 && c <= 3455) + : c <= 3478))))))) + : (c <= 3505 || (c < 3773 + ? (c < 3713 + ? (c < 3585 + ? (c < 3517 + ? (c >= 3507 && c <= 3515) + : (c <= 3517 || (c >= 3520 && c <= 3526))) + : (c <= 3632 || (c < 3648 + ? (c >= 3634 && c <= 3635) + : c <= 3654))) + : (c <= 3714 || (c < 3749 + ? (c < 3718 + ? c == 3716 + : (c <= 3722 || (c >= 3724 && c <= 3747))) + : (c <= 3749 || (c < 3762 + ? (c >= 3751 && c <= 3760) + : c <= 3763))))) + : (c <= 3773 || (c < 3976 + ? (c < 3840 + ? (c < 3782 + ? (c >= 3776 && c <= 3780) + : (c <= 3782 || (c >= 3804 && c <= 3807))) + : (c <= 3840 || (c < 3913 + ? (c >= 3904 && c <= 3911) + : c <= 3948))) + : (c <= 3980 || (c < 4176 + ? (c < 4159 + ? (c >= 4096 && c <= 4138) + : c <= 4159) + : (c <= 4181 || (c < 4193 + ? (c >= 4186 && c <= 4189) + : c <= 4193))))))))) + : (c <= 4198 || (c < 5121 + ? (c < 4746 + ? (c < 4304 + ? (c < 4256 + ? (c < 4213 + ? (c >= 4206 && c <= 4208) + : (c <= 4225 || c == 4238)) + : (c <= 4293 || (c < 4301 + ? c == 4295 + : c <= 4301))) + : (c <= 4346 || (c < 4696 + ? (c < 4682 + ? (c >= 4348 && c <= 4680) + : (c <= 4685 || (c >= 4688 && c <= 4694))) + : (c <= 4696 || (c < 4704 + ? (c >= 4698 && c <= 4701) + : c <= 4744))))) + : (c <= 4749 || (c < 4824 + ? (c < 4800 + ? (c < 4786 + ? (c >= 4752 && c <= 4784) + : (c <= 4789 || (c >= 4792 && c <= 4798))) + : (c <= 4800 || (c < 4808 + ? (c >= 4802 && c <= 4805) + : c <= 4822))) + : (c <= 4880 || (c < 4992 + ? (c < 4888 + ? (c >= 4882 && c <= 4885) + : c <= 4954) + : (c <= 5007 || (c < 5112 + ? (c >= 5024 && c <= 5109) + : c <= 5117))))))) + : (c <= 5740 || (c < 6176 + ? (c < 5920 + ? (c < 5873 + ? (c < 5761 + ? (c >= 5743 && c <= 5759) + : (c <= 5786 || (c >= 5792 && c <= 5866))) + : (c <= 5880 || (c < 5902 + ? (c >= 5888 && c <= 5900) + : c <= 5905))) + : (c <= 5937 || (c < 6016 + ? (c < 5984 + ? (c >= 5952 && c <= 5969) + : (c <= 5996 || (c >= 5998 && c <= 6000))) + : (c <= 6067 || (c < 6108 + ? c == 6103 + : c <= 6108))))) + : (c <= 6264 || (c < 6512 + ? (c < 6320 + ? (c < 6279 + ? (c >= 6272 && c <= 6276) + : (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 < 6823 + ? (c >= 6688 && c <= 6740) + : c <= 6823))))))))))))) + : (c <= 6963 || (c < 43261 + ? (c < 11312 + ? (c < 8130 + ? (c < 7418 + ? (c < 7258 + ? (c < 7098 + ? (c < 7043 + ? (c >= 6981 && c <= 6987) + : (c <= 7072 || (c >= 7086 && c <= 7087))) + : (c <= 7141 || (c < 7245 + ? (c >= 7168 && c <= 7203) + : c <= 7247))) + : (c <= 7293 || (c < 7401 + ? (c < 7312 + ? (c >= 7296 && c <= 7304) + : (c <= 7354 || (c >= 7357 && c <= 7359))) + : (c <= 7404 || (c < 7413 + ? (c >= 7406 && c <= 7411) + : c <= 7414))))) + : (c <= 7418 || (c < 8025 + ? (c < 7968 + ? (c < 7680 + ? (c >= 7424 && c <= 7615) + : (c <= 7957 || (c >= 7960 && c <= 7965))) + : (c <= 8005 || (c < 8016 + ? (c >= 8008 && c <= 8013) + : c <= 8023))) + : (c <= 8025 || (c < 8064 + ? (c < 8029 + ? c == 8027 + : (c <= 8029 || (c >= 8031 && c <= 8061))) + : (c <= 8116 || (c < 8126 + ? (c >= 8118 && c <= 8124) + : c <= 8126))))))) + : (c <= 8132 || (c < 8458 + ? (c < 8255 + ? (c < 8160 + ? (c < 8144 + ? (c >= 8134 && c <= 8140) + : (c <= 8147 || (c >= 8150 && c <= 8155))) + : (c <= 8172 || (c < 8182 + ? (c >= 8178 && c <= 8180) + : c <= 8188))) + : (c <= 8256 || (c < 8336 + ? (c < 8305 + ? c == 8276 + : (c <= 8305 || c == 8319)) + : (c <= 8348 || (c < 8455 + ? c == 8450 + : c <= 8455))))) + : (c <= 8467 || (c < 8495 + ? (c < 8486 + ? (c < 8473 + ? c == 8469 + : (c <= 8477 || c == 8484)) + : (c <= 8486 || (c < 8490 + ? c == 8488 + : c <= 8493))) + : (c <= 8505 || (c < 8526 + ? (c < 8517 + ? (c >= 8508 && c <= 8511) + : c <= 8521) + : (c <= 8526 || (c < 11264 + ? (c >= 8579 && c <= 8580) + : c <= 11310))))))))) + : (c <= 11358 || (c < 12593 + ? (c < 11712 + ? (c < 11568 + ? (c < 11520 + ? (c < 11499 + ? (c >= 11360 && c <= 11492) + : (c <= 11502 || (c >= 11506 && c <= 11507))) + : (c <= 11557 || (c < 11565 + ? c == 11559 + : c <= 11565))) + : (c <= 11623 || (c < 11688 + ? (c < 11648 + ? c == 11631 + : (c <= 11670 || (c >= 11680 && c <= 11686))) + : (c <= 11694 || (c < 11704 + ? (c >= 11696 && c <= 11702) + : c <= 11710))))) + : (c <= 11718 || (c < 12347 + ? (c < 11823 + ? (c < 11728 + ? (c >= 11720 && c <= 11726) + : (c <= 11734 || (c >= 11736 && c <= 11742))) + : (c <= 11823 || (c < 12337 + ? (c >= 12293 && c <= 12294) + : c <= 12341))) + : (c <= 12348 || (c < 12449 + ? (c < 12445 + ? (c >= 12353 && c <= 12438) + : c <= 12447) + : (c <= 12538 || (c < 12549 + ? (c >= 12540 && c <= 12543) + : c <= 12591))))))) + : (c <= 12686 || (c < 42656 + ? (c < 40960 + ? (c < 19903 + ? (c < 12784 + ? (c >= 12704 && c <= 12735) + : (c <= 12799 || c == 13312)) + : (c <= 19903 || (c < 40956 + ? c == 19968 + : c <= 40956))) + : (c <= 42124 || (c < 42538 + ? (c < 42240 + ? (c >= 42192 && c <= 42237) + : (c <= 42508 || (c >= 42512 && c <= 42527))) + : (c <= 42539 || (c < 42623 + ? (c >= 42560 && c <= 42606) + : c <= 42653))))) + : (c <= 42725 || (c < 43015 + ? (c < 42946 + ? (c < 42786 + ? (c >= 42775 && c <= 42783) + : (c <= 42888 || (c >= 42891 && c <= 42943))) + : (c <= 42954 || (c < 43011 + ? (c >= 42997 && c <= 43009) + : c <= 43013))) + : (c <= 43018 || (c < 43138 + ? (c < 43072 + ? (c >= 43020 && c <= 43042) + : c <= 43123) + : (c <= 43187 || (c < 43259 + ? (c >= 43250 && c <= 43255) + : c <= 43259))))))))))) + : (c <= 43262 || (c < 65313 + ? (c < 43824 + ? (c < 43646 + ? (c < 43494 + ? (c < 43396 + ? (c < 43312 + ? (c >= 43274 && c <= 43301) + : (c <= 43334 || (c >= 43360 && c <= 43388))) + : (c <= 43442 || (c < 43488 + ? c == 43471 + : c <= 43492))) + : (c <= 43503 || (c < 43588 + ? (c < 43520 + ? (c >= 43514 && c <= 43518) + : (c <= 43560 || (c >= 43584 && c <= 43586))) + : (c <= 43595 || (c < 43642 + ? (c >= 43616 && c <= 43638) + : c <= 43642))))) + : (c <= 43695 || (c < 43744 + ? (c < 43712 + ? (c < 43701 + ? c == 43697 + : (c <= 43702 || (c >= 43705 && c <= 43709))) + : (c <= 43712 || (c < 43739 + ? c == 43714 + : c <= 43741))) + : (c <= 43754 || (c < 43793 + ? (c < 43777 + ? (c >= 43762 && c <= 43764) + : (c <= 43782 || (c >= 43785 && c <= 43790))) + : (c <= 43798 || (c < 43816 + ? (c >= 43808 && c <= 43814) + : c <= 43822))))))) + : (c <= 43866 || (c < 64312 + ? (c < 63744 + ? (c < 55203 + ? (c < 43888 + ? (c >= 43868 && c <= 43881) + : (c <= 44002 || c == 44032)) + : (c <= 55203 || (c < 55243 + ? (c >= 55216 && c <= 55238) + : c <= 55291))) + : (c <= 64109 || (c < 64285 + ? (c < 64256 + ? (c >= 64112 && c <= 64217) + : (c <= 64262 || (c >= 64275 && c <= 64279))) + : (c <= 64285 || (c < 64298 + ? (c >= 64287 && c <= 64296) + : c <= 64310))))) + : (c <= 64316 || (c < 64914 + ? (c < 64326 + ? (c < 64320 + ? c == 64318 + : (c <= 64321 || (c >= 64323 && c <= 64324))) + : (c <= 64433 || (c < 64848 + ? (c >= 64467 && c <= 64829) + : c <= 64911))) + : (c <= 64967 || (c < 65101 + ? (c < 65075 + ? (c >= 65008 && c <= 65019) + : c <= 65076) + : (c <= 65103 || (c < 65142 + ? (c >= 65136 && c <= 65140) + : c <= 65276))))))))) + : (c <= 65338 || (c < 66816 + ? (c < 65664 + ? (c < 65498 + ? (c < 65474 + ? (c < 65345 + ? c == 65343 + : (c <= 65370 || (c >= 65382 && c <= 65470))) + : (c <= 65479 || (c < 65490 + ? (c >= 65482 && c <= 65487) + : c <= 65495))) + : (c <= 65500 || (c < 65596 + ? (c < 65549 + ? (c >= 65536 && c <= 65547) + : (c <= 65574 || (c >= 65576 && c <= 65594))) + : (c <= 65597 || (c < 65616 + ? (c >= 65599 && c <= 65613) + : c <= 65629))))) + : (c <= 65786 || (c < 66432 + ? (c < 66349 + ? (c < 66208 + ? (c >= 66176 && c <= 66204) + : (c <= 66256 || (c >= 66304 && c <= 66335))) + : (c <= 66368 || (c < 66384 + ? (c >= 66370 && c <= 66377) + : c <= 66421))) + : (c <= 66461 || (c < 66560 + ? (c < 66504 + ? (c >= 66464 && c <= 66499) + : c <= 66511) + : (c <= 66717 || (c < 66776 + ? (c >= 66736 && c <= 66771) + : c <= 66811))))))) + : (c <= 66855 || (c < 67828 + ? (c < 67594 + ? (c < 67424 + ? (c < 67072 + ? (c >= 66864 && c <= 66915) + : (c <= 67382 || (c >= 67392 && c <= 67413))) + : (c <= 67431 || (c < 67592 + ? (c >= 67584 && c <= 67589) + : c <= 67592))) + : (c <= 67637 || (c < 67680 + ? (c < 67644 + ? (c >= 67639 && c <= 67640) + : (c <= 67644 || (c >= 67647 && c <= 67669))) + : (c <= 67702 || (c < 67808 + ? (c >= 67712 && c <= 67742) + : c <= 67826))))) + : (c <= 67829 || (c < 68117 + ? (c < 68030 + ? (c < 67872 + ? (c >= 67840 && c <= 67861) + : (c <= 67897 || (c >= 67968 && c <= 68023))) + : (c <= 68031 || (c < 68112 + ? c == 68096 + : c <= 68115))) + : (c <= 68119 || (c < 68224 + ? (c < 68192 + ? (c >= 68121 && c <= 68149) + : c <= 68220) + : (c <= 68252 || (c < 68297 + ? (c >= 68288 && c <= 68295) + : c <= 68309))))))))))))))); +} + static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(8); - if (lookahead == '"') ADVANCE(20); - if (lookahead == '#') ADVANCE(33); - if (lookahead == '(') ADVANCE(12); - if (lookahead == ')') ADVANCE(13); - if (lookahead == '/') ADVANCE(1); - if (lookahead == '=') ADVANCE(9); - if (lookahead == 'f') ADVANCE(21); - if (lookahead == 'n') ADVANCE(30); - if (lookahead == 't') ADVANCE(27); - if (lookahead == '{') ADVANCE(10); - if (lookahead == '}') ADVANCE(11); + if (eof) ADVANCE(9); + if (lookahead == '"') ADVANCE(25); + if (lookahead == '#') ADVANCE(39); + if (lookahead == '(') ADVANCE(13); + if (lookahead == ')') ADVANCE(14); + if (lookahead == ',') ADVANCE(22); + if (lookahead == '/') ADVANCE(2); + if (lookahead == ':') ADVANCE(24); + if (lookahead == '=') ADVANCE(10); + if (lookahead == '[') ADVANCE(21); + if (lookahead == ']') ADVANCE(23); + if (lookahead == 'f') ADVANCE(27); + if (lookahead == 'n') ADVANCE(36); + if (lookahead == 't') ADVANCE(33); + if (lookahead == '{') ADVANCE(11); + if (lookahead == '}') ADVANCE(12); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(17); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(18); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(37); END_STATE(); case 1: - if (lookahead == '*') ADVANCE(3); - if (lookahead == '/') ADVANCE(33); + if (lookahead == '#') ADVANCE(39); + if (lookahead == '/') ADVANCE(2); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(1) + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(26); END_STATE(); case 2: - if (lookahead == '*') ADVANCE(2); - if (lookahead == '/') ADVANCE(32); - if (lookahead != 0) ADVANCE(3); + if (lookahead == '*') ADVANCE(4); + if (lookahead == '/') ADVANCE(39); END_STATE(); case 3: - if (lookahead == '*') ADVANCE(2); - if (lookahead != 0) ADVANCE(3); + if (lookahead == '*') ADVANCE(3); + if (lookahead == '/') ADVANCE(38); + if (lookahead != 0) ADVANCE(4); END_STATE(); case 4: - if (lookahead == '+' || - lookahead == '-') ADVANCE(6); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(19); + if (lookahead == '*') ADVANCE(3); + if (lookahead != 0) ADVANCE(4); END_STATE(); case 5: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(18); + if (lookahead == '+' || + lookahead == '-') ADVANCE(7); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(20); END_STATE(); case 6: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(19); END_STATE(); case 7: - if (eof) ADVANCE(8); - if (lookahead == '"') ADVANCE(20); - if (lookahead == '#') ADVANCE(33); - if (lookahead == ')') ADVANCE(13); - if (lookahead == '/') ADVANCE(1); - if (lookahead == '=') ADVANCE(9); - if (lookahead == '{') ADVANCE(10); - if (lookahead == '}') ADVANCE(11); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(20); + END_STATE(); + case 8: + if (eof) ADVANCE(9); + if (lookahead == '"') ADVANCE(25); + if (lookahead == '#') ADVANCE(39); + if (lookahead == ')') ADVANCE(14); + if (lookahead == ',') ADVANCE(22); + if (lookahead == '/') ADVANCE(2); + if (lookahead == ':') ADVANCE(24); + if (lookahead == '=') ADVANCE(10); + if (lookahead == ']') ADVANCE(23); + if (lookahead == '{') ADVANCE(11); + if (lookahead == '}') ADVANCE(12); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(7) - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); - END_STATE(); - case 8: - ACCEPT_TOKEN(ts_builtin_sym_end); + lookahead == ' ') SKIP(8) + if (sym_identifier_character_set_1(lookahead)) ADVANCE(37); END_STATE(); case 9: - ACCEPT_TOKEN(anon_sym_EQ); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 10: - ACCEPT_TOKEN(anon_sym_LBRACE); + ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 11: - ACCEPT_TOKEN(anon_sym_RBRACE); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 12: - ACCEPT_TOKEN(anon_sym_LPAREN); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 13: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 14: - ACCEPT_TOKEN(anon_sym_true); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 15: - ACCEPT_TOKEN(anon_sym_false); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ACCEPT_TOKEN(anon_sym_true); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(37); END_STATE(); case 16: - ACCEPT_TOKEN(anon_sym_null); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ACCEPT_TOKEN(anon_sym_false); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(37); END_STATE(); case 17: - ACCEPT_TOKEN(sym_numeric_lit); - if (lookahead == '.') ADVANCE(5); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(17); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ACCEPT_TOKEN(anon_sym_null); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(37); END_STATE(); case 18: ACCEPT_TOKEN(sym_numeric_lit); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(4); + if (lookahead == '.') ADVANCE(6); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(18); END_STATE(); case 19: ACCEPT_TOKEN(sym_numeric_lit); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(5); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(19); END_STATE(); case 20: - ACCEPT_TOKEN(anon_sym_DQUOTE); + ACCEPT_TOKEN(sym_numeric_lit); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(20); END_STATE(); case 21: - ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == 'a') ADVANCE(24); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); case 22: - ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == 'e') ADVANCE(14); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 23: - ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == 'e') ADVANCE(15); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 24: - ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == 'l') ADVANCE(28); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 25: - ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == 'l') ADVANCE(16); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); case 26: ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == 'l') ADVANCE(25); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(26); END_STATE(); case 27: - ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == 'r') ADVANCE(29); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(30); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(37); END_STATE(); case 28: - ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == 's') ADVANCE(23); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(15); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(37); END_STATE(); case 29: - ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == 'u') ADVANCE(22); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(16); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(37); END_STATE(); case 30: - ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == 'u') ADVANCE(26); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(34); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(37); END_STATE(); case 31: - ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(17); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(37); END_STATE(); case 32: - ACCEPT_TOKEN(sym_comment); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(31); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(37); END_STATE(); case 33: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(35); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(37); + END_STATE(); + case 34: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 's') ADVANCE(29); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(37); + END_STATE(); + case 35: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(28); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(37); + END_STATE(); + case 36: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(32); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(37); + END_STATE(); + case 37: + ACCEPT_TOKEN(sym_identifier); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(37); + END_STATE(); + case 38: + ACCEPT_TOKEN(sym_comment); + END_STATE(); + case 39: ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && - lookahead != '\n') ADVANCE(33); + lookahead != '\n') ADVANCE(39); END_STATE(); default: return false; @@ -440,34 +2040,56 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 7}, + [1] = {.lex_state = 8}, [2] = {.lex_state = 0}, [3] = {.lex_state = 0}, - [4] = {.lex_state = 7}, - [5] = {.lex_state = 7}, - [6] = {.lex_state = 7}, - [7] = {.lex_state = 7}, - [8] = {.lex_state = 7}, - [9] = {.lex_state = 7}, - [10] = {.lex_state = 7}, - [11] = {.lex_state = 7}, - [12] = {.lex_state = 7}, - [13] = {.lex_state = 7}, - [14] = {.lex_state = 7}, - [15] = {.lex_state = 7}, - [16] = {.lex_state = 7}, - [17] = {.lex_state = 7}, - [18] = {.lex_state = 7}, - [19] = {.lex_state = 7}, - [20] = {.lex_state = 7}, - [21] = {.lex_state = 7}, - [22] = {.lex_state = 0}, - [23] = {.lex_state = 0}, - [24] = {.lex_state = 0}, - [25] = {.lex_state = 0}, - [26] = {.lex_state = 7}, - [27] = {.lex_state = 0}, - [28] = {.lex_state = 0}, + [4] = {.lex_state = 0}, + [5] = {.lex_state = 0}, + [6] = {.lex_state = 0}, + [7] = {.lex_state = 0}, + [8] = {.lex_state = 0}, + [9] = {.lex_state = 8}, + [10] = {.lex_state = 8}, + [11] = {.lex_state = 8}, + [12] = {.lex_state = 8}, + [13] = {.lex_state = 8}, + [14] = {.lex_state = 8}, + [15] = {.lex_state = 8}, + [16] = {.lex_state = 8}, + [17] = {.lex_state = 8}, + [18] = {.lex_state = 8}, + [19] = {.lex_state = 8}, + [20] = {.lex_state = 8}, + [21] = {.lex_state = 8}, + [22] = {.lex_state = 8}, + [23] = {.lex_state = 8}, + [24] = {.lex_state = 8}, + [25] = {.lex_state = 8}, + [26] = {.lex_state = 8}, + [27] = {.lex_state = 8}, + [28] = {.lex_state = 8}, + [29] = {.lex_state = 8}, + [30] = {.lex_state = 0}, + [31] = {.lex_state = 0}, + [32] = {.lex_state = 8}, + [33] = {.lex_state = 0}, + [34] = {.lex_state = 0}, + [35] = {.lex_state = 8}, + [36] = {.lex_state = 8}, + [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 = 0}, + [48] = {.lex_state = 0}, + [49] = {.lex_state = 1}, + [50] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -482,345 +2104,672 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_false] = ACTIONS(1), [anon_sym_null] = ACTIONS(1), [sym_numeric_lit] = ACTIONS(1), + [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_COMMA] = ACTIONS(1), + [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_COLON] = ACTIONS(1), [anon_sym_DQUOTE] = ACTIONS(1), - [aux_sym_string_lit_token1] = ACTIONS(1), + [sym_identifier] = ACTIONS(1), [sym_comment] = ACTIONS(3), }, [1] = { - [sym_config_file] = STATE(25), - [sym_body] = STATE(22), - [sym_attribute] = STATE(6), - [sym_block] = STATE(6), - [sym_identifier] = STATE(5), - [aux_sym_body_repeat1] = STATE(6), - [aux_sym_string_lit_token1] = ACTIONS(5), + [sym_config_file] = STATE(44), + [sym_body] = STATE(48), + [sym_attribute] = STATE(21), + [sym_block] = STATE(21), + [aux_sym_body_repeat1] = STATE(21), + [sym_identifier] = ACTIONS(5), [sym_comment] = ACTIONS(3), }, [2] = { - [sym_expression] = STATE(18), - [sym_expr_term] = STATE(14), - [sym_literal_value] = STATE(15), - [sym_variable_expr] = STATE(15), - [sym_string_lit] = STATE(16), - [sym_identifier] = STATE(13), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [anon_sym_null] = ACTIONS(9), - [sym_numeric_lit] = ACTIONS(9), - [anon_sym_DQUOTE] = ACTIONS(11), - [aux_sym_string_lit_token1] = ACTIONS(13), + [sym_expression] = STATE(39), + [sym_expr_term] = STATE(16), + [sym_literal_value] = STATE(18), + [sym_collection_value] = STATE(18), + [sym_tuple] = STATE(19), + [sym_object] = STATE(19), + [sym_object_elem] = STATE(33), + [sym_variable_expr] = STATE(18), + [sym_string_lit] = STATE(14), + [anon_sym_LBRACE] = ACTIONS(7), + [anon_sym_RBRACE] = ACTIONS(9), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_true] = ACTIONS(13), + [anon_sym_false] = ACTIONS(13), + [anon_sym_null] = ACTIONS(13), + [sym_numeric_lit] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_DQUOTE] = ACTIONS(19), + [sym_identifier] = ACTIONS(21), [sym_comment] = ACTIONS(3), }, [3] = { - [sym_expression] = STATE(27), - [sym_expr_term] = STATE(14), - [sym_literal_value] = STATE(15), - [sym_variable_expr] = STATE(15), - [sym_string_lit] = STATE(16), - [sym_identifier] = STATE(13), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [anon_sym_null] = ACTIONS(9), - [sym_numeric_lit] = ACTIONS(9), - [anon_sym_DQUOTE] = ACTIONS(11), - [aux_sym_string_lit_token1] = ACTIONS(13), + [sym_expression] = STATE(39), + [sym_expr_term] = STATE(16), + [sym_literal_value] = STATE(18), + [sym_collection_value] = STATE(18), + [sym_tuple] = STATE(19), + [sym_object] = STATE(19), + [sym_object_elem] = STATE(41), + [sym_variable_expr] = STATE(18), + [sym_string_lit] = STATE(14), + [anon_sym_LBRACE] = ACTIONS(7), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_true] = ACTIONS(13), + [anon_sym_false] = ACTIONS(13), + [anon_sym_null] = ACTIONS(13), + [sym_numeric_lit] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_DQUOTE] = ACTIONS(19), + [sym_identifier] = ACTIONS(21), + [sym_comment] = ACTIONS(3), + }, + [4] = { + [sym_expression] = STATE(37), + [sym_expr_term] = STATE(16), + [sym_literal_value] = STATE(18), + [sym_collection_value] = STATE(18), + [sym_tuple] = STATE(19), + [sym_object] = STATE(19), + [sym_variable_expr] = STATE(18), + [sym_string_lit] = STATE(14), + [anon_sym_LBRACE] = ACTIONS(7), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_true] = ACTIONS(13), + [anon_sym_false] = ACTIONS(13), + [anon_sym_null] = ACTIONS(13), + [sym_numeric_lit] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_RBRACK] = ACTIONS(23), + [anon_sym_DQUOTE] = ACTIONS(19), + [sym_identifier] = ACTIONS(25), + [sym_comment] = ACTIONS(3), + }, + [5] = { + [sym_expression] = STATE(40), + [sym_expr_term] = STATE(16), + [sym_literal_value] = STATE(18), + [sym_collection_value] = STATE(18), + [sym_tuple] = STATE(19), + [sym_object] = STATE(19), + [sym_variable_expr] = STATE(18), + [sym_string_lit] = STATE(14), + [anon_sym_LBRACE] = ACTIONS(7), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_true] = ACTIONS(13), + [anon_sym_false] = ACTIONS(13), + [anon_sym_null] = ACTIONS(13), + [sym_numeric_lit] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_DQUOTE] = ACTIONS(19), + [sym_identifier] = ACTIONS(25), + [sym_comment] = ACTIONS(3), + }, + [6] = { + [sym_expression] = STATE(46), + [sym_expr_term] = STATE(16), + [sym_literal_value] = STATE(18), + [sym_collection_value] = STATE(18), + [sym_tuple] = STATE(19), + [sym_object] = STATE(19), + [sym_variable_expr] = STATE(18), + [sym_string_lit] = STATE(14), + [anon_sym_LBRACE] = ACTIONS(7), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_true] = ACTIONS(13), + [anon_sym_false] = ACTIONS(13), + [anon_sym_null] = ACTIONS(13), + [sym_numeric_lit] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_DQUOTE] = ACTIONS(19), + [sym_identifier] = ACTIONS(25), + [sym_comment] = ACTIONS(3), + }, + [7] = { + [sym_expression] = STATE(36), + [sym_expr_term] = STATE(16), + [sym_literal_value] = STATE(18), + [sym_collection_value] = STATE(18), + [sym_tuple] = STATE(19), + [sym_object] = STATE(19), + [sym_variable_expr] = STATE(18), + [sym_string_lit] = STATE(14), + [anon_sym_LBRACE] = ACTIONS(7), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_true] = ACTIONS(13), + [anon_sym_false] = ACTIONS(13), + [anon_sym_null] = ACTIONS(13), + [sym_numeric_lit] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_DQUOTE] = ACTIONS(19), + [sym_identifier] = ACTIONS(25), + [sym_comment] = ACTIONS(3), + }, + [8] = { + [sym_expression] = STATE(43), + [sym_expr_term] = STATE(16), + [sym_literal_value] = STATE(18), + [sym_collection_value] = STATE(18), + [sym_tuple] = STATE(19), + [sym_object] = STATE(19), + [sym_variable_expr] = STATE(18), + [sym_string_lit] = STATE(14), + [anon_sym_LBRACE] = ACTIONS(7), + [anon_sym_LPAREN] = ACTIONS(11), + [anon_sym_true] = ACTIONS(13), + [anon_sym_false] = ACTIONS(13), + [anon_sym_null] = ACTIONS(13), + [sym_numeric_lit] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_DQUOTE] = ACTIONS(19), + [sym_identifier] = ACTIONS(25), [sym_comment] = ACTIONS(3), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 6, + [0] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(27), 10, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DQUOTE, + sym_identifier, + [16] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 8, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + sym_identifier, + [30] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(31), 8, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + sym_identifier, + [44] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 8, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + sym_identifier, + [58] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 8, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + sym_identifier, + [72] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 8, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + sym_identifier, + [86] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 8, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + sym_identifier, + [100] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 8, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + sym_identifier, + [114] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 8, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + sym_identifier, + [128] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(45), 8, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + sym_identifier, + [142] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 8, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + sym_identifier, + [156] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 8, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + sym_identifier, + [170] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(5), 1, - aux_sym_string_lit_token1, - ACTIONS(15), 1, - anon_sym_RBRACE, - STATE(5), 1, sym_identifier, - STATE(28), 1, - sym_body, - STATE(6), 3, + ACTIONS(51), 2, + ts_builtin_sym_end, + anon_sym_RBRACE, + STATE(25), 3, sym_attribute, sym_block, aux_sym_body_repeat1, - [21] = 6, + [186] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(5), 1, - aux_sym_string_lit_token1, - ACTIONS(11), 1, - anon_sym_DQUOTE, - ACTIONS(17), 1, - anon_sym_EQ, + sym_identifier, + ACTIONS(53), 1, + anon_sym_RBRACE, + STATE(47), 1, + sym_body, + STATE(21), 3, + sym_attribute, + sym_block, + aux_sym_body_repeat1, + [204] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5), 1, + sym_identifier, + ACTIONS(55), 1, + anon_sym_RBRACE, + STATE(50), 1, + sym_body, + STATE(21), 3, + sym_attribute, + sym_block, + aux_sym_body_repeat1, + [222] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 6, + ts_builtin_sym_end, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + sym_identifier, + [234] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(61), 1, + sym_identifier, + ACTIONS(59), 2, + ts_builtin_sym_end, + anon_sym_RBRACE, + STATE(25), 3, + sym_attribute, + sym_block, + aux_sym_body_repeat1, + [250] = 6, + ACTIONS(3), 1, + sym_comment, ACTIONS(19), 1, - anon_sym_LBRACE, - STATE(12), 3, - sym_string_lit, - sym_identifier, - aux_sym_block_repeat1, - [42] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(5), 1, - aux_sym_string_lit_token1, - STATE(5), 1, - sym_identifier, - ACTIONS(21), 2, - ts_builtin_sym_end, - anon_sym_RBRACE, - STATE(8), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [61] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(5), 1, - aux_sym_string_lit_token1, - ACTIONS(23), 1, - anon_sym_RBRACE, - STATE(5), 1, - sym_identifier, - STATE(23), 1, - sym_body, - STATE(6), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [82] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(27), 1, - aux_sym_string_lit_token1, - STATE(5), 1, - sym_identifier, - ACTIONS(25), 2, - ts_builtin_sym_end, - anon_sym_RBRACE, - STATE(8), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [101] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(30), 7, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_RPAREN, anon_sym_DQUOTE, - aux_sym_string_lit_token1, - [114] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(32), 1, - anon_sym_LBRACE, - ACTIONS(34), 1, - anon_sym_DQUOTE, - ACTIONS(37), 1, - aux_sym_string_lit_token1, - STATE(10), 3, - sym_string_lit, - sym_identifier, - aux_sym_block_repeat1, - [132] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(40), 6, - ts_builtin_sym_end, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_DQUOTE, - aux_sym_string_lit_token1, - [144] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(5), 1, - aux_sym_string_lit_token1, - ACTIONS(11), 1, - anon_sym_DQUOTE, - ACTIONS(42), 1, - anon_sym_LBRACE, - STATE(10), 3, - sym_string_lit, - sym_identifier, - aux_sym_block_repeat1, - [162] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(44), 4, - ts_builtin_sym_end, - anon_sym_RBRACE, - anon_sym_RPAREN, - aux_sym_string_lit_token1, - [172] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(46), 4, - ts_builtin_sym_end, - anon_sym_RBRACE, - anon_sym_RPAREN, - aux_sym_string_lit_token1, - [182] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(48), 4, - ts_builtin_sym_end, - anon_sym_RBRACE, - anon_sym_RPAREN, - aux_sym_string_lit_token1, - [192] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(50), 4, - ts_builtin_sym_end, - anon_sym_RBRACE, - anon_sym_RPAREN, - aux_sym_string_lit_token1, - [202] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(52), 4, - ts_builtin_sym_end, - anon_sym_RBRACE, - anon_sym_RPAREN, - aux_sym_string_lit_token1, - [212] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(54), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - aux_sym_string_lit_token1, - [221] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(56), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - aux_sym_string_lit_token1, - [230] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(58), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - aux_sym_string_lit_token1, - [239] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(60), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - aux_sym_string_lit_token1, - [248] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(62), 1, - ts_builtin_sym_end, - [255] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(15), 1, - anon_sym_RBRACE, - [262] = 2, - ACTIONS(3), 1, - sym_comment, ACTIONS(64), 1, - anon_sym_DQUOTE, - [269] = 2, - ACTIONS(3), 1, - sym_comment, + anon_sym_EQ, ACTIONS(66), 1, - ts_builtin_sym_end, - [276] = 2, - ACTIONS(3), 1, - sym_comment, + anon_sym_LBRACE, ACTIONS(68), 1, - aux_sym_string_lit_token1, - [283] = 2, + sym_identifier, + STATE(27), 2, + sym_string_lit, + aux_sym_block_repeat1, + [270] = 5, ACTIONS(3), 1, sym_comment, + ACTIONS(19), 1, + anon_sym_DQUOTE, ACTIONS(70), 1, - anon_sym_RPAREN, - [290] = 2, + anon_sym_LBRACE, + ACTIONS(72), 1, + sym_identifier, + STATE(28), 2, + sym_string_lit, + aux_sym_block_repeat1, + [287] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(72), 1, + ACTIONS(74), 1, + anon_sym_LBRACE, + ACTIONS(76), 1, + anon_sym_DQUOTE, + ACTIONS(79), 1, + sym_identifier, + STATE(28), 2, + sym_string_lit, + aux_sym_block_repeat1, + [304] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(82), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [313] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(84), 1, + anon_sym_COMMA, + ACTIONS(87), 1, + anon_sym_RBRACK, + STATE(30), 1, + aux_sym_tuple_repeat1, + [326] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_RBRACE, + ACTIONS(91), 1, + anon_sym_COMMA, + STATE(31), 1, + aux_sym_object_repeat1, + [339] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(94), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [348] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(96), 1, + anon_sym_RBRACE, + ACTIONS(98), 1, + anon_sym_COMMA, + STATE(38), 1, + aux_sym_object_repeat1, + [361] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(100), 1, + anon_sym_COMMA, + ACTIONS(102), 1, + anon_sym_RBRACK, + STATE(30), 1, + aux_sym_tuple_repeat1, + [374] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(104), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [383] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(106), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [392] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(100), 1, + anon_sym_COMMA, + ACTIONS(108), 1, + anon_sym_RBRACK, + STATE(34), 1, + aux_sym_tuple_repeat1, + [405] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(98), 1, + anon_sym_COMMA, + ACTIONS(110), 1, + anon_sym_RBRACE, + STATE(31), 1, + aux_sym_object_repeat1, + [418] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(112), 2, + anon_sym_EQ, + anon_sym_COLON, + [426] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(114), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [434] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [442] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(116), 2, + anon_sym_EQ, + anon_sym_COLON, + [450] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(87), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [458] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(119), 1, + ts_builtin_sym_end, + [465] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(121), 1, + anon_sym_DQUOTE, + [472] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(123), 1, + anon_sym_RPAREN, + [479] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(55), 1, + anon_sym_RBRACE, + [486] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(125), 1, + ts_builtin_sym_end, + [493] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(127), 1, + aux_sym_string_lit_token1, + [500] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(129), 1, anon_sym_RBRACE, }; static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(4)] = 0, - [SMALL_STATE(5)] = 21, - [SMALL_STATE(6)] = 42, - [SMALL_STATE(7)] = 61, - [SMALL_STATE(8)] = 82, - [SMALL_STATE(9)] = 101, - [SMALL_STATE(10)] = 114, - [SMALL_STATE(11)] = 132, - [SMALL_STATE(12)] = 144, - [SMALL_STATE(13)] = 162, - [SMALL_STATE(14)] = 172, - [SMALL_STATE(15)] = 182, - [SMALL_STATE(16)] = 192, - [SMALL_STATE(17)] = 202, - [SMALL_STATE(18)] = 212, - [SMALL_STATE(19)] = 221, - [SMALL_STATE(20)] = 230, - [SMALL_STATE(21)] = 239, - [SMALL_STATE(22)] = 248, - [SMALL_STATE(23)] = 255, - [SMALL_STATE(24)] = 262, - [SMALL_STATE(25)] = 269, - [SMALL_STATE(26)] = 276, - [SMALL_STATE(27)] = 283, - [SMALL_STATE(28)] = 290, + [SMALL_STATE(9)] = 0, + [SMALL_STATE(10)] = 16, + [SMALL_STATE(11)] = 30, + [SMALL_STATE(12)] = 44, + [SMALL_STATE(13)] = 58, + [SMALL_STATE(14)] = 72, + [SMALL_STATE(15)] = 86, + [SMALL_STATE(16)] = 100, + [SMALL_STATE(17)] = 114, + [SMALL_STATE(18)] = 128, + [SMALL_STATE(19)] = 142, + [SMALL_STATE(20)] = 156, + [SMALL_STATE(21)] = 170, + [SMALL_STATE(22)] = 186, + [SMALL_STATE(23)] = 204, + [SMALL_STATE(24)] = 222, + [SMALL_STATE(25)] = 234, + [SMALL_STATE(26)] = 250, + [SMALL_STATE(27)] = 270, + [SMALL_STATE(28)] = 287, + [SMALL_STATE(29)] = 304, + [SMALL_STATE(30)] = 313, + [SMALL_STATE(31)] = 326, + [SMALL_STATE(32)] = 339, + [SMALL_STATE(33)] = 348, + [SMALL_STATE(34)] = 361, + [SMALL_STATE(35)] = 374, + [SMALL_STATE(36)] = 383, + [SMALL_STATE(37)] = 392, + [SMALL_STATE(38)] = 405, + [SMALL_STATE(39)] = 418, + [SMALL_STATE(40)] = 426, + [SMALL_STATE(41)] = 434, + [SMALL_STATE(42)] = 442, + [SMALL_STATE(43)] = 450, + [SMALL_STATE(44)] = 458, + [SMALL_STATE(45)] = 465, + [SMALL_STATE(46)] = 472, + [SMALL_STATE(47)] = 479, + [SMALL_STATE(48)] = 486, + [SMALL_STATE(49)] = 493, + [SMALL_STATE(50)] = 500, }; 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_EXTRA(), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [21] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 1), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [25] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), - [27] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), SHIFT_REPEAT(9), - [30] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), - [32] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), - [34] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(26), - [37] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(9), - [40] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_lit, 3), - [42] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [44] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_expr, 1), - [46] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [48] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 1), - [50] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_value, 1), - [52] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 3), - [54] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3), - [56] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3), - [58] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4), - [60] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5), - [62] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_config_file, 1), - [64] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [66] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [68] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [72] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24), + [27] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_lit, 3), + [29] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 3), + [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 3), + [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 4), + [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3), + [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_value, 1), + [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 2), + [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 4), + [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 1), + [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_collection_value, 1), + [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2), + [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 1), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_expr, 1), + [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), + [61] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), SHIFT_REPEAT(26), + [64] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [66] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [68] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [72] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), + [76] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(49), + [79] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(28), + [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5), + [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), SHIFT_REPEAT(8), + [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), + [89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), + [91] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), SHIFT_REPEAT(3), + [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4), + [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3), + [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3), + [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_elem, 3), + [116] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_expr, 1), SHIFT(5), + [119] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_config_file, 1), + [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), }; #ifdef __cplusplus