From 334fc4cbb38f77cbf5f6b7d00cea13055763381b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vid=20Drobni=C4=8D?= Date: Sat, 6 Jul 2024 19:43:03 +0200 Subject: [PATCH] feat: loops --- tree-sitter-aoc/grammar.js | 35 +- tree-sitter-aoc/src/grammar.json | 114 + tree-sitter-aoc/src/node-types.json | 388 ++ tree-sitter-aoc/src/parser.c | 5492 +++++++++++++++---------- tree-sitter-aoc/test/corpus/loops.txt | 75 + 5 files changed, 3861 insertions(+), 2243 deletions(-) create mode 100644 tree-sitter-aoc/test/corpus/loops.txt diff --git a/tree-sitter-aoc/grammar.js b/tree-sitter-aoc/grammar.js index dfc3f4e..bd448c3 100644 --- a/tree-sitter-aoc/grammar.js +++ b/tree-sitter-aoc/grammar.js @@ -26,7 +26,15 @@ module.exports = grammar({ rules: { source_file: ($) => repeat(seq($._rules, terminator)), - _rules: ($) => choice($._expression, $.assignment), + _rules: ($) => + choice( + $._expression, + $.assignment, + $.for_loop, + $.while_loop, + $.continue, + $.break, + ), _expression: ($) => choice( @@ -132,6 +140,28 @@ module.exports = grammar({ seq(choice($.identifier, $.index, $.array), "=", $._expression), ), + while_loop: ($) => + seq( + "while", + "(", + field("condition", $._expression), + ")", + field("body", $.block), + ), + + for_loop: ($) => + seq( + "for", + "(", + field("initial", $._rules), + ";", + field("condition", $._expression), + ";", + field("after", $._rules), + ")", + field("body", $.block), + ), + block: ($) => choice( // emtpy block @@ -186,6 +216,9 @@ module.exports = grammar({ _string_basic_content: () => token.immediate(prec(1, /[^"\n\\]+/)), escape_sequence: () => token.immediate(/\\./), + continue: () => "continue", + break: () => "break", + identifier: () => /[a-zA-Z][a-zA-Z_\d]*/, integer: () => /\d+/, float: () => /\d+\.\d+/, diff --git a/tree-sitter-aoc/src/grammar.json b/tree-sitter-aoc/src/grammar.json index 7576361..2f3ad77 100644 --- a/tree-sitter-aoc/src/grammar.json +++ b/tree-sitter-aoc/src/grammar.json @@ -37,6 +37,22 @@ { "type": "SYMBOL", "name": "assignment" + }, + { + "type": "SYMBOL", + "name": "for_loop" + }, + { + "type": "SYMBOL", + "name": "while_loop" + }, + { + "type": "SYMBOL", + "name": "continue" + }, + { + "type": "SYMBOL", + "name": "break" } ] }, @@ -785,6 +801,96 @@ ] } }, + "while_loop": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "while" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "block" + } + } + ] + }, + "for_loop": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "for" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "initial", + "content": { + "type": "SYMBOL", + "name": "_rules" + } + }, + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "after", + "content": { + "type": "SYMBOL", + "name": "_rules" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "block" + } + } + ] + }, "block": { "type": "CHOICE", "members": [ @@ -1082,6 +1188,14 @@ "value": "\\\\." } }, + "continue": { + "type": "STRING", + "value": "continue" + }, + "break": { + "type": "STRING", + "value": "break" + }, "identifier": { "type": "PATTERN", "value": "[a-zA-Z][a-zA-Z_\\d]*" diff --git a/tree-sitter-aoc/src/node-types.json b/tree-sitter-aoc/src/node-types.json index fd10a1c..d34abee 100644 --- a/tree-sitter-aoc/src/node-types.json +++ b/tree-sitter-aoc/src/node-types.json @@ -141,6 +141,14 @@ "type": "assignment", "named": true }, + { + "type": "break", + "named": true + }, + { + "type": "continue", + "named": true + }, { "type": "dictionary", "named": true @@ -153,6 +161,10 @@ "type": "float", "named": true }, + { + "type": "for_loop", + "named": true + }, { "type": "identifier", "named": true @@ -188,6 +200,10 @@ { "type": "true", "named": true + }, + { + "type": "while_loop", + "named": true } ] } @@ -345,6 +361,260 @@ } } }, + { + "type": "for_loop", + "named": true, + "fields": { + "after": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "array", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "break", + "named": true + }, + { + "type": "continue", + "named": true + }, + { + "type": "dictionary", + "named": true + }, + { + "type": "false", + "named": true + }, + { + "type": "float", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "index", + "named": true + }, + { + "type": "infix_expression", + "named": true + }, + { + "type": "integer", + "named": true + }, + { + "type": "null", + "named": true + }, + { + "type": "prefix_expression", + "named": true + }, + { + "type": "string", + "named": true + }, + { + "type": "true", + "named": true + }, + { + "type": "while_loop", + "named": true + } + ] + }, + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "block", + "named": true + } + ] + }, + "condition": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "array", + "named": true + }, + { + "type": "dictionary", + "named": true + }, + { + "type": "false", + "named": true + }, + { + "type": "float", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "index", + "named": true + }, + { + "type": "infix_expression", + "named": true + }, + { + "type": "integer", + "named": true + }, + { + "type": "null", + "named": true + }, + { + "type": "prefix_expression", + "named": true + }, + { + "type": "string", + "named": true + }, + { + "type": "true", + "named": true + } + ] + }, + "initial": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "array", + "named": true + }, + { + "type": "assignment", + "named": true + }, + { + "type": "break", + "named": true + }, + { + "type": "continue", + "named": true + }, + { + "type": "dictionary", + "named": true + }, + { + "type": "false", + "named": true + }, + { + "type": "float", + "named": true + }, + { + "type": "for_loop", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "index", + "named": true + }, + { + "type": "infix_expression", + "named": true + }, + { + "type": "integer", + "named": true + }, + { + "type": "null", + "named": true + }, + { + "type": "prefix_expression", + "named": true + }, + { + "type": "string", + "named": true + }, + { + "type": "true", + "named": true + }, + { + "type": "while_loop", + "named": true + } + ] + } + } + }, { "type": "if_expression", "named": true, @@ -873,6 +1143,14 @@ "type": "assignment", "named": true }, + { + "type": "break", + "named": true + }, + { + "type": "continue", + "named": true + }, { "type": "dictionary", "named": true @@ -885,6 +1163,10 @@ "type": "float", "named": true }, + { + "type": "for_loop", + "named": true + }, { "type": "identifier", "named": true @@ -920,6 +1202,10 @@ { "type": "true", "named": true + }, + { + "type": "while_loop", + "named": true } ] } @@ -939,6 +1225,88 @@ ] } }, + { + "type": "while_loop", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "block", + "named": true + } + ] + }, + "condition": { + "multiple": true, + "required": true, + "types": [ + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "array", + "named": true + }, + { + "type": "dictionary", + "named": true + }, + { + "type": "false", + "named": true + }, + { + "type": "float", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "index", + "named": true + }, + { + "type": "infix_expression", + "named": true + }, + { + "type": "integer", + "named": true + }, + { + "type": "null", + "named": true + }, + { + "type": "prefix_expression", + "named": true + }, + { + "type": "string", + "named": true + }, + { + "type": "true", + "named": true + } + ] + } + } + }, { "type": "\u0000", "named": false @@ -1003,6 +1371,10 @@ "type": ":", "named": false }, + { + "type": ";", + "named": false + }, { "type": "<", "named": false @@ -1035,6 +1407,14 @@ "type": "]", "named": false }, + { + "type": "break", + "named": true + }, + { + "type": "continue", + "named": true + }, { "type": "else", "named": false @@ -1051,6 +1431,10 @@ "type": "float", "named": true }, + { + "type": "for", + "named": false + }, { "type": "identifier", "named": true @@ -1071,6 +1455,10 @@ "type": "true", "named": true }, + { + "type": "while", + "named": false + }, { "type": "{", "named": false diff --git a/tree-sitter-aoc/src/parser.c b/tree-sitter-aoc/src/parser.c index 70a81d6..f874add 100644 --- a/tree-sitter-aoc/src/parser.c +++ b/tree-sitter-aoc/src/parser.c @@ -5,15 +5,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 170 +#define STATE_COUNT 202 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 58 +#define SYMBOL_COUNT 65 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 39 +#define TOKEN_COUNT 44 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 9 -#define MAX_ALIAS_SEQUENCE_LENGTH 8 -#define PRODUCTION_ID_COUNT 11 +#define FIELD_COUNT 12 +#define MAX_ALIAS_SEQUENCE_LENGTH 9 +#define PRODUCTION_ID_COUNT 13 enum ts_symbol_identifiers { sym_identifier = 1, @@ -41,38 +41,45 @@ enum ts_symbol_identifiers { anon_sym_RBRACK = 23, anon_sym_DOT = 24, anon_sym_EQ = 25, - anon_sym_LBRACE = 26, - anon_sym_RBRACE = 27, - anon_sym_COMMA = 28, - anon_sym_COLON = 29, - anon_sym_DQUOTE = 30, - anon_sym_DQUOTE2 = 31, - sym__string_basic_content = 32, - sym_escape_sequence = 33, - sym_integer = 34, - sym_float = 35, - sym_true = 36, - sym_false = 37, - sym_null = 38, - sym_source_file = 39, - sym__rules = 40, - sym__expression = 41, - sym_prefix_expression = 42, - sym_infix_expression = 43, - sym__grouped_expression = 44, - sym_if_expression = 45, - sym_index = 46, - sym_assignment = 47, - sym_block = 48, - sym_array = 49, - sym_dictionary = 50, - sym_dictionary_pair = 51, - sym_string = 52, - aux_sym_source_file_repeat1 = 53, - aux_sym_if_expression_repeat1 = 54, - aux_sym_array_repeat1 = 55, - aux_sym_dictionary_repeat1 = 56, - aux_sym_string_repeat1 = 57, + anon_sym_while = 26, + anon_sym_for = 27, + anon_sym_SEMI = 28, + anon_sym_LBRACE = 29, + anon_sym_RBRACE = 30, + anon_sym_COMMA = 31, + anon_sym_COLON = 32, + anon_sym_DQUOTE = 33, + anon_sym_DQUOTE2 = 34, + sym__string_basic_content = 35, + sym_escape_sequence = 36, + sym_continue = 37, + sym_break = 38, + sym_integer = 39, + sym_float = 40, + sym_true = 41, + sym_false = 42, + sym_null = 43, + sym_source_file = 44, + sym__rules = 45, + sym__expression = 46, + sym_prefix_expression = 47, + sym_infix_expression = 48, + sym__grouped_expression = 49, + sym_if_expression = 50, + sym_index = 51, + sym_assignment = 52, + sym_while_loop = 53, + sym_for_loop = 54, + sym_block = 55, + sym_array = 56, + sym_dictionary = 57, + sym_dictionary_pair = 58, + sym_string = 59, + aux_sym_source_file_repeat1 = 60, + aux_sym_if_expression_repeat1 = 61, + aux_sym_array_repeat1 = 62, + aux_sym_dictionary_repeat1 = 63, + aux_sym_string_repeat1 = 64, }; static const char * const ts_symbol_names[] = { @@ -102,6 +109,9 @@ static const char * const ts_symbol_names[] = { [anon_sym_RBRACK] = "]", [anon_sym_DOT] = ".", [anon_sym_EQ] = "=", + [anon_sym_while] = "while", + [anon_sym_for] = "for", + [anon_sym_SEMI] = ";", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", [anon_sym_COMMA] = ",", @@ -110,6 +120,8 @@ static const char * const ts_symbol_names[] = { [anon_sym_DQUOTE2] = "\"", [sym__string_basic_content] = "_string_basic_content", [sym_escape_sequence] = "escape_sequence", + [sym_continue] = "continue", + [sym_break] = "break", [sym_integer] = "integer", [sym_float] = "float", [sym_true] = "true", @@ -124,6 +136,8 @@ static const char * const ts_symbol_names[] = { [sym_if_expression] = "if_expression", [sym_index] = "index", [sym_assignment] = "assignment", + [sym_while_loop] = "while_loop", + [sym_for_loop] = "for_loop", [sym_block] = "block", [sym_array] = "array", [sym_dictionary] = "dictionary", @@ -163,6 +177,9 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_RBRACK] = anon_sym_RBRACK, [anon_sym_DOT] = anon_sym_DOT, [anon_sym_EQ] = anon_sym_EQ, + [anon_sym_while] = anon_sym_while, + [anon_sym_for] = anon_sym_for, + [anon_sym_SEMI] = anon_sym_SEMI, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, [anon_sym_COMMA] = anon_sym_COMMA, @@ -171,6 +188,8 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_DQUOTE2] = anon_sym_DQUOTE, [sym__string_basic_content] = sym__string_basic_content, [sym_escape_sequence] = sym_escape_sequence, + [sym_continue] = sym_continue, + [sym_break] = sym_break, [sym_integer] = sym_integer, [sym_float] = sym_float, [sym_true] = sym_true, @@ -185,6 +204,8 @@ static const TSSymbol ts_symbol_map[] = { [sym_if_expression] = sym_if_expression, [sym_index] = sym_index, [sym_assignment] = sym_assignment, + [sym_while_loop] = sym_while_loop, + [sym_for_loop] = sym_for_loop, [sym_block] = sym_block, [sym_array] = sym_array, [sym_dictionary] = sym_dictionary, @@ -302,6 +323,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_while] = { + .visible = true, + .named = false, + }, + [anon_sym_for] = { + .visible = true, + .named = false, + }, + [anon_sym_SEMI] = { + .visible = true, + .named = false, + }, [anon_sym_LBRACE] = { .visible = true, .named = false, @@ -334,6 +367,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_continue] = { + .visible = true, + .named = true, + }, + [sym_break] = { + .visible = true, + .named = true, + }, [sym_integer] = { .visible = true, .named = true, @@ -390,6 +431,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_while_loop] = { + .visible = true, + .named = true, + }, + [sym_for_loop] = { + .visible = true, + .named = true, + }, [sym_block] = { .visible = true, .named = true, @@ -433,23 +482,29 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { }; enum ts_field_identifiers { - field_alternative = 1, - field_condition = 2, - field_consequence = 3, - field_index = 4, - field_key = 5, - field_left = 6, - field_operator = 7, - field_right = 8, - field_value = 9, + field_after = 1, + field_alternative = 2, + field_body = 3, + field_condition = 4, + field_consequence = 5, + field_index = 6, + field_initial = 7, + field_key = 8, + field_left = 9, + field_operator = 10, + field_right = 11, + field_value = 12, }; static const char * const ts_field_names[] = { [0] = NULL, + [field_after] = "after", [field_alternative] = "alternative", + [field_body] = "body", [field_condition] = "condition", [field_consequence] = "consequence", [field_index] = "index", + [field_initial] = "initial", [field_key] = "key", [field_left] = "left", [field_operator] = "operator", @@ -463,11 +518,13 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [3] = {.index = 5, .length = 2}, [4] = {.index = 7, .length = 2}, [5] = {.index = 9, .length = 2}, - [6] = {.index = 11, .length = 4}, - [7] = {.index = 15, .length = 3}, - [8] = {.index = 18, .length = 4}, - [9] = {.index = 22, .length = 5}, - [10] = {.index = 27, .length = 2}, + [6] = {.index = 11, .length = 2}, + [7] = {.index = 13, .length = 4}, + [8] = {.index = 17, .length = 3}, + [9] = {.index = 20, .length = 4}, + [10] = {.index = 24, .length = 5}, + [11] = {.index = 29, .length = 4}, + [12] = {.index = 33, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -488,26 +545,34 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_condition, 2}, {field_consequence, 4}, [11] = + {field_body, 4}, + {field_condition, 2}, + [13] = {field_condition, 2}, {field_condition, 5, .inherited = true}, {field_consequence, 4}, {field_consequence, 5, .inherited = true}, - [15] = + [17] = {field_alternative, 6}, {field_condition, 2}, {field_consequence, 4}, - [18] = + [20] = {field_condition, 0, .inherited = true}, {field_condition, 1, .inherited = true}, {field_consequence, 0, .inherited = true}, {field_consequence, 1, .inherited = true}, - [22] = + [24] = {field_alternative, 7}, {field_condition, 2}, {field_condition, 5, .inherited = true}, {field_consequence, 4}, {field_consequence, 5, .inherited = true}, - [27] = + [29] = + {field_after, 6}, + {field_body, 8}, + {field_condition, 4}, + {field_initial, 2}, + [33] = {field_condition, 3}, {field_consequence, 5}, }; @@ -524,173 +589,205 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [0] = 0, [1] = 1, [2] = 2, - [3] = 3, + [3] = 2, [4] = 4, - [5] = 2, + [5] = 5, [6] = 6, - [7] = 7, + [7] = 4, [8] = 6, - [9] = 3, - [10] = 7, - [11] = 11, - [12] = 11, + [9] = 9, + [10] = 10, + [11] = 9, + [12] = 10, [13] = 13, - [14] = 14, - [15] = 13, + [14] = 13, + [15] = 15, [16] = 16, - [17] = 16, - [18] = 18, - [19] = 19, + [17] = 17, + [18] = 17, + [19] = 16, [20] = 20, [21] = 21, [22] = 22, - [23] = 23, + [23] = 22, [24] = 24, [25] = 25, - [26] = 21, + [26] = 26, [27] = 27, [28] = 28, [29] = 29, [30] = 30, - [31] = 31, - [32] = 30, + [31] = 27, + [32] = 32, [33] = 33, [34] = 34, - [35] = 31, - [36] = 19, - [37] = 33, - [38] = 29, - [39] = 28, - [40] = 27, + [35] = 35, + [36] = 36, + [37] = 37, + [38] = 38, + [39] = 39, + [40] = 40, [41] = 41, [42] = 42, - [43] = 34, - [44] = 20, - [45] = 41, + [43] = 41, + [44] = 44, + [45] = 40, [46] = 46, [47] = 47, [48] = 48, [49] = 49, - [50] = 50, + [50] = 29, [51] = 51, - [52] = 52, - [53] = 53, + [52] = 32, + [53] = 28, [54] = 54, - [55] = 55, + [55] = 33, [56] = 56, [57] = 57, - [58] = 58, - [59] = 59, - [60] = 60, - [61] = 61, - [62] = 62, + [58] = 35, + [59] = 36, + [60] = 37, + [61] = 38, + [62] = 39, [63] = 63, - [64] = 64, - [65] = 65, - [66] = 22, + [64] = 48, + [65] = 30, + [66] = 66, [67] = 67, [68] = 68, - [69] = 24, + [69] = 69, [70] = 70, [71] = 71, - [72] = 23, + [72] = 72, [73] = 73, [74] = 74, [75] = 75, - [76] = 46, - [77] = 49, - [78] = 50, + [76] = 76, + [77] = 77, + [78] = 78, [79] = 79, - [80] = 64, - [81] = 65, - [82] = 61, - [83] = 52, - [84] = 59, - [85] = 47, - [86] = 62, - [87] = 48, - [88] = 56, - [89] = 53, - [90] = 63, - [91] = 73, - [92] = 92, - [93] = 67, - [94] = 94, - [95] = 68, - [96] = 71, - [97] = 60, - [98] = 70, - [99] = 74, - [100] = 58, - [101] = 55, - [102] = 57, - [103] = 51, - [104] = 75, - [105] = 54, - [106] = 106, - [107] = 107, - [108] = 108, - [109] = 107, - [110] = 108, - [111] = 111, + [80] = 80, + [81] = 81, + [82] = 25, + [83] = 21, + [84] = 20, + [85] = 51, + [86] = 49, + [87] = 87, + [88] = 54, + [89] = 46, + [90] = 44, + [91] = 47, + [92] = 56, + [93] = 34, + [94] = 42, + [95] = 57, + [96] = 63, + [97] = 66, + [98] = 81, + [99] = 73, + [100] = 100, + [101] = 72, + [102] = 102, + [103] = 103, + [104] = 69, + [105] = 71, + [106] = 78, + [107] = 68, + [108] = 87, + [109] = 79, + [110] = 80, + [111] = 70, [112] = 112, - [113] = 113, - [114] = 112, - [115] = 115, - [116] = 111, - [117] = 117, + [113] = 77, + [114] = 74, + [115] = 112, + [116] = 75, + [117] = 67, [118] = 118, - [119] = 118, - [120] = 117, + [119] = 100, + [120] = 76, [121] = 121, [122] = 122, - [123] = 123, + [123] = 121, [124] = 124, - [125] = 125, - [126] = 124, - [127] = 125, - [128] = 123, + [125] = 118, + [126] = 102, + [127] = 103, + [128] = 122, [129] = 129, - [130] = 121, + [130] = 130, [131] = 131, - [132] = 131, - [133] = 129, + [132] = 132, + [133] = 133, [134] = 134, - [135] = 122, - [136] = 136, + [135] = 135, + [136] = 135, [137] = 137, - [138] = 138, - [139] = 139, - [140] = 139, - [141] = 138, - [142] = 142, + [138] = 130, + [139] = 133, + [140] = 134, + [141] = 129, + [142] = 132, [143] = 143, [144] = 144, - [145] = 144, + [145] = 143, [146] = 146, - [147] = 143, - [148] = 142, - [149] = 146, - [150] = 150, + [147] = 144, + [148] = 148, + [149] = 148, + [150] = 146, [151] = 151, [152] = 152, - [153] = 150, + [153] = 153, [154] = 154, [155] = 155, - [156] = 152, - [157] = 151, - [158] = 154, - [159] = 155, + [156] = 154, + [157] = 155, + [158] = 158, + [159] = 159, [160] = 160, - [161] = 160, + [161] = 158, [162] = 162, - [163] = 163, + [163] = 159, [164] = 164, [165] = 165, - [166] = 166, - [167] = 165, - [168] = 163, - [169] = 166, + [166] = 165, + [167] = 162, + [168] = 168, + [169] = 160, + [170] = 170, + [171] = 171, + [172] = 164, + [173] = 173, + [174] = 174, + [175] = 175, + [176] = 176, + [177] = 171, + [178] = 176, + [179] = 173, + [180] = 175, + [181] = 170, + [182] = 168, + [183] = 174, + [184] = 184, + [185] = 185, + [186] = 186, + [187] = 187, + [188] = 186, + [189] = 189, + [190] = 187, + [191] = 191, + [192] = 192, + [193] = 189, + [194] = 194, + [195] = 195, + [196] = 184, + [197] = 195, + [198] = 198, + [199] = 185, + [200] = 194, + [201] = 198, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -702,33 +799,34 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ADVANCE_MAP( 0, 13, '!', 15, - '"', 40, + '"', 41, '%', 20, '&', 21, '(', 29, ')', 30, '*', 18, '+', 17, - ',', 37, + ',', 38, '-', 16, '.', 33, '/', 19, - ':', 38, + ':', 39, + ';', 35, '<', 23, '=', 34, '>', 25, '[', 31, '\\', 8, ']', 32, - '{', 35, + '{', 36, '|', 22, - '}', 36, + '}', 37, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(9); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(43); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 1: ADVANCE_MAP( @@ -747,7 +845,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { '>', 25, '[', 31, '|', 22, - '}', 36, + '}', 37, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(1); @@ -769,12 +867,12 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { '>', 25, '[', 31, '|', 22, - '}', 36, + '}', 37, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(2); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(43); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 3: ADVANCE_MAP( @@ -784,29 +882,30 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ')', 30, '*', 18, '+', 17, - ',', 37, + ',', 38, '-', 16, '.', 33, '/', 19, - ':', 38, + ':', 39, + ';', 35, '<', 23, - '=', 6, + '=', 34, '>', 25, '[', 31, ']', 32, '|', 22, - '}', 36, + '}', 37, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(3); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(43); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 4: - if (lookahead == '"') ADVANCE(40); + if (lookahead == '"') ADVANCE(41); if (lookahead == '\\') ADVANCE(8); if (lookahead != 0 && - lookahead != '\n') ADVANCE(41); + lookahead != '\n') ADVANCE(42); END_STATE(); case 5: if (lookahead == '=') ADVANCE(28); @@ -815,61 +914,62 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '=') ADVANCE(27); END_STATE(); case 7: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(46); END_STATE(); case 8: if (lookahead != 0 && - lookahead != '\n') ADVANCE(42); + lookahead != '\n') ADVANCE(43); END_STATE(); case 9: if (eof) ADVANCE(11); ADVANCE_MAP( 0, 13, '!', 15, - '"', 39, + '"', 40, '%', 20, '&', 21, '(', 29, ')', 30, '*', 18, '+', 17, - ',', 37, + ',', 38, '-', 16, '.', 33, '/', 19, - ':', 38, + ':', 39, + ';', 35, '<', 23, '=', 34, '>', 25, '[', 31, ']', 32, - '{', 35, + '{', 36, '|', 22, - '}', 36, + '}', 37, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(9); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(43); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 10: if (eof) ADVANCE(11); ADVANCE_MAP( '!', 14, - '"', 39, + '"', 40, '(', 29, '-', 16, '[', 31, ']', 32, - '{', 35, - '}', 36, + '{', 36, + '}', 37, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(10); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(43); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 11: ACCEPT_TOKEN(ts_builtin_sym_end); @@ -949,48 +1049,51 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '=') ADVANCE(27); END_STATE(); case 35: - ACCEPT_TOKEN(anon_sym_LBRACE); + ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); case 36: - ACCEPT_TOKEN(anon_sym_RBRACE); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 37: - ACCEPT_TOKEN(anon_sym_COMMA); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 38: - ACCEPT_TOKEN(anon_sym_COLON); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 39: - ACCEPT_TOKEN(anon_sym_DQUOTE); + ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 40: - ACCEPT_TOKEN(anon_sym_DQUOTE2); + ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); case 41: + ACCEPT_TOKEN(anon_sym_DQUOTE2); + END_STATE(); + case 42: ACCEPT_TOKEN(sym__string_basic_content); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(41); + lookahead != '\\') ADVANCE(42); END_STATE(); - case 42: + case 43: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); - case 43: + case 44: ACCEPT_TOKEN(sym_identifier); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(43); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); - case 44: + case 45: ACCEPT_TOKEN(sym_integer); if (lookahead == '.') ADVANCE(7); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); END_STATE(); - case 45: + case 46: ACCEPT_TOKEN(sym_float); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(45); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(46); END_STATE(); default: return false; @@ -1002,71 +1105,137 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (lookahead == 'e') ADVANCE(1); - if (lookahead == 'f') ADVANCE(2); - if (lookahead == 'i') ADVANCE(3); - if (lookahead == 'n') ADVANCE(4); - if (lookahead == 't') ADVANCE(5); + ADVANCE_MAP( + 'b', 1, + 'c', 2, + 'e', 3, + 'f', 4, + 'i', 5, + 'n', 6, + 't', 7, + 'w', 8, + ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(0); END_STATE(); case 1: - if (lookahead == 'l') ADVANCE(6); + if (lookahead == 'r') ADVANCE(9); END_STATE(); case 2: - if (lookahead == 'a') ADVANCE(7); + if (lookahead == 'o') ADVANCE(10); END_STATE(); case 3: - if (lookahead == 'f') ADVANCE(8); + if (lookahead == 'l') ADVANCE(11); END_STATE(); case 4: - if (lookahead == 'u') ADVANCE(9); + if (lookahead == 'a') ADVANCE(12); + if (lookahead == 'o') ADVANCE(13); END_STATE(); case 5: - if (lookahead == 'r') ADVANCE(10); + if (lookahead == 'f') ADVANCE(14); END_STATE(); case 6: - if (lookahead == 's') ADVANCE(11); + if (lookahead == 'u') ADVANCE(15); END_STATE(); case 7: - if (lookahead == 'l') ADVANCE(12); + if (lookahead == 'r') ADVANCE(16); END_STATE(); case 8: - ACCEPT_TOKEN(anon_sym_if); + if (lookahead == 'h') ADVANCE(17); END_STATE(); case 9: - if (lookahead == 'l') ADVANCE(13); + if (lookahead == 'e') ADVANCE(18); END_STATE(); case 10: - if (lookahead == 'u') ADVANCE(14); + if (lookahead == 'n') ADVANCE(19); END_STATE(); case 11: - if (lookahead == 'e') ADVANCE(15); + if (lookahead == 's') ADVANCE(20); END_STATE(); case 12: - if (lookahead == 's') ADVANCE(16); + if (lookahead == 'l') ADVANCE(21); END_STATE(); case 13: - if (lookahead == 'l') ADVANCE(17); + if (lookahead == 'r') ADVANCE(22); END_STATE(); case 14: - if (lookahead == 'e') ADVANCE(18); + ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 15: - ACCEPT_TOKEN(anon_sym_else); + if (lookahead == 'l') ADVANCE(23); END_STATE(); case 16: - if (lookahead == 'e') ADVANCE(19); + if (lookahead == 'u') ADVANCE(24); END_STATE(); case 17: - ACCEPT_TOKEN(sym_null); + if (lookahead == 'i') ADVANCE(25); END_STATE(); case 18: - ACCEPT_TOKEN(sym_true); + if (lookahead == 'a') ADVANCE(26); END_STATE(); case 19: + if (lookahead == 't') ADVANCE(27); + END_STATE(); + case 20: + if (lookahead == 'e') ADVANCE(28); + END_STATE(); + case 21: + if (lookahead == 's') ADVANCE(29); + END_STATE(); + case 22: + ACCEPT_TOKEN(anon_sym_for); + END_STATE(); + case 23: + if (lookahead == 'l') ADVANCE(30); + END_STATE(); + case 24: + if (lookahead == 'e') ADVANCE(31); + END_STATE(); + case 25: + if (lookahead == 'l') ADVANCE(32); + END_STATE(); + case 26: + if (lookahead == 'k') ADVANCE(33); + END_STATE(); + case 27: + if (lookahead == 'i') ADVANCE(34); + END_STATE(); + case 28: + ACCEPT_TOKEN(anon_sym_else); + END_STATE(); + case 29: + if (lookahead == 'e') ADVANCE(35); + END_STATE(); + case 30: + ACCEPT_TOKEN(sym_null); + END_STATE(); + case 31: + ACCEPT_TOKEN(sym_true); + END_STATE(); + case 32: + if (lookahead == 'e') ADVANCE(36); + END_STATE(); + case 33: + ACCEPT_TOKEN(sym_break); + END_STATE(); + case 34: + if (lookahead == 'n') ADVANCE(37); + END_STATE(); + case 35: ACCEPT_TOKEN(sym_false); END_STATE(); + case 36: + ACCEPT_TOKEN(anon_sym_while); + END_STATE(); + case 37: + if (lookahead == 'u') ADVANCE(38); + END_STATE(); + case 38: + if (lookahead == 'e') ADVANCE(39); + END_STATE(); + case 39: + ACCEPT_TOKEN(sym_continue); + END_STATE(); default: return false; } @@ -1093,12 +1262,12 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [17] = {.lex_state = 10}, [18] = {.lex_state = 10}, [19] = {.lex_state = 10}, - [20] = {.lex_state = 10}, - [21] = {.lex_state = 10}, - [22] = {.lex_state = 3}, - [23] = {.lex_state = 3}, - [24] = {.lex_state = 3}, - [25] = {.lex_state = 10}, + [20] = {.lex_state = 3}, + [21] = {.lex_state = 3}, + [22] = {.lex_state = 10}, + [23] = {.lex_state = 10}, + [24] = {.lex_state = 10}, + [25] = {.lex_state = 3}, [26] = {.lex_state = 10}, [27] = {.lex_state = 10}, [28] = {.lex_state = 10}, @@ -1107,7 +1276,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [31] = {.lex_state = 10}, [32] = {.lex_state = 10}, [33] = {.lex_state = 10}, - [34] = {.lex_state = 10}, + [34] = {.lex_state = 3}, [35] = {.lex_state = 10}, [36] = {.lex_state = 10}, [37] = {.lex_state = 10}, @@ -1115,134 +1284,166 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [39] = {.lex_state = 10}, [40] = {.lex_state = 10}, [41] = {.lex_state = 10}, - [42] = {.lex_state = 10}, + [42] = {.lex_state = 3}, [43] = {.lex_state = 10}, - [44] = {.lex_state = 10}, + [44] = {.lex_state = 3}, [45] = {.lex_state = 10}, [46] = {.lex_state = 3}, [47] = {.lex_state = 3}, - [48] = {.lex_state = 3}, + [48] = {.lex_state = 10}, [49] = {.lex_state = 3}, - [50] = {.lex_state = 3}, + [50] = {.lex_state = 10}, [51] = {.lex_state = 3}, - [52] = {.lex_state = 3}, - [53] = {.lex_state = 3}, + [52] = {.lex_state = 10}, + [53] = {.lex_state = 10}, [54] = {.lex_state = 3}, - [55] = {.lex_state = 3}, + [55] = {.lex_state = 10}, [56] = {.lex_state = 3}, [57] = {.lex_state = 3}, - [58] = {.lex_state = 3}, - [59] = {.lex_state = 3}, - [60] = {.lex_state = 3}, - [61] = {.lex_state = 3}, - [62] = {.lex_state = 3}, + [58] = {.lex_state = 10}, + [59] = {.lex_state = 10}, + [60] = {.lex_state = 10}, + [61] = {.lex_state = 10}, + [62] = {.lex_state = 10}, [63] = {.lex_state = 3}, - [64] = {.lex_state = 3}, - [65] = {.lex_state = 3}, - [66] = {.lex_state = 2}, + [64] = {.lex_state = 10}, + [65] = {.lex_state = 10}, + [66] = {.lex_state = 3}, [67] = {.lex_state = 3}, [68] = {.lex_state = 3}, - [69] = {.lex_state = 2}, + [69] = {.lex_state = 3}, [70] = {.lex_state = 3}, [71] = {.lex_state = 3}, - [72] = {.lex_state = 2}, + [72] = {.lex_state = 3}, [73] = {.lex_state = 3}, [74] = {.lex_state = 3}, [75] = {.lex_state = 3}, - [76] = {.lex_state = 2}, - [77] = {.lex_state = 2}, - [78] = {.lex_state = 2}, - [79] = {.lex_state = 1}, - [80] = {.lex_state = 1}, - [81] = {.lex_state = 1}, - [82] = {.lex_state = 1}, - [83] = {.lex_state = 1}, - [84] = {.lex_state = 1}, - [85] = {.lex_state = 2}, - [86] = {.lex_state = 1}, - [87] = {.lex_state = 2}, + [76] = {.lex_state = 3}, + [77] = {.lex_state = 3}, + [78] = {.lex_state = 3}, + [79] = {.lex_state = 3}, + [80] = {.lex_state = 3}, + [81] = {.lex_state = 3}, + [82] = {.lex_state = 2}, + [83] = {.lex_state = 2}, + [84] = {.lex_state = 2}, + [85] = {.lex_state = 1}, + [86] = {.lex_state = 2}, + [87] = {.lex_state = 1}, [88] = {.lex_state = 1}, [89] = {.lex_state = 1}, - [90] = {.lex_state = 1}, - [91] = {.lex_state = 1}, + [90] = {.lex_state = 2}, + [91] = {.lex_state = 2}, [92] = {.lex_state = 1}, - [93] = {.lex_state = 1}, - [94] = {.lex_state = 1}, + [93] = {.lex_state = 2}, + [94] = {.lex_state = 2}, [95] = {.lex_state = 1}, [96] = {.lex_state = 1}, [97] = {.lex_state = 1}, [98] = {.lex_state = 1}, [99] = {.lex_state = 1}, - [100] = {.lex_state = 1}, + [100] = {.lex_state = 10}, [101] = {.lex_state = 1}, [102] = {.lex_state = 1}, [103] = {.lex_state = 1}, [104] = {.lex_state = 1}, [105] = {.lex_state = 1}, - [106] = {.lex_state = 3}, - [107] = {.lex_state = 3}, + [106] = {.lex_state = 1}, + [107] = {.lex_state = 1}, [108] = {.lex_state = 3}, - [109] = {.lex_state = 3}, - [110] = {.lex_state = 3}, - [111] = {.lex_state = 3}, - [112] = {.lex_state = 3}, - [113] = {.lex_state = 3}, - [114] = {.lex_state = 3}, - [115] = {.lex_state = 3}, - [116] = {.lex_state = 3}, - [117] = {.lex_state = 3}, - [118] = {.lex_state = 3}, - [119] = {.lex_state = 3}, - [120] = {.lex_state = 3}, - [121] = {.lex_state = 10}, - [122] = {.lex_state = 10}, - [123] = {.lex_state = 10}, - [124] = {.lex_state = 10}, + [109] = {.lex_state = 1}, + [110] = {.lex_state = 1}, + [111] = {.lex_state = 1}, + [112] = {.lex_state = 10}, + [113] = {.lex_state = 1}, + [114] = {.lex_state = 1}, + [115] = {.lex_state = 10}, + [116] = {.lex_state = 1}, + [117] = {.lex_state = 1}, + [118] = {.lex_state = 10}, + [119] = {.lex_state = 10}, + [120] = {.lex_state = 1}, + [121] = {.lex_state = 3}, + [122] = {.lex_state = 3}, + [123] = {.lex_state = 3}, + [124] = {.lex_state = 3}, [125] = {.lex_state = 10}, - [126] = {.lex_state = 10}, - [127] = {.lex_state = 10}, - [128] = {.lex_state = 10}, - [129] = {.lex_state = 10}, - [130] = {.lex_state = 10}, - [131] = {.lex_state = 10}, - [132] = {.lex_state = 10}, - [133] = {.lex_state = 10}, - [134] = {.lex_state = 10}, - [135] = {.lex_state = 10}, - [136] = {.lex_state = 10}, - [137] = {.lex_state = 4}, - [138] = {.lex_state = 4}, - [139] = {.lex_state = 4}, - [140] = {.lex_state = 4}, - [141] = {.lex_state = 4}, - [142] = {.lex_state = 1}, - [143] = {.lex_state = 1}, - [144] = {.lex_state = 0}, - [145] = {.lex_state = 0}, - [146] = {.lex_state = 0}, - [147] = {.lex_state = 1}, - [148] = {.lex_state = 1}, - [149] = {.lex_state = 0}, - [150] = {.lex_state = 0}, - [151] = {.lex_state = 0}, - [152] = {.lex_state = 0}, - [153] = {.lex_state = 0}, - [154] = {.lex_state = 1}, - [155] = {.lex_state = 0}, - [156] = {.lex_state = 0}, - [157] = {.lex_state = 0}, + [126] = {.lex_state = 3}, + [127] = {.lex_state = 3}, + [128] = {.lex_state = 3}, + [129] = {.lex_state = 3}, + [130] = {.lex_state = 3}, + [131] = {.lex_state = 3}, + [132] = {.lex_state = 3}, + [133] = {.lex_state = 3}, + [134] = {.lex_state = 3}, + [135] = {.lex_state = 3}, + [136] = {.lex_state = 3}, + [137] = {.lex_state = 3}, + [138] = {.lex_state = 3}, + [139] = {.lex_state = 3}, + [140] = {.lex_state = 3}, + [141] = {.lex_state = 3}, + [142] = {.lex_state = 3}, + [143] = {.lex_state = 10}, + [144] = {.lex_state = 10}, + [145] = {.lex_state = 10}, + [146] = {.lex_state = 10}, + [147] = {.lex_state = 10}, + [148] = {.lex_state = 10}, + [149] = {.lex_state = 10}, + [150] = {.lex_state = 10}, + [151] = {.lex_state = 10}, + [152] = {.lex_state = 10}, + [153] = {.lex_state = 4}, + [154] = {.lex_state = 4}, + [155] = {.lex_state = 4}, + [156] = {.lex_state = 4}, + [157] = {.lex_state = 4}, [158] = {.lex_state = 1}, - [159] = {.lex_state = 0}, - [160] = {.lex_state = 0}, - [161] = {.lex_state = 0}, + [159] = {.lex_state = 1}, + [160] = {.lex_state = 1}, + [161] = {.lex_state = 1}, [162] = {.lex_state = 0}, - [163] = {.lex_state = 0}, - [164] = {.lex_state = 0}, + [163] = {.lex_state = 1}, + [164] = {.lex_state = 1}, [165] = {.lex_state = 0}, [166] = {.lex_state = 0}, [167] = {.lex_state = 0}, [168] = {.lex_state = 0}, [169] = {.lex_state = 0}, + [170] = {.lex_state = 0}, + [171] = {.lex_state = 0}, + [172] = {.lex_state = 0}, + [173] = {.lex_state = 0}, + [174] = {.lex_state = 0}, + [175] = {.lex_state = 1}, + [176] = {.lex_state = 0}, + [177] = {.lex_state = 0}, + [178] = {.lex_state = 0}, + [179] = {.lex_state = 0}, + [180] = {.lex_state = 1}, + [181] = {.lex_state = 0}, + [182] = {.lex_state = 0}, + [183] = {.lex_state = 0}, + [184] = {.lex_state = 0}, + [185] = {.lex_state = 0}, + [186] = {.lex_state = 0}, + [187] = {.lex_state = 0}, + [188] = {.lex_state = 0}, + [189] = {.lex_state = 0}, + [190] = {.lex_state = 0}, + [191] = {.lex_state = 0}, + [192] = {.lex_state = 0}, + [193] = {.lex_state = 0}, + [194] = {.lex_state = 0}, + [195] = {.lex_state = 0}, + [196] = {.lex_state = 0}, + [197] = {.lex_state = 0}, + [198] = {.lex_state = 0}, + [199] = {.lex_state = 0}, + [200] = {.lex_state = 0}, + [201] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1272,6 +1473,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_RBRACK] = ACTIONS(1), [anon_sym_DOT] = ACTIONS(1), [anon_sym_EQ] = ACTIONS(1), + [anon_sym_while] = ACTIONS(1), + [anon_sym_for] = ACTIONS(1), + [anon_sym_SEMI] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), @@ -1279,6 +1483,8 @@ 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), + [sym_continue] = ACTIONS(1), + [sym_break] = ACTIONS(1), [sym_integer] = ACTIONS(1), [sym_float] = ACTIONS(1), [sym_true] = ACTIONS(1), @@ -1286,19 +1492,21 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_null] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(164), - [sym__rules] = STATE(158), - [sym__expression] = STATE(92), - [sym_prefix_expression] = STATE(92), - [sym_infix_expression] = STATE(92), - [sym__grouped_expression] = STATE(92), - [sym_if_expression] = STATE(92), - [sym_index] = STATE(79), - [sym_assignment] = STATE(158), - [sym_array] = STATE(79), - [sym_dictionary] = STATE(92), - [sym_string] = STATE(92), - [aux_sym_source_file_repeat1] = STATE(4), + [sym_source_file] = STATE(191), + [sym__rules] = STATE(180), + [sym__expression] = STATE(102), + [sym_prefix_expression] = STATE(102), + [sym_infix_expression] = STATE(102), + [sym__grouped_expression] = STATE(102), + [sym_if_expression] = STATE(102), + [sym_index] = STATE(87), + [sym_assignment] = STATE(180), + [sym_while_loop] = STATE(180), + [sym_for_loop] = STATE(180), + [sym_array] = STATE(87), + [sym_dictionary] = STATE(102), + [sym_string] = STATE(102), + [aux_sym_source_file_repeat1] = STATE(5), [ts_builtin_sym_end] = ACTIONS(3), [sym_identifier] = ACTIONS(5), [anon_sym_BANG] = ACTIONS(7), @@ -1306,18 +1514,22 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LPAREN] = ACTIONS(9), [anon_sym_if] = ACTIONS(11), [anon_sym_LBRACK] = ACTIONS(13), - [anon_sym_LBRACE] = ACTIONS(15), - [anon_sym_DQUOTE] = ACTIONS(17), - [sym_integer] = ACTIONS(19), - [sym_float] = ACTIONS(21), - [sym_true] = ACTIONS(19), - [sym_false] = ACTIONS(19), - [sym_null] = ACTIONS(19), + [anon_sym_while] = ACTIONS(15), + [anon_sym_for] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(19), + [anon_sym_DQUOTE] = ACTIONS(21), + [sym_continue] = ACTIONS(23), + [sym_break] = ACTIONS(23), + [sym_integer] = ACTIONS(25), + [sym_float] = ACTIONS(27), + [sym_true] = ACTIONS(25), + [sym_false] = ACTIONS(25), + [sym_null] = ACTIONS(25), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 14, + [0] = 17, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -1327,30 +1539,89 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(13), 1, anon_sym_LBRACK, ACTIONS(15), 1, - anon_sym_LBRACE, + anon_sym_while, ACTIONS(17), 1, - anon_sym_DQUOTE, + anon_sym_for, + ACTIONS(19), 1, + anon_sym_LBRACE, ACTIONS(21), 1, + anon_sym_DQUOTE, + ACTIONS(27), 1, sym_float, - ACTIONS(23), 1, + ACTIONS(29), 1, anon_sym_RBRACE, - STATE(7), 1, + STATE(6), 1, aux_sym_source_file_repeat1, ACTIONS(7), 2, anon_sym_BANG, anon_sym_DASH, - STATE(79), 2, + ACTIONS(31), 2, + sym_continue, + sym_break, + STATE(87), 2, sym_index, sym_array, - STATE(142), 2, + ACTIONS(25), 4, + sym_integer, + sym_true, + sym_false, + sym_null, + STATE(163), 4, sym__rules, sym_assignment, - ACTIONS(19), 4, + sym_while_loop, + sym_for_loop, + STATE(102), 7, + sym__expression, + sym_prefix_expression, + sym_infix_expression, + sym__grouped_expression, + sym_if_expression, + sym_dictionary, + sym_string, + [67] = 17, + ACTIONS(5), 1, + sym_identifier, + ACTIONS(9), 1, + anon_sym_LPAREN, + ACTIONS(11), 1, + anon_sym_if, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_while, + ACTIONS(17), 1, + anon_sym_for, + ACTIONS(19), 1, + anon_sym_LBRACE, + ACTIONS(21), 1, + anon_sym_DQUOTE, + ACTIONS(27), 1, + sym_float, + ACTIONS(33), 1, + anon_sym_RBRACE, + STATE(8), 1, + aux_sym_source_file_repeat1, + ACTIONS(7), 2, + anon_sym_BANG, + anon_sym_DASH, + ACTIONS(35), 2, + sym_continue, + sym_break, + STATE(87), 2, + sym_index, + sym_array, + ACTIONS(25), 4, sym_integer, sym_true, sym_false, sym_null, - STATE(92), 7, + STATE(159), 4, + sym__rules, + sym_assignment, + sym_while_loop, + sym_for_loop, + STATE(102), 7, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -1358,40 +1629,49 @@ static const uint16_t ts_small_parse_table[] = { sym_if_expression, sym_dictionary, sym_string, - [55] = 14, - ACTIONS(25), 1, + [134] = 17, + ACTIONS(37), 1, ts_builtin_sym_end, - ACTIONS(27), 1, + ACTIONS(39), 1, sym_identifier, - ACTIONS(33), 1, + ACTIONS(45), 1, anon_sym_LPAREN, - ACTIONS(36), 1, + ACTIONS(48), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(51), 1, anon_sym_LBRACK, - ACTIONS(42), 1, + ACTIONS(54), 1, + anon_sym_while, + ACTIONS(57), 1, + anon_sym_for, + ACTIONS(60), 1, anon_sym_LBRACE, - ACTIONS(45), 1, + ACTIONS(63), 1, anon_sym_DQUOTE, - ACTIONS(51), 1, + ACTIONS(72), 1, sym_float, - STATE(3), 1, + STATE(4), 1, aux_sym_source_file_repeat1, - ACTIONS(30), 2, + ACTIONS(42), 2, anon_sym_BANG, anon_sym_DASH, - STATE(79), 2, + ACTIONS(66), 2, + sym_continue, + sym_break, + STATE(87), 2, sym_index, sym_array, - STATE(158), 2, - sym__rules, - sym_assignment, - ACTIONS(48), 4, + ACTIONS(69), 4, sym_integer, sym_true, sym_false, sym_null, - STATE(92), 7, + STATE(180), 4, + sym__rules, + sym_assignment, + sym_while_loop, + sym_for_loop, + STATE(102), 7, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -1399,7 +1679,7 @@ static const uint16_t ts_small_parse_table[] = { sym_if_expression, sym_dictionary, sym_string, - [110] = 14, + [201] = 17, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -1409,30 +1689,39 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(13), 1, anon_sym_LBRACK, ACTIONS(15), 1, - anon_sym_LBRACE, + anon_sym_while, ACTIONS(17), 1, - anon_sym_DQUOTE, + anon_sym_for, + ACTIONS(19), 1, + anon_sym_LBRACE, ACTIONS(21), 1, + anon_sym_DQUOTE, + ACTIONS(27), 1, sym_float, - ACTIONS(54), 1, + ACTIONS(75), 1, ts_builtin_sym_end, - STATE(3), 1, + STATE(4), 1, aux_sym_source_file_repeat1, ACTIONS(7), 2, anon_sym_BANG, anon_sym_DASH, - STATE(79), 2, + ACTIONS(23), 2, + sym_continue, + sym_break, + STATE(87), 2, sym_index, sym_array, - STATE(158), 2, - sym__rules, - sym_assignment, - ACTIONS(19), 4, + ACTIONS(25), 4, sym_integer, sym_true, sym_false, sym_null, - STATE(92), 7, + STATE(180), 4, + sym__rules, + sym_assignment, + sym_while_loop, + sym_for_loop, + STATE(102), 7, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -1440,7 +1729,7 @@ static const uint16_t ts_small_parse_table[] = { sym_if_expression, sym_dictionary, sym_string, - [165] = 14, + [268] = 16, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -1450,30 +1739,37 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(13), 1, anon_sym_LBRACK, ACTIONS(15), 1, - anon_sym_LBRACE, + anon_sym_while, ACTIONS(17), 1, - anon_sym_DQUOTE, + anon_sym_for, + ACTIONS(19), 1, + anon_sym_LBRACE, ACTIONS(21), 1, + anon_sym_DQUOTE, + ACTIONS(27), 1, sym_float, - ACTIONS(56), 1, - anon_sym_RBRACE, - STATE(10), 1, + STATE(7), 1, aux_sym_source_file_repeat1, ACTIONS(7), 2, anon_sym_BANG, anon_sym_DASH, - STATE(79), 2, + ACTIONS(77), 2, + sym_continue, + sym_break, + STATE(87), 2, sym_index, sym_array, - STATE(148), 2, - sym__rules, - sym_assignment, - ACTIONS(19), 4, + ACTIONS(25), 4, sym_integer, sym_true, sym_false, sym_null, - STATE(92), 7, + STATE(161), 4, + sym__rules, + sym_assignment, + sym_while_loop, + sym_for_loop, + STATE(102), 7, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -1481,45 +1777,55 @@ static const uint16_t ts_small_parse_table[] = { sym_if_expression, sym_dictionary, sym_string, - [220] = 12, - ACTIONS(62), 1, + [332] = 16, + ACTIONS(39), 1, + sym_identifier, + ACTIONS(45), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(48), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(51), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(54), 1, + anon_sym_while, + ACTIONS(57), 1, + anon_sym_for, + ACTIONS(60), 1, anon_sym_LBRACE, - ACTIONS(70), 1, - anon_sym_RBRACE, - ACTIONS(72), 1, + ACTIONS(63), 1, anon_sym_DQUOTE, - ACTIONS(74), 1, + ACTIONS(72), 1, sym_float, - STATE(13), 1, - aux_sym_dictionary_repeat1, - STATE(153), 1, - sym_dictionary_pair, - ACTIONS(60), 2, + STATE(7), 1, + aux_sym_source_file_repeat1, + ACTIONS(42), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(58), 5, - sym_identifier, + ACTIONS(79), 2, + sym_continue, + sym_break, + STATE(87), 2, + sym_index, + sym_array, + ACTIONS(69), 4, sym_integer, sym_true, sym_false, sym_null, - STATE(115), 9, + STATE(175), 4, + sym__rules, + sym_assignment, + sym_while_loop, + sym_for_loop, + STATE(102), 7, sym__expression, sym_prefix_expression, sym_infix_expression, sym__grouped_expression, sym_if_expression, - sym_index, - sym_array, sym_dictionary, sym_string, - [270] = 13, + [396] = 16, ACTIONS(5), 1, sym_identifier, ACTIONS(9), 1, @@ -1529,28 +1835,37 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(13), 1, anon_sym_LBRACK, ACTIONS(15), 1, - anon_sym_LBRACE, + anon_sym_while, ACTIONS(17), 1, - anon_sym_DQUOTE, + anon_sym_for, + ACTIONS(19), 1, + anon_sym_LBRACE, ACTIONS(21), 1, + anon_sym_DQUOTE, + ACTIONS(27), 1, sym_float, - STATE(9), 1, + STATE(7), 1, aux_sym_source_file_repeat1, ACTIONS(7), 2, anon_sym_BANG, anon_sym_DASH, - STATE(79), 2, + ACTIONS(82), 2, + sym_continue, + sym_break, + STATE(87), 2, sym_index, sym_array, - STATE(147), 2, - sym__rules, - sym_assignment, - ACTIONS(19), 4, + ACTIONS(25), 4, sym_integer, sym_true, sym_false, sym_null, - STATE(92), 7, + STATE(158), 4, + sym__rules, + sym_assignment, + sym_while_loop, + sym_for_loop, + STATE(102), 7, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -1558,76 +1873,91 @@ static const uint16_t ts_small_parse_table[] = { sym_if_expression, sym_dictionary, sym_string, - [322] = 12, - ACTIONS(62), 1, + [460] = 15, + ACTIONS(84), 1, + sym_identifier, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(94), 1, + anon_sym_while, + ACTIONS(96), 1, + anon_sym_for, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(74), 1, + ACTIONS(106), 1, sym_float, - ACTIONS(76), 1, - anon_sym_RBRACE, - STATE(15), 1, - aux_sym_dictionary_repeat1, - STATE(150), 1, - sym_dictionary_pair, - ACTIONS(60), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(58), 5, - sym_identifier, + ACTIONS(102), 2, + sym_continue, + sym_break, + STATE(108), 2, + sym_index, + sym_array, + ACTIONS(104), 4, sym_integer, sym_true, sym_false, sym_null, - STATE(115), 9, + STATE(185), 4, + sym__rules, + sym_assignment, + sym_while_loop, + sym_for_loop, + STATE(126), 7, sym__expression, sym_prefix_expression, sym_infix_expression, sym__grouped_expression, sym_if_expression, - sym_index, - sym_array, sym_dictionary, sym_string, - [372] = 13, - ACTIONS(27), 1, + [521] = 15, + ACTIONS(84), 1, sym_identifier, - ACTIONS(33), 1, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(36), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(39), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(42), 1, + ACTIONS(94), 1, + anon_sym_while, + ACTIONS(96), 1, + anon_sym_for, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(45), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(51), 1, + ACTIONS(106), 1, sym_float, - STATE(9), 1, - aux_sym_source_file_repeat1, - ACTIONS(30), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - STATE(79), 2, + ACTIONS(108), 2, + sym_continue, + sym_break, + STATE(108), 2, sym_index, sym_array, - STATE(154), 2, - sym__rules, - sym_assignment, - ACTIONS(48), 4, + ACTIONS(104), 4, sym_integer, sym_true, sym_false, sym_null, - STATE(92), 7, + STATE(190), 4, + sym__rules, + sym_assignment, + sym_while_loop, + sym_for_loop, + STATE(126), 7, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -1635,108 +1965,127 @@ static const uint16_t ts_small_parse_table[] = { sym_if_expression, sym_dictionary, sym_string, - [424] = 13, - ACTIONS(5), 1, + [582] = 15, + ACTIONS(84), 1, sym_identifier, - ACTIONS(9), 1, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(11), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(13), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(15), 1, + ACTIONS(94), 1, + anon_sym_while, + ACTIONS(96), 1, + anon_sym_for, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(17), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(21), 1, + ACTIONS(106), 1, sym_float, - STATE(9), 1, - aux_sym_source_file_repeat1, - ACTIONS(7), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - STATE(79), 2, + ACTIONS(110), 2, + sym_continue, + sym_break, + STATE(108), 2, sym_index, sym_array, - STATE(143), 2, - sym__rules, - sym_assignment, - ACTIONS(19), 4, + ACTIONS(104), 4, sym_integer, sym_true, sym_false, sym_null, - STATE(92), 7, - sym__expression, + STATE(199), 4, + sym__rules, + sym_assignment, + sym_while_loop, + sym_for_loop, + STATE(126), 7, + sym__expression, sym_prefix_expression, sym_infix_expression, sym__grouped_expression, sym_if_expression, sym_dictionary, sym_string, - [476] = 11, - ACTIONS(62), 1, + [643] = 15, + ACTIONS(84), 1, + sym_identifier, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(94), 1, + anon_sym_while, + ACTIONS(96), 1, + anon_sym_for, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(80), 1, - anon_sym_RBRACK, - ACTIONS(82), 1, + ACTIONS(106), 1, sym_float, - STATE(17), 1, - aux_sym_array_repeat1, - ACTIONS(60), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(78), 5, - sym_identifier, + ACTIONS(112), 2, + sym_continue, + sym_break, + STATE(108), 2, + sym_index, + sym_array, + ACTIONS(104), 4, sym_integer, sym_true, sym_false, sym_null, - STATE(108), 9, + STATE(187), 4, + sym__rules, + sym_assignment, + sym_while_loop, + sym_for_loop, + STATE(126), 7, sym__expression, sym_prefix_expression, sym_infix_expression, sym__grouped_expression, sym_if_expression, - sym_index, - sym_array, sym_dictionary, sym_string, - [523] = 11, - ACTIONS(62), 1, + [704] = 12, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(86), 1, - anon_sym_RBRACK, - ACTIONS(88), 1, + ACTIONS(116), 1, + anon_sym_RBRACE, + ACTIONS(118), 1, sym_float, STATE(16), 1, - aux_sym_array_repeat1, - ACTIONS(60), 2, + aux_sym_dictionary_repeat1, + STATE(179), 1, + sym_dictionary_pair, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(84), 5, + ACTIONS(114), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(110), 9, + STATE(131), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -1746,33 +2095,35 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [570] = 11, - ACTIONS(62), 1, + [754] = 12, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(74), 1, + ACTIONS(118), 1, sym_float, - STATE(14), 1, + ACTIONS(120), 1, + anon_sym_RBRACE, + STATE(19), 1, aux_sym_dictionary_repeat1, - STATE(151), 1, + STATE(173), 1, sym_dictionary_pair, - ACTIONS(60), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(58), 5, + ACTIONS(114), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(115), 9, + STATE(131), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -1782,33 +2133,33 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [617] = 11, - ACTIONS(96), 1, + [804] = 11, + ACTIONS(128), 1, anon_sym_LPAREN, - ACTIONS(99), 1, + ACTIONS(131), 1, anon_sym_if, - ACTIONS(102), 1, + ACTIONS(134), 1, anon_sym_LBRACK, - ACTIONS(105), 1, + ACTIONS(137), 1, anon_sym_LBRACE, - ACTIONS(108), 1, + ACTIONS(140), 1, anon_sym_DQUOTE, - ACTIONS(111), 1, + ACTIONS(143), 1, sym_float, - STATE(14), 1, + STATE(15), 1, aux_sym_dictionary_repeat1, - STATE(162), 1, + STATE(192), 1, sym_dictionary_pair, - ACTIONS(93), 2, + ACTIONS(125), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(90), 5, + ACTIONS(122), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(115), 9, + STATE(131), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -1818,33 +2169,33 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [664] = 11, - ACTIONS(62), 1, + [851] = 11, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(74), 1, + ACTIONS(118), 1, sym_float, - STATE(14), 1, + STATE(15), 1, aux_sym_dictionary_repeat1, - STATE(157), 1, + STATE(181), 1, sym_dictionary_pair, - ACTIONS(60), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(58), 5, + ACTIONS(114), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(115), 9, + STATE(131), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -1854,31 +2205,33 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [711] = 10, - ACTIONS(62), 1, + [898] = 11, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(116), 1, + ACTIONS(148), 1, + anon_sym_RBRACK, + ACTIONS(150), 1, sym_float, - STATE(18), 1, + STATE(22), 1, aux_sym_array_repeat1, - ACTIONS(60), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(114), 5, + ACTIONS(146), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(109), 9, + STATE(123), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -1888,31 +2241,33 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [755] = 10, - ACTIONS(62), 1, + [945] = 11, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(120), 1, + ACTIONS(154), 1, + anon_sym_RBRACK, + ACTIONS(156), 1, sym_float, - STATE(18), 1, + STATE(23), 1, aux_sym_array_repeat1, - ACTIONS(60), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(118), 5, + ACTIONS(152), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(107), 9, + STATE(121), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -1922,31 +2277,33 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [799] = 10, - ACTIONS(128), 1, + [992] = 11, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(131), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(134), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(137), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(140), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(143), 1, + ACTIONS(118), 1, sym_float, - STATE(18), 1, - aux_sym_array_repeat1, - ACTIONS(125), 2, + STATE(15), 1, + aux_sym_dictionary_repeat1, + STATE(170), 1, + sym_dictionary_pair, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(122), 5, + ACTIONS(114), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(113), 9, + STATE(131), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -1956,29 +2313,87 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [843] = 9, - ACTIONS(9), 1, + [1039] = 4, + ACTIONS(162), 1, + anon_sym_else, + STATE(20), 1, + aux_sym_if_expression_repeat1, + ACTIONS(160), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(158), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON, + [1071] = 4, + ACTIONS(169), 1, + anon_sym_else, + STATE(20), 1, + aux_sym_if_expression_repeat1, + ACTIONS(167), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(165), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON, + [1103] = 10, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(11), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(13), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(15), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(17), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(148), 1, + ACTIONS(173), 1, sym_float, - ACTIONS(7), 2, + STATE(24), 1, + aux_sym_array_repeat1, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(146), 5, + ACTIONS(171), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(101), 9, + STATE(128), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -1988,29 +2403,31 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [884] = 9, - ACTIONS(62), 1, + [1147] = 10, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(152), 1, + ACTIONS(177), 1, sym_float, - ACTIONS(60), 2, + STATE(24), 1, + aux_sym_array_repeat1, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(150), 5, + ACTIONS(175), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(118), 9, + STATE(122), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2020,29 +2437,31 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [925] = 9, - ACTIONS(62), 1, + [1191] = 10, + ACTIONS(185), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(188), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(191), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(194), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(197), 1, anon_sym_DQUOTE, - ACTIONS(156), 1, + ACTIONS(200), 1, sym_float, - ACTIONS(60), 2, + STATE(24), 1, + aux_sym_array_repeat1, + ACTIONS(182), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(154), 5, + ACTIONS(179), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(60), 9, + STATE(137), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2052,69 +2471,15 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [966] = 4, - ACTIONS(162), 1, - anon_sym_else, - STATE(22), 1, - aux_sym_if_expression_repeat1, - ACTIONS(160), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(158), 18, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_COLON, - [997] = 4, - ACTIONS(169), 1, - anon_sym_else, - STATE(22), 1, - aux_sym_if_expression_repeat1, - ACTIONS(167), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(165), 18, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_COLON, - [1028] = 4, - ACTIONS(175), 1, + [1235] = 4, + ACTIONS(207), 1, anon_sym_else, - STATE(23), 1, + STATE(21), 1, aux_sym_if_expression_repeat1, - ACTIONS(173), 2, + ACTIONS(205), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(171), 18, + ACTIONS(203), 19, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -2130,32 +2495,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [1059] = 9, - ACTIONS(9), 1, + [1267] = 9, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(11), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(13), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(15), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(17), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(179), 1, + ACTIONS(211), 1, sym_float, - ACTIONS(7), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(177), 5, + ACTIONS(209), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(94), 9, + STATE(124), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2165,29 +2531,29 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1100] = 9, - ACTIONS(9), 1, + [1308] = 9, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(11), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(13), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(15), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(17), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(183), 1, + ACTIONS(215), 1, sym_float, - ACTIONS(7), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(181), 5, + ACTIONS(213), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(97), 9, + STATE(129), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2197,29 +2563,29 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1141] = 9, - ACTIONS(9), 1, + [1349] = 9, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(11), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(13), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(15), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(17), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(187), 1, + ACTIONS(219), 1, sym_float, - ACTIONS(7), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(185), 5, + ACTIONS(217), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(95), 9, + STATE(142), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2229,29 +2595,29 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1182] = 9, - ACTIONS(9), 1, + [1390] = 9, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(11), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(13), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(15), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(17), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(191), 1, + ACTIONS(223), 1, sym_float, - ACTIONS(7), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(189), 5, + ACTIONS(221), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(98), 9, + STATE(135), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2261,29 +2627,29 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1223] = 9, - ACTIONS(9), 1, + [1431] = 9, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(11), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(13), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(15), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(17), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(195), 1, + ACTIONS(227), 1, sym_float, - ACTIONS(7), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(193), 5, + ACTIONS(225), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(105), 9, + STATE(140), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2293,29 +2659,29 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1264] = 9, - ACTIONS(62), 1, + [1472] = 9, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(199), 1, + ACTIONS(231), 1, sym_float, - ACTIONS(60), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(197), 5, + ACTIONS(229), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(120), 9, + STATE(141), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2325,29 +2691,29 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1305] = 9, - ACTIONS(62), 1, + [1513] = 9, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(203), 1, + ACTIONS(235), 1, sym_float, - ACTIONS(60), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(201), 5, + ACTIONS(233), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(114), 9, + STATE(71), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2357,29 +2723,29 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1346] = 9, - ACTIONS(62), 1, + [1554] = 9, + ACTIONS(9), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(11), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(13), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(19), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(21), 1, anon_sym_DQUOTE, - ACTIONS(207), 1, + ACTIONS(239), 1, sym_float, - ACTIONS(60), 2, + ACTIONS(7), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(205), 5, + ACTIONS(237), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(117), 9, + STATE(103), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2389,29 +2755,54 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1387] = 9, + [1595] = 2, + ACTIONS(243), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(241), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RPAREN, + anon_sym_else, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON, + [1622] = 9, ACTIONS(9), 1, anon_sym_LPAREN, ACTIONS(11), 1, anon_sym_if, ACTIONS(13), 1, anon_sym_LBRACK, - ACTIONS(15), 1, + ACTIONS(19), 1, anon_sym_LBRACE, - ACTIONS(17), 1, + ACTIONS(21), 1, anon_sym_DQUOTE, - ACTIONS(211), 1, + ACTIONS(247), 1, sym_float, ACTIONS(7), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(209), 5, + ACTIONS(245), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(103), 9, + STATE(104), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2421,29 +2812,29 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1428] = 9, - ACTIONS(62), 1, + [1663] = 9, + ACTIONS(9), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(11), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(13), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(19), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(21), 1, anon_sym_DQUOTE, - ACTIONS(215), 1, + ACTIONS(251), 1, sym_float, - ACTIONS(60), 2, + ACTIONS(7), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(213), 5, + ACTIONS(249), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(56), 9, + STATE(106), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2453,29 +2844,29 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1469] = 9, - ACTIONS(62), 1, + [1704] = 9, + ACTIONS(9), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(11), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(13), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(19), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(21), 1, anon_sym_DQUOTE, - ACTIONS(219), 1, + ACTIONS(255), 1, sym_float, - ACTIONS(60), 2, + ACTIONS(7), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(217), 5, + ACTIONS(253), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(112), 9, + STATE(109), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2485,29 +2876,29 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1510] = 9, - ACTIONS(62), 1, + [1745] = 9, + ACTIONS(9), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(11), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(13), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(19), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(21), 1, anon_sym_DQUOTE, - ACTIONS(223), 1, + ACTIONS(259), 1, sym_float, - ACTIONS(60), 2, + ACTIONS(7), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(221), 5, + ACTIONS(257), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(55), 9, + STATE(110), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2517,29 +2908,29 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1551] = 9, - ACTIONS(62), 1, + [1786] = 9, + ACTIONS(9), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(11), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(13), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(19), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(21), 1, anon_sym_DQUOTE, - ACTIONS(227), 1, + ACTIONS(263), 1, sym_float, - ACTIONS(60), 2, + ACTIONS(7), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(225), 5, + ACTIONS(261), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(51), 9, + STATE(98), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2549,29 +2940,29 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1592] = 9, - ACTIONS(62), 1, + [1827] = 9, + ACTIONS(9), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(11), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(13), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(19), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(21), 1, anon_sym_DQUOTE, - ACTIONS(231), 1, + ACTIONS(267), 1, sym_float, - ACTIONS(60), 2, + ACTIONS(7), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(229), 5, + ACTIONS(265), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(54), 9, + STATE(113), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2581,29 +2972,29 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1633] = 9, - ACTIONS(62), 1, + [1868] = 9, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(235), 1, + ACTIONS(271), 1, sym_float, - ACTIONS(60), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(233), 5, + ACTIONS(269), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(70), 9, + STATE(130), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2613,29 +3004,54 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1674] = 9, - ACTIONS(62), 1, + [1909] = 2, + ACTIONS(275), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(273), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RPAREN, + anon_sym_else, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON, + [1936] = 9, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(239), 1, + ACTIONS(279), 1, sym_float, - ACTIONS(60), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(237), 5, + ACTIONS(277), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(68), 9, + STATE(138), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2645,29 +3061,54 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1715] = 9, - ACTIONS(62), 1, + [1977] = 2, + ACTIONS(283), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(281), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RPAREN, + anon_sym_else, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON, + [2004] = 9, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(243), 1, + ACTIONS(287), 1, sym_float, - ACTIONS(60), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(241), 5, + ACTIONS(285), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(111), 9, + STATE(77), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2677,29 +3118,79 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1756] = 9, - ACTIONS(62), 1, + [2045] = 2, + ACTIONS(291), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_EQ, + ACTIONS(289), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON, + [2072] = 2, + ACTIONS(295), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(293), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RPAREN, + anon_sym_else, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON, + [2099] = 9, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(247), 1, + ACTIONS(299), 1, sym_float, - ACTIONS(60), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(245), 5, + ACTIONS(297), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(106), 9, + STATE(139), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2709,29 +3200,54 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1797] = 9, - ACTIONS(9), 1, + [2140] = 2, + ACTIONS(303), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(301), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RPAREN, + anon_sym_else, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON, + [2167] = 9, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(11), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(13), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(15), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(17), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(251), 1, + ACTIONS(307), 1, sym_float, - ACTIONS(7), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(249), 5, + ACTIONS(305), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(88), 9, + STATE(136), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2741,29 +3257,54 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1838] = 9, - ACTIONS(62), 1, + [2208] = 2, + ACTIONS(311), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_EQ, + ACTIONS(309), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON, + [2235] = 9, + ACTIONS(9), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(11), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(13), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(19), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(21), 1, anon_sym_DQUOTE, - ACTIONS(255), 1, + ACTIONS(315), 1, sym_float, - ACTIONS(60), 2, + ACTIONS(7), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(253), 5, + ACTIONS(313), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(119), 9, + STATE(105), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2773,29 +3314,29 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1879] = 9, - ACTIONS(62), 1, + [2276] = 9, + ACTIONS(88), 1, anon_sym_LPAREN, - ACTIONS(64), 1, + ACTIONS(90), 1, anon_sym_if, - ACTIONS(66), 1, + ACTIONS(92), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(98), 1, anon_sym_LBRACE, - ACTIONS(72), 1, + ACTIONS(100), 1, anon_sym_DQUOTE, - ACTIONS(259), 1, + ACTIONS(319), 1, sym_float, - ACTIONS(60), 2, + ACTIONS(86), 2, anon_sym_BANG, anon_sym_DASH, - ACTIONS(257), 5, + ACTIONS(317), 5, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - STATE(116), 9, + STATE(132), 9, sym__expression, sym_prefix_expression, sym_infix_expression, @@ -2805,11 +3346,12 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_dictionary, sym_string, - [1920] = 2, - ACTIONS(263), 2, + [2317] = 2, + ACTIONS(323), 3, anon_sym_LT, anon_sym_GT, - ACTIONS(261), 19, + anon_sym_EQ, + ACTIONS(321), 19, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -2822,18 +3364,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_RPAREN, - anon_sym_else, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [1946] = 2, - ACTIONS(267), 2, + [2344] = 9, + ACTIONS(88), 1, + anon_sym_LPAREN, + ACTIONS(90), 1, + anon_sym_if, + ACTIONS(92), 1, + anon_sym_LBRACK, + ACTIONS(98), 1, + anon_sym_LBRACE, + ACTIONS(100), 1, + anon_sym_DQUOTE, + ACTIONS(327), 1, + sym_float, + ACTIONS(86), 2, + anon_sym_BANG, + anon_sym_DASH, + ACTIONS(325), 5, + sym_identifier, + sym_integer, + sym_true, + sym_false, + sym_null, + STATE(127), 9, + sym__expression, + sym_prefix_expression, + sym_infix_expression, + sym__grouped_expression, + sym_if_expression, + sym_index, + sym_array, + sym_dictionary, + sym_string, + [2385] = 2, + ACTIONS(331), 3, anon_sym_LT, anon_sym_GT, - ACTIONS(265), 19, + anon_sym_EQ, + ACTIONS(329), 19, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -2846,18 +3421,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_RPAREN, - anon_sym_else, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [1972] = 2, - ACTIONS(271), 2, + [2412] = 2, + ACTIONS(335), 3, anon_sym_LT, anon_sym_GT, - ACTIONS(269), 19, + anon_sym_EQ, + ACTIONS(333), 19, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -2870,18 +3446,179 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_RPAREN, - anon_sym_else, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [1998] = 2, - ACTIONS(275), 2, + [2439] = 9, + ACTIONS(88), 1, + anon_sym_LPAREN, + ACTIONS(90), 1, + anon_sym_if, + ACTIONS(92), 1, + anon_sym_LBRACK, + ACTIONS(98), 1, + anon_sym_LBRACE, + ACTIONS(100), 1, + anon_sym_DQUOTE, + ACTIONS(339), 1, + sym_float, + ACTIONS(86), 2, + anon_sym_BANG, + anon_sym_DASH, + ACTIONS(337), 5, + sym_identifier, + sym_integer, + sym_true, + sym_false, + sym_null, + STATE(69), 9, + sym__expression, + sym_prefix_expression, + sym_infix_expression, + sym__grouped_expression, + sym_if_expression, + sym_index, + sym_array, + sym_dictionary, + sym_string, + [2480] = 9, + ACTIONS(88), 1, + anon_sym_LPAREN, + ACTIONS(90), 1, + anon_sym_if, + ACTIONS(92), 1, + anon_sym_LBRACK, + ACTIONS(98), 1, + anon_sym_LBRACE, + ACTIONS(100), 1, + anon_sym_DQUOTE, + ACTIONS(343), 1, + sym_float, + ACTIONS(86), 2, + anon_sym_BANG, + anon_sym_DASH, + ACTIONS(341), 5, + sym_identifier, + sym_integer, + sym_true, + sym_false, + sym_null, + STATE(78), 9, + sym__expression, + sym_prefix_expression, + sym_infix_expression, + sym__grouped_expression, + sym_if_expression, + sym_index, + sym_array, + sym_dictionary, + sym_string, + [2521] = 9, + ACTIONS(88), 1, + anon_sym_LPAREN, + ACTIONS(90), 1, + anon_sym_if, + ACTIONS(92), 1, + anon_sym_LBRACK, + ACTIONS(98), 1, + anon_sym_LBRACE, + ACTIONS(100), 1, + anon_sym_DQUOTE, + ACTIONS(347), 1, + sym_float, + ACTIONS(86), 2, + anon_sym_BANG, + anon_sym_DASH, + ACTIONS(345), 5, + sym_identifier, + sym_integer, + sym_true, + sym_false, + sym_null, + STATE(79), 9, + sym__expression, + sym_prefix_expression, + sym_infix_expression, + sym__grouped_expression, + sym_if_expression, + sym_index, + sym_array, + sym_dictionary, + sym_string, + [2562] = 9, + ACTIONS(88), 1, + anon_sym_LPAREN, + ACTIONS(90), 1, + anon_sym_if, + ACTIONS(92), 1, + anon_sym_LBRACK, + ACTIONS(98), 1, + anon_sym_LBRACE, + ACTIONS(100), 1, + anon_sym_DQUOTE, + ACTIONS(351), 1, + sym_float, + ACTIONS(86), 2, + anon_sym_BANG, + anon_sym_DASH, + ACTIONS(349), 5, + sym_identifier, + sym_integer, + sym_true, + sym_false, + sym_null, + STATE(80), 9, + sym__expression, + sym_prefix_expression, + sym_infix_expression, + sym__grouped_expression, + sym_if_expression, + sym_index, + sym_array, + sym_dictionary, + sym_string, + [2603] = 9, + ACTIONS(88), 1, + anon_sym_LPAREN, + ACTIONS(90), 1, + anon_sym_if, + ACTIONS(92), 1, + anon_sym_LBRACK, + ACTIONS(98), 1, + anon_sym_LBRACE, + ACTIONS(100), 1, + anon_sym_DQUOTE, + ACTIONS(355), 1, + sym_float, + ACTIONS(86), 2, + anon_sym_BANG, + anon_sym_DASH, + ACTIONS(353), 5, + sym_identifier, + sym_integer, + sym_true, + sym_false, + sym_null, + STATE(81), 9, + sym__expression, + sym_prefix_expression, + sym_infix_expression, + sym__grouped_expression, + sym_if_expression, + sym_index, + sym_array, + sym_dictionary, + sym_string, + [2644] = 2, + ACTIONS(359), 3, anon_sym_LT, anon_sym_GT, - ACTIONS(273), 19, + anon_sym_EQ, + ACTIONS(357), 19, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -2894,18 +3631,82 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_RPAREN, - anon_sym_else, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2024] = 2, - ACTIONS(279), 2, + [2671] = 9, + ACTIONS(88), 1, + anon_sym_LPAREN, + ACTIONS(90), 1, + anon_sym_if, + ACTIONS(92), 1, + anon_sym_LBRACK, + ACTIONS(98), 1, + anon_sym_LBRACE, + ACTIONS(100), 1, + anon_sym_DQUOTE, + ACTIONS(363), 1, + sym_float, + ACTIONS(86), 2, + anon_sym_BANG, + anon_sym_DASH, + ACTIONS(361), 5, + sym_identifier, + sym_integer, + sym_true, + sym_false, + sym_null, + STATE(133), 9, + sym__expression, + sym_prefix_expression, + sym_infix_expression, + sym__grouped_expression, + sym_if_expression, + sym_index, + sym_array, + sym_dictionary, + sym_string, + [2712] = 9, + ACTIONS(88), 1, + anon_sym_LPAREN, + ACTIONS(90), 1, + anon_sym_if, + ACTIONS(92), 1, + anon_sym_LBRACK, + ACTIONS(98), 1, + anon_sym_LBRACE, + ACTIONS(100), 1, + anon_sym_DQUOTE, + ACTIONS(367), 1, + sym_float, + ACTIONS(86), 2, + anon_sym_BANG, + anon_sym_DASH, + ACTIONS(365), 5, + sym_identifier, + sym_integer, + sym_true, + sym_false, + sym_null, + STATE(134), 9, + sym__expression, + sym_prefix_expression, + sym_infix_expression, + sym__grouped_expression, + sym_if_expression, + sym_index, + sym_array, + sym_dictionary, + sym_string, + [2753] = 2, + ACTIONS(371), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(277), 19, + ACTIONS(369), 19, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -2918,48 +3719,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_RPAREN, - anon_sym_else, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2050] = 9, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, - anon_sym_LBRACK, - ACTIONS(297), 1, - anon_sym_DOT, - ACTIONS(281), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(289), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(291), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(293), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(283), 3, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(287), 6, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_COLON, - [2089] = 2, - ACTIONS(301), 2, + [2779] = 2, + ACTIONS(375), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(299), 18, + ACTIONS(373), 19, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -2975,14 +3746,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2114] = 2, - ACTIONS(305), 2, + [2805] = 2, + ACTIONS(379), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(303), 18, + ACTIONS(377), 19, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -2998,54 +3770,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2139] = 8, - ACTIONS(295), 1, + [2831] = 5, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(281), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(385), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(293), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(287), 7, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_COLON, - [2176] = 6, - ACTIONS(295), 1, - anon_sym_LBRACK, - ACTIONS(297), 1, - anon_sym_DOT, - ACTIONS(281), 2, + ACTIONS(381), 14, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(307), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(283), 3, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(287), 11, anon_sym_AMP, anon_sym_PIPE, anon_sym_LT_EQ, @@ -3054,42 +3797,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_RPAREN, anon_sym_RBRACK, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2209] = 7, - ACTIONS(295), 1, - anon_sym_LBRACK, - ACTIONS(297), 1, - anon_sym_DOT, - ACTIONS(281), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(289), 2, + [2863] = 2, + ACTIONS(393), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(283), 3, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(287), 9, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_RPAREN, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_COLON, - [2244] = 2, - ACTIONS(311), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(309), 18, + ACTIONS(391), 19, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -3105,14 +3821,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2269] = 2, - ACTIONS(315), 2, + [2889] = 4, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(389), 1, + anon_sym_DOT, + ACTIONS(397), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(313), 18, + ACTIONS(395), 17, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -3125,17 +3846,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_RPAREN, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2294] = 2, - ACTIONS(319), 2, + [2919] = 2, + ACTIONS(401), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(317), 18, + ACTIONS(399), 19, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -3151,18 +3871,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2319] = 4, - ACTIONS(295), 1, - anon_sym_LBRACK, - ACTIONS(297), 1, - anon_sym_DOT, - ACTIONS(323), 2, + [2945] = 2, + ACTIONS(405), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(321), 16, + ACTIONS(403), 19, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -3175,15 +3892,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_RPAREN, + anon_sym_LBRACK, anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2348] = 2, - ACTIONS(327), 2, + [2971] = 2, + ACTIONS(409), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(325), 18, + ACTIONS(407), 19, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -3199,14 +3919,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2373] = 2, - ACTIONS(331), 2, + [2997] = 2, + ACTIONS(413), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(329), 18, + ACTIONS(411), 19, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -3222,14 +3943,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2398] = 2, - ACTIONS(335), 2, + [3023] = 2, + ACTIONS(417), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(333), 18, + ACTIONS(415), 19, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -3245,37 +3967,48 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2423] = 2, - ACTIONS(339), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(337), 18, + [3049] = 7, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(389), 1, + anon_sym_DOT, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, + ACTIONS(421), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(423), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(381), 10, anon_sym_AMP, anon_sym_PIPE, - anon_sym_LT_EQ, - anon_sym_GT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_RPAREN, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2448] = 2, - ACTIONS(343), 2, + [3085] = 4, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(389), 1, + anon_sym_DOT, + ACTIONS(385), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(341), 18, + ACTIONS(381), 17, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -3288,146 +4021,88 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_RPAREN, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2473] = 4, - ACTIONS(158), 1, - anon_sym_LF, - ACTIONS(345), 1, - anon_sym_else, - STATE(66), 1, - aux_sym_if_expression_repeat1, - ACTIONS(160), 17, - anon_sym_NULL, + [3115] = 8, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(389), 1, + anon_sym_DOT, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_AMP, - anon_sym_PIPE, + ACTIONS(421), 2, anon_sym_LT, - anon_sym_LT_EQ, anon_sym_GT, + ACTIONS(423), 2, + anon_sym_LT_EQ, anon_sym_GT_EQ, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_RBRACE, - [2502] = 2, - ACTIONS(350), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(348), 18, - anon_sym_DASH, - anon_sym_PLUS, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(381), 8, anon_sym_AMP, anon_sym_PIPE, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_RPAREN, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2527] = 5, - ACTIONS(295), 1, + [3153] = 9, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(307), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(283), 3, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(287), 13, - anon_sym_DASH, - anon_sym_PLUS, + ACTIONS(427), 1, anon_sym_AMP, - anon_sym_PIPE, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_RPAREN, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_COLON, - [2558] = 4, - ACTIONS(171), 1, - anon_sym_LF, - ACTIONS(352), 1, - anon_sym_else, - STATE(72), 1, - aux_sym_if_expression_repeat1, - ACTIONS(173), 17, - anon_sym_NULL, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_AMP, - anon_sym_PIPE, + ACTIONS(421), 2, anon_sym_LT, - anon_sym_LT_EQ, anon_sym_GT, + ACTIONS(423), 2, + anon_sym_LT_EQ, anon_sym_GT_EQ, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_RBRACE, - [2587] = 4, - ACTIONS(295), 1, - anon_sym_LBRACK, - ACTIONS(297), 1, - anon_sym_DOT, - ACTIONS(307), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(287), 16, - anon_sym_DASH, - anon_sym_PLUS, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - anon_sym_AMP, + ACTIONS(381), 7, anon_sym_PIPE, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_RPAREN, anon_sym_RBRACK, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2616] = 2, - ACTIONS(356), 2, + [3193] = 6, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(389), 1, + anon_sym_DOT, + ACTIONS(385), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(354), 18, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(381), 12, anon_sym_AMP, anon_sym_PIPE, anon_sym_LT_EQ, @@ -3435,20 +4110,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_RPAREN, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, + anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, anon_sym_COLON, - [2641] = 4, - ACTIONS(165), 1, + [3227] = 4, + ACTIONS(203), 1, anon_sym_LF, - ACTIONS(358), 1, + ACTIONS(429), 1, anon_sym_else, - STATE(66), 1, + STATE(83), 1, aux_sym_if_expression_repeat1, - ACTIONS(167), 17, + ACTIONS(205), 17, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -3466,11 +4140,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_DOT, anon_sym_RBRACE, - [2670] = 2, - ACTIONS(362), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(360), 18, + [3256] = 4, + ACTIONS(165), 1, + anon_sym_LF, + ACTIONS(431), 1, + anon_sym_else, + STATE(84), 1, + aux_sym_if_expression_repeat1, + ACTIONS(167), 17, + anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -3478,22 +4156,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_AMP, anon_sym_PIPE, + anon_sym_LT, anon_sym_LT_EQ, + anon_sym_GT, anon_sym_GT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_RPAREN, anon_sym_LBRACK, - anon_sym_RBRACK, anon_sym_DOT, anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_COLON, - [2695] = 2, - ACTIONS(366), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(364), 18, + [3285] = 4, + ACTIONS(158), 1, + anon_sym_LF, + ACTIONS(433), 1, + anon_sym_else, + STATE(84), 1, + aux_sym_if_expression_repeat1, + ACTIONS(160), 17, + anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -3501,22 +4181,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_AMP, anon_sym_PIPE, + anon_sym_LT, anon_sym_LT_EQ, + anon_sym_GT, anon_sym_GT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_RPAREN, anon_sym_LBRACK, - anon_sym_RBRACK, anon_sym_DOT, anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_COLON, - [2720] = 2, - ACTIONS(370), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(368), 18, + [3314] = 2, + ACTIONS(309), 1, + anon_sym_LF, + ACTIONS(311), 18, + anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, anon_sym_STAR, @@ -3524,21 +4202,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_AMP, anon_sym_PIPE, + anon_sym_LT, anon_sym_LT_EQ, + anon_sym_GT, anon_sym_GT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_RPAREN, anon_sym_LBRACK, - anon_sym_RBRACK, anon_sym_DOT, + anon_sym_EQ, anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_COLON, - [2745] = 2, - ACTIONS(261), 1, + [3338] = 2, + ACTIONS(301), 1, anon_sym_LF, - ACTIONS(263), 18, + ACTIONS(303), 18, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -3557,10 +4234,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_DOT, anon_sym_RBRACE, - [2769] = 2, - ACTIONS(273), 1, + [3362] = 3, + ACTIONS(436), 1, anon_sym_LF, - ACTIONS(275), 18, + ACTIONS(440), 1, + anon_sym_EQ, + ACTIONS(438), 17, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -3575,14 +4254,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_else, anon_sym_LBRACK, anon_sym_DOT, anon_sym_RBRACE, - [2793] = 2, - ACTIONS(277), 1, + [3388] = 2, + ACTIONS(321), 1, anon_sym_LF, - ACTIONS(279), 18, + ACTIONS(323), 18, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -3597,16 +4275,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_else, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_EQ, anon_sym_RBRACE, - [2817] = 3, - ACTIONS(372), 1, + [3412] = 2, + ACTIONS(289), 1, anon_sym_LF, - ACTIONS(376), 1, - anon_sym_EQ, - ACTIONS(374), 17, + ACTIONS(291), 18, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -3623,11 +4299,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_EQ, anon_sym_RBRACE, - [2843] = 2, - ACTIONS(337), 1, + [3436] = 2, + ACTIONS(281), 1, anon_sym_LF, - ACTIONS(339), 18, + ACTIONS(283), 18, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -3642,14 +4319,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, + anon_sym_else, anon_sym_LBRACK, anon_sym_DOT, - anon_sym_EQ, anon_sym_RBRACE, - [2867] = 2, - ACTIONS(341), 1, + [3460] = 2, + ACTIONS(293), 1, anon_sym_LF, - ACTIONS(343), 18, + ACTIONS(295), 18, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -3664,14 +4341,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, + anon_sym_else, anon_sym_LBRACK, anon_sym_DOT, - anon_sym_EQ, anon_sym_RBRACE, - [2891] = 2, - ACTIONS(325), 1, + [3484] = 2, + ACTIONS(329), 1, anon_sym_LF, - ACTIONS(327), 18, + ACTIONS(331), 18, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -3690,10 +4367,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT, anon_sym_EQ, anon_sym_RBRACE, - [2915] = 2, - ACTIONS(299), 1, + [3508] = 2, + ACTIONS(241), 1, anon_sym_LF, - ACTIONS(301), 18, + ACTIONS(243), 18, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -3708,14 +4385,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, + anon_sym_else, anon_sym_LBRACK, anon_sym_DOT, - anon_sym_EQ, anon_sym_RBRACE, - [2939] = 2, - ACTIONS(317), 1, + [3532] = 2, + ACTIONS(273), 1, anon_sym_LF, - ACTIONS(319), 18, + ACTIONS(275), 18, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -3730,14 +4407,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, + anon_sym_else, anon_sym_LBRACK, anon_sym_DOT, - anon_sym_EQ, anon_sym_RBRACE, - [2963] = 2, - ACTIONS(265), 1, + [3556] = 2, + ACTIONS(333), 1, anon_sym_LF, - ACTIONS(267), 18, + ACTIONS(335), 18, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -3752,14 +4429,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_else, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_EQ, anon_sym_RBRACE, - [2987] = 2, - ACTIONS(329), 1, + [3580] = 2, + ACTIONS(357), 1, anon_sym_LF, - ACTIONS(331), 18, + ACTIONS(359), 18, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -3778,10 +4455,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT, anon_sym_EQ, anon_sym_RBRACE, - [3011] = 2, - ACTIONS(269), 1, + [3604] = 2, + ACTIONS(369), 1, anon_sym_LF, - ACTIONS(271), 18, + ACTIONS(371), 17, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -3796,40 +4473,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_else, anon_sym_LBRACK, anon_sym_DOT, anon_sym_RBRACE, - [3035] = 7, - ACTIONS(287), 1, + [3627] = 6, + ACTIONS(381), 1, anon_sym_LF, - ACTIONS(384), 1, + ACTIONS(446), 1, anon_sym_LBRACK, - ACTIONS(386), 1, + ACTIONS(448), 1, anon_sym_DOT, - ACTIONS(378), 2, + ACTIONS(442), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(380), 3, + ACTIONS(444), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(382), 4, + ACTIONS(385), 10, + anon_sym_NULL, + anon_sym_AMP, + anon_sym_PIPE, anon_sym_LT, anon_sym_LT_EQ, anon_sym_GT, anon_sym_GT_EQ, - ACTIONS(307), 6, - anon_sym_NULL, - anon_sym_AMP, - anon_sym_PIPE, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_RBRACE, - [3068] = 2, - ACTIONS(303), 1, + [3658] = 2, + ACTIONS(403), 1, anon_sym_LF, - ACTIONS(305), 17, + ACTIONS(405), 17, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -3847,10 +4522,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_DOT, anon_sym_RBRACE, - [3091] = 2, - ACTIONS(333), 1, + [3681] = 3, + ACTIONS(452), 1, + anon_sym_RBRACE, + ACTIONS(37), 7, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DQUOTE, + sym_float, + ACTIONS(450), 10, + anon_sym_if, + anon_sym_while, + anon_sym_for, + sym_continue, + sym_break, + sym_identifier, + sym_integer, + sym_true, + sym_false, + sym_null, + [3706] = 2, + ACTIONS(399), 1, anon_sym_LF, - ACTIONS(335), 17, + ACTIONS(401), 17, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -3868,66 +4565,79 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_DOT, anon_sym_RBRACE, - [3114] = 2, - ACTIONS(360), 1, + [3729] = 10, + ACTIONS(446), 1, + anon_sym_LBRACK, + ACTIONS(448), 1, + anon_sym_DOT, + ACTIONS(454), 1, anon_sym_LF, - ACTIONS(362), 17, - anon_sym_NULL, + ACTIONS(458), 1, + anon_sym_AMP, + ACTIONS(460), 1, + anon_sym_PIPE, + ACTIONS(442), 2, anon_sym_DASH, anon_sym_PLUS, + ACTIONS(456), 2, + anon_sym_NULL, + anon_sym_RBRACE, + ACTIONS(464), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(444), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - anon_sym_AMP, - anon_sym_PIPE, + ACTIONS(462), 4, anon_sym_LT, anon_sym_LT_EQ, anon_sym_GT, anon_sym_GT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_RBRACE, - [3137] = 10, - ACTIONS(384), 1, + [3768] = 10, + ACTIONS(446), 1, anon_sym_LBRACK, - ACTIONS(386), 1, + ACTIONS(448), 1, anon_sym_DOT, - ACTIONS(388), 1, - anon_sym_LF, - ACTIONS(392), 1, + ACTIONS(458), 1, anon_sym_AMP, - ACTIONS(394), 1, + ACTIONS(460), 1, anon_sym_PIPE, - ACTIONS(378), 2, + ACTIONS(466), 1, + anon_sym_LF, + ACTIONS(442), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(390), 2, - anon_sym_NULL, - anon_sym_RBRACE, - ACTIONS(396), 2, + ACTIONS(464), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(380), 3, + ACTIONS(468), 2, + anon_sym_NULL, + anon_sym_RBRACE, + ACTIONS(444), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(382), 4, + ACTIONS(462), 4, anon_sym_LT, anon_sym_LT_EQ, anon_sym_GT, anon_sym_GT_EQ, - [3176] = 2, - ACTIONS(348), 1, + [3807] = 5, + ACTIONS(381), 1, anon_sym_LF, - ACTIONS(350), 17, - anon_sym_NULL, - anon_sym_DASH, - anon_sym_PLUS, + ACTIONS(446), 1, + anon_sym_LBRACK, + ACTIONS(448), 1, + anon_sym_DOT, + ACTIONS(444), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(385), 12, + anon_sym_NULL, + anon_sym_DASH, + anon_sym_PLUS, anon_sym_AMP, anon_sym_PIPE, anon_sym_LT, @@ -3936,53 +4646,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_LBRACK, - anon_sym_DOT, anon_sym_RBRACE, - [3199] = 10, - ACTIONS(384), 1, + [3836] = 4, + ACTIONS(395), 1, + anon_sym_LF, + ACTIONS(446), 1, anon_sym_LBRACK, - ACTIONS(386), 1, + ACTIONS(448), 1, anon_sym_DOT, - ACTIONS(392), 1, - anon_sym_AMP, - ACTIONS(394), 1, - anon_sym_PIPE, - ACTIONS(398), 1, - anon_sym_LF, - ACTIONS(378), 2, + ACTIONS(397), 15, + anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(396), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(400), 2, - anon_sym_NULL, - anon_sym_RBRACE, - ACTIONS(380), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(382), 4, + anon_sym_AMP, + anon_sym_PIPE, anon_sym_LT, anon_sym_LT_EQ, anon_sym_GT, anon_sym_GT_EQ, - [3238] = 5, - ACTIONS(287), 1, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RBRACE, + [3863] = 4, + ACTIONS(381), 1, anon_sym_LF, - ACTIONS(384), 1, + ACTIONS(446), 1, anon_sym_LBRACK, - ACTIONS(386), 1, + ACTIONS(448), 1, anon_sym_DOT, - ACTIONS(380), 3, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(307), 12, + ACTIONS(385), 15, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, anon_sym_AMP, anon_sym_PIPE, anon_sym_LT, @@ -3992,10 +4693,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_RBRACE, - [3267] = 2, - ACTIONS(354), 1, + [3890] = 2, + ACTIONS(377), 1, anon_sym_LF, - ACTIONS(356), 17, + ACTIONS(379), 17, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -4013,37 +4714,87 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_DOT, anon_sym_RBRACE, - [3290] = 4, - ACTIONS(321), 1, + [3913] = 3, + ACTIONS(470), 1, + anon_sym_EQ, + ACTIONS(438), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(436), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SEMI, + [3938] = 8, + ACTIONS(381), 1, anon_sym_LF, - ACTIONS(384), 1, + ACTIONS(446), 1, anon_sym_LBRACK, - ACTIONS(386), 1, + ACTIONS(448), 1, anon_sym_DOT, - ACTIONS(323), 15, - anon_sym_NULL, + ACTIONS(442), 2, anon_sym_DASH, anon_sym_PLUS, + ACTIONS(464), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(444), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(385), 4, + anon_sym_NULL, anon_sym_AMP, anon_sym_PIPE, + anon_sym_RBRACE, + ACTIONS(462), 4, anon_sym_LT, anon_sym_LT_EQ, anon_sym_GT, anon_sym_GT_EQ, + [3973] = 9, + ACTIONS(381), 1, + anon_sym_LF, + ACTIONS(446), 1, + anon_sym_LBRACK, + ACTIONS(448), 1, + anon_sym_DOT, + ACTIONS(458), 1, + anon_sym_AMP, + ACTIONS(442), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(464), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, + ACTIONS(385), 3, + anon_sym_NULL, + anon_sym_PIPE, anon_sym_RBRACE, - [3317] = 4, - ACTIONS(287), 1, + ACTIONS(444), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(462), 4, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + [4010] = 2, + ACTIONS(391), 1, anon_sym_LF, - ACTIONS(384), 1, - anon_sym_LBRACK, - ACTIONS(386), 1, - anon_sym_DOT, - ACTIONS(307), 15, + ACTIONS(393), 17, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -4058,11 +4809,61 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_RBRACE, + [4033] = 3, + ACTIONS(472), 1, + anon_sym_RBRACE, + ACTIONS(37), 7, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DQUOTE, + sym_float, + ACTIONS(450), 10, + anon_sym_if, + anon_sym_while, + anon_sym_for, + sym_continue, + sym_break, + sym_identifier, + sym_integer, + sym_true, + sym_false, + sym_null, + [4058] = 7, + ACTIONS(381), 1, + anon_sym_LF, + ACTIONS(446), 1, + anon_sym_LBRACK, + ACTIONS(448), 1, + anon_sym_DOT, + ACTIONS(442), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(444), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(462), 4, + anon_sym_LT, + anon_sym_LT_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + ACTIONS(385), 6, + anon_sym_NULL, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, anon_sym_RBRACE, - [3344] = 2, - ACTIONS(364), 1, + [4091] = 2, + ACTIONS(407), 1, anon_sym_LF, - ACTIONS(366), 17, + ACTIONS(409), 17, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -4080,10 +4881,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_DOT, anon_sym_RBRACE, - [3367] = 2, - ACTIONS(313), 1, + [4114] = 3, + ACTIONS(474), 1, + anon_sym_RBRACE, + ACTIONS(37), 7, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DQUOTE, + sym_float, + ACTIONS(450), 10, + anon_sym_if, + anon_sym_while, + anon_sym_for, + sym_continue, + sym_break, + sym_identifier, + sym_integer, + sym_true, + sym_false, + sym_null, + [4139] = 2, + ACTIONS(411), 1, anon_sym_LF, - ACTIONS(315), 17, + ACTIONS(413), 17, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -4101,22 +4924,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_DOT, anon_sym_RBRACE, - [3390] = 6, - ACTIONS(287), 1, + [4162] = 2, + ACTIONS(373), 1, anon_sym_LF, - ACTIONS(384), 1, - anon_sym_LBRACK, - ACTIONS(386), 1, - anon_sym_DOT, - ACTIONS(378), 2, + ACTIONS(375), 17, + anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(380), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(307), 10, - anon_sym_NULL, anon_sym_AMP, anon_sym_PIPE, anon_sym_LT, @@ -4125,11 +4942,56 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_DOT, anon_sym_RBRACE, - [3421] = 2, - ACTIONS(309), 1, + [4185] = 2, + ACTIONS(37), 8, + ts_builtin_sym_end, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DQUOTE, + sym_float, + ACTIONS(450), 10, + anon_sym_if, + anon_sym_while, + anon_sym_for, + sym_continue, + sym_break, + sym_identifier, + sym_integer, + sym_true, + sym_false, + sym_null, + [4208] = 3, + ACTIONS(476), 1, + anon_sym_RBRACE, + ACTIONS(37), 7, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DQUOTE, + sym_float, + ACTIONS(450), 10, + anon_sym_if, + anon_sym_while, + anon_sym_for, + sym_continue, + sym_break, + sym_identifier, + sym_integer, + sym_true, + sym_false, + sym_null, + [4233] = 2, + ACTIONS(415), 1, anon_sym_LF, - ACTIONS(311), 17, + ACTIONS(417), 17, anon_sym_NULL, anon_sym_DASH, anon_sym_PLUS, @@ -4147,560 +5009,615 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_DOT, anon_sym_RBRACE, - [3444] = 9, - ACTIONS(287), 1, - anon_sym_LF, - ACTIONS(384), 1, + [4256] = 11, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(386), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(392), 1, + ACTIONS(427), 1, anon_sym_AMP, - ACTIONS(378), 2, + ACTIONS(478), 1, + anon_sym_PIPE, + ACTIONS(480), 1, + anon_sym_RBRACK, + ACTIONS(482), 1, + anon_sym_COMMA, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(396), 2, + ACTIONS(421), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(423), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(307), 3, - anon_sym_NULL, - anon_sym_PIPE, - anon_sym_RBRACE, - ACTIONS(380), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(382), 4, + [4296] = 11, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(389), 1, + anon_sym_DOT, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, + anon_sym_PIPE, + ACTIONS(484), 1, + anon_sym_RBRACK, + ACTIONS(486), 1, + anon_sym_COMMA, + ACTIONS(419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(421), 2, anon_sym_LT, - anon_sym_LT_EQ, anon_sym_GT, + ACTIONS(423), 2, + anon_sym_LT_EQ, anon_sym_GT_EQ, - [3481] = 2, - ACTIONS(368), 1, - anon_sym_LF, - ACTIONS(370), 17, - anon_sym_NULL, + ACTIONS(425), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(383), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + [4336] = 11, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(389), 1, + anon_sym_DOT, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, + anon_sym_PIPE, + ACTIONS(488), 1, + anon_sym_RBRACK, + ACTIONS(490), 1, + anon_sym_COMMA, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, + ACTIONS(421), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(423), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(425), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, + [4376] = 10, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(389), 1, + anon_sym_DOT, + ACTIONS(427), 1, anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, + ACTIONS(419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(421), 2, anon_sym_LT, - anon_sym_LT_EQ, anon_sym_GT, + ACTIONS(423), 2, + anon_sym_LT_EQ, anon_sym_GT_EQ, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_LBRACK, - anon_sym_DOT, + ACTIONS(492), 2, anon_sym_RBRACE, - [3504] = 8, - ACTIONS(287), 1, - anon_sym_LF, - ACTIONS(384), 1, + anon_sym_COMMA, + ACTIONS(383), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + [4414] = 2, + ACTIONS(37), 7, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DQUOTE, + sym_float, + ACTIONS(450), 10, + anon_sym_if, + anon_sym_while, + anon_sym_for, + sym_continue, + sym_break, + sym_identifier, + sym_integer, + sym_true, + sym_false, + sym_null, + [4436] = 10, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(386), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(378), 2, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, + anon_sym_PIPE, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(396), 2, + ACTIONS(421), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(423), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(380), 3, + ACTIONS(454), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(307), 4, - anon_sym_NULL, + [4474] = 10, + ACTIONS(387), 1, + anon_sym_LBRACK, + ACTIONS(389), 1, + anon_sym_DOT, + ACTIONS(427), 1, anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - anon_sym_RBRACE, - ACTIONS(382), 4, + ACTIONS(419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(421), 2, anon_sym_LT, - anon_sym_LT_EQ, anon_sym_GT, + ACTIONS(423), 2, + anon_sym_LT_EQ, anon_sym_GT_EQ, - [3539] = 10, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, + ACTIONS(425), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(466), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + ACTIONS(383), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + [4512] = 11, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(402), 1, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - ACTIONS(281), 2, + ACTIONS(494), 1, + anon_sym_RBRACK, + ACTIONS(496), 1, + anon_sym_COMMA, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(421), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, + ACTIONS(423), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(293), 2, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(404), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - [3577] = 11, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, + [4552] = 10, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(402), 1, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - ACTIONS(406), 1, - anon_sym_RBRACK, - ACTIONS(408), 1, - anon_sym_COMMA, - ACTIONS(281), 2, + ACTIONS(498), 1, + anon_sym_RPAREN, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(421), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, + ACTIONS(423), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(293), 2, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - [3617] = 11, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, + [4589] = 10, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(402), 1, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - ACTIONS(410), 1, + ACTIONS(500), 1, anon_sym_RBRACK, - ACTIONS(412), 1, - anon_sym_COMMA, - ACTIONS(281), 2, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(421), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, + ACTIONS(423), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(293), 2, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - [3657] = 11, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, + [4626] = 10, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(402), 1, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - ACTIONS(414), 1, - anon_sym_RBRACK, - ACTIONS(416), 1, - anon_sym_COMMA, - ACTIONS(281), 2, + ACTIONS(502), 1, + anon_sym_COLON, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(421), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, + ACTIONS(423), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(293), 2, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - [3697] = 11, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, + [4663] = 10, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(402), 1, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - ACTIONS(418), 1, - anon_sym_RBRACK, - ACTIONS(420), 1, - anon_sym_COMMA, - ACTIONS(281), 2, + ACTIONS(504), 1, + anon_sym_RPAREN, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(421), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, + ACTIONS(423), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(293), 2, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - [3737] = 10, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, + [4700] = 10, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(402), 1, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - ACTIONS(422), 1, - anon_sym_RPAREN, - ACTIONS(281), 2, + ACTIONS(506), 1, + anon_sym_SEMI, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(421), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, + ACTIONS(423), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(293), 2, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - [3774] = 10, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, + [4737] = 10, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(402), 1, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - ACTIONS(424), 1, + ACTIONS(508), 1, anon_sym_RPAREN, - ACTIONS(281), 2, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(421), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, + ACTIONS(423), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(293), 2, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - [3811] = 10, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, + [4774] = 10, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(402), 1, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - ACTIONS(426), 1, - anon_sym_COMMA, - ACTIONS(281), 2, + ACTIONS(510), 1, + anon_sym_RPAREN, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(421), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, + ACTIONS(423), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(293), 2, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - [3848] = 10, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, + [4811] = 10, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(402), 1, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - ACTIONS(428), 1, + ACTIONS(512), 1, anon_sym_RPAREN, - ACTIONS(281), 2, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(421), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, + ACTIONS(423), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(293), 2, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - [3885] = 10, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, + [4848] = 10, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(402), 1, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - ACTIONS(430), 1, - anon_sym_COLON, - ACTIONS(281), 2, + ACTIONS(514), 1, + anon_sym_COMMA, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(421), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, + ACTIONS(423), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(293), 2, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - [3922] = 10, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, + [4885] = 10, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(402), 1, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - ACTIONS(432), 1, - anon_sym_RPAREN, - ACTIONS(281), 2, + ACTIONS(516), 1, + anon_sym_RBRACK, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(421), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, + ACTIONS(423), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(293), 2, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - [3959] = 10, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, + [4922] = 10, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(402), 1, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - ACTIONS(434), 1, - anon_sym_RBRACK, - ACTIONS(281), 2, + ACTIONS(518), 1, + anon_sym_SEMI, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(421), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, + ACTIONS(423), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(293), 2, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - [3996] = 10, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, + [4959] = 10, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(402), 1, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - ACTIONS(436), 1, + ACTIONS(520), 1, anon_sym_RPAREN, - ACTIONS(281), 2, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(421), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, + ACTIONS(423), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(293), 2, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - [4033] = 10, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, + [4996] = 10, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(402), 1, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - ACTIONS(438), 1, + ACTIONS(522), 1, anon_sym_RPAREN, - ACTIONS(281), 2, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(421), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, + ACTIONS(423), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(293), 2, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - [4070] = 10, - ACTIONS(285), 1, - anon_sym_AMP, - ACTIONS(295), 1, + [5033] = 10, + ACTIONS(387), 1, anon_sym_LBRACK, - ACTIONS(297), 1, + ACTIONS(389), 1, anon_sym_DOT, - ACTIONS(402), 1, + ACTIONS(427), 1, + anon_sym_AMP, + ACTIONS(478), 1, anon_sym_PIPE, - ACTIONS(440), 1, - anon_sym_RBRACK, - ACTIONS(281), 2, + ACTIONS(524), 1, + anon_sym_RPAREN, + ACTIONS(419), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(289), 2, + ACTIONS(421), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(291), 2, + ACTIONS(423), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(293), 2, + ACTIONS(425), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(283), 3, + ACTIONS(383), 3, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - [4107] = 3, - ACTIONS(446), 1, - anon_sym_RBRACE, - ACTIONS(442), 6, - anon_sym_if, - sym_identifier, - sym_integer, - sym_true, - sym_false, - sym_null, - ACTIONS(444), 7, - anon_sym_BANG, - anon_sym_DASH, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DQUOTE, - sym_float, - [4128] = 2, - ACTIONS(448), 6, - anon_sym_if, - sym_identifier, - sym_integer, - sym_true, - sym_false, - sym_null, - ACTIONS(25), 8, - ts_builtin_sym_end, - anon_sym_BANG, - anon_sym_DASH, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DQUOTE, - sym_float, - [4147] = 3, - ACTIONS(450), 1, - anon_sym_RBRACE, - ACTIONS(448), 6, - anon_sym_if, - sym_identifier, - sym_integer, - sym_true, - sym_false, - sym_null, - ACTIONS(25), 7, - anon_sym_BANG, - anon_sym_DASH, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DQUOTE, - sym_float, - [4168] = 3, - ACTIONS(456), 1, + [5070] = 3, + ACTIONS(530), 1, anon_sym_RBRACK, - ACTIONS(452), 6, + ACTIONS(526), 6, anon_sym_if, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - ACTIONS(454), 7, + ACTIONS(528), 7, anon_sym_BANG, anon_sym_DASH, anon_sym_LPAREN, @@ -4708,17 +5625,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_DQUOTE, sym_float, - [4189] = 3, - ACTIONS(458), 1, + [5091] = 3, + ACTIONS(536), 1, anon_sym_RBRACE, - ACTIONS(448), 6, + ACTIONS(532), 6, anon_sym_if, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - ACTIONS(25), 7, + ACTIONS(534), 7, anon_sym_BANG, anon_sym_DASH, anon_sym_LPAREN, @@ -4726,17 +5643,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_DQUOTE, sym_float, - [4210] = 3, - ACTIONS(460), 1, + [5112] = 3, + ACTIONS(538), 1, anon_sym_RBRACK, - ACTIONS(452), 6, + ACTIONS(526), 6, anon_sym_if, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - ACTIONS(454), 7, + ACTIONS(528), 7, anon_sym_BANG, anon_sym_DASH, anon_sym_LPAREN, @@ -4744,17 +5661,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_DQUOTE, sym_float, - [4231] = 3, - ACTIONS(462), 1, - anon_sym_RBRACE, - ACTIONS(448), 6, + [5133] = 3, + ACTIONS(484), 1, + anon_sym_RBRACK, + ACTIONS(526), 6, anon_sym_if, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - ACTIONS(25), 7, + ACTIONS(528), 7, anon_sym_BANG, anon_sym_DASH, anon_sym_LPAREN, @@ -4762,17 +5679,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_DQUOTE, sym_float, - [4252] = 3, - ACTIONS(464), 1, + [5154] = 3, + ACTIONS(540), 1, anon_sym_RBRACE, - ACTIONS(448), 6, + ACTIONS(532), 6, anon_sym_if, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - ACTIONS(25), 7, + ACTIONS(534), 7, anon_sym_BANG, anon_sym_DASH, anon_sym_LPAREN, @@ -4780,17 +5697,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_DQUOTE, sym_float, - [4273] = 3, - ACTIONS(466), 1, + [5175] = 3, + ACTIONS(542), 1, anon_sym_RBRACE, - ACTIONS(442), 6, + ACTIONS(532), 6, anon_sym_if, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - ACTIONS(444), 7, + ACTIONS(534), 7, anon_sym_BANG, anon_sym_DASH, anon_sym_LPAREN, @@ -4798,35 +5715,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_DQUOTE, sym_float, - [4294] = 3, - ACTIONS(468), 1, + [5196] = 3, + ACTIONS(544), 1, anon_sym_RBRACE, - ACTIONS(442), 6, - anon_sym_if, - sym_identifier, - sym_integer, - sym_true, - sym_false, - sym_null, - ACTIONS(444), 7, - anon_sym_BANG, - anon_sym_DASH, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DQUOTE, - sym_float, - [4315] = 3, - ACTIONS(414), 1, - anon_sym_RBRACK, - ACTIONS(452), 6, + ACTIONS(532), 6, anon_sym_if, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - ACTIONS(454), 7, + ACTIONS(534), 7, anon_sym_BANG, anon_sym_DASH, anon_sym_LPAREN, @@ -4834,51 +5733,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_DQUOTE, sym_float, - [4336] = 3, - ACTIONS(406), 1, + [5217] = 3, + ACTIONS(494), 1, anon_sym_RBRACK, - ACTIONS(452), 6, - anon_sym_if, - sym_identifier, - sym_integer, - sym_true, - sym_false, - sym_null, - ACTIONS(454), 7, - anon_sym_BANG, - anon_sym_DASH, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DQUOTE, - sym_float, - [4357] = 3, - ACTIONS(470), 1, - anon_sym_RBRACE, - ACTIONS(442), 6, - anon_sym_if, - sym_identifier, - sym_integer, - sym_true, - sym_false, - sym_null, - ACTIONS(444), 7, - anon_sym_BANG, - anon_sym_DASH, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DQUOTE, - sym_float, - [4378] = 2, - ACTIONS(442), 6, + ACTIONS(526), 6, anon_sym_if, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - ACTIONS(444), 7, + ACTIONS(528), 7, anon_sym_BANG, anon_sym_DASH, anon_sym_LPAREN, @@ -4886,15 +5751,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_DQUOTE, sym_float, - [4396] = 2, - ACTIONS(448), 6, + [5238] = 2, + ACTIONS(526), 6, anon_sym_if, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - ACTIONS(25), 7, + ACTIONS(528), 7, anon_sym_BANG, anon_sym_DASH, anon_sym_LPAREN, @@ -4902,15 +5767,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_DQUOTE, sym_float, - [4414] = 2, - ACTIONS(452), 6, + [5256] = 2, + ACTIONS(532), 6, anon_sym_if, sym_identifier, sym_integer, sym_true, sym_false, sym_null, - ACTIONS(454), 7, + ACTIONS(534), 7, anon_sym_BANG, anon_sym_DASH, anon_sym_LPAREN, @@ -4918,622 +5783,765 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, anon_sym_DQUOTE, sym_float, - [4432] = 3, - ACTIONS(472), 1, + [5274] = 3, + ACTIONS(546), 1, anon_sym_DQUOTE2, - STATE(137), 1, + STATE(153), 1, aux_sym_string_repeat1, - ACTIONS(474), 2, + ACTIONS(548), 2, sym__string_basic_content, sym_escape_sequence, - [4443] = 3, - ACTIONS(477), 1, + [5285] = 3, + ACTIONS(551), 1, anon_sym_DQUOTE2, - STATE(137), 1, + STATE(155), 1, aux_sym_string_repeat1, - ACTIONS(479), 2, + ACTIONS(553), 2, sym__string_basic_content, sym_escape_sequence, - [4454] = 3, - ACTIONS(481), 1, + [5296] = 3, + ACTIONS(555), 1, anon_sym_DQUOTE2, - STATE(138), 1, + STATE(153), 1, aux_sym_string_repeat1, - ACTIONS(483), 2, + ACTIONS(557), 2, sym__string_basic_content, sym_escape_sequence, - [4465] = 3, - ACTIONS(485), 1, + [5307] = 3, + ACTIONS(559), 1, anon_sym_DQUOTE2, - STATE(141), 1, + STATE(157), 1, aux_sym_string_repeat1, - ACTIONS(487), 2, + ACTIONS(561), 2, sym__string_basic_content, sym_escape_sequence, - [4476] = 3, - ACTIONS(489), 1, + [5318] = 3, + ACTIONS(563), 1, anon_sym_DQUOTE2, - STATE(137), 1, + STATE(153), 1, aux_sym_string_repeat1, - ACTIONS(479), 2, + ACTIONS(557), 2, sym__string_basic_content, sym_escape_sequence, - [4487] = 3, - ACTIONS(491), 1, + [5329] = 3, + ACTIONS(565), 1, anon_sym_LF, - ACTIONS(493), 1, + ACTIONS(567), 1, anon_sym_NULL, - ACTIONS(495), 1, + ACTIONS(569), 1, anon_sym_RBRACE, - [4497] = 3, - ACTIONS(497), 1, + [5339] = 3, + ACTIONS(571), 1, anon_sym_LF, - ACTIONS(499), 1, + ACTIONS(573), 1, anon_sym_NULL, - ACTIONS(501), 1, + ACTIONS(575), 1, anon_sym_RBRACE, - [4507] = 3, - ACTIONS(503), 1, - anon_sym_if, - ACTIONS(505), 1, - anon_sym_LBRACE, - STATE(75), 1, - sym_block, - [4517] = 3, - ACTIONS(507), 1, - anon_sym_if, - ACTIONS(509), 1, - anon_sym_LBRACE, - STATE(104), 1, - sym_block, - [4527] = 3, - ACTIONS(507), 1, + [5349] = 2, + ACTIONS(577), 1, + anon_sym_LF, + ACTIONS(579), 2, + anon_sym_NULL, + anon_sym_RBRACE, + [5357] = 3, + ACTIONS(581), 1, + anon_sym_LF, + ACTIONS(583), 1, + anon_sym_NULL, + ACTIONS(585), 1, + anon_sym_RBRACE, + [5367] = 3, + ACTIONS(587), 1, anon_sym_if, - ACTIONS(509), 1, + ACTIONS(589), 1, anon_sym_LBRACE, - STATE(99), 1, + STATE(107), 1, sym_block, - [4537] = 3, - ACTIONS(511), 1, + [5377] = 3, + ACTIONS(591), 1, anon_sym_LF, - ACTIONS(513), 1, + ACTIONS(593), 1, anon_sym_NULL, - ACTIONS(515), 1, + ACTIONS(595), 1, anon_sym_RBRACE, - [4547] = 3, - ACTIONS(517), 1, + [5387] = 2, + ACTIONS(597), 1, anon_sym_LF, - ACTIONS(519), 1, + ACTIONS(599), 2, anon_sym_NULL, - ACTIONS(521), 1, anon_sym_RBRACE, - [4557] = 3, - ACTIONS(503), 1, + [5395] = 3, + ACTIONS(601), 1, anon_sym_if, - ACTIONS(505), 1, + ACTIONS(603), 1, anon_sym_LBRACE, - STATE(74), 1, + STATE(66), 1, sym_block, - [4567] = 2, - ACTIONS(523), 1, - anon_sym_RBRACE, - ACTIONS(525), 1, - anon_sym_COMMA, - [4574] = 2, - ACTIONS(470), 1, + [5405] = 3, + ACTIONS(587), 1, + anon_sym_if, + ACTIONS(589), 1, + anon_sym_LBRACE, + STATE(97), 1, + sym_block, + [5415] = 3, + ACTIONS(601), 1, + anon_sym_if, + ACTIONS(603), 1, + anon_sym_LBRACE, + STATE(68), 1, + sym_block, + [5425] = 2, + ACTIONS(603), 1, + anon_sym_LBRACE, + STATE(34), 1, + sym_block, + [5432] = 1, + ACTIONS(577), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + [5437] = 2, + ACTIONS(540), 1, anon_sym_RBRACE, - ACTIONS(527), 1, + ACTIONS(605), 1, anon_sym_COMMA, - [4581] = 2, - ACTIONS(505), 1, + [5444] = 2, + ACTIONS(603), 1, anon_sym_LBRACE, - STATE(24), 1, + STATE(172), 1, sym_block, - [4588] = 2, - ACTIONS(529), 1, + [5451] = 1, + ACTIONS(597), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + [5456] = 2, + ACTIONS(607), 1, anon_sym_RBRACE, - ACTIONS(531), 1, + ACTIONS(609), 1, anon_sym_COMMA, - [4595] = 2, - ACTIONS(533), 1, + [5463] = 2, + ACTIONS(589), 1, + anon_sym_LBRACE, + STATE(82), 1, + sym_block, + [5470] = 2, + ACTIONS(611), 1, anon_sym_LF, - ACTIONS(535), 1, + ACTIONS(613), 1, anon_sym_NULL, - [4602] = 2, - ACTIONS(505), 1, + [5477] = 2, + ACTIONS(589), 1, anon_sym_LBRACE, - STATE(49), 1, + STATE(160), 1, sym_block, - [4609] = 2, - ACTIONS(509), 1, + [5484] = 2, + ACTIONS(589), 1, anon_sym_LBRACE, - STATE(69), 1, + STATE(164), 1, sym_block, - [4616] = 2, - ACTIONS(466), 1, + [5491] = 2, + ACTIONS(603), 1, + anon_sym_LBRACE, + STATE(169), 1, + sym_block, + [5498] = 2, + ACTIONS(615), 1, anon_sym_RBRACE, - ACTIONS(537), 1, + ACTIONS(617), 1, anon_sym_COMMA, - [4623] = 2, - ACTIONS(539), 1, + [5505] = 2, + ACTIONS(619), 1, anon_sym_LF, - ACTIONS(541), 1, + ACTIONS(621), 1, anon_sym_NULL, - [4630] = 2, - ACTIONS(509), 1, + [5512] = 2, + ACTIONS(536), 1, + anon_sym_RBRACE, + ACTIONS(623), 1, + anon_sym_COMMA, + [5519] = 2, + ACTIONS(589), 1, + anon_sym_LBRACE, + STATE(93), 1, + sym_block, + [5526] = 2, + ACTIONS(603), 1, anon_sym_LBRACE, - STATE(77), 1, + STATE(25), 1, sym_block, - [4637] = 1, - ACTIONS(543), 1, + [5533] = 1, + ACTIONS(625), 1, + anon_sym_LPAREN, + [5537] = 1, + ACTIONS(627), 1, + anon_sym_SEMI, + [5541] = 1, + ACTIONS(629), 1, sym_identifier, - [4641] = 1, - ACTIONS(545), 1, + [5545] = 1, + ACTIONS(631), 1, + anon_sym_RPAREN, + [5549] = 1, + ACTIONS(633), 1, sym_identifier, - [4645] = 1, - ACTIONS(547), 1, - anon_sym_COMMA, - [4649] = 1, - ACTIONS(549), 1, + [5553] = 1, + ACTIONS(635), 1, anon_sym_LPAREN, - [4653] = 1, - ACTIONS(551), 1, + [5557] = 1, + ACTIONS(637), 1, + anon_sym_RPAREN, + [5561] = 1, + ACTIONS(639), 1, ts_builtin_sym_end, - [4657] = 1, - ACTIONS(553), 1, + [5565] = 1, + ACTIONS(641), 1, + anon_sym_COMMA, + [5569] = 1, + ACTIONS(643), 1, anon_sym_LPAREN, - [4661] = 1, - ACTIONS(507), 1, - anon_sym_if, - [4665] = 1, - ACTIONS(555), 1, + [5573] = 1, + ACTIONS(645), 1, anon_sym_LPAREN, - [4669] = 1, - ACTIONS(557), 1, + [5577] = 1, + ACTIONS(587), 1, + anon_sym_if, + [5581] = 1, + ACTIONS(647), 1, anon_sym_LPAREN, - [4673] = 1, - ACTIONS(503), 1, + [5585] = 1, + ACTIONS(601), 1, anon_sym_if, + [5589] = 1, + ACTIONS(649), 1, + anon_sym_LPAREN, + [5593] = 1, + ACTIONS(651), 1, + anon_sym_SEMI, + [5597] = 1, + ACTIONS(653), 1, + anon_sym_LPAREN, + [5601] = 1, + ACTIONS(655), 1, + anon_sym_LPAREN, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 55, - [SMALL_STATE(4)] = 110, - [SMALL_STATE(5)] = 165, - [SMALL_STATE(6)] = 220, - [SMALL_STATE(7)] = 270, - [SMALL_STATE(8)] = 322, - [SMALL_STATE(9)] = 372, - [SMALL_STATE(10)] = 424, - [SMALL_STATE(11)] = 476, - [SMALL_STATE(12)] = 523, - [SMALL_STATE(13)] = 570, - [SMALL_STATE(14)] = 617, - [SMALL_STATE(15)] = 664, - [SMALL_STATE(16)] = 711, - [SMALL_STATE(17)] = 755, - [SMALL_STATE(18)] = 799, - [SMALL_STATE(19)] = 843, - [SMALL_STATE(20)] = 884, - [SMALL_STATE(21)] = 925, - [SMALL_STATE(22)] = 966, - [SMALL_STATE(23)] = 997, - [SMALL_STATE(24)] = 1028, - [SMALL_STATE(25)] = 1059, - [SMALL_STATE(26)] = 1100, - [SMALL_STATE(27)] = 1141, - [SMALL_STATE(28)] = 1182, - [SMALL_STATE(29)] = 1223, - [SMALL_STATE(30)] = 1264, - [SMALL_STATE(31)] = 1305, - [SMALL_STATE(32)] = 1346, - [SMALL_STATE(33)] = 1387, - [SMALL_STATE(34)] = 1428, - [SMALL_STATE(35)] = 1469, - [SMALL_STATE(36)] = 1510, - [SMALL_STATE(37)] = 1551, - [SMALL_STATE(38)] = 1592, - [SMALL_STATE(39)] = 1633, - [SMALL_STATE(40)] = 1674, - [SMALL_STATE(41)] = 1715, - [SMALL_STATE(42)] = 1756, - [SMALL_STATE(43)] = 1797, - [SMALL_STATE(44)] = 1838, - [SMALL_STATE(45)] = 1879, - [SMALL_STATE(46)] = 1920, - [SMALL_STATE(47)] = 1946, - [SMALL_STATE(48)] = 1972, - [SMALL_STATE(49)] = 1998, - [SMALL_STATE(50)] = 2024, - [SMALL_STATE(51)] = 2050, - [SMALL_STATE(52)] = 2089, - [SMALL_STATE(53)] = 2114, - [SMALL_STATE(54)] = 2139, - [SMALL_STATE(55)] = 2176, - [SMALL_STATE(56)] = 2209, - [SMALL_STATE(57)] = 2244, - [SMALL_STATE(58)] = 2269, - [SMALL_STATE(59)] = 2294, - [SMALL_STATE(60)] = 2319, - [SMALL_STATE(61)] = 2348, - [SMALL_STATE(62)] = 2373, - [SMALL_STATE(63)] = 2398, - [SMALL_STATE(64)] = 2423, - [SMALL_STATE(65)] = 2448, - [SMALL_STATE(66)] = 2473, - [SMALL_STATE(67)] = 2502, - [SMALL_STATE(68)] = 2527, - [SMALL_STATE(69)] = 2558, - [SMALL_STATE(70)] = 2587, - [SMALL_STATE(71)] = 2616, - [SMALL_STATE(72)] = 2641, - [SMALL_STATE(73)] = 2670, - [SMALL_STATE(74)] = 2695, - [SMALL_STATE(75)] = 2720, - [SMALL_STATE(76)] = 2745, - [SMALL_STATE(77)] = 2769, - [SMALL_STATE(78)] = 2793, - [SMALL_STATE(79)] = 2817, - [SMALL_STATE(80)] = 2843, - [SMALL_STATE(81)] = 2867, - [SMALL_STATE(82)] = 2891, - [SMALL_STATE(83)] = 2915, - [SMALL_STATE(84)] = 2939, - [SMALL_STATE(85)] = 2963, - [SMALL_STATE(86)] = 2987, - [SMALL_STATE(87)] = 3011, - [SMALL_STATE(88)] = 3035, - [SMALL_STATE(89)] = 3068, - [SMALL_STATE(90)] = 3091, - [SMALL_STATE(91)] = 3114, - [SMALL_STATE(92)] = 3137, - [SMALL_STATE(93)] = 3176, - [SMALL_STATE(94)] = 3199, - [SMALL_STATE(95)] = 3238, - [SMALL_STATE(96)] = 3267, - [SMALL_STATE(97)] = 3290, - [SMALL_STATE(98)] = 3317, - [SMALL_STATE(99)] = 3344, - [SMALL_STATE(100)] = 3367, - [SMALL_STATE(101)] = 3390, - [SMALL_STATE(102)] = 3421, - [SMALL_STATE(103)] = 3444, - [SMALL_STATE(104)] = 3481, - [SMALL_STATE(105)] = 3504, - [SMALL_STATE(106)] = 3539, - [SMALL_STATE(107)] = 3577, - [SMALL_STATE(108)] = 3617, - [SMALL_STATE(109)] = 3657, - [SMALL_STATE(110)] = 3697, - [SMALL_STATE(111)] = 3737, - [SMALL_STATE(112)] = 3774, - [SMALL_STATE(113)] = 3811, - [SMALL_STATE(114)] = 3848, - [SMALL_STATE(115)] = 3885, - [SMALL_STATE(116)] = 3922, - [SMALL_STATE(117)] = 3959, - [SMALL_STATE(118)] = 3996, - [SMALL_STATE(119)] = 4033, - [SMALL_STATE(120)] = 4070, - [SMALL_STATE(121)] = 4107, - [SMALL_STATE(122)] = 4128, - [SMALL_STATE(123)] = 4147, - [SMALL_STATE(124)] = 4168, - [SMALL_STATE(125)] = 4189, - [SMALL_STATE(126)] = 4210, - [SMALL_STATE(127)] = 4231, - [SMALL_STATE(128)] = 4252, - [SMALL_STATE(129)] = 4273, - [SMALL_STATE(130)] = 4294, - [SMALL_STATE(131)] = 4315, - [SMALL_STATE(132)] = 4336, - [SMALL_STATE(133)] = 4357, - [SMALL_STATE(134)] = 4378, - [SMALL_STATE(135)] = 4396, - [SMALL_STATE(136)] = 4414, - [SMALL_STATE(137)] = 4432, - [SMALL_STATE(138)] = 4443, - [SMALL_STATE(139)] = 4454, - [SMALL_STATE(140)] = 4465, - [SMALL_STATE(141)] = 4476, - [SMALL_STATE(142)] = 4487, - [SMALL_STATE(143)] = 4497, - [SMALL_STATE(144)] = 4507, - [SMALL_STATE(145)] = 4517, - [SMALL_STATE(146)] = 4527, - [SMALL_STATE(147)] = 4537, - [SMALL_STATE(148)] = 4547, - [SMALL_STATE(149)] = 4557, - [SMALL_STATE(150)] = 4567, - [SMALL_STATE(151)] = 4574, - [SMALL_STATE(152)] = 4581, - [SMALL_STATE(153)] = 4588, - [SMALL_STATE(154)] = 4595, - [SMALL_STATE(155)] = 4602, - [SMALL_STATE(156)] = 4609, - [SMALL_STATE(157)] = 4616, - [SMALL_STATE(158)] = 4623, - [SMALL_STATE(159)] = 4630, - [SMALL_STATE(160)] = 4637, - [SMALL_STATE(161)] = 4641, - [SMALL_STATE(162)] = 4645, - [SMALL_STATE(163)] = 4649, - [SMALL_STATE(164)] = 4653, - [SMALL_STATE(165)] = 4657, - [SMALL_STATE(166)] = 4661, - [SMALL_STATE(167)] = 4665, - [SMALL_STATE(168)] = 4669, - [SMALL_STATE(169)] = 4673, + [SMALL_STATE(3)] = 67, + [SMALL_STATE(4)] = 134, + [SMALL_STATE(5)] = 201, + [SMALL_STATE(6)] = 268, + [SMALL_STATE(7)] = 332, + [SMALL_STATE(8)] = 396, + [SMALL_STATE(9)] = 460, + [SMALL_STATE(10)] = 521, + [SMALL_STATE(11)] = 582, + [SMALL_STATE(12)] = 643, + [SMALL_STATE(13)] = 704, + [SMALL_STATE(14)] = 754, + [SMALL_STATE(15)] = 804, + [SMALL_STATE(16)] = 851, + [SMALL_STATE(17)] = 898, + [SMALL_STATE(18)] = 945, + [SMALL_STATE(19)] = 992, + [SMALL_STATE(20)] = 1039, + [SMALL_STATE(21)] = 1071, + [SMALL_STATE(22)] = 1103, + [SMALL_STATE(23)] = 1147, + [SMALL_STATE(24)] = 1191, + [SMALL_STATE(25)] = 1235, + [SMALL_STATE(26)] = 1267, + [SMALL_STATE(27)] = 1308, + [SMALL_STATE(28)] = 1349, + [SMALL_STATE(29)] = 1390, + [SMALL_STATE(30)] = 1431, + [SMALL_STATE(31)] = 1472, + [SMALL_STATE(32)] = 1513, + [SMALL_STATE(33)] = 1554, + [SMALL_STATE(34)] = 1595, + [SMALL_STATE(35)] = 1622, + [SMALL_STATE(36)] = 1663, + [SMALL_STATE(37)] = 1704, + [SMALL_STATE(38)] = 1745, + [SMALL_STATE(39)] = 1786, + [SMALL_STATE(40)] = 1827, + [SMALL_STATE(41)] = 1868, + [SMALL_STATE(42)] = 1909, + [SMALL_STATE(43)] = 1936, + [SMALL_STATE(44)] = 1977, + [SMALL_STATE(45)] = 2004, + [SMALL_STATE(46)] = 2045, + [SMALL_STATE(47)] = 2072, + [SMALL_STATE(48)] = 2099, + [SMALL_STATE(49)] = 2140, + [SMALL_STATE(50)] = 2167, + [SMALL_STATE(51)] = 2208, + [SMALL_STATE(52)] = 2235, + [SMALL_STATE(53)] = 2276, + [SMALL_STATE(54)] = 2317, + [SMALL_STATE(55)] = 2344, + [SMALL_STATE(56)] = 2385, + [SMALL_STATE(57)] = 2412, + [SMALL_STATE(58)] = 2439, + [SMALL_STATE(59)] = 2480, + [SMALL_STATE(60)] = 2521, + [SMALL_STATE(61)] = 2562, + [SMALL_STATE(62)] = 2603, + [SMALL_STATE(63)] = 2644, + [SMALL_STATE(64)] = 2671, + [SMALL_STATE(65)] = 2712, + [SMALL_STATE(66)] = 2753, + [SMALL_STATE(67)] = 2779, + [SMALL_STATE(68)] = 2805, + [SMALL_STATE(69)] = 2831, + [SMALL_STATE(70)] = 2863, + [SMALL_STATE(71)] = 2889, + [SMALL_STATE(72)] = 2919, + [SMALL_STATE(73)] = 2945, + [SMALL_STATE(74)] = 2971, + [SMALL_STATE(75)] = 2997, + [SMALL_STATE(76)] = 3023, + [SMALL_STATE(77)] = 3049, + [SMALL_STATE(78)] = 3085, + [SMALL_STATE(79)] = 3115, + [SMALL_STATE(80)] = 3153, + [SMALL_STATE(81)] = 3193, + [SMALL_STATE(82)] = 3227, + [SMALL_STATE(83)] = 3256, + [SMALL_STATE(84)] = 3285, + [SMALL_STATE(85)] = 3314, + [SMALL_STATE(86)] = 3338, + [SMALL_STATE(87)] = 3362, + [SMALL_STATE(88)] = 3388, + [SMALL_STATE(89)] = 3412, + [SMALL_STATE(90)] = 3436, + [SMALL_STATE(91)] = 3460, + [SMALL_STATE(92)] = 3484, + [SMALL_STATE(93)] = 3508, + [SMALL_STATE(94)] = 3532, + [SMALL_STATE(95)] = 3556, + [SMALL_STATE(96)] = 3580, + [SMALL_STATE(97)] = 3604, + [SMALL_STATE(98)] = 3627, + [SMALL_STATE(99)] = 3658, + [SMALL_STATE(100)] = 3681, + [SMALL_STATE(101)] = 3706, + [SMALL_STATE(102)] = 3729, + [SMALL_STATE(103)] = 3768, + [SMALL_STATE(104)] = 3807, + [SMALL_STATE(105)] = 3836, + [SMALL_STATE(106)] = 3863, + [SMALL_STATE(107)] = 3890, + [SMALL_STATE(108)] = 3913, + [SMALL_STATE(109)] = 3938, + [SMALL_STATE(110)] = 3973, + [SMALL_STATE(111)] = 4010, + [SMALL_STATE(112)] = 4033, + [SMALL_STATE(113)] = 4058, + [SMALL_STATE(114)] = 4091, + [SMALL_STATE(115)] = 4114, + [SMALL_STATE(116)] = 4139, + [SMALL_STATE(117)] = 4162, + [SMALL_STATE(118)] = 4185, + [SMALL_STATE(119)] = 4208, + [SMALL_STATE(120)] = 4233, + [SMALL_STATE(121)] = 4256, + [SMALL_STATE(122)] = 4296, + [SMALL_STATE(123)] = 4336, + [SMALL_STATE(124)] = 4376, + [SMALL_STATE(125)] = 4414, + [SMALL_STATE(126)] = 4436, + [SMALL_STATE(127)] = 4474, + [SMALL_STATE(128)] = 4512, + [SMALL_STATE(129)] = 4552, + [SMALL_STATE(130)] = 4589, + [SMALL_STATE(131)] = 4626, + [SMALL_STATE(132)] = 4663, + [SMALL_STATE(133)] = 4700, + [SMALL_STATE(134)] = 4737, + [SMALL_STATE(135)] = 4774, + [SMALL_STATE(136)] = 4811, + [SMALL_STATE(137)] = 4848, + [SMALL_STATE(138)] = 4885, + [SMALL_STATE(139)] = 4922, + [SMALL_STATE(140)] = 4959, + [SMALL_STATE(141)] = 4996, + [SMALL_STATE(142)] = 5033, + [SMALL_STATE(143)] = 5070, + [SMALL_STATE(144)] = 5091, + [SMALL_STATE(145)] = 5112, + [SMALL_STATE(146)] = 5133, + [SMALL_STATE(147)] = 5154, + [SMALL_STATE(148)] = 5175, + [SMALL_STATE(149)] = 5196, + [SMALL_STATE(150)] = 5217, + [SMALL_STATE(151)] = 5238, + [SMALL_STATE(152)] = 5256, + [SMALL_STATE(153)] = 5274, + [SMALL_STATE(154)] = 5285, + [SMALL_STATE(155)] = 5296, + [SMALL_STATE(156)] = 5307, + [SMALL_STATE(157)] = 5318, + [SMALL_STATE(158)] = 5329, + [SMALL_STATE(159)] = 5339, + [SMALL_STATE(160)] = 5349, + [SMALL_STATE(161)] = 5357, + [SMALL_STATE(162)] = 5367, + [SMALL_STATE(163)] = 5377, + [SMALL_STATE(164)] = 5387, + [SMALL_STATE(165)] = 5395, + [SMALL_STATE(166)] = 5405, + [SMALL_STATE(167)] = 5415, + [SMALL_STATE(168)] = 5425, + [SMALL_STATE(169)] = 5432, + [SMALL_STATE(170)] = 5437, + [SMALL_STATE(171)] = 5444, + [SMALL_STATE(172)] = 5451, + [SMALL_STATE(173)] = 5456, + [SMALL_STATE(174)] = 5463, + [SMALL_STATE(175)] = 5470, + [SMALL_STATE(176)] = 5477, + [SMALL_STATE(177)] = 5484, + [SMALL_STATE(178)] = 5491, + [SMALL_STATE(179)] = 5498, + [SMALL_STATE(180)] = 5505, + [SMALL_STATE(181)] = 5512, + [SMALL_STATE(182)] = 5519, + [SMALL_STATE(183)] = 5526, + [SMALL_STATE(184)] = 5533, + [SMALL_STATE(185)] = 5537, + [SMALL_STATE(186)] = 5541, + [SMALL_STATE(187)] = 5545, + [SMALL_STATE(188)] = 5549, + [SMALL_STATE(189)] = 5553, + [SMALL_STATE(190)] = 5557, + [SMALL_STATE(191)] = 5561, + [SMALL_STATE(192)] = 5565, + [SMALL_STATE(193)] = 5569, + [SMALL_STATE(194)] = 5573, + [SMALL_STATE(195)] = 5577, + [SMALL_STATE(196)] = 5581, + [SMALL_STATE(197)] = 5585, + [SMALL_STATE(198)] = 5589, + [SMALL_STATE(199)] = 5593, + [SMALL_STATE(200)] = 5597, + [SMALL_STATE(201)] = 5601, }; 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}}, REDUCE(sym_source_file, 0, 0, 0), - [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [25] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), - [27] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(79), - [30] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(26), - [33] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(45), - [36] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(165), - [39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(11), - [42] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(8), - [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(139), - [48] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(92), - [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(92), - [54] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [56] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [58] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), - [60] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [62] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [64] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), - [66] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [68] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [72] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [74] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [78] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), - [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [84] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), - [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [88] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [90] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(115), - [93] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(21), - [96] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(41), - [99] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(167), - [102] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(12), - [105] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(6), - [108] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(140), - [111] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(115), - [114] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [118] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), - [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [122] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(113), - [125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(21), - [128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(41), - [131] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(167), - [134] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(12), - [137] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(6), - [140] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(140), - [143] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(113), - [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), - [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), - [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [154] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), - [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_expression_repeat1, 2, 0, 8), - [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_expression_repeat1, 2, 0, 8), - [162] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_expression_repeat1, 2, 0, 8), SHIFT_REPEAT(169), - [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 6, 0, 6), - [167] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 6, 0, 6), - [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 5, 0, 5), - [173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 5, 0, 5), - [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), - [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), - [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95), - [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), - [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), - [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), - [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), - [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117), - [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), - [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), - [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), - [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), - [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), - [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), - [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), - [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), - [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [245] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), - [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), - [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), - [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), - [263] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), - [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4, 0, 0), - [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 4, 0, 0), - [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5, 0, 0), - [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 5, 0, 0), - [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_expression_repeat1, 6, 0, 10), - [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_expression_repeat1, 6, 0, 10), - [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), - [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infix_expression, 3, 0, 2), - [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), - [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 4, 0, 3), - [301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 4, 0, 3), - [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__grouped_expression, 3, 0, 0), - [305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__grouped_expression, 3, 0, 0), - [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_infix_expression, 3, 0, 2), - [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2, 0, 0), - [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2, 0, 0), - [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 2, 0, 0), - [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 2, 0, 0), - [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 2, 0, 0), - [319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 2, 0, 0), - [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_expression, 2, 0, 1), - [323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_expression, 2, 0, 1), - [325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3, 0, 3), - [327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3, 0, 3), + [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(200), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(198), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(180), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(163), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(159), + [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [39] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(87), + [42] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(52), + [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(27), + [48] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(189), + [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(18), + [54] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(200), + [57] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(198), + [60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(14), + [63] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(154), + [66] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(180), + [69] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(102), + [72] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(102), + [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), + [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(175), + [82] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158), + [84] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), + [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [88] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [90] = {.entry = {.count = 1, .reusable = false}}, SHIFT(193), + [92] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [94] = {.entry = {.count = 1, .reusable = false}}, SHIFT(194), + [96] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201), + [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [102] = {.entry = {.count = 1, .reusable = false}}, SHIFT(185), + [104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190), + [110] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199), + [112] = {.entry = {.count = 1, .reusable = false}}, SHIFT(187), + [114] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [122] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(131), + [125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(32), + [128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(31), + [131] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(193), + [134] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(17), + [137] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(13), + [140] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(156), + [143] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), SHIFT_REPEAT(131), + [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), + [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_expression_repeat1, 2, 0, 9), + [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_expression_repeat1, 2, 0, 9), + [162] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_expression_repeat1, 2, 0, 9), SHIFT_REPEAT(197), + [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 6, 0, 7), + [167] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 6, 0, 7), + [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), + [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [175] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), + [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [179] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(137), + [182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(32), + [185] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(31), + [188] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(193), + [191] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(17), + [194] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(13), + [197] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(156), + [200] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(137), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 5, 0, 5), + [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 5, 0, 5), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), + [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142), + [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), + [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), + [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141), + [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), + [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), + [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_expression_repeat1, 6, 0, 12), + [243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_expression_repeat1, 6, 0, 12), + [245] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), + [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), + [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5, 0, 0), + [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 5, 0, 0), + [277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4, 0, 0), + [283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 4, 0, 0), + [285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), + [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 2, 0, 0), + [291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 2, 0, 0), + [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), + [295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), + [297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139), + [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), + [303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), + [305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), + [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 5, 0, 0), + [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 5, 0, 0), + [313] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [317] = {.entry = {.count = 1, .reusable = false}}, SHIFT(132), + [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 4, 0, 3), + [323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 4, 0, 3), + [325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), + [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 4, 0, 0), [331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 4, 0, 0), - [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 4, 0, 0), - [335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 4, 0, 0), - [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, 0, 0), - [339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3, 0, 0), - [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 5, 0, 0), - [343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 5, 0, 0), - [345] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_expression_repeat1, 2, 0, 8), SHIFT_REPEAT(166), - [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 5, 0, 0), - [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 5, 0, 0), - [352] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146), - [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 3, 0, 0), - [356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 3, 0, 0), - [358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), - [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3, 0, 0), - [362] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3, 0, 0), - [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 7, 0, 7), - [366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 7, 0, 7), - [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 8, 0, 9), - [370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 8, 0, 9), - [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), - [374] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), - [376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), - [380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), - [382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), - [384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), - [386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), - [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__rules, 1, 0, 0), - [390] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__rules, 1, 0, 0), - [392] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), - [394] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), - [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, 0, 0), - [400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3, 0, 0), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_pair, 3, 0, 4), - [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [442] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), - [444] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), - [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [448] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), - [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [452] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), - [454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), - [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2, 0, 0), - [474] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2, 0, 0), SHIFT_REPEAT(137), - [477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [493] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), - [495] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), - [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [499] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), - [501] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), - [509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [513] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), - [515] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), - [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [519] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), - [521] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), - [523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [535] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), - [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [541] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), - [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [551] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3, 0, 3), + [335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3, 0, 3), + [337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), + [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [345] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), + [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [349] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [353] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, 0, 0), + [359] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3, 0, 0), + [361] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), + [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134), + [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 8, 0, 10), + [371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 8, 0, 10), + [373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 5, 0, 0), + [375] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 5, 0, 0), + [377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 7, 0, 8), + [379] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 7, 0, 8), + [381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infix_expression, 3, 0, 2), + [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_infix_expression, 3, 0, 2), + [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__grouped_expression, 3, 0, 0), + [393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__grouped_expression, 3, 0, 0), + [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefix_expression, 2, 0, 1), + [397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefix_expression, 2, 0, 1), + [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3, 0, 0), + [401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3, 0, 0), + [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 3, 0, 0), + [405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 3, 0, 0), + [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 2, 0, 0), + [409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 2, 0, 0), + [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 4, 0, 0), + [413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 4, 0, 0), + [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2, 0, 0), + [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2, 0, 0), + [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [421] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), + [423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [429] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162), + [431] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166), + [433] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_expression_repeat1, 2, 0, 9), SHIFT_REPEAT(195), + [436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), + [438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), + [440] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), + [442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), + [444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), + [446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [448] = {.entry = {.count = 1, .reusable = false}}, SHIFT(186), + [450] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__rules, 1, 0, 0), + [456] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__rules, 1, 0, 0), + [458] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [460] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [462] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), + [464] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), + [466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, 0, 0), + [468] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3, 0, 0), + [470] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), + [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_pair, 3, 0, 4), + [494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [526] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), + [528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), + [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [532] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), + [534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, 0, 0), + [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2, 0, 0), + [548] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2, 0, 0), SHIFT_REPEAT(153), + [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [567] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), + [569] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), + [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [573] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), + [575] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), + [577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_loop, 9, 0, 11), + [579] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_loop, 9, 0, 11), + [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [583] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), + [585] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), + [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [593] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), + [595] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), + [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_loop, 5, 0, 6), + [599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_loop, 5, 0, 6), + [601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [613] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), + [615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [621] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), + [623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [639] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), }; #ifdef __cplusplus diff --git a/tree-sitter-aoc/test/corpus/loops.txt b/tree-sitter-aoc/test/corpus/loops.txt new file mode 100644 index 0000000..4802b4f --- /dev/null +++ b/tree-sitter-aoc/test/corpus/loops.txt @@ -0,0 +1,75 @@ +===== +While +===== + +while (true) {} +while(10) { + false +} + +--- + +(source_file + (while_loop + (true) + (block)) + (while_loop + (integer) + (block + (false)))) + + +=== +For +=== + +for (null; false; null) {} +for (i = 0; i < 10; i = i + 1) {} + +--- + +(source_file + (for_loop + (null) + (false) + (null) + (block)) + (for_loop + (assignment + (identifier) + (integer)) + (infix_expression + (identifier) + (integer)) + (assignment + (identifier) + (infix_expression + (identifier) + (integer))) + (block))) + + +================ +Continue & Break +================ + +while (true) { + if (true) { + break + } else { + continue + } +} + +--- + +(source_file + (while_loop + (true) + (block + (if_expression + (true) + (block + (break)) + (block + (continue))))))