From 03c566485155076983ff78689c62839c59b47327 Mon Sep 17 00:00:00 2001 From: Jeff Date: Fri, 6 Oct 2023 13:32:49 -0400 Subject: [PATCH] Continue syntax overhaul --- corpus/functions.txt | 26 +- corpus/match.txt | 160 +- grammar.js | 18 +- src/grammar.json | 71 +- src/node-types.json | 42 + src/parser.c | 8495 ++++++++++++++++++++++-------------------- 6 files changed, 4743 insertions(+), 4069 deletions(-) diff --git a/corpus/functions.txt b/corpus/functions.txt index 67e173c..5680e8b 100644 --- a/corpus/functions.txt +++ b/corpus/functions.txt @@ -21,7 +21,7 @@ function { "Hiya" } Function Call ================== -foobar("Hiya") +(foobar "Hiya") --- @@ -40,8 +40,8 @@ Complex Function ================== function { - output message - output number + (output message) + (output number) } --- @@ -55,23 +55,23 @@ function { (identifier) (identifier) (statement - (expression - (identifier))) + (expression + (tool_call + (tool) + (expression + (identifier))))) (statement (expression - (identifier))) - (statement - (expression - (identifier))) - (statement - (expression - (identifier))))))))) + (tool_call + (tool) + (expression + (identifier))))))))))) ================== Complex Function Call ================== -foobar ( +(foobar "hi" 42 { diff --git a/corpus/match.txt b/corpus/match.txt index a9c20b5..9c513f3 100644 --- a/corpus/match.txt +++ b/corpus/match.txt @@ -1,34 +1,170 @@ ================== -Match +If ================== -match 21 + 21 - 42 => true -catch false +if true then "True" --- (root (item (statement - (match + (if_else (expression - (math + (value + (boolean))) + (statement + (expression + (value + (string)))))))) + +================== +If Assignment +================== + +x = if true then 1 + +--- + +(root + (item + (statement + (assignment + (identifier) + (statement + (if_else + (expression + (value + (boolean))) + (statement + (expression + (value + (integer)))))))))) + +================== +If Else +================== + +if false then "True" else "False" + +--- + +(root + (item + (statement + (if_else + (expression + (value + (boolean))) + (statement + (expression + (value + (string)))) + (statement + (expression + (value + (string)))))))) + +================== +If Else If +================== + +if 1 == 1 + then "math is fun" +else if 4 == 9 + then "math is broken" + +--- + +(root + (item + (statement + (if_else + (expression + (logic (expression (value (integer))) - (math_operator) + (logic_operator) (expression (value (integer))))) + (statement + (expression + (value + (string)))) + (statement + (if_else + (expression + (logic + (expression + (value + (integer))) + (logic_operator) + (expression + (value + (integer))))) + (statement + (expression + (value + (string)))))))))) + +================== +If Else Else If Else +================== + +if false + then "no" +else if false + then "no" +else if 1 + 1 == 9 + then "not the answer" +else "42" + +--- + +(root + (item + (statement + (if_else (expression (value - (integer))) + (boolean))) (statement (expression (value - (boolean)))) + (string)))) (statement - (expression - (value - (boolean)))))))) + (if_else + (expression + (value + (boolean))) + (statement + (expression + (value + (string)))) + (statement + (if_else + (expression + (logic + (expression + (math + (expression + (value + (integer))) + (math_operator) + (expression + (value + (integer))))) + (logic_operator) + (expression + (value + (integer))))) + (statement + (expression + (value + (string)))) + (statement + (expression + (value + (string)))))))))))) diff --git a/grammar.js b/grammar.js index 78c5ef8..8ae44b8 100644 --- a/grammar.js +++ b/grammar.js @@ -35,6 +35,7 @@ module.exports = grammar({ $.value, $.identifier, $.function_call, + $.tool_call, $.math, $.logic, ), @@ -158,9 +159,9 @@ module.exports = grammar({ )), function_call: $ => prec.right(seq( - $.identifier, '(', - repeat(seq($.expression)), + $.identifier, + repeat(seq($.expression, optional(','))), ')', )), @@ -188,5 +189,18 @@ module.exports = grammar({ 'catch', $.statement )), + + tool_call: $ => prec.right(1, seq( + '(', + $._tool, + ')', + )), + + _tool: $ => choice( + 'input', + $.output, + ), + + output: $ => seq('output', $.expression), } }); diff --git a/src/grammar.json b/src/grammar.json index 9c1ac6d..5f6dcbc 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -124,6 +124,10 @@ "type": "SYMBOL", "name": "function_call" }, + { + "type": "SYMBOL", + "name": "tool_call" + }, { "type": "SYMBOL", "name": "math" @@ -677,14 +681,14 @@ "content": { "type": "SEQ", "members": [ - { - "type": "SYMBOL", - "name": "identifier" - }, { "type": "STRING", "value": "(" }, + { + "type": "SYMBOL", + "name": "identifier" + }, { "type": "REPEAT", "content": { @@ -693,6 +697,18 @@ { "type": "SYMBOL", "name": "expression" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] } ] } @@ -813,6 +829,53 @@ } ] } + }, + "tool_call": { + "type": "PREC_RIGHT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "_tool" + }, + { + "type": "STRING", + "value": ")" + } + ] + } + }, + "_tool": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "input" + }, + { + "type": "SYMBOL", + "name": "output" + } + ] + }, + "output": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "output" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] } }, "extras": [ diff --git a/src/node-types.json b/src/node-types.json index b50252e..2167113 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -52,6 +52,10 @@ "type": "math", "named": true }, + { + "type": "tool_call", + "named": true + }, { "type": "value", "named": true @@ -278,6 +282,21 @@ "named": true, "fields": {} }, + { + "type": "output", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, { "type": "root", "named": true, @@ -374,6 +393,21 @@ ] } }, + { + "type": "tool_call", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "output", + "named": true + } + ] + } + }, { "type": "value", "named": true, @@ -556,6 +590,10 @@ "type": "if", "named": false }, + { + "type": "input", + "named": false + }, { "type": "insert", "named": false @@ -580,6 +618,10 @@ "type": "or", "named": false }, + { + "type": "output", + "named": false + }, { "type": "select", "named": false diff --git a/src/parser.c b/src/parser.c index c2e635b..808fe20 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,11 +6,11 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 196 +#define STATE_COUNT 203 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 81 +#define SYMBOL_COUNT 86 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 49 +#define TOKEN_COUNT 51 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 7 @@ -65,38 +65,43 @@ enum { anon_sym_match = 46, anon_sym_EQ_GT = 47, anon_sym_catch = 48, - sym_root = 49, - sym_item = 50, - sym_comment = 51, - sym_statement = 52, - sym_yield = 53, - sym_expression = 54, - sym_value = 55, - sym_boolean = 56, - sym_list = 57, - sym_function = 58, - sym_table = 59, - sym_map = 60, - sym_math = 61, - sym_math_operator = 62, - sym_logic = 63, - sym_logic_operator = 64, - sym_assignment = 65, - sym_select = 66, - sym_insert = 67, - sym_if_else = 68, - sym_function_call = 69, - sym_loop = 70, - sym_match = 71, - aux_sym_root_repeat1 = 72, - aux_sym_yield_repeat1 = 73, - aux_sym_list_repeat1 = 74, - aux_sym_function_repeat1 = 75, - aux_sym_function_repeat2 = 76, - aux_sym_table_repeat1 = 77, - aux_sym_map_repeat1 = 78, - aux_sym_function_call_repeat1 = 79, - aux_sym_match_repeat1 = 80, + anon_sym_input = 49, + anon_sym_output = 50, + sym_root = 51, + sym_item = 52, + sym_comment = 53, + sym_statement = 54, + sym_yield = 55, + sym_expression = 56, + sym_value = 57, + sym_boolean = 58, + sym_list = 59, + sym_function = 60, + sym_table = 61, + sym_map = 62, + sym_math = 63, + sym_math_operator = 64, + sym_logic = 65, + sym_logic_operator = 66, + sym_assignment = 67, + sym_select = 68, + sym_insert = 69, + sym_if_else = 70, + sym_function_call = 71, + sym_loop = 72, + sym_match = 73, + sym_tool_call = 74, + sym__tool = 75, + sym_output = 76, + aux_sym_root_repeat1 = 77, + aux_sym_yield_repeat1 = 78, + aux_sym_list_repeat1 = 79, + aux_sym_function_repeat1 = 80, + aux_sym_function_repeat2 = 81, + aux_sym_table_repeat1 = 82, + aux_sym_map_repeat1 = 83, + aux_sym_function_call_repeat1 = 84, + aux_sym_match_repeat1 = 85, }; static const char * const ts_symbol_names[] = { @@ -149,6 +154,8 @@ static const char * const ts_symbol_names[] = { [anon_sym_match] = "match", [anon_sym_EQ_GT] = "=>", [anon_sym_catch] = "catch", + [anon_sym_input] = "input", + [anon_sym_output] = "output", [sym_root] = "root", [sym_item] = "item", [sym_comment] = "comment", @@ -172,6 +179,9 @@ static const char * const ts_symbol_names[] = { [sym_function_call] = "function_call", [sym_loop] = "loop", [sym_match] = "match", + [sym_tool_call] = "tool_call", + [sym__tool] = "_tool", + [sym_output] = "output", [aux_sym_root_repeat1] = "root_repeat1", [aux_sym_yield_repeat1] = "yield_repeat1", [aux_sym_list_repeat1] = "list_repeat1", @@ -233,6 +243,8 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_match] = anon_sym_match, [anon_sym_EQ_GT] = anon_sym_EQ_GT, [anon_sym_catch] = anon_sym_catch, + [anon_sym_input] = anon_sym_input, + [anon_sym_output] = anon_sym_output, [sym_root] = sym_root, [sym_item] = sym_item, [sym_comment] = sym_comment, @@ -256,6 +268,9 @@ static const TSSymbol ts_symbol_map[] = { [sym_function_call] = sym_function_call, [sym_loop] = sym_loop, [sym_match] = sym_match, + [sym_tool_call] = sym_tool_call, + [sym__tool] = sym__tool, + [sym_output] = sym_output, [aux_sym_root_repeat1] = aux_sym_root_repeat1, [aux_sym_yield_repeat1] = aux_sym_yield_repeat1, [aux_sym_list_repeat1] = aux_sym_list_repeat1, @@ -464,6 +479,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_input] = { + .visible = true, + .named = false, + }, + [anon_sym_output] = { + .visible = true, + .named = false, + }, [sym_root] = { .visible = true, .named = true, @@ -556,6 +579,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_tool_call] = { + .visible = true, + .named = true, + }, + [sym__tool] = { + .visible = false, + .named = true, + }, + [sym_output] = { + .visible = true, + .named = true, + }, [aux_sym_root_repeat1] = { .visible = false, .named = false, @@ -609,7 +644,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [3] = 3, [4] = 4, [5] = 5, - [6] = 4, + [6] = 6, [7] = 7, [8] = 8, [9] = 9, @@ -623,43 +658,43 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [17] = 17, [18] = 18, [19] = 19, - [20] = 20, - [21] = 21, + [20] = 8, + [21] = 10, [22] = 22, [23] = 23, [24] = 24, - [25] = 25, - [26] = 24, - [27] = 23, - [28] = 28, - [29] = 28, - [30] = 24, - [31] = 23, + [25] = 12, + [26] = 26, + [27] = 10, + [28] = 12, + [29] = 8, + [30] = 30, + [31] = 30, [32] = 32, - [33] = 28, + [33] = 32, [34] = 34, [35] = 35, [36] = 36, - [37] = 36, - [38] = 35, + [37] = 37, + [38] = 38, [39] = 39, [40] = 40, - [41] = 41, - [42] = 41, - [43] = 43, - [44] = 35, - [45] = 45, + [41] = 32, + [42] = 42, + [43] = 30, + [44] = 36, + [45] = 36, [46] = 39, - [47] = 41, - [48] = 39, + [47] = 19, + [48] = 48, [49] = 49, [50] = 50, [51] = 51, - [52] = 49, - [53] = 53, - [54] = 50, + [52] = 52, + [53] = 50, + [54] = 48, [55] = 55, - [56] = 51, + [56] = 55, [57] = 57, [58] = 58, [59] = 59, @@ -668,10 +703,10 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [62] = 62, [63] = 63, [64] = 64, - [65] = 63, - [66] = 62, + [65] = 62, + [66] = 64, [67] = 67, - [68] = 64, + [68] = 63, [69] = 69, [70] = 70, [71] = 71, @@ -682,52 +717,52 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [76] = 76, [77] = 77, [78] = 78, - [79] = 71, + [79] = 78, [80] = 80, - [81] = 81, + [81] = 75, [82] = 82, - [83] = 81, - [84] = 84, - [85] = 80, + [83] = 83, + [84] = 83, + [85] = 85, [86] = 86, [87] = 87, [88] = 88, [89] = 89, - [90] = 88, - [91] = 86, - [92] = 92, + [90] = 90, + [91] = 80, + [92] = 76, [93] = 93, [94] = 94, - [95] = 93, - [96] = 96, - [97] = 93, + [95] = 95, + [96] = 95, + [97] = 95, [98] = 98, - [99] = 99, - [100] = 98, - [101] = 101, - [102] = 98, - [103] = 14, - [104] = 17, + [99] = 5, + [100] = 100, + [101] = 100, + [102] = 102, + [103] = 100, + [104] = 6, [105] = 105, [106] = 106, - [107] = 20, - [108] = 106, - [109] = 109, - [110] = 7, - [111] = 18, - [112] = 13, - [113] = 19, - [114] = 12, - [115] = 16, - [116] = 43, - [117] = 11, - [118] = 9, - [119] = 10, - [120] = 34, - [121] = 45, - [122] = 5, - [123] = 123, - [124] = 124, + [107] = 26, + [108] = 17, + [109] = 34, + [110] = 11, + [111] = 35, + [112] = 37, + [113] = 113, + [114] = 114, + [115] = 115, + [116] = 15, + [117] = 7, + [118] = 115, + [119] = 16, + [120] = 24, + [121] = 13, + [122] = 14, + [123] = 18, + [124] = 38, [125] = 125, [126] = 126, [127] = 127, @@ -735,70 +770,77 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [129] = 129, [130] = 130, [131] = 131, - [132] = 130, + [132] = 132, [133] = 133, - [134] = 130, - [135] = 133, - [136] = 133, - [137] = 137, - [138] = 138, - [139] = 139, - [140] = 139, + [134] = 132, + [135] = 135, + [136] = 136, + [137] = 136, + [138] = 135, + [139] = 136, + [140] = 135, [141] = 141, [142] = 142, - [143] = 137, - [144] = 144, + [143] = 143, + [144] = 143, [145] = 145, - [146] = 138, - [147] = 145, - [148] = 144, - [149] = 139, + [146] = 145, + [147] = 147, + [148] = 143, + [149] = 149, [150] = 145, [151] = 151, - [152] = 137, - [153] = 153, - [154] = 144, - [155] = 138, - [156] = 5, + [152] = 142, + [153] = 149, + [154] = 149, + [155] = 151, + [156] = 156, [157] = 157, - [158] = 10, + [158] = 142, [159] = 159, - [160] = 157, - [161] = 12, - [162] = 7, - [163] = 11, - [164] = 164, + [160] = 151, + [161] = 26, + [162] = 18, + [163] = 163, + [164] = 163, [165] = 165, - [166] = 18, - [167] = 157, - [168] = 13, - [169] = 164, - [170] = 19, - [171] = 16, - [172] = 164, - [173] = 9, - [174] = 174, - [175] = 175, - [176] = 176, - [177] = 174, - [178] = 178, + [166] = 163, + [167] = 14, + [168] = 16, + [169] = 13, + [170] = 17, + [171] = 171, + [172] = 165, + [173] = 173, + [174] = 24, + [175] = 11, + [176] = 165, + [177] = 15, + [178] = 7, [179] = 179, [180] = 180, - [181] = 176, + [181] = 181, [182] = 182, - [183] = 178, + [183] = 183, [184] = 184, [185] = 185, - [186] = 174, - [187] = 178, - [188] = 188, + [186] = 186, + [187] = 187, + [188] = 183, [189] = 189, - [190] = 190, - [191] = 176, - [192] = 184, + [190] = 185, + [191] = 191, + [192] = 181, [193] = 193, - [194] = 184, + [194] = 183, [195] = 195, + [196] = 196, + [197] = 181, + [198] = 198, + [199] = 191, + [200] = 187, + [201] = 191, + [202] = 185, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -844,7 +886,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '!') ADVANCE(5); if (lookahead == '%') ADVANCE(51); if (lookahead == '&') ADVANCE(3); - if (lookahead == '(') ADVANCE(65); + if (lookahead == ')') ADVANCE(66); if (lookahead == '*') ADVANCE(49); if (lookahead == '+') ADVANCE(45); if (lookahead == '-') ADVANCE(47); @@ -943,6 +985,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '"') ADVANCE(2); if (lookahead == '#') ADVANCE(19); if (lookahead == '\'') ADVANCE(4); + if (lookahead == '(') ADVANCE(65); if (lookahead == ')') ADVANCE(66); if (lookahead == ',') ADVANCE(36); if (lookahead == '-') ADVANCE(7); @@ -1211,225 +1254,254 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { if (lookahead == 'i') ADVANCE(5); if (lookahead == 'l') ADVANCE(6); if (lookahead == 'm') ADVANCE(7); - if (lookahead == 's') ADVANCE(8); - if (lookahead == 't') ADVANCE(9); - if (lookahead == 'w') ADVANCE(10); + if (lookahead == 'o') ADVANCE(8); + if (lookahead == 's') ADVANCE(9); + if (lookahead == 't') ADVANCE(10); + if (lookahead == 'w') ADVANCE(11); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) END_STATE(); case 1: - if (lookahead == 'r') ADVANCE(11); + if (lookahead == 'r') ADVANCE(12); END_STATE(); case 2: - if (lookahead == 'a') ADVANCE(12); + if (lookahead == 'a') ADVANCE(13); END_STATE(); case 3: - if (lookahead == 'l') ADVANCE(13); + if (lookahead == 'l') ADVANCE(14); END_STATE(); case 4: - if (lookahead == 'a') ADVANCE(14); - if (lookahead == 'r') ADVANCE(15); - if (lookahead == 'u') ADVANCE(16); + if (lookahead == 'a') ADVANCE(15); + if (lookahead == 'r') ADVANCE(16); + if (lookahead == 'u') ADVANCE(17); END_STATE(); case 5: - if (lookahead == 'f') ADVANCE(17); - if (lookahead == 'n') ADVANCE(18); + if (lookahead == 'f') ADVANCE(18); + if (lookahead == 'n') ADVANCE(19); END_STATE(); case 6: - if (lookahead == 'o') ADVANCE(19); + if (lookahead == 'o') ADVANCE(20); END_STATE(); case 7: - if (lookahead == 'a') ADVANCE(20); + if (lookahead == 'a') ADVANCE(21); END_STATE(); case 8: - if (lookahead == 'e') ADVANCE(21); + if (lookahead == 'u') ADVANCE(22); END_STATE(); case 9: - if (lookahead == 'a') ADVANCE(22); - if (lookahead == 'r') ADVANCE(23); + if (lookahead == 'e') ADVANCE(23); END_STATE(); case 10: - if (lookahead == 'h') ADVANCE(24); + if (lookahead == 'a') ADVANCE(24); + if (lookahead == 'r') ADVANCE(25); END_STATE(); case 11: - if (lookahead == 'e') ADVANCE(25); + if (lookahead == 'h') ADVANCE(26); END_STATE(); case 12: - if (lookahead == 't') ADVANCE(26); + if (lookahead == 'e') ADVANCE(27); END_STATE(); case 13: - if (lookahead == 's') ADVANCE(27); + if (lookahead == 't') ADVANCE(28); END_STATE(); case 14: - if (lookahead == 'l') ADVANCE(28); + if (lookahead == 's') ADVANCE(29); END_STATE(); case 15: - if (lookahead == 'o') ADVANCE(29); + if (lookahead == 'l') ADVANCE(30); END_STATE(); case 16: - if (lookahead == 'n') ADVANCE(30); + if (lookahead == 'o') ADVANCE(31); END_STATE(); case 17: - ACCEPT_TOKEN(anon_sym_if); + if (lookahead == 'n') ADVANCE(32); END_STATE(); case 18: - if (lookahead == 's') ADVANCE(31); - if (lookahead == 't') ADVANCE(32); + ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 19: - if (lookahead == 'o') ADVANCE(33); + if (lookahead == 'p') ADVANCE(33); + if (lookahead == 's') ADVANCE(34); + if (lookahead == 't') ADVANCE(35); END_STATE(); case 20: - if (lookahead == 't') ADVANCE(34); + if (lookahead == 'o') ADVANCE(36); END_STATE(); case 21: - if (lookahead == 'l') ADVANCE(35); + if (lookahead == 't') ADVANCE(37); END_STATE(); case 22: - if (lookahead == 'b') ADVANCE(36); + if (lookahead == 't') ADVANCE(38); END_STATE(); case 23: - if (lookahead == 'u') ADVANCE(37); + if (lookahead == 'l') ADVANCE(39); END_STATE(); case 24: - if (lookahead == 'e') ADVANCE(38); - if (lookahead == 'i') ADVANCE(39); + if (lookahead == 'b') ADVANCE(40); END_STATE(); case 25: - if (lookahead == 'a') ADVANCE(40); + if (lookahead == 'u') ADVANCE(41); END_STATE(); case 26: - if (lookahead == 'c') ADVANCE(41); + if (lookahead == 'e') ADVANCE(42); + if (lookahead == 'i') ADVANCE(43); END_STATE(); case 27: - if (lookahead == 'e') ADVANCE(42); + if (lookahead == 'a') ADVANCE(44); END_STATE(); case 28: - if (lookahead == 's') ADVANCE(43); - END_STATE(); - case 29: - if (lookahead == 'm') ADVANCE(44); - END_STATE(); - case 30: if (lookahead == 'c') ADVANCE(45); END_STATE(); - case 31: + case 29: if (lookahead == 'e') ADVANCE(46); END_STATE(); + case 30: + if (lookahead == 's') ADVANCE(47); + END_STATE(); + case 31: + if (lookahead == 'm') ADVANCE(48); + END_STATE(); case 32: - if (lookahead == 'o') ADVANCE(47); - END_STATE(); - case 33: - if (lookahead == 'p') ADVANCE(48); - END_STATE(); - case 34: if (lookahead == 'c') ADVANCE(49); END_STATE(); + case 33: + if (lookahead == 'u') ADVANCE(50); + END_STATE(); + case 34: + if (lookahead == 'e') ADVANCE(51); + END_STATE(); case 35: - if (lookahead == 'e') ADVANCE(50); + if (lookahead == 'o') ADVANCE(52); END_STATE(); case 36: - if (lookahead == 'l') ADVANCE(51); + if (lookahead == 'p') ADVANCE(53); END_STATE(); case 37: - if (lookahead == 'e') ADVANCE(52); + if (lookahead == 'c') ADVANCE(54); END_STATE(); case 38: - if (lookahead == 'r') ADVANCE(53); + if (lookahead == 'p') ADVANCE(55); END_STATE(); case 39: - if (lookahead == 'l') ADVANCE(54); + if (lookahead == 'e') ADVANCE(56); END_STATE(); case 40: - if (lookahead == 'k') ADVANCE(55); + if (lookahead == 'l') ADVANCE(57); END_STATE(); case 41: - if (lookahead == 'h') ADVANCE(56); + if (lookahead == 'e') ADVANCE(58); END_STATE(); case 42: - ACCEPT_TOKEN(anon_sym_else); - END_STATE(); - case 43: - if (lookahead == 'e') ADVANCE(57); - END_STATE(); - case 44: - ACCEPT_TOKEN(anon_sym_from); - END_STATE(); - case 45: - if (lookahead == 't') ADVANCE(58); - END_STATE(); - case 46: if (lookahead == 'r') ADVANCE(59); END_STATE(); + case 43: + if (lookahead == 'l') ADVANCE(60); + END_STATE(); + case 44: + if (lookahead == 'k') ADVANCE(61); + END_STATE(); + case 45: + if (lookahead == 'h') ADVANCE(62); + END_STATE(); + case 46: + ACCEPT_TOKEN(anon_sym_else); + END_STATE(); case 47: - ACCEPT_TOKEN(anon_sym_into); - END_STATE(); - case 48: - ACCEPT_TOKEN(anon_sym_loop); - END_STATE(); - case 49: - if (lookahead == 'h') ADVANCE(60); - END_STATE(); - case 50: - if (lookahead == 'c') ADVANCE(61); - END_STATE(); - case 51: - if (lookahead == 'e') ADVANCE(62); - END_STATE(); - case 52: - ACCEPT_TOKEN(anon_sym_true); - END_STATE(); - case 53: if (lookahead == 'e') ADVANCE(63); END_STATE(); + case 48: + ACCEPT_TOKEN(anon_sym_from); + END_STATE(); + case 49: + if (lookahead == 't') ADVANCE(64); + END_STATE(); + case 50: + if (lookahead == 't') ADVANCE(65); + END_STATE(); + case 51: + if (lookahead == 'r') ADVANCE(66); + END_STATE(); + case 52: + ACCEPT_TOKEN(anon_sym_into); + END_STATE(); + case 53: + ACCEPT_TOKEN(anon_sym_loop); + END_STATE(); case 54: - if (lookahead == 'e') ADVANCE(64); + if (lookahead == 'h') ADVANCE(67); END_STATE(); case 55: - ACCEPT_TOKEN(anon_sym_break); + if (lookahead == 'u') ADVANCE(68); END_STATE(); case 56: - ACCEPT_TOKEN(anon_sym_catch); + if (lookahead == 'c') ADVANCE(69); END_STATE(); case 57: - ACCEPT_TOKEN(anon_sym_false); + if (lookahead == 'e') ADVANCE(70); END_STATE(); case 58: - if (lookahead == 'i') ADVANCE(65); + ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 59: - if (lookahead == 't') ADVANCE(66); + if (lookahead == 'e') ADVANCE(71); END_STATE(); case 60: - ACCEPT_TOKEN(anon_sym_match); + if (lookahead == 'e') ADVANCE(72); END_STATE(); case 61: - if (lookahead == 't') ADVANCE(67); + ACCEPT_TOKEN(anon_sym_break); END_STATE(); case 62: - ACCEPT_TOKEN(anon_sym_table); + ACCEPT_TOKEN(anon_sym_catch); END_STATE(); case 63: - ACCEPT_TOKEN(anon_sym_where); + ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 64: - ACCEPT_TOKEN(anon_sym_while); + if (lookahead == 'i') ADVANCE(73); END_STATE(); case 65: - if (lookahead == 'o') ADVANCE(68); + ACCEPT_TOKEN(anon_sym_input); END_STATE(); case 66: - ACCEPT_TOKEN(anon_sym_insert); + if (lookahead == 't') ADVANCE(74); END_STATE(); case 67: - ACCEPT_TOKEN(anon_sym_select); + ACCEPT_TOKEN(anon_sym_match); END_STATE(); case 68: - if (lookahead == 'n') ADVANCE(69); + if (lookahead == 't') ADVANCE(75); END_STATE(); case 69: + if (lookahead == 't') ADVANCE(76); + END_STATE(); + case 70: + ACCEPT_TOKEN(anon_sym_table); + END_STATE(); + case 71: + ACCEPT_TOKEN(anon_sym_where); + END_STATE(); + case 72: + ACCEPT_TOKEN(anon_sym_while); + END_STATE(); + case 73: + if (lookahead == 'o') ADVANCE(77); + END_STATE(); + case 74: + ACCEPT_TOKEN(anon_sym_insert); + END_STATE(); + case 75: + ACCEPT_TOKEN(anon_sym_output); + END_STATE(); + case 76: + ACCEPT_TOKEN(anon_sym_select); + END_STATE(); + case 77: + if (lookahead == 'n') ADVANCE(78); + END_STATE(); + case 78: ACCEPT_TOKEN(anon_sym_function); END_STATE(); default: @@ -1442,15 +1514,15 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [1] = {.lex_state = 17}, [2] = {.lex_state = 17}, [3] = {.lex_state = 17}, - [4] = {.lex_state = 16}, + [4] = {.lex_state = 17}, [5] = {.lex_state = 16}, [6] = {.lex_state = 16}, [7] = {.lex_state = 16}, [8] = {.lex_state = 17}, - [9] = {.lex_state = 16}, - [10] = {.lex_state = 16}, + [9] = {.lex_state = 17}, + [10] = {.lex_state = 17}, [11] = {.lex_state = 16}, - [12] = {.lex_state = 16}, + [12] = {.lex_state = 17}, [13] = {.lex_state = 16}, [14] = {.lex_state = 16}, [15] = {.lex_state = 16}, @@ -1458,36 +1530,36 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [17] = {.lex_state = 16}, [18] = {.lex_state = 16}, [19] = {.lex_state = 16}, - [20] = {.lex_state = 16}, + [20] = {.lex_state = 17}, [21] = {.lex_state = 17}, [22] = {.lex_state = 16}, [23] = {.lex_state = 17}, - [24] = {.lex_state = 17}, + [24] = {.lex_state = 16}, [25] = {.lex_state = 17}, - [26] = {.lex_state = 17}, + [26] = {.lex_state = 16}, [27] = {.lex_state = 17}, [28] = {.lex_state = 17}, [29] = {.lex_state = 17}, [30] = {.lex_state = 17}, [31] = {.lex_state = 17}, - [32] = {.lex_state = 16}, + [32] = {.lex_state = 17}, [33] = {.lex_state = 17}, [34] = {.lex_state = 16}, - [35] = {.lex_state = 17}, - [36] = {.lex_state = 16}, + [35] = {.lex_state = 16}, + [36] = {.lex_state = 17}, [37] = {.lex_state = 16}, - [38] = {.lex_state = 17}, - [39] = {.lex_state = 17}, + [38] = {.lex_state = 16}, + [39] = {.lex_state = 16}, [40] = {.lex_state = 16}, [41] = {.lex_state = 17}, - [42] = {.lex_state = 17}, - [43] = {.lex_state = 16}, + [42] = {.lex_state = 16}, + [43] = {.lex_state = 17}, [44] = {.lex_state = 17}, - [45] = {.lex_state = 16}, - [46] = {.lex_state = 17}, - [47] = {.lex_state = 17}, + [45] = {.lex_state = 17}, + [46] = {.lex_state = 16}, + [47] = {.lex_state = 16}, [48] = {.lex_state = 17}, - [49] = {.lex_state = 17}, + [49] = {.lex_state = 16}, [50] = {.lex_state = 17}, [51] = {.lex_state = 17}, [52] = {.lex_state = 17}, @@ -1537,14 +1609,14 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [96] = {.lex_state = 17}, [97] = {.lex_state = 17}, [98] = {.lex_state = 17}, - [99] = {.lex_state = 17}, + [99] = {.lex_state = 1}, [100] = {.lex_state = 17}, [101] = {.lex_state = 17}, [102] = {.lex_state = 17}, - [103] = {.lex_state = 1}, + [103] = {.lex_state = 17}, [104] = {.lex_state = 1}, [105] = {.lex_state = 17}, - [106] = {.lex_state = 1}, + [106] = {.lex_state = 17}, [107] = {.lex_state = 1}, [108] = {.lex_state = 1}, [109] = {.lex_state = 1}, @@ -1562,30 +1634,30 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [121] = {.lex_state = 1}, [122] = {.lex_state = 1}, [123] = {.lex_state = 1}, - [124] = {.lex_state = 17}, - [125] = {.lex_state = 17}, + [124] = {.lex_state = 1}, + [125] = {.lex_state = 1}, [126] = {.lex_state = 17}, [127] = {.lex_state = 17}, [128] = {.lex_state = 17}, [129] = {.lex_state = 17}, - [130] = {.lex_state = 0}, + [130] = {.lex_state = 17}, [131] = {.lex_state = 17}, - [132] = {.lex_state = 0}, - [133] = {.lex_state = 0}, - [134] = {.lex_state = 0}, + [132] = {.lex_state = 17}, + [133] = {.lex_state = 17}, + [134] = {.lex_state = 17}, [135] = {.lex_state = 0}, [136] = {.lex_state = 0}, - [137] = {.lex_state = 17}, - [138] = {.lex_state = 17}, - [139] = {.lex_state = 17}, - [140] = {.lex_state = 17}, - [141] = {.lex_state = 0}, + [137] = {.lex_state = 0}, + [138] = {.lex_state = 0}, + [139] = {.lex_state = 0}, + [140] = {.lex_state = 0}, + [141] = {.lex_state = 17}, [142] = {.lex_state = 17}, [143] = {.lex_state = 17}, [144] = {.lex_state = 17}, [145] = {.lex_state = 17}, [146] = {.lex_state = 17}, - [147] = {.lex_state = 17}, + [147] = {.lex_state = 0}, [148] = {.lex_state = 17}, [149] = {.lex_state = 17}, [150] = {.lex_state = 17}, @@ -1602,38 +1674,45 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [161] = {.lex_state = 17}, [162] = {.lex_state = 17}, [163] = {.lex_state = 17}, - [164] = {.lex_state = 0}, - [165] = {.lex_state = 17}, + [164] = {.lex_state = 17}, + [165] = {.lex_state = 0}, [166] = {.lex_state = 17}, [167] = {.lex_state = 17}, [168] = {.lex_state = 17}, - [169] = {.lex_state = 0}, + [169] = {.lex_state = 17}, [170] = {.lex_state = 17}, [171] = {.lex_state = 17}, [172] = {.lex_state = 0}, [173] = {.lex_state = 17}, - [174] = {.lex_state = 0}, - [175] = {.lex_state = 0}, + [174] = {.lex_state = 17}, + [175] = {.lex_state = 17}, [176] = {.lex_state = 0}, - [177] = {.lex_state = 0}, - [178] = {.lex_state = 0}, - [179] = {.lex_state = 17}, - [180] = {.lex_state = 0}, + [177] = {.lex_state = 17}, + [178] = {.lex_state = 17}, + [179] = {.lex_state = 20}, + [180] = {.lex_state = 17}, [181] = {.lex_state = 0}, - [182] = {.lex_state = 20}, + [182] = {.lex_state = 17}, [183] = {.lex_state = 0}, [184] = {.lex_state = 0}, [185] = {.lex_state = 0}, - [186] = {.lex_state = 0}, + [186] = {.lex_state = 17}, [187] = {.lex_state = 0}, - [188] = {.lex_state = 17}, - [189] = {.lex_state = 17}, - [190] = {.lex_state = 17}, + [188] = {.lex_state = 0}, + [189] = {.lex_state = 0}, + [190] = {.lex_state = 0}, [191] = {.lex_state = 0}, [192] = {.lex_state = 0}, - [193] = {.lex_state = 17}, + [193] = {.lex_state = 0}, [194] = {.lex_state = 0}, - [195] = {.lex_state = 0}, + [195] = {.lex_state = 17}, + [196] = {.lex_state = 17}, + [197] = {.lex_state = 0}, + [198] = {.lex_state = 0}, + [199] = {.lex_state = 0}, + [200] = {.lex_state = 0}, + [201] = {.lex_state = 0}, + [202] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1686,29 +1765,32 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_match] = ACTIONS(1), [anon_sym_EQ_GT] = ACTIONS(1), [anon_sym_catch] = ACTIONS(1), + [anon_sym_input] = ACTIONS(1), + [anon_sym_output] = ACTIONS(1), }, [1] = { - [sym_root] = STATE(180), + [sym_root] = STATE(189), [sym_item] = STATE(2), [sym_comment] = STATE(94), [sym_statement] = STATE(94), [sym_yield] = STATE(73), - [sym_expression] = STATE(22), - [sym_value] = STATE(43), - [sym_boolean] = STATE(12), - [sym_list] = STATE(12), - [sym_function] = STATE(12), - [sym_table] = STATE(12), - [sym_map] = STATE(12), - [sym_math] = STATE(43), - [sym_logic] = STATE(43), + [sym_expression] = STATE(40), + [sym_value] = STATE(38), + [sym_boolean] = STATE(14), + [sym_list] = STATE(14), + [sym_function] = STATE(14), + [sym_table] = STATE(14), + [sym_map] = STATE(14), + [sym_math] = STATE(38), + [sym_logic] = STATE(38), [sym_assignment] = STATE(73), [sym_select] = STATE(73), [sym_insert] = STATE(73), [sym_if_else] = STATE(73), - [sym_function_call] = STATE(43), + [sym_function_call] = STATE(38), [sym_loop] = STATE(73), [sym_match] = STATE(73), + [sym_tool_call] = STATE(38), [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(3), [anon_sym_POUND] = ACTIONS(5), @@ -1724,13 +1806,14 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_select] = ACTIONS(21), [anon_sym_insert] = ACTIONS(23), [anon_sym_if] = ACTIONS(25), - [anon_sym_loop] = ACTIONS(27), - [anon_sym_match] = ACTIONS(29), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_loop] = ACTIONS(29), + [anon_sym_match] = ACTIONS(31), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 21, + [0] = 22, ACTIONS(3), 1, sym_identifier, ACTIONS(5), 1, @@ -1752,12 +1835,14 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 1, anon_sym_if, ACTIONS(27), 1, - anon_sym_loop, + anon_sym_LPAREN, ACTIONS(29), 1, - anon_sym_match, + anon_sym_loop, ACTIONS(31), 1, + anon_sym_match, + ACTIONS(33), 1, ts_builtin_sym_end, - STATE(22), 1, + STATE(40), 1, sym_expression, ACTIONS(9), 2, sym_float, @@ -1771,17 +1856,18 @@ static const uint16_t ts_small_parse_table[] = { STATE(94), 2, sym_comment, sym_statement, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, STATE(73), 7, sym_yield, sym_assignment, @@ -1790,39 +1876,41 @@ static const uint16_t ts_small_parse_table[] = { sym_if_else, sym_loop, sym_match, - [81] = 21, - ACTIONS(33), 1, - ts_builtin_sym_end, + [85] = 22, ACTIONS(35), 1, + ts_builtin_sym_end, + ACTIONS(37), 1, sym_identifier, - ACTIONS(38), 1, + ACTIONS(40), 1, anon_sym_POUND, - ACTIONS(41), 1, + ACTIONS(43), 1, sym_integer, - ACTIONS(50), 1, + ACTIONS(52), 1, anon_sym_LBRACK, - ACTIONS(53), 1, + ACTIONS(55), 1, anon_sym_function, - ACTIONS(56), 1, + ACTIONS(58), 1, anon_sym_LBRACE, - ACTIONS(59), 1, + ACTIONS(61), 1, anon_sym_table, - ACTIONS(62), 1, + ACTIONS(64), 1, anon_sym_select, - ACTIONS(65), 1, + ACTIONS(67), 1, anon_sym_insert, - ACTIONS(68), 1, + ACTIONS(70), 1, anon_sym_if, - ACTIONS(71), 1, + ACTIONS(73), 1, + anon_sym_LPAREN, + ACTIONS(76), 1, anon_sym_loop, - ACTIONS(74), 1, + ACTIONS(79), 1, anon_sym_match, - STATE(22), 1, + STATE(40), 1, sym_expression, - ACTIONS(44), 2, + ACTIONS(46), 2, sym_float, sym_string, - ACTIONS(47), 2, + ACTIONS(49), 2, anon_sym_true, anon_sym_false, STATE(3), 2, @@ -1831,17 +1919,18 @@ static const uint16_t ts_small_parse_table[] = { STATE(94), 2, sym_comment, sym_statement, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, STATE(73), 7, sym_yield, sym_assignment, @@ -1850,37 +1939,97 @@ static const uint16_t ts_small_parse_table[] = { sym_if_else, sym_loop, sym_match, - [162] = 5, - ACTIONS(81), 1, - anon_sym_EQ, + [170] = 21, + ACTIONS(82), 1, + sym_identifier, ACTIONS(85), 1, + sym_integer, + ACTIONS(94), 1, + anon_sym_LBRACK, + ACTIONS(97), 1, + anon_sym_function, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(103), 1, + anon_sym_RBRACE, + ACTIONS(105), 1, + anon_sym_table, + ACTIONS(108), 1, + anon_sym_select, + ACTIONS(111), 1, + anon_sym_insert, + ACTIONS(114), 1, + anon_sym_if, + ACTIONS(117), 1, anon_sym_LPAREN, - ACTIONS(83), 2, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - ACTIONS(77), 14, + ACTIONS(120), 1, + anon_sym_loop, + ACTIONS(123), 1, + anon_sym_break, + ACTIONS(125), 1, + anon_sym_match, + STATE(40), 1, + sym_expression, + ACTIONS(88), 2, + sym_float, + sym_string, + ACTIONS(91), 2, + anon_sym_true, + anon_sym_false, + STATE(4), 2, + sym_statement, + aux_sym_function_repeat2, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [251] = 4, + STATE(76), 1, + sym_math_operator, + STATE(91), 1, + sym_logic_operator, + ACTIONS(128), 18, ts_builtin_sym_end, anon_sym_POUND, anon_sym_DASH_GT, sym_float, sym_string, anon_sym_LBRACK, + anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, - ACTIONS(79), 19, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(130), 18, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_function, anon_sym_table, - anon_sym_PLUS, anon_sym_DASH, anon_sym_PIPE_PIPE, anon_sym_and, @@ -1893,8 +2042,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [210] = 2, - ACTIONS(87), 18, + [298] = 4, + STATE(76), 1, + sym_math_operator, + STATE(91), 1, + sym_logic_operator, + ACTIONS(132), 18, + ts_builtin_sym_end, + anon_sym_POUND, + anon_sym_DASH_GT, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(134), 18, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [345] = 2, + ACTIONS(136), 19, ts_builtin_sym_end, anon_sym_POUND, anon_sym_DASH_GT, @@ -1912,8 +2104,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, + anon_sym_LPAREN, anon_sym_RPAREN, - ACTIONS(89), 19, + ACTIONS(138), 19, sym_identifier, sym_integer, anon_sym_true, @@ -1933,136 +2126,56 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [252] = 5, - ACTIONS(85), 1, + [388] = 20, + ACTIONS(3), 1, + sym_identifier, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_insert, + ACTIONS(25), 1, + anon_sym_if, + ACTIONS(27), 1, anon_sym_LPAREN, - ACTIONS(91), 1, - anon_sym_EQ, - ACTIONS(93), 2, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - ACTIONS(77), 14, - ts_builtin_sym_end, - anon_sym_POUND, - anon_sym_DASH_GT, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - ACTIONS(79), 18, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_select, - anon_sym_insert, - anon_sym_if, + ACTIONS(29), 1, anon_sym_loop, - anon_sym_break, + ACTIONS(31), 1, anon_sym_match, - anon_sym_catch, - [299] = 2, - ACTIONS(95), 18, - ts_builtin_sym_end, - anon_sym_POUND, - anon_sym_DASH_GT, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LBRACE, + ACTIONS(140), 1, anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_RPAREN, - ACTIONS(97), 18, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [340] = 20, - ACTIONS(99), 1, - sym_identifier, - ACTIONS(102), 1, - sym_integer, - ACTIONS(111), 1, - anon_sym_LBRACK, - ACTIONS(114), 1, - anon_sym_function, - ACTIONS(117), 1, - anon_sym_LBRACE, - ACTIONS(120), 1, - anon_sym_RBRACE, - ACTIONS(122), 1, - anon_sym_table, - ACTIONS(125), 1, - anon_sym_select, - ACTIONS(128), 1, - anon_sym_insert, - ACTIONS(131), 1, - anon_sym_if, - ACTIONS(134), 1, - anon_sym_loop, - ACTIONS(137), 1, - anon_sym_break, - ACTIONS(139), 1, - anon_sym_match, - STATE(22), 1, + STATE(40), 1, sym_expression, - ACTIONS(105), 2, + ACTIONS(9), 2, sym_float, sym_string, - ACTIONS(108), 2, + ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(8), 2, + STATE(4), 2, sym_statement, aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, STATE(73), 7, sym_yield, sym_assignment, @@ -2071,65 +2184,123 @@ static const uint16_t ts_small_parse_table[] = { sym_if_else, sym_loop, sym_match, - [417] = 2, - ACTIONS(142), 18, - ts_builtin_sym_end, - anon_sym_POUND, - anon_sym_DASH_GT, + [466] = 20, + ACTIONS(3), 1, + sym_identifier, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_insert, + ACTIONS(25), 1, + anon_sym_if, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, + anon_sym_match, + ACTIONS(142), 1, + anon_sym_break, + STATE(40), 1, + sym_expression, + ACTIONS(9), 2, sym_float, sym_string, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_RPAREN, - ACTIONS(144), 18, - sym_identifier, - sym_integer, + ACTIONS(11), 2, anon_sym_true, anon_sym_false, + STATE(23), 2, + sym_statement, + aux_sym_function_repeat2, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [544] = 20, + ACTIONS(3), 1, + sym_identifier, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, anon_sym_table, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, + ACTIONS(21), 1, anon_sym_select, + ACTIONS(23), 1, anon_sym_insert, + ACTIONS(25), 1, anon_sym_if, - anon_sym_else, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, anon_sym_loop, - anon_sym_break, + ACTIONS(31), 1, anon_sym_match, - anon_sym_catch, - [458] = 2, - ACTIONS(146), 18, - ts_builtin_sym_end, - anon_sym_POUND, - anon_sym_DASH_GT, + ACTIONS(144), 1, + anon_sym_RBRACE, + STATE(40), 1, + sym_expression, + ACTIONS(9), 2, sym_float, sym_string, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_RPAREN, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(4), 2, + sym_statement, + aux_sym_function_repeat2, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [622] = 2, ACTIONS(148), 18, sym_identifier, sym_integer, @@ -2149,8 +2320,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [499] = 2, - ACTIONS(150), 18, + ACTIONS(146), 19, ts_builtin_sym_end, anon_sym_POUND, anon_sym_DASH_GT, @@ -2168,47 +2338,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, + anon_sym_LPAREN, anon_sym_RPAREN, - ACTIONS(152), 18, + [664] = 20, + ACTIONS(3), 1, sym_identifier, + ACTIONS(7), 1, sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_insert, + ACTIONS(25), 1, + anon_sym_if, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, + anon_sym_match, + ACTIONS(150), 1, + anon_sym_RBRACE, + STATE(40), 1, + sym_expression, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, anon_sym_true, anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [540] = 2, + STATE(4), 2, + sym_statement, + aux_sym_function_repeat2, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [742] = 2, ACTIONS(154), 18, - ts_builtin_sym_end, - anon_sym_POUND, - anon_sym_DASH_GT, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_RPAREN, - ACTIONS(156), 18, sym_identifier, sym_integer, anon_sym_true, @@ -2227,8 +2418,47 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [581] = 2, + ACTIONS(152), 19, + ts_builtin_sym_end, + anon_sym_POUND, + anon_sym_DASH_GT, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_LPAREN, + anon_sym_RPAREN, + [784] = 2, ACTIONS(158), 18, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + ACTIONS(156), 19, ts_builtin_sym_end, anon_sym_POUND, anon_sym_DASH_GT, @@ -2246,8 +2476,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, + anon_sym_LPAREN, anon_sym_RPAREN, - ACTIONS(160), 18, + [826] = 2, + ACTIONS(162), 18, sym_identifier, sym_integer, anon_sym_true, @@ -2266,18 +2498,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [622] = 4, - STATE(80), 1, - sym_math_operator, - STATE(90), 1, - sym_logic_operator, - ACTIONS(162), 16, + ACTIONS(160), 19, ts_builtin_sym_end, anon_sym_POUND, anon_sym_DASH_GT, sym_float, sym_string, anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_PLUS, @@ -2287,8 +2516,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, + anon_sym_LPAREN, anon_sym_RPAREN, - ACTIONS(164), 18, + [868] = 2, + ACTIONS(166), 18, sym_identifier, sym_integer, anon_sym_true, @@ -2307,31 +2538,289 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [667] = 10, - ACTIONS(170), 1, + ACTIONS(164), 19, + ts_builtin_sym_end, + anon_sym_POUND, anon_sym_DASH_GT, - ACTIONS(174), 1, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_LPAREN, + anon_sym_RPAREN, + [910] = 2, + ACTIONS(170), 18, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + ACTIONS(168), 19, + ts_builtin_sym_end, + anon_sym_POUND, + anon_sym_DASH_GT, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_LPAREN, + anon_sym_RPAREN, + [952] = 2, + ACTIONS(174), 18, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + ACTIONS(172), 19, + ts_builtin_sym_end, + anon_sym_POUND, + anon_sym_DASH_GT, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_LPAREN, + anon_sym_RPAREN, + [994] = 4, + ACTIONS(180), 1, + anon_sym_EQ, + ACTIONS(182), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(176), 15, + ts_builtin_sym_end, + anon_sym_POUND, + anon_sym_DASH_GT, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_LPAREN, + ACTIONS(178), 19, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [1040] = 20, + ACTIONS(3), 1, + sym_identifier, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_insert, + ACTIONS(25), 1, + anon_sym_if, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, + anon_sym_match, + ACTIONS(184), 1, + anon_sym_RBRACE, + STATE(40), 1, + sym_expression, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(4), 2, + sym_statement, + aux_sym_function_repeat2, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [1118] = 20, + ACTIONS(3), 1, + sym_identifier, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_insert, + ACTIONS(25), 1, + anon_sym_if, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, + anon_sym_match, + ACTIONS(186), 1, + anon_sym_RBRACE, + STATE(40), 1, + sym_expression, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(4), 2, + sym_statement, + aux_sym_function_repeat2, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [1196] = 10, + ACTIONS(192), 1, + anon_sym_DASH_GT, + ACTIONS(196), 1, anon_sym_DASH, STATE(59), 1, aux_sym_yield_repeat1, - STATE(80), 1, + STATE(76), 1, sym_math_operator, - STATE(90), 1, + STATE(91), 1, sym_logic_operator, - ACTIONS(176), 3, + ACTIONS(198), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, - ACTIONS(178), 3, + ACTIONS(200), 3, anon_sym_PIPE_PIPE, anon_sym_and, anon_sym_or, - ACTIONS(172), 4, + ACTIONS(194), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(166), 7, + ACTIONS(188), 8, ts_builtin_sym_end, anon_sym_POUND, sym_float, @@ -2339,210 +2828,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - ACTIONS(168), 14, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [724] = 2, - ACTIONS(180), 18, - ts_builtin_sym_end, - anon_sym_POUND, - anon_sym_DASH_GT, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_RPAREN, - ACTIONS(182), 18, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [765] = 4, - STATE(80), 1, - sym_math_operator, - STATE(90), 1, - sym_logic_operator, - ACTIONS(184), 16, - ts_builtin_sym_end, - anon_sym_POUND, - anon_sym_DASH_GT, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_RPAREN, - ACTIONS(186), 18, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [810] = 2, - ACTIONS(188), 18, - ts_builtin_sym_end, - anon_sym_POUND, - anon_sym_DASH_GT, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_RPAREN, - ACTIONS(190), 18, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [851] = 2, - ACTIONS(192), 18, - ts_builtin_sym_end, - anon_sym_POUND, - anon_sym_DASH_GT, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_RPAREN, - ACTIONS(194), 18, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [892] = 3, - ACTIONS(85), 1, anon_sym_LPAREN, - ACTIONS(77), 16, - ts_builtin_sym_end, - anon_sym_POUND, - anon_sym_DASH_GT, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_RPAREN, - ACTIONS(79), 18, + ACTIONS(190), 14, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_function, anon_sym_table, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, anon_sym_select, anon_sym_insert, anon_sym_if, @@ -2551,7 +2844,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [934] = 19, + [1254] = 20, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, @@ -2571,78 +2864,56 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 1, anon_sym_if, ACTIONS(27), 1, - anon_sym_loop, + anon_sym_LPAREN, ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, anon_sym_match, - ACTIONS(196), 1, - anon_sym_break, - STATE(22), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(8), 2, - sym_statement, - aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [1008] = 9, - ACTIONS(174), 1, - anon_sym_DASH, ACTIONS(202), 1, - anon_sym_DASH_GT, - STATE(80), 1, - sym_math_operator, - STATE(90), 1, - sym_logic_operator, - ACTIONS(176), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - ACTIONS(178), 3, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - ACTIONS(172), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(198), 7, - ts_builtin_sym_end, - anon_sym_POUND, + anon_sym_break, + STATE(40), 1, + sym_expression, + ACTIONS(9), 2, sym_float, sym_string, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - ACTIONS(200), 14, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(4), 2, + sym_statement, + aux_sym_function_repeat2, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [1332] = 2, + ACTIONS(206), 18, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_function, anon_sym_table, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, anon_sym_select, anon_sym_insert, anon_sym_if, @@ -2651,117 +2922,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [1062] = 19, - ACTIONS(3), 1, - sym_identifier, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(21), 1, - anon_sym_select, - ACTIONS(23), 1, - anon_sym_insert, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(29), 1, - anon_sym_match, - ACTIONS(204), 1, - anon_sym_RBRACE, - STATE(22), 1, - sym_expression, - ACTIONS(9), 2, + ACTIONS(204), 19, + ts_builtin_sym_end, + anon_sym_POUND, + anon_sym_DASH_GT, sym_float, sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(8), 2, - sym_statement, - aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [1136] = 19, - ACTIONS(3), 1, - sym_identifier, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, + anon_sym_COMMA, + anon_sym_RBRACK, anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(21), 1, - anon_sym_select, - ACTIONS(23), 1, - anon_sym_insert, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(29), 1, - anon_sym_match, - ACTIONS(206), 1, anon_sym_RBRACE, - STATE(22), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(8), 2, - sym_statement, - aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [1210] = 19, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_LPAREN, + anon_sym_RPAREN, + [1374] = 20, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, @@ -2781,12 +2962,340 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 1, anon_sym_if, ACTIONS(27), 1, - anon_sym_loop, + anon_sym_LPAREN, ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, anon_sym_match, ACTIONS(208), 1, + anon_sym_RBRACE, + STATE(40), 1, + sym_expression, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(4), 2, + sym_statement, + aux_sym_function_repeat2, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [1452] = 2, + ACTIONS(212), 18, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, anon_sym_break, - STATE(22), 1, + anon_sym_match, + anon_sym_catch, + ACTIONS(210), 19, + ts_builtin_sym_end, + anon_sym_POUND, + anon_sym_DASH_GT, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_LPAREN, + anon_sym_RPAREN, + [1494] = 20, + ACTIONS(3), 1, + sym_identifier, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_insert, + ACTIONS(25), 1, + anon_sym_if, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, + anon_sym_match, + ACTIONS(214), 1, + anon_sym_RBRACE, + STATE(40), 1, + sym_expression, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(4), 2, + sym_statement, + aux_sym_function_repeat2, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [1572] = 20, + ACTIONS(3), 1, + sym_identifier, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_insert, + ACTIONS(25), 1, + anon_sym_if, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, + anon_sym_match, + ACTIONS(216), 1, + anon_sym_RBRACE, + STATE(40), 1, + sym_expression, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(4), 2, + sym_statement, + aux_sym_function_repeat2, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [1650] = 20, + ACTIONS(3), 1, + sym_identifier, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_insert, + ACTIONS(25), 1, + anon_sym_if, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, + anon_sym_match, + ACTIONS(218), 1, + anon_sym_RBRACE, + STATE(40), 1, + sym_expression, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(4), 2, + sym_statement, + aux_sym_function_repeat2, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [1728] = 19, + ACTIONS(3), 1, + sym_identifier, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_insert, + ACTIONS(25), 1, + anon_sym_if, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, + anon_sym_match, + STATE(40), 1, + sym_expression, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(10), 2, + sym_statement, + aux_sym_function_repeat2, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [1803] = 19, + ACTIONS(3), 1, + sym_identifier, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_insert, + ACTIONS(25), 1, + anon_sym_if, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, + anon_sym_match, + STATE(40), 1, sym_expression, ACTIONS(9), 2, sym_float, @@ -2797,17 +3306,18 @@ static const uint16_t ts_small_parse_table[] = { STATE(21), 2, sym_statement, aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, STATE(73), 7, sym_yield, sym_assignment, @@ -2816,7 +3326,7 @@ static const uint16_t ts_small_parse_table[] = { sym_if_else, sym_loop, sym_match, - [1284] = 19, + [1878] = 19, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, @@ -2836,12 +3346,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 1, anon_sym_if, ACTIONS(27), 1, - anon_sym_loop, + anon_sym_LPAREN, ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, anon_sym_match, - ACTIONS(210), 1, - anon_sym_RBRACE, - STATE(22), 1, + STATE(40), 1, sym_expression, ACTIONS(9), 2, sym_float, @@ -2849,20 +3359,21 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(8), 2, + STATE(25), 2, sym_statement, aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, STATE(73), 7, sym_yield, sym_assignment, @@ -2871,7 +3382,7 @@ static const uint16_t ts_small_parse_table[] = { sym_if_else, sym_loop, sym_match, - [1358] = 19, + [1953] = 19, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, @@ -2891,12 +3402,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 1, anon_sym_if, ACTIONS(27), 1, - anon_sym_loop, + anon_sym_LPAREN, ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, anon_sym_match, - ACTIONS(212), 1, - anon_sym_RBRACE, - STATE(22), 1, + STATE(40), 1, sym_expression, ACTIONS(9), 2, sym_float, @@ -2904,20 +3415,21 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(8), 2, + STATE(12), 2, sym_statement, aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, STATE(73), 7, sym_yield, sym_assignment, @@ -2926,262 +3438,37 @@ static const uint16_t ts_small_parse_table[] = { sym_if_else, sym_loop, sym_match, - [1432] = 19, - ACTIONS(3), 1, - sym_identifier, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(21), 1, - anon_sym_select, - ACTIONS(23), 1, - anon_sym_insert, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(29), 1, - anon_sym_match, - ACTIONS(214), 1, - anon_sym_RBRACE, - STATE(22), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(8), 2, - sym_statement, - aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [1506] = 19, - ACTIONS(3), 1, - sym_identifier, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(21), 1, - anon_sym_select, - ACTIONS(23), 1, - anon_sym_insert, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(29), 1, - anon_sym_match, - ACTIONS(216), 1, - anon_sym_RBRACE, - STATE(22), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(8), 2, - sym_statement, - aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [1580] = 19, - ACTIONS(3), 1, - sym_identifier, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(21), 1, - anon_sym_select, - ACTIONS(23), 1, - anon_sym_insert, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(29), 1, - anon_sym_match, - ACTIONS(218), 1, - anon_sym_RBRACE, - STATE(22), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(8), 2, - sym_statement, - aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [1654] = 19, - ACTIONS(3), 1, - sym_identifier, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(21), 1, - anon_sym_select, - ACTIONS(23), 1, - anon_sym_insert, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(29), 1, - anon_sym_match, - ACTIONS(220), 1, - anon_sym_RBRACE, - STATE(22), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(8), 2, - sym_statement, - aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [1728] = 8, - ACTIONS(174), 1, - anon_sym_DASH, - STATE(80), 1, - sym_math_operator, - STATE(90), 1, - sym_logic_operator, - ACTIONS(176), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - ACTIONS(178), 3, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - ACTIONS(172), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(222), 8, + [2028] = 2, + ACTIONS(220), 18, ts_builtin_sym_end, anon_sym_POUND, anon_sym_DASH_GT, sym_float, sym_string, anon_sym_LBRACK, + anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, - ACTIONS(224), 14, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(222), 18, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_function, anon_sym_table, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, anon_sym_select, anon_sym_insert, anon_sym_if, @@ -3190,7 +3477,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [1780] = 19, + [2069] = 2, + ACTIONS(224), 18, + ts_builtin_sym_end, + anon_sym_POUND, + anon_sym_DASH_GT, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(226), 18, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [2110] = 19, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, @@ -3210,12 +3536,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 1, anon_sym_if, ACTIONS(27), 1, - anon_sym_loop, + anon_sym_LPAREN, ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, anon_sym_match, - ACTIONS(226), 1, - anon_sym_RBRACE, - STATE(22), 1, + STATE(40), 1, sym_expression, ACTIONS(9), 2, sym_float, @@ -3223,20 +3549,21 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(8), 2, + STATE(29), 2, sym_statement, aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, STATE(73), 7, sym_yield, sym_assignment, @@ -3245,14 +3572,15 @@ static const uint16_t ts_small_parse_table[] = { sym_if_else, sym_loop, sym_match, - [1854] = 2, - ACTIONS(228), 16, + [2185] = 2, + ACTIONS(228), 18, ts_builtin_sym_end, anon_sym_POUND, anon_sym_DASH_GT, sym_float, sym_string, anon_sym_LBRACK, + anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_PLUS, @@ -3262,6 +3590,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, + anon_sym_LPAREN, anon_sym_RPAREN, ACTIONS(230), 18, sym_identifier, @@ -3282,7 +3611,148 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [1893] = 18, + [2226] = 2, + ACTIONS(176), 18, + ts_builtin_sym_end, + anon_sym_POUND, + anon_sym_DASH_GT, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(178), 18, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [2267] = 19, + ACTIONS(196), 1, + anon_sym_DASH, + ACTIONS(232), 1, + sym_identifier, + ACTIONS(234), 1, + sym_integer, + ACTIONS(240), 1, + anon_sym_LBRACK, + ACTIONS(242), 1, + anon_sym_function, + ACTIONS(244), 1, + anon_sym_LBRACE, + ACTIONS(246), 1, + anon_sym_table, + ACTIONS(248), 1, + anon_sym_LPAREN, + STATE(68), 1, + aux_sym_match_repeat1, + STATE(76), 1, + sym_math_operator, + STATE(91), 1, + sym_logic_operator, + STATE(113), 1, + sym_expression, + ACTIONS(236), 2, + sym_float, + sym_string, + ACTIONS(238), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(198), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + ACTIONS(200), 3, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + ACTIONS(194), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + STATE(122), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(124), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [2342] = 9, + ACTIONS(196), 1, + anon_sym_DASH, + ACTIONS(254), 1, + anon_sym_DASH_GT, + STATE(76), 1, + sym_math_operator, + STATE(91), 1, + sym_logic_operator, + ACTIONS(198), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + ACTIONS(200), 3, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + ACTIONS(194), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(250), 8, + ts_builtin_sym_end, + anon_sym_POUND, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + ACTIONS(252), 14, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [2397] = 19, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, @@ -3302,10 +3772,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 1, anon_sym_if, ACTIONS(27), 1, - anon_sym_loop, + anon_sym_LPAREN, ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, anon_sym_match, - STATE(22), 1, + STATE(40), 1, sym_expression, ACTIONS(9), 2, sym_float, @@ -3316,17 +3788,18 @@ static const uint16_t ts_small_parse_table[] = { STATE(28), 2, sym_statement, aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, STATE(73), 7, sym_yield, sym_assignment, @@ -3335,369 +3808,27 @@ static const uint16_t ts_small_parse_table[] = { sym_if_else, sym_loop, sym_match, - [1964] = 18, - ACTIONS(174), 1, + [2472] = 8, + ACTIONS(196), 1, anon_sym_DASH, - ACTIONS(232), 1, - sym_identifier, - ACTIONS(234), 1, - sym_integer, - ACTIONS(240), 1, - anon_sym_LBRACK, - ACTIONS(242), 1, - anon_sym_function, - ACTIONS(244), 1, - anon_sym_LBRACE, - ACTIONS(246), 1, - anon_sym_table, - STATE(63), 1, - aux_sym_match_repeat1, - STATE(80), 1, + STATE(76), 1, sym_math_operator, - STATE(90), 1, + STATE(91), 1, sym_logic_operator, - STATE(109), 1, - sym_expression, - ACTIONS(236), 2, - sym_float, - sym_string, - ACTIONS(238), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(176), 3, + ACTIONS(198), 3, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, - ACTIONS(178), 3, + ACTIONS(200), 3, anon_sym_PIPE_PIPE, anon_sym_and, anon_sym_or, - ACTIONS(172), 4, + ACTIONS(194), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - STATE(116), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(114), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [2035] = 18, - ACTIONS(174), 1, - anon_sym_DASH, - ACTIONS(232), 1, - sym_identifier, - ACTIONS(234), 1, - sym_integer, - ACTIONS(240), 1, - anon_sym_LBRACK, - ACTIONS(242), 1, - anon_sym_function, - ACTIONS(244), 1, - anon_sym_LBRACE, - ACTIONS(246), 1, - anon_sym_table, - STATE(65), 1, - aux_sym_match_repeat1, - STATE(80), 1, - sym_math_operator, - STATE(90), 1, - sym_logic_operator, - STATE(109), 1, - sym_expression, - ACTIONS(236), 2, - sym_float, - sym_string, - ACTIONS(238), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(176), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - ACTIONS(178), 3, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - ACTIONS(172), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - STATE(116), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(114), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [2106] = 18, - ACTIONS(3), 1, - sym_identifier, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(21), 1, - anon_sym_select, - ACTIONS(23), 1, - anon_sym_insert, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(29), 1, - anon_sym_match, - STATE(22), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(33), 2, - sym_statement, - aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [2177] = 18, - ACTIONS(3), 1, - sym_identifier, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(21), 1, - anon_sym_select, - ACTIONS(23), 1, - anon_sym_insert, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(29), 1, - anon_sym_match, - STATE(22), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(31), 2, - sym_statement, - aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [2248] = 8, - ACTIONS(174), 1, - anon_sym_DASH, - STATE(80), 1, - sym_math_operator, - STATE(90), 1, - sym_logic_operator, - ACTIONS(176), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - ACTIONS(178), 3, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - ACTIONS(172), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(248), 7, - ts_builtin_sym_end, - anon_sym_POUND, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - ACTIONS(250), 14, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [2299] = 18, - ACTIONS(3), 1, - sym_identifier, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(21), 1, - anon_sym_select, - ACTIONS(23), 1, - anon_sym_insert, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(29), 1, - anon_sym_match, - STATE(22), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(24), 2, - sym_statement, - aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [2370] = 18, - ACTIONS(3), 1, - sym_identifier, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(21), 1, - anon_sym_select, - ACTIONS(23), 1, - anon_sym_insert, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(29), 1, - anon_sym_match, - STATE(22), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(30), 2, - sym_statement, - aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [2441] = 2, - ACTIONS(77), 16, + ACTIONS(256), 9, ts_builtin_sym_end, anon_sym_POUND, anon_sym_DASH_GT, @@ -3706,25 +3837,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_RPAREN, - ACTIONS(79), 18, + anon_sym_LPAREN, + ACTIONS(258), 14, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_function, anon_sym_table, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, anon_sym_select, anon_sym_insert, anon_sym_if, @@ -3733,7 +3853,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [2480] = 18, + [2525] = 19, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, @@ -3753,100 +3873,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 1, anon_sym_if, ACTIONS(27), 1, - anon_sym_loop, + anon_sym_LPAREN, ACTIONS(29), 1, - anon_sym_match, - STATE(22), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(29), 2, - sym_statement, - aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [2551] = 2, - ACTIONS(252), 16, - ts_builtin_sym_end, - anon_sym_POUND, - anon_sym_DASH_GT, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_RPAREN, - ACTIONS(254), 18, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, anon_sym_loop, - anon_sym_break, + ACTIONS(31), 1, anon_sym_match, - anon_sym_catch, - [2590] = 18, - ACTIONS(3), 1, - sym_identifier, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(21), 1, - anon_sym_select, - ACTIONS(23), 1, - anon_sym_insert, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(29), 1, - anon_sym_match, - STATE(22), 1, + STATE(40), 1, sym_expression, ACTIONS(9), 2, sym_float, @@ -3857,17 +3889,18 @@ static const uint16_t ts_small_parse_table[] = { STATE(27), 2, sym_statement, aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, STATE(73), 7, sym_yield, sym_assignment, @@ -3876,7 +3909,7 @@ static const uint16_t ts_small_parse_table[] = { sym_if_else, sym_loop, sym_match, - [2661] = 18, + [2600] = 19, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, @@ -3896,10 +3929,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 1, anon_sym_if, ACTIONS(27), 1, - anon_sym_loop, + anon_sym_LPAREN, ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, anon_sym_match, - STATE(22), 1, + STATE(40), 1, sym_expression, ACTIONS(9), 2, sym_float, @@ -3907,20 +3942,21 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(26), 2, + STATE(8), 2, sym_statement, aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, STATE(73), 7, sym_yield, sym_assignment, @@ -3929,7 +3965,7 @@ static const uint16_t ts_small_parse_table[] = { sym_if_else, sym_loop, sym_match, - [2732] = 18, + [2675] = 19, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, @@ -3949,10 +3985,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 1, anon_sym_if, ACTIONS(27), 1, - anon_sym_loop, + anon_sym_LPAREN, ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, anon_sym_match, - STATE(22), 1, + STATE(40), 1, sym_expression, ACTIONS(9), 2, sym_float, @@ -3960,20 +3998,21 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(23), 2, + STATE(20), 2, sym_statement, aux_sym_function_repeat2, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, STATE(73), 7, sym_yield, sym_assignment, @@ -3982,215 +4021,104 @@ static const uint16_t ts_small_parse_table[] = { sym_if_else, sym_loop, sym_match, - [2803] = 18, - ACTIONS(3), 1, + [2750] = 19, + ACTIONS(196), 1, + anon_sym_DASH, + ACTIONS(232), 1, sym_identifier, - ACTIONS(7), 1, + ACTIONS(234), 1, sym_integer, - ACTIONS(13), 1, + ACTIONS(240), 1, anon_sym_LBRACK, - ACTIONS(15), 1, + ACTIONS(242), 1, anon_sym_function, - ACTIONS(17), 1, + ACTIONS(244), 1, anon_sym_LBRACE, - ACTIONS(19), 1, + ACTIONS(246), 1, anon_sym_table, - ACTIONS(21), 1, - anon_sym_select, - ACTIONS(23), 1, - anon_sym_insert, - ACTIONS(25), 1, - anon_sym_if, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(29), 1, - anon_sym_match, - STATE(22), 1, - sym_expression, - STATE(77), 1, - sym_statement, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [2873] = 18, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(21), 1, - anon_sym_select, - ACTIONS(23), 1, - anon_sym_insert, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(256), 1, - sym_identifier, - ACTIONS(258), 1, - anon_sym_if, - ACTIONS(260), 1, - anon_sym_match, - STATE(22), 1, - sym_expression, - STATE(79), 1, - sym_statement, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [2943] = 18, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(21), 1, - anon_sym_select, - ACTIONS(23), 1, - anon_sym_insert, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(256), 1, - sym_identifier, - ACTIONS(258), 1, - anon_sym_if, - ACTIONS(260), 1, - anon_sym_match, - STATE(22), 1, - sym_expression, + ACTIONS(248), 1, + anon_sym_LPAREN, + STATE(63), 1, + aux_sym_match_repeat1, STATE(76), 1, - sym_statement, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [3013] = 18, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(21), 1, - anon_sym_select, - ACTIONS(23), 1, - anon_sym_insert, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(256), 1, - sym_identifier, - ACTIONS(258), 1, - anon_sym_if, - ACTIONS(260), 1, - anon_sym_match, - STATE(22), 1, + sym_math_operator, + STATE(91), 1, + sym_logic_operator, + STATE(113), 1, sym_expression, - STATE(77), 1, - sym_statement, - ACTIONS(9), 2, + ACTIONS(236), 2, sym_float, sym_string, - ACTIONS(11), 2, + ACTIONS(238), 2, anon_sym_true, anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + ACTIONS(198), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + ACTIONS(200), 3, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + ACTIONS(194), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + STATE(122), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [3083] = 18, + STATE(124), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [2825] = 4, + ACTIONS(260), 1, + anon_sym_EQ, + ACTIONS(262), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(176), 15, + ts_builtin_sym_end, + anon_sym_POUND, + anon_sym_DASH_GT, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_LPAREN, + ACTIONS(178), 18, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [2870] = 19, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, @@ -4210,12 +4138,14 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 1, anon_sym_if, ACTIONS(27), 1, - anon_sym_loop, + anon_sym_LPAREN, ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, anon_sym_match, - STATE(22), 1, + STATE(40), 1, sym_expression, - STATE(72), 1, + STATE(85), 1, sym_statement, ACTIONS(9), 2, sym_float, @@ -4223,17 +4153,18 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, STATE(73), 7, sym_yield, sym_assignment, @@ -4242,7 +4173,53 @@ static const uint16_t ts_small_parse_table[] = { sym_if_else, sym_loop, sym_match, - [3153] = 18, + [2944] = 8, + ACTIONS(196), 1, + anon_sym_DASH, + STATE(76), 1, + sym_math_operator, + STATE(91), 1, + sym_logic_operator, + ACTIONS(198), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + ACTIONS(200), 3, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + ACTIONS(194), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(264), 8, + ts_builtin_sym_end, + anon_sym_POUND, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + ACTIONS(266), 14, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [2996] = 19, + ACTIONS(3), 1, + sym_identifier, ACTIONS(7), 1, sym_integer, ACTIONS(13), 1, @@ -4257,15 +4234,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_select, ACTIONS(23), 1, anon_sym_insert, - ACTIONS(27), 1, - anon_sym_loop, - ACTIONS(256), 1, - sym_identifier, - ACTIONS(258), 1, + ACTIONS(25), 1, anon_sym_if, - ACTIONS(260), 1, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, anon_sym_match, - STATE(22), 1, + STATE(40), 1, sym_expression, STATE(71), 1, sym_statement, @@ -4275,17 +4252,18 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, STATE(73), 7, sym_yield, sym_assignment, @@ -4294,7 +4272,7 @@ static const uint16_t ts_small_parse_table[] = { sym_if_else, sym_loop, sym_match, - [3223] = 18, + [3070] = 19, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, @@ -4314,12 +4292,14 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 1, anon_sym_if, ACTIONS(27), 1, - anon_sym_loop, + anon_sym_LPAREN, ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, anon_sym_match, - STATE(22), 1, + STATE(40), 1, sym_expression, - STATE(125), 1, + STATE(127), 1, sym_statement, ACTIONS(9), 2, sym_float, @@ -4327,17 +4307,18 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, STATE(73), 7, sym_yield, sym_assignment, @@ -4346,7 +4327,7 @@ static const uint16_t ts_small_parse_table[] = { sym_if_else, sym_loop, sym_match, - [3293] = 18, + [3144] = 19, ACTIONS(3), 1, sym_identifier, ACTIONS(7), 1, @@ -4366,201 +4347,443 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 1, anon_sym_if, ACTIONS(27), 1, - anon_sym_loop, + anon_sym_LPAREN, ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(31), 1, anon_sym_match, - STATE(22), 1, + STATE(40), 1, sym_expression, + STATE(82), 1, + sym_statement, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [3218] = 19, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_insert, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(268), 1, + sym_identifier, + ACTIONS(270), 1, + anon_sym_if, + ACTIONS(272), 1, + anon_sym_match, + STATE(40), 1, + sym_expression, + STATE(71), 1, + sym_statement, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [3292] = 19, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_insert, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(268), 1, + sym_identifier, + ACTIONS(270), 1, + anon_sym_if, + ACTIONS(272), 1, + anon_sym_match, + STATE(40), 1, + sym_expression, + STATE(85), 1, + sym_statement, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [3366] = 19, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_insert, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(268), 1, + sym_identifier, + ACTIONS(270), 1, + anon_sym_if, + ACTIONS(272), 1, + anon_sym_match, + STATE(40), 1, + sym_expression, + STATE(84), 1, + sym_statement, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [3440] = 19, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(21), 1, + anon_sym_select, + ACTIONS(23), 1, + anon_sym_insert, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(29), 1, + anon_sym_loop, + ACTIONS(268), 1, + sym_identifier, + ACTIONS(270), 1, + anon_sym_if, + ACTIONS(272), 1, + anon_sym_match, + STATE(40), 1, + sym_expression, + STATE(83), 1, + sym_statement, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + STATE(73), 7, + sym_yield, + sym_assignment, + sym_select, + sym_insert, + sym_if_else, + sym_loop, + sym_match, + [3514] = 4, + ACTIONS(178), 4, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + ACTIONS(176), 7, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + ACTIONS(274), 8, + ts_builtin_sym_end, + anon_sym_POUND, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + ACTIONS(276), 14, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [3556] = 9, + ACTIONS(196), 1, + anon_sym_DASH, + ACTIONS(282), 1, + anon_sym_COMMA, STATE(76), 1, - sym_statement, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, + sym_math_operator, + STATE(91), 1, + sym_logic_operator, + ACTIONS(198), 3, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + ACTIONS(200), 3, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + ACTIONS(194), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(278), 6, + sym_identifier, + sym_integer, anon_sym_true, anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + anon_sym_function, + anon_sym_table, + ACTIONS(280), 6, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_RPAREN, + [3601] = 4, + ACTIONS(192), 1, + anon_sym_DASH_GT, + STATE(67), 1, + aux_sym_yield_repeat1, + ACTIONS(284), 8, + ts_builtin_sym_end, + anon_sym_POUND, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + ACTIONS(286), 14, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [3634] = 14, + ACTIONS(288), 1, + sym_identifier, + ACTIONS(291), 1, + sym_integer, + ACTIONS(300), 1, + anon_sym_LBRACK, + ACTIONS(303), 1, + anon_sym_function, + ACTIONS(306), 1, + anon_sym_LBRACE, + ACTIONS(309), 1, + anon_sym_table, + ACTIONS(312), 1, + anon_sym_LPAREN, + ACTIONS(315), 1, + anon_sym_catch, + STATE(60), 1, + aux_sym_match_repeat1, + STATE(113), 1, + sym_expression, + ACTIONS(294), 2, + sym_float, + sym_string, + ACTIONS(297), 2, + anon_sym_true, + anon_sym_false, + STATE(122), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, - STATE(73), 7, - sym_yield, - sym_assignment, - sym_select, - sym_insert, - sym_if_else, - sym_loop, - sym_match, - [3363] = 4, - ACTIONS(79), 4, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - ACTIONS(77), 7, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - ACTIONS(262), 7, - ts_builtin_sym_end, - anon_sym_POUND, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - ACTIONS(264), 14, + STATE(124), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [3687] = 14, + ACTIONS(317), 1, sym_identifier, + ACTIONS(320), 1, sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [3404] = 8, - ACTIONS(174), 1, - anon_sym_DASH, - STATE(80), 1, - sym_math_operator, - STATE(90), 1, - sym_logic_operator, - ACTIONS(176), 3, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - ACTIONS(178), 3, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - ACTIONS(172), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(268), 5, - sym_float, - sym_string, + ACTIONS(329), 1, anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_RPAREN, - ACTIONS(266), 6, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, + ACTIONS(332), 1, anon_sym_function, - anon_sym_table, - [3445] = 4, - ACTIONS(170), 1, - anon_sym_DASH_GT, - STATE(60), 1, - aux_sym_yield_repeat1, - ACTIONS(270), 7, - ts_builtin_sym_end, - anon_sym_POUND, - sym_float, - sym_string, - anon_sym_LBRACK, + ACTIONS(335), 1, anon_sym_LBRACE, - anon_sym_RBRACE, - ACTIONS(272), 14, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, + ACTIONS(338), 1, anon_sym_table, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [3477] = 4, - ACTIONS(274), 1, - anon_sym_DASH_GT, - STATE(60), 1, - aux_sym_yield_repeat1, - ACTIONS(222), 7, - ts_builtin_sym_end, - anon_sym_POUND, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - ACTIONS(224), 14, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [3509] = 13, - ACTIONS(277), 1, - sym_identifier, - ACTIONS(280), 1, - sym_integer, - ACTIONS(289), 1, - anon_sym_LBRACK, - ACTIONS(292), 1, - anon_sym_function, - ACTIONS(295), 1, - anon_sym_LBRACE, - ACTIONS(298), 1, - anon_sym_table, - ACTIONS(301), 1, + ACTIONS(341), 1, + anon_sym_LPAREN, + ACTIONS(344), 1, anon_sym_RPAREN, STATE(58), 1, sym_expression, STATE(61), 1, aux_sym_function_call_repeat1, - ACTIONS(283), 2, + ACTIONS(323), 2, sym_float, sym_string, - ACTIONS(286), 2, + ACTIONS(326), 2, anon_sym_true, anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, - [3558] = 13, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [3740] = 14, ACTIONS(7), 1, sym_integer, ACTIONS(13), 1, @@ -4571,9 +4794,128 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, ACTIONS(19), 1, anon_sym_table, - ACTIONS(303), 1, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(346), 1, sym_identifier, - ACTIONS(305), 1, + ACTIONS(348), 1, + anon_sym_RPAREN, + STATE(58), 1, + sym_expression, + STATE(66), 1, + aux_sym_function_call_repeat1, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [3793] = 14, + ACTIONS(232), 1, + sym_identifier, + ACTIONS(234), 1, + sym_integer, + ACTIONS(240), 1, + anon_sym_LBRACK, + ACTIONS(242), 1, + anon_sym_function, + ACTIONS(244), 1, + anon_sym_LBRACE, + ACTIONS(246), 1, + anon_sym_table, + ACTIONS(248), 1, + anon_sym_LPAREN, + ACTIONS(350), 1, + anon_sym_catch, + STATE(60), 1, + aux_sym_match_repeat1, + STATE(113), 1, + sym_expression, + ACTIONS(236), 2, + sym_float, + sym_string, + ACTIONS(238), 2, + anon_sym_true, + anon_sym_false, + STATE(122), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(124), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [3846] = 14, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(346), 1, + sym_identifier, + ACTIONS(352), 1, + anon_sym_RPAREN, + STATE(58), 1, + sym_expression, + STATE(61), 1, + aux_sym_function_call_repeat1, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [3899] = 14, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(346), 1, + sym_identifier, + ACTIONS(354), 1, anon_sym_RPAREN, STATE(58), 1, sym_expression, @@ -4585,18 +4927,87 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, - [3607] = 13, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [3952] = 14, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(346), 1, + sym_identifier, + ACTIONS(356), 1, + anon_sym_RPAREN, + STATE(58), 1, + sym_expression, + STATE(61), 1, + aux_sym_function_call_repeat1, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [4005] = 4, + ACTIONS(358), 1, + anon_sym_DASH_GT, + STATE(67), 1, + aux_sym_yield_repeat1, + ACTIONS(256), 8, + ts_builtin_sym_end, + anon_sym_POUND, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + ACTIONS(258), 14, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [4038] = 14, ACTIONS(232), 1, sym_identifier, ACTIONS(234), 1, @@ -4609,11 +5020,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, ACTIONS(246), 1, anon_sym_table, - ACTIONS(307), 1, + ACTIONS(248), 1, + anon_sym_LPAREN, + ACTIONS(361), 1, anon_sym_catch, - STATE(67), 1, + STATE(60), 1, aux_sym_match_repeat1, - STATE(109), 1, + STATE(113), 1, sym_expression, ACTIONS(236), 2, sym_float, @@ -4621,323 +5034,22 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(238), 2, anon_sym_true, anon_sym_false, - STATE(116), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(114), 5, + STATE(122), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, - [3656] = 13, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(303), 1, - sym_identifier, - ACTIONS(309), 1, - anon_sym_RPAREN, - STATE(58), 1, - sym_expression, - STATE(61), 1, - aux_sym_function_call_repeat1, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(43), 4, + STATE(124), 5, sym_value, sym_math, sym_logic, sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [3705] = 13, - ACTIONS(232), 1, - sym_identifier, - ACTIONS(234), 1, - sym_integer, - ACTIONS(240), 1, - anon_sym_LBRACK, - ACTIONS(242), 1, - anon_sym_function, - ACTIONS(244), 1, - anon_sym_LBRACE, - ACTIONS(246), 1, - anon_sym_table, - ACTIONS(311), 1, - anon_sym_catch, - STATE(67), 1, - aux_sym_match_repeat1, - STATE(109), 1, - sym_expression, - ACTIONS(236), 2, - sym_float, - sym_string, - ACTIONS(238), 2, - anon_sym_true, - anon_sym_false, - STATE(116), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(114), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [3754] = 13, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(303), 1, - sym_identifier, - ACTIONS(313), 1, - anon_sym_RPAREN, - STATE(58), 1, - sym_expression, - STATE(68), 1, - aux_sym_function_call_repeat1, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [3803] = 13, - ACTIONS(315), 1, - sym_identifier, - ACTIONS(318), 1, - sym_integer, - ACTIONS(327), 1, - anon_sym_LBRACK, - ACTIONS(330), 1, - anon_sym_function, - ACTIONS(333), 1, - anon_sym_LBRACE, - ACTIONS(336), 1, - anon_sym_table, - ACTIONS(339), 1, - anon_sym_catch, - STATE(67), 1, - aux_sym_match_repeat1, - STATE(109), 1, - sym_expression, - ACTIONS(321), 2, - sym_float, - sym_string, - ACTIONS(324), 2, - anon_sym_true, - anon_sym_false, - STATE(116), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(114), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [3852] = 13, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(303), 1, - sym_identifier, - ACTIONS(341), 1, - anon_sym_RPAREN, - STATE(58), 1, - sym_expression, - STATE(61), 1, - aux_sym_function_call_repeat1, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [3901] = 3, - ACTIONS(347), 1, + sym_tool_call, + [4091] = 3, + ACTIONS(367), 1, anon_sym_where, - ACTIONS(343), 7, - ts_builtin_sym_end, - anon_sym_POUND, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - ACTIONS(345), 14, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [3930] = 3, - ACTIONS(353), 1, - anon_sym_where, - ACTIONS(349), 7, - ts_builtin_sym_end, - anon_sym_POUND, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - ACTIONS(351), 14, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [3959] = 2, - ACTIONS(355), 7, - ts_builtin_sym_end, - anon_sym_POUND, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - ACTIONS(357), 14, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [3985] = 2, - ACTIONS(359), 7, - ts_builtin_sym_end, - anon_sym_POUND, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - ACTIONS(361), 14, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [4011] = 2, - ACTIONS(198), 7, - ts_builtin_sym_end, - anon_sym_POUND, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - ACTIONS(200), 14, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [4037] = 2, - ACTIONS(363), 7, + ACTIONS(363), 8, ts_builtin_sym_end, anon_sym_POUND, sym_float, @@ -4945,6 +5057,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_LPAREN, ACTIONS(365), 14, sym_identifier, sym_integer, @@ -4960,8 +5073,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [4063] = 2, - ACTIONS(367), 7, + [4121] = 3, + ACTIONS(373), 1, + anon_sym_where, + ACTIONS(369), 8, ts_builtin_sym_end, anon_sym_POUND, sym_float, @@ -4969,7 +5084,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - ACTIONS(369), 14, + anon_sym_LPAREN, + ACTIONS(371), 14, sym_identifier, sym_integer, anon_sym_true, @@ -4984,32 +5100,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [4089] = 2, - ACTIONS(371), 7, - ts_builtin_sym_end, - anon_sym_POUND, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_RBRACE, - ACTIONS(373), 14, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, - anon_sym_table, - anon_sym_select, - anon_sym_insert, - anon_sym_if, - anon_sym_else, - anon_sym_loop, - anon_sym_break, - anon_sym_match, - anon_sym_catch, - [4115] = 2, - ACTIONS(375), 7, + [4151] = 2, + ACTIONS(375), 8, ts_builtin_sym_end, anon_sym_POUND, sym_float, @@ -5017,6 +5109,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_LPAREN, ACTIONS(377), 14, sym_identifier, sym_integer, @@ -5032,8 +5125,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [4141] = 2, - ACTIONS(379), 7, + [4178] = 2, + ACTIONS(379), 8, ts_builtin_sym_end, anon_sym_POUND, sym_float, @@ -5041,6 +5134,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_LPAREN, ACTIONS(381), 14, sym_identifier, sym_integer, @@ -5056,10 +5150,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [4167] = 3, - ACTIONS(383), 1, - anon_sym_else, - ACTIONS(355), 7, + [4205] = 2, + ACTIONS(250), 8, ts_builtin_sym_end, anon_sym_POUND, sym_float, @@ -5067,7 +5159,355 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, - ACTIONS(357), 13, + anon_sym_LPAREN, + ACTIONS(252), 14, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [4232] = 12, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(346), 1, + sym_identifier, + STATE(42), 1, + sym_expression, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [4279] = 12, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(346), 1, + sym_identifier, + STATE(39), 1, + sym_expression, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [4326] = 12, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(346), 1, + sym_identifier, + STATE(5), 1, + sym_expression, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [4373] = 2, + ACTIONS(383), 8, + ts_builtin_sym_end, + anon_sym_POUND, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + ACTIONS(385), 14, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [4400] = 12, + ACTIONS(232), 1, + sym_identifier, + ACTIONS(234), 1, + sym_integer, + ACTIONS(240), 1, + anon_sym_LBRACK, + ACTIONS(242), 1, + anon_sym_function, + ACTIONS(244), 1, + anon_sym_LBRACE, + ACTIONS(246), 1, + anon_sym_table, + ACTIONS(248), 1, + anon_sym_LPAREN, + STATE(118), 1, + sym_expression, + ACTIONS(236), 2, + sym_float, + sym_string, + ACTIONS(238), 2, + anon_sym_true, + anon_sym_false, + STATE(122), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(124), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [4447] = 12, + ACTIONS(232), 1, + sym_identifier, + ACTIONS(234), 1, + sym_integer, + ACTIONS(240), 1, + anon_sym_LBRACK, + ACTIONS(242), 1, + anon_sym_function, + ACTIONS(244), 1, + anon_sym_LBRACE, + ACTIONS(246), 1, + anon_sym_table, + ACTIONS(248), 1, + anon_sym_LPAREN, + STATE(115), 1, + sym_expression, + ACTIONS(236), 2, + sym_float, + sym_string, + ACTIONS(238), 2, + anon_sym_true, + anon_sym_false, + STATE(122), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(124), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [4494] = 12, + ACTIONS(232), 1, + sym_identifier, + ACTIONS(234), 1, + sym_integer, + ACTIONS(240), 1, + anon_sym_LBRACK, + ACTIONS(242), 1, + anon_sym_function, + ACTIONS(244), 1, + anon_sym_LBRACE, + ACTIONS(246), 1, + anon_sym_table, + ACTIONS(248), 1, + anon_sym_LPAREN, + STATE(104), 1, + sym_expression, + ACTIONS(236), 2, + sym_float, + sym_string, + ACTIONS(238), 2, + anon_sym_true, + anon_sym_false, + STATE(122), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(124), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [4541] = 12, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(346), 1, + sym_identifier, + STATE(46), 1, + sym_expression, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [4588] = 2, + ACTIONS(387), 8, + ts_builtin_sym_end, + anon_sym_POUND, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + ACTIONS(389), 14, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [4615] = 2, + ACTIONS(391), 8, + ts_builtin_sym_end, + anon_sym_POUND, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + ACTIONS(393), 14, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [4642] = 3, + ACTIONS(395), 1, + anon_sym_else, + ACTIONS(391), 8, + ts_builtin_sym_end, + anon_sym_POUND, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + ACTIONS(393), 13, sym_identifier, sym_integer, anon_sym_true, @@ -5081,7 +5521,67 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_match, anon_sym_catch, - [4195] = 11, + [4671] = 2, + ACTIONS(397), 8, + ts_builtin_sym_end, + anon_sym_POUND, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + ACTIONS(399), 14, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [4698] = 12, + ACTIONS(232), 1, + sym_identifier, + ACTIONS(234), 1, + sym_integer, + ACTIONS(240), 1, + anon_sym_LBRACK, + ACTIONS(242), 1, + anon_sym_function, + ACTIONS(244), 1, + anon_sym_LBRACE, + ACTIONS(246), 1, + anon_sym_table, + ACTIONS(248), 1, + anon_sym_LPAREN, + STATE(114), 1, + sym_expression, + ACTIONS(236), 2, + sym_float, + sym_string, + ACTIONS(238), 2, + anon_sym_true, + anon_sym_false, + STATE(122), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(124), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [4745] = 12, ACTIONS(7), 1, sym_integer, ACTIONS(13), 1, @@ -5092,9 +5592,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, ACTIONS(19), 1, anon_sym_table, - ACTIONS(303), 1, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(346), 1, sym_identifier, - STATE(17), 1, + STATE(22), 1, sym_expression, ACTIONS(9), 2, sym_float, @@ -5102,50 +5604,44 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, - [4238] = 11, - ACTIONS(232), 1, - sym_identifier, - ACTIONS(234), 1, - sym_integer, - ACTIONS(240), 1, - anon_sym_LBRACK, - ACTIONS(242), 1, - anon_sym_function, - ACTIONS(244), 1, - anon_sym_LBRACE, - ACTIONS(246), 1, - anon_sym_table, - STATE(108), 1, - sym_expression, - ACTIONS(236), 2, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [4792] = 2, + ACTIONS(401), 8, + ts_builtin_sym_end, + anon_sym_POUND, sym_float, sym_string, - ACTIONS(238), 2, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + ACTIONS(403), 14, + sym_identifier, + sym_integer, anon_sym_true, anon_sym_false, - STATE(116), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(114), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [4281] = 11, + anon_sym_function, + anon_sym_table, + anon_sym_select, + anon_sym_insert, + anon_sym_if, + anon_sym_else, + anon_sym_loop, + anon_sym_break, + anon_sym_match, + anon_sym_catch, + [4819] = 12, ACTIONS(7), 1, sym_integer, ACTIONS(13), 1, @@ -5156,9 +5652,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, ACTIONS(19), 1, anon_sym_table, - ACTIONS(303), 1, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(346), 1, sym_identifier, - STATE(40), 1, + STATE(49), 1, sym_expression, ACTIONS(9), 2, sym_float, @@ -5166,50 +5664,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(11), 2, anon_sym_true, anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, - [4324] = 11, - ACTIONS(232), 1, - sym_identifier, - ACTIONS(234), 1, - sym_integer, - ACTIONS(240), 1, - anon_sym_LBRACK, - ACTIONS(242), 1, - anon_sym_function, - ACTIONS(244), 1, - anon_sym_LBRACE, - ACTIONS(246), 1, - anon_sym_table, - STATE(106), 1, - sym_expression, - ACTIONS(236), 2, - sym_float, - sym_string, - ACTIONS(238), 2, - anon_sym_true, - anon_sym_false, - STATE(116), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(114), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [4367] = 12, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [4866] = 13, ACTIONS(232), 1, sym_identifier, ACTIONS(234), 1, @@ -5222,9 +5689,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, ACTIONS(246), 1, anon_sym_table, + ACTIONS(248), 1, + anon_sym_LPAREN, STATE(57), 1, sym_logic, - STATE(123), 1, + STATE(125), 1, sym_expression, ACTIONS(236), 2, sym_float, @@ -5232,17 +5701,53 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(238), 2, anon_sym_true, anon_sym_false, - STATE(116), 3, + STATE(124), 4, sym_value, sym_math, sym_function_call, - STATE(114), 5, + sym_tool_call, + STATE(122), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, - [4412] = 11, + [4915] = 12, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(15), 1, + anon_sym_function, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_table, + ACTIONS(27), 1, + anon_sym_LPAREN, + ACTIONS(346), 1, + sym_identifier, + STATE(6), 1, + sym_expression, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(11), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(38), 5, + sym_value, + sym_math, + sym_logic, + sym_function_call, + sym_tool_call, + [4962] = 12, ACTIONS(232), 1, sym_identifier, ACTIONS(234), 1, @@ -5255,7 +5760,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, ACTIONS(246), 1, anon_sym_table, - STATE(104), 1, + ACTIONS(248), 1, + anon_sym_LPAREN, + STATE(99), 1, sym_expression, ACTIONS(236), 2, sym_float, @@ -5263,276 +5770,28 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(238), 2, anon_sym_true, anon_sym_false, - STATE(116), 4, + STATE(122), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + STATE(124), 5, sym_value, sym_math, sym_logic, sym_function_call, - STATE(114), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [4455] = 11, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(303), 1, - sym_identifier, - STATE(37), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [4498] = 11, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(303), 1, - sym_identifier, - STATE(15), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [4541] = 11, - ACTIONS(232), 1, - sym_identifier, - ACTIONS(234), 1, - sym_integer, - ACTIONS(240), 1, - anon_sym_LBRACK, - ACTIONS(242), 1, - anon_sym_function, - ACTIONS(244), 1, - anon_sym_LBRACE, - ACTIONS(246), 1, - anon_sym_table, - STATE(103), 1, - sym_expression, - ACTIONS(236), 2, - sym_float, - sym_string, - ACTIONS(238), 2, - anon_sym_true, - anon_sym_false, - STATE(116), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(114), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [4584] = 11, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(303), 1, - sym_identifier, - STATE(32), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [4627] = 11, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(303), 1, - sym_identifier, - STATE(14), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [4670] = 11, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(15), 1, - anon_sym_function, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_table, - ACTIONS(303), 1, - sym_identifier, - STATE(36), 1, - sym_expression, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(43), 4, - sym_value, - sym_math, - sym_logic, - sym_function_call, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [4713] = 11, - ACTIONS(385), 1, - sym_integer, - ACTIONS(394), 1, - anon_sym_LBRACK, - ACTIONS(397), 1, - anon_sym_RBRACK, - ACTIONS(399), 1, - anon_sym_function, - ACTIONS(402), 1, - anon_sym_LBRACE, - ACTIONS(405), 1, - anon_sym_table, - STATE(92), 1, - aux_sym_list_repeat1, - STATE(124), 1, - sym_value, - ACTIONS(388), 2, - sym_float, - sym_string, - ACTIONS(391), 2, - anon_sym_true, - anon_sym_false, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [4753] = 11, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(410), 1, - anon_sym_RBRACK, - ACTIONS(412), 1, - anon_sym_function, - ACTIONS(414), 1, - anon_sym_table, - STATE(92), 1, - aux_sym_list_repeat1, - STATE(124), 1, - sym_value, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(408), 2, - anon_sym_true, - anon_sym_false, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [4793] = 2, - ACTIONS(416), 6, + sym_tool_call, + [5009] = 2, + ACTIONS(405), 7, ts_builtin_sym_end, anon_sym_POUND, sym_float, sym_string, anon_sym_LBRACK, anon_sym_LBRACE, - ACTIONS(418), 11, + anon_sym_LPAREN, + ACTIONS(407), 11, sym_identifier, sym_integer, anon_sym_true, @@ -5544,44 +5803,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, anon_sym_loop, anon_sym_match, - [4815] = 11, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(412), 1, - anon_sym_function, - ACTIONS(414), 1, - anon_sym_table, - ACTIONS(420), 1, - anon_sym_RBRACK, - STATE(92), 1, - aux_sym_list_repeat1, - STATE(124), 1, - sym_value, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(408), 2, - anon_sym_true, - anon_sym_false, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [4855] = 2, - ACTIONS(422), 6, + [5032] = 2, + ACTIONS(409), 7, ts_builtin_sym_end, anon_sym_POUND, sym_float, sym_string, anon_sym_LBRACK, anon_sym_LBRACE, - ACTIONS(424), 11, + anon_sym_LPAREN, + ACTIONS(411), 11, sym_identifier, sym_integer, anon_sym_true, @@ -5593,312 +5824,128 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, anon_sym_loop, anon_sym_match, - [4877] = 11, + [5055] = 11, ACTIONS(7), 1, sym_integer, ACTIONS(13), 1, anon_sym_LBRACK, ACTIONS(17), 1, anon_sym_LBRACE, - ACTIONS(412), 1, - anon_sym_function, - ACTIONS(414), 1, - anon_sym_table, - ACTIONS(426), 1, + ACTIONS(415), 1, anon_sym_RBRACK, - STATE(92), 1, + ACTIONS(417), 1, + anon_sym_function, + ACTIONS(419), 1, + anon_sym_table, + STATE(98), 1, aux_sym_list_repeat1, - STATE(124), 1, + STATE(130), 1, sym_value, ACTIONS(9), 2, sym_float, sym_string, - ACTIONS(408), 2, + ACTIONS(413), 2, anon_sym_true, anon_sym_false, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, - [4917] = 10, + [5095] = 11, ACTIONS(7), 1, sym_integer, ACTIONS(13), 1, anon_sym_LBRACK, ACTIONS(17), 1, anon_sym_LBRACE, - ACTIONS(412), 1, + ACTIONS(417), 1, anon_sym_function, - ACTIONS(414), 1, + ACTIONS(419), 1, anon_sym_table, - STATE(97), 1, + ACTIONS(421), 1, + anon_sym_RBRACK, + STATE(98), 1, aux_sym_list_repeat1, - STATE(124), 1, + STATE(130), 1, sym_value, ACTIONS(9), 2, sym_float, sym_string, - ACTIONS(408), 2, + ACTIONS(413), 2, anon_sym_true, anon_sym_false, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, - [4954] = 10, + [5135] = 11, ACTIONS(7), 1, sym_integer, ACTIONS(13), 1, anon_sym_LBRACK, ACTIONS(17), 1, anon_sym_LBRACE, - ACTIONS(412), 1, + ACTIONS(417), 1, anon_sym_function, - ACTIONS(414), 1, + ACTIONS(419), 1, anon_sym_table, - ACTIONS(428), 1, - anon_sym_RBRACE, - STATE(175), 1, - sym_value, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(408), 2, - anon_sym_true, - anon_sym_false, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [4991] = 10, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(412), 1, - anon_sym_function, - ACTIONS(414), 1, - anon_sym_table, - STATE(93), 1, + ACTIONS(423), 1, + anon_sym_RBRACK, + STATE(98), 1, aux_sym_list_repeat1, - STATE(124), 1, + STATE(130), 1, sym_value, ACTIONS(9), 2, sym_float, sym_string, - ACTIONS(408), 2, + ACTIONS(413), 2, anon_sym_true, anon_sym_false, - STATE(12), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, - [5028] = 10, - ACTIONS(7), 1, + [5175] = 11, + ACTIONS(425), 1, sym_integer, - ACTIONS(13), 1, + ACTIONS(434), 1, anon_sym_LBRACK, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(412), 1, - anon_sym_function, - ACTIONS(414), 1, - anon_sym_table, - ACTIONS(430), 1, - anon_sym_RBRACE, - STATE(195), 1, - sym_value, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(408), 2, - anon_sym_true, - anon_sym_false, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [5065] = 10, - ACTIONS(7), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(412), 1, - anon_sym_function, - ACTIONS(414), 1, - anon_sym_table, - STATE(95), 1, - aux_sym_list_repeat1, - STATE(124), 1, - sym_value, - ACTIONS(9), 2, - sym_float, - sym_string, - ACTIONS(408), 2, - anon_sym_true, - anon_sym_false, - STATE(12), 5, - sym_boolean, - sym_list, - sym_function, - sym_table, - sym_map, - [5102] = 3, - STATE(85), 1, - sym_math_operator, - STATE(88), 1, - sym_logic_operator, - ACTIONS(162), 13, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_then, - anon_sym_EQ_GT, - [5124] = 3, - STATE(85), 1, - sym_math_operator, - STATE(88), 1, - sym_logic_operator, - ACTIONS(184), 13, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_then, - anon_sym_EQ_GT, - [5146] = 9, - ACTIONS(432), 1, - sym_integer, - ACTIONS(438), 1, - anon_sym_LBRACK, - ACTIONS(440), 1, + ACTIONS(437), 1, + anon_sym_RBRACK, + ACTIONS(439), 1, anon_sym_function, ACTIONS(442), 1, anon_sym_LBRACE, - ACTIONS(444), 1, + ACTIONS(445), 1, anon_sym_table, - STATE(159), 1, + STATE(98), 1, + aux_sym_list_repeat1, + STATE(130), 1, sym_value, - ACTIONS(434), 2, + ACTIONS(428), 2, sym_float, sym_string, - ACTIONS(436), 2, + ACTIONS(431), 2, anon_sym_true, anon_sym_false, - STATE(161), 5, + STATE(14), 5, sym_boolean, sym_list, sym_function, sym_table, sym_map, - [5180] = 5, - ACTIONS(446), 1, - anon_sym_then, - STATE(85), 1, - sym_math_operator, - STATE(88), 1, + [5215] = 3, + STATE(80), 1, sym_logic_operator, - ACTIONS(172), 5, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(176), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - [5205] = 2, - ACTIONS(448), 1, - anon_sym_LPAREN, - ACTIONS(77), 13, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_then, - anon_sym_EQ_GT, - [5224] = 5, - ACTIONS(450), 1, - anon_sym_then, - STATE(85), 1, + STATE(92), 1, sym_math_operator, - STATE(88), 1, - sym_logic_operator, - ACTIONS(172), 5, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(176), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - [5249] = 5, - ACTIONS(452), 1, - anon_sym_EQ_GT, - STATE(85), 1, - sym_math_operator, - STATE(88), 1, - sym_logic_operator, - ACTIONS(172), 5, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(176), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - [5274] = 1, - ACTIONS(95), 13, + ACTIONS(128), 14, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, @@ -5911,227 +5958,533 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_and, anon_sym_or, anon_sym_then, + anon_sym_RPAREN, anon_sym_EQ_GT, - [5290] = 1, - ACTIONS(188), 13, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_then, - anon_sym_EQ_GT, - [5306] = 1, - ACTIONS(158), 13, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_then, - anon_sym_EQ_GT, - [5322] = 1, - ACTIONS(192), 13, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_then, - anon_sym_EQ_GT, - [5338] = 1, - ACTIONS(154), 13, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_then, - anon_sym_EQ_GT, - [5354] = 1, - ACTIONS(180), 13, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_then, - anon_sym_EQ_GT, - [5370] = 1, - ACTIONS(77), 13, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_then, - anon_sym_EQ_GT, - [5386] = 1, - ACTIONS(150), 13, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_then, - anon_sym_EQ_GT, - [5402] = 1, - ACTIONS(142), 13, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_then, - anon_sym_EQ_GT, - [5418] = 1, - ACTIONS(146), 13, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_then, - anon_sym_EQ_GT, - [5434] = 1, - ACTIONS(228), 13, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_then, - anon_sym_EQ_GT, - [5450] = 1, - ACTIONS(252), 13, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_then, - anon_sym_EQ_GT, - [5466] = 1, - ACTIONS(87), 13, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - anon_sym_then, - anon_sym_EQ_GT, - [5482] = 4, - STATE(85), 1, - sym_math_operator, - STATE(90), 1, - sym_logic_operator, - ACTIONS(172), 5, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(176), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_and, - anon_sym_or, - [5504] = 3, - ACTIONS(454), 1, + [5238] = 10, + ACTIONS(7), 1, sym_integer, - ACTIONS(458), 1, - anon_sym_COMMA, - ACTIONS(456), 9, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(417), 1, + anon_sym_function, + ACTIONS(419), 1, + anon_sym_table, + STATE(96), 1, + aux_sym_list_repeat1, + STATE(130), 1, + sym_value, + ACTIONS(9), 2, sym_float, sym_string, + ACTIONS(413), 2, anon_sym_true, anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + [5275] = 10, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_function, + ACTIONS(17), 1, anon_sym_LBRACE, + ACTIONS(417), 1, + anon_sym_function, + ACTIONS(419), 1, anon_sym_table, - [5522] = 2, - ACTIONS(462), 4, + STATE(97), 1, + aux_sym_list_repeat1, + STATE(130), 1, + sym_value, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(413), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + [5312] = 10, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(417), 1, + anon_sym_function, + ACTIONS(419), 1, + anon_sym_table, + ACTIONS(448), 1, + anon_sym_RBRACE, + STATE(198), 1, + sym_value, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(413), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + [5349] = 10, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(417), 1, + anon_sym_function, + ACTIONS(419), 1, + anon_sym_table, + STATE(95), 1, + aux_sym_list_repeat1, + STATE(130), 1, + sym_value, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(413), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + [5386] = 3, + STATE(80), 1, + sym_logic_operator, + STATE(92), 1, + sym_math_operator, + ACTIONS(132), 14, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_then, + anon_sym_RPAREN, + anon_sym_EQ_GT, + [5409] = 10, + ACTIONS(7), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(417), 1, + anon_sym_function, + ACTIONS(419), 1, + anon_sym_table, + ACTIONS(450), 1, + anon_sym_RBRACE, + STATE(184), 1, + sym_value, + ACTIONS(9), 2, + sym_float, + sym_string, + ACTIONS(413), 2, + anon_sym_true, + anon_sym_false, + STATE(14), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + [5446] = 9, + ACTIONS(452), 1, + sym_integer, + ACTIONS(458), 1, + anon_sym_LBRACK, + ACTIONS(460), 1, + anon_sym_function, + ACTIONS(462), 1, + anon_sym_LBRACE, + ACTIONS(464), 1, + anon_sym_table, + STATE(171), 1, + sym_value, + ACTIONS(454), 2, + sym_float, + sym_string, + ACTIONS(456), 2, + anon_sym_true, + anon_sym_false, + STATE(167), 5, + sym_boolean, + sym_list, + sym_function, + sym_table, + sym_map, + [5480] = 1, + ACTIONS(210), 14, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_then, + anon_sym_RPAREN, + anon_sym_EQ_GT, + [5497] = 1, + ACTIONS(168), 14, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_then, + anon_sym_RPAREN, + anon_sym_EQ_GT, + [5514] = 1, + ACTIONS(220), 14, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_then, + anon_sym_RPAREN, + anon_sym_EQ_GT, + [5531] = 1, + ACTIONS(146), 14, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_then, + anon_sym_RPAREN, + anon_sym_EQ_GT, + [5548] = 1, + ACTIONS(224), 14, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_then, + anon_sym_RPAREN, + anon_sym_EQ_GT, + [5565] = 1, + ACTIONS(228), 14, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_then, + anon_sym_RPAREN, + anon_sym_EQ_GT, + [5582] = 5, + ACTIONS(466), 1, + anon_sym_EQ_GT, + STATE(80), 1, + sym_logic_operator, + STATE(92), 1, + sym_math_operator, + ACTIONS(194), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(198), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + [5607] = 5, + ACTIONS(468), 1, + anon_sym_RPAREN, + STATE(80), 1, + sym_logic_operator, + STATE(92), 1, + sym_math_operator, + ACTIONS(194), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(198), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + [5632] = 5, + ACTIONS(470), 1, + anon_sym_then, + STATE(80), 1, + sym_logic_operator, + STATE(92), 1, + sym_math_operator, + ACTIONS(194), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(198), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + [5657] = 1, + ACTIONS(160), 14, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_then, + anon_sym_RPAREN, + anon_sym_EQ_GT, + [5674] = 1, + ACTIONS(136), 14, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_then, + anon_sym_RPAREN, + anon_sym_EQ_GT, + [5691] = 5, + ACTIONS(472), 1, + anon_sym_then, + STATE(80), 1, + sym_logic_operator, + STATE(92), 1, + sym_math_operator, + ACTIONS(194), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(198), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + [5716] = 1, + ACTIONS(164), 14, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_then, + anon_sym_RPAREN, + anon_sym_EQ_GT, + [5733] = 1, + ACTIONS(204), 14, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_then, + anon_sym_RPAREN, + anon_sym_EQ_GT, + [5750] = 1, + ACTIONS(152), 14, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_then, + anon_sym_RPAREN, + anon_sym_EQ_GT, + [5767] = 1, + ACTIONS(156), 14, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_then, + anon_sym_RPAREN, + anon_sym_EQ_GT, + [5784] = 1, + ACTIONS(172), 14, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_then, + anon_sym_RPAREN, + anon_sym_EQ_GT, + [5801] = 1, + ACTIONS(176), 14, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + anon_sym_then, + anon_sym_RPAREN, + anon_sym_EQ_GT, + [5818] = 4, + STATE(91), 1, + sym_logic_operator, + STATE(92), 1, + sym_math_operator, + ACTIONS(194), 5, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(198), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_and, + anon_sym_or, + [5840] = 2, + ACTIONS(344), 6, sym_float, sym_string, anon_sym_LBRACK, anon_sym_LBRACE, - ACTIONS(460), 7, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(474), 6, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + [5857] = 2, + ACTIONS(478), 5, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_LPAREN, + ACTIONS(476), 7, sym_identifier, sym_integer, anon_sym_true, @@ -6139,10 +6492,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_function, anon_sym_table, anon_sym_catch, - [5538] = 2, - ACTIONS(464), 1, + [5874] = 2, + ACTIONS(482), 5, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_LPAREN, + ACTIONS(480), 6, + sym_identifier, sym_integer, - ACTIONS(397), 9, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + [5890] = 2, + ACTIONS(486), 5, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_LPAREN, + ACTIONS(484), 6, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_function, + anon_sym_table, + [5906] = 3, + ACTIONS(488), 1, + sym_integer, + ACTIONS(492), 1, + anon_sym_COMMA, + ACTIONS(490), 9, sym_float, sym_string, anon_sym_true, @@ -6152,844 +6535,880 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_function, anon_sym_LBRACE, anon_sym_table, - [5553] = 2, - ACTIONS(468), 4, + [5924] = 2, + ACTIONS(494), 1, + sym_integer, + ACTIONS(437), 9, sym_float, sym_string, - anon_sym_LBRACK, - anon_sym_LBRACE, - ACTIONS(466), 6, - sym_identifier, - sym_integer, anon_sym_true, anon_sym_false, - anon_sym_function, - anon_sym_table, - [5568] = 2, - ACTIONS(472), 4, - sym_float, - sym_string, anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_function, anon_sym_LBRACE, - ACTIONS(470), 6, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_function, anon_sym_table, - [5583] = 3, - ACTIONS(474), 1, + [5939] = 4, + ACTIONS(496), 1, + sym_identifier, + ACTIONS(498), 1, + anon_sym_input, + ACTIONS(500), 1, + anon_sym_output, + STATE(200), 2, + sym__tool, + sym_output, + [5953] = 3, + ACTIONS(502), 1, anon_sym_LBRACK, - ACTIONS(477), 2, + ACTIONS(505), 2, anon_sym_RBRACE, anon_sym_into, - STATE(129), 2, + STATE(133), 2, sym_list, aux_sym_table_repeat1, - [5595] = 3, + [5965] = 4, + ACTIONS(500), 1, + anon_sym_output, + ACTIONS(507), 1, + sym_identifier, + ACTIONS(509), 1, + anon_sym_input, + STATE(187), 2, + sym__tool, + sym_output, + [5979] = 3, ACTIONS(13), 1, anon_sym_LBRACK, - ACTIONS(479), 1, - anon_sym_RBRACE, - STATE(136), 2, - sym_list, - aux_sym_table_repeat1, - [5606] = 3, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(481), 1, - anon_sym_into, - STATE(129), 2, - sym_list, - aux_sym_table_repeat1, - [5617] = 3, - ACTIONS(13), 1, - anon_sym_LBRACK, - ACTIONS(483), 1, + ACTIONS(511), 1, anon_sym_RBRACE, STATE(133), 2, sym_list, aux_sym_table_repeat1, - [5628] = 3, + [5990] = 3, ACTIONS(13), 1, anon_sym_LBRACK, - ACTIONS(485), 1, + ACTIONS(513), 1, anon_sym_RBRACE, - STATE(129), 2, + STATE(140), 2, sym_list, aux_sym_table_repeat1, - [5639] = 3, + [6001] = 3, ACTIONS(13), 1, anon_sym_LBRACK, - ACTIONS(487), 1, + ACTIONS(515), 1, anon_sym_RBRACE, STATE(135), 2, sym_list, aux_sym_table_repeat1, - [5650] = 3, + [6012] = 3, ACTIONS(13), 1, anon_sym_LBRACK, - ACTIONS(489), 1, + ACTIONS(517), 1, anon_sym_RBRACE, - STATE(129), 2, + STATE(133), 2, sym_list, aux_sym_table_repeat1, - [5661] = 3, + [6023] = 3, ACTIONS(13), 1, anon_sym_LBRACK, - ACTIONS(491), 1, + ACTIONS(519), 1, anon_sym_RBRACE, - STATE(129), 2, + STATE(138), 2, sym_list, aux_sym_table_repeat1, - [5672] = 3, - ACTIONS(493), 1, - sym_identifier, - ACTIONS(495), 1, - anon_sym_GT, - STATE(142), 1, - aux_sym_function_repeat1, - [5682] = 3, - ACTIONS(497), 1, - sym_identifier, - ACTIONS(499), 1, - anon_sym_RBRACE, - STATE(153), 1, - aux_sym_map_repeat1, - [5692] = 3, - ACTIONS(493), 1, - sym_identifier, - ACTIONS(501), 1, - anon_sym_GT, - STATE(142), 1, - aux_sym_function_repeat1, - [5702] = 3, - ACTIONS(493), 1, - sym_identifier, - ACTIONS(503), 1, - anon_sym_GT, - STATE(142), 1, - aux_sym_function_repeat1, - [5712] = 2, + [6034] = 3, ACTIONS(13), 1, anon_sym_LBRACK, - STATE(131), 2, + ACTIONS(521), 1, + anon_sym_RBRACE, + STATE(133), 2, sym_list, aux_sym_table_repeat1, - [5720] = 3, - ACTIONS(505), 1, + [6045] = 3, + ACTIONS(13), 1, + anon_sym_LBRACK, + ACTIONS(523), 1, + anon_sym_into, + STATE(133), 2, + sym_list, + aux_sym_table_repeat1, + [6056] = 3, + ACTIONS(525), 1, sym_identifier, - ACTIONS(508), 1, - anon_sym_GT, - STATE(142), 1, - aux_sym_function_repeat1, - [5730] = 3, - ACTIONS(493), 1, - sym_identifier, - ACTIONS(510), 1, - anon_sym_GT, - STATE(142), 1, - aux_sym_function_repeat1, - [5740] = 3, - ACTIONS(497), 1, - sym_identifier, - ACTIONS(512), 1, + ACTIONS(527), 1, anon_sym_RBRACE, - STATE(146), 1, + STATE(157), 1, aux_sym_map_repeat1, - [5750] = 3, - ACTIONS(493), 1, + [6066] = 3, + ACTIONS(529), 1, sym_identifier, - ACTIONS(514), 1, + ACTIONS(531), 1, anon_sym_GT, - STATE(137), 1, - aux_sym_function_repeat1, - [5760] = 3, - ACTIONS(497), 1, - sym_identifier, - ACTIONS(516), 1, - anon_sym_RBRACE, STATE(153), 1, - aux_sym_map_repeat1, - [5770] = 3, - ACTIONS(493), 1, - sym_identifier, - ACTIONS(518), 1, - anon_sym_GT, - STATE(143), 1, aux_sym_function_repeat1, - [5780] = 3, - ACTIONS(497), 1, + [6076] = 3, + ACTIONS(529), 1, sym_identifier, - ACTIONS(520), 1, - anon_sym_RBRACE, - STATE(155), 1, - aux_sym_map_repeat1, - [5790] = 3, - ACTIONS(493), 1, - sym_identifier, - ACTIONS(522), 1, + ACTIONS(533), 1, anon_sym_GT, - STATE(142), 1, - aux_sym_function_repeat1, - [5800] = 3, - ACTIONS(493), 1, - sym_identifier, - ACTIONS(524), 1, - anon_sym_GT, - STATE(152), 1, - aux_sym_function_repeat1, - [5810] = 2, - ACTIONS(528), 1, - anon_sym_COMMA, - ACTIONS(526), 2, - sym_identifier, - anon_sym_GT, - [5818] = 3, - ACTIONS(493), 1, - sym_identifier, - ACTIONS(530), 1, - anon_sym_GT, - STATE(142), 1, - aux_sym_function_repeat1, - [5828] = 3, - ACTIONS(532), 1, - sym_identifier, - ACTIONS(535), 1, - anon_sym_RBRACE, - STATE(153), 1, - aux_sym_map_repeat1, - [5838] = 3, - ACTIONS(497), 1, - sym_identifier, - ACTIONS(537), 1, - anon_sym_RBRACE, - STATE(138), 1, - aux_sym_map_repeat1, - [5848] = 3, - ACTIONS(497), 1, - sym_identifier, - ACTIONS(539), 1, - anon_sym_RBRACE, - STATE(153), 1, - aux_sym_map_repeat1, - [5858] = 1, - ACTIONS(87), 2, - sym_identifier, - anon_sym_RBRACE, - [5863] = 2, - ACTIONS(493), 1, - sym_identifier, STATE(149), 1, aux_sym_function_repeat1, - [5870] = 1, + [6086] = 3, + ACTIONS(529), 1, + sym_identifier, + ACTIONS(535), 1, + anon_sym_GT, + STATE(156), 1, + aux_sym_function_repeat1, + [6096] = 3, + ACTIONS(529), 1, + sym_identifier, + ACTIONS(537), 1, + anon_sym_GT, + STATE(156), 1, + aux_sym_function_repeat1, + [6106] = 2, + ACTIONS(13), 1, + anon_sym_LBRACK, + STATE(141), 2, + sym_list, + aux_sym_table_repeat1, + [6114] = 3, + ACTIONS(529), 1, + sym_identifier, + ACTIONS(539), 1, + anon_sym_GT, + STATE(154), 1, + aux_sym_function_repeat1, + [6124] = 3, + ACTIONS(529), 1, + sym_identifier, + ACTIONS(541), 1, + anon_sym_GT, + STATE(156), 1, + aux_sym_function_repeat1, + [6134] = 3, + ACTIONS(529), 1, + sym_identifier, + ACTIONS(543), 1, + anon_sym_GT, + STATE(156), 1, + aux_sym_function_repeat1, + [6144] = 3, + ACTIONS(525), 1, + sym_identifier, + ACTIONS(545), 1, + anon_sym_RBRACE, + STATE(152), 1, + aux_sym_map_repeat1, + [6154] = 3, + ACTIONS(525), 1, + sym_identifier, + ACTIONS(547), 1, + anon_sym_RBRACE, + STATE(157), 1, + aux_sym_map_repeat1, + [6164] = 3, + ACTIONS(529), 1, + sym_identifier, + ACTIONS(549), 1, + anon_sym_GT, + STATE(156), 1, + aux_sym_function_repeat1, + [6174] = 3, + ACTIONS(529), 1, + sym_identifier, + ACTIONS(551), 1, + anon_sym_GT, + STATE(156), 1, + aux_sym_function_repeat1, + [6184] = 3, + ACTIONS(525), 1, + sym_identifier, + ACTIONS(553), 1, + anon_sym_RBRACE, + STATE(142), 1, + aux_sym_map_repeat1, + [6194] = 3, + ACTIONS(555), 1, + sym_identifier, + ACTIONS(558), 1, + anon_sym_GT, + STATE(156), 1, + aux_sym_function_repeat1, + [6204] = 3, + ACTIONS(560), 1, + sym_identifier, + ACTIONS(563), 1, + anon_sym_RBRACE, + STATE(157), 1, + aux_sym_map_repeat1, + [6214] = 3, + ACTIONS(525), 1, + sym_identifier, + ACTIONS(565), 1, + anon_sym_RBRACE, + STATE(157), 1, + aux_sym_map_repeat1, + [6224] = 2, + ACTIONS(569), 1, + anon_sym_COMMA, + ACTIONS(567), 2, + sym_identifier, + anon_sym_GT, + [6232] = 3, + ACTIONS(525), 1, + sym_identifier, + ACTIONS(571), 1, + anon_sym_RBRACE, + STATE(158), 1, + aux_sym_map_repeat1, + [6242] = 1, + ACTIONS(210), 2, + sym_identifier, + anon_sym_RBRACE, + [6247] = 1, + ACTIONS(172), 2, + sym_identifier, + anon_sym_RBRACE, + [6252] = 2, + ACTIONS(529), 1, + sym_identifier, + STATE(145), 1, + aux_sym_function_repeat1, + [6259] = 2, + ACTIONS(529), 1, + sym_identifier, + STATE(150), 1, + aux_sym_function_repeat1, + [6266] = 2, + ACTIONS(573), 1, + anon_sym_LT, + ACTIONS(575), 1, + anon_sym_LBRACE, + [6273] = 2, + ACTIONS(529), 1, + sym_identifier, + STATE(146), 1, + aux_sym_function_repeat1, + [6280] = 1, + ACTIONS(156), 2, + sym_identifier, + anon_sym_RBRACE, + [6285] = 1, + ACTIONS(164), 2, + sym_identifier, + anon_sym_RBRACE, + [6290] = 1, + ACTIONS(152), 2, + sym_identifier, + anon_sym_RBRACE, + [6295] = 1, + ACTIONS(168), 2, + sym_identifier, + anon_sym_RBRACE, + [6300] = 1, + ACTIONS(577), 2, + sym_identifier, + anon_sym_RBRACE, + [6305] = 2, + ACTIONS(579), 1, + anon_sym_LT, + ACTIONS(581), 1, + anon_sym_LBRACE, + [6312] = 1, + ACTIONS(558), 2, + sym_identifier, + anon_sym_GT, + [6317] = 1, + ACTIONS(204), 2, + sym_identifier, + anon_sym_RBRACE, + [6322] = 1, ACTIONS(146), 2, sym_identifier, anon_sym_RBRACE, - [5875] = 1, - ACTIONS(541), 2, - sym_identifier, - anon_sym_RBRACE, - [5880] = 2, - ACTIONS(493), 1, - sym_identifier, - STATE(139), 1, - aux_sym_function_repeat1, - [5887] = 1, - ACTIONS(154), 2, - sym_identifier, - anon_sym_RBRACE, - [5892] = 1, - ACTIONS(95), 2, - sym_identifier, - anon_sym_RBRACE, - [5897] = 1, - ACTIONS(150), 2, - sym_identifier, - anon_sym_RBRACE, - [5902] = 2, - ACTIONS(543), 1, - anon_sym_LT, - ACTIONS(545), 1, - anon_sym_LBRACE, - [5909] = 1, - ACTIONS(508), 2, - sym_identifier, - anon_sym_GT, - [5914] = 1, - ACTIONS(188), 2, - sym_identifier, - anon_sym_RBRACE, - [5919] = 2, - ACTIONS(493), 1, - sym_identifier, - STATE(140), 1, - aux_sym_function_repeat1, - [5926] = 1, - ACTIONS(158), 2, - sym_identifier, - anon_sym_RBRACE, - [5931] = 2, - ACTIONS(547), 1, - anon_sym_LT, - ACTIONS(549), 1, - anon_sym_LBRACE, - [5938] = 1, - ACTIONS(192), 2, - sym_identifier, - anon_sym_RBRACE, - [5943] = 1, - ACTIONS(180), 2, - sym_identifier, - anon_sym_RBRACE, - [5948] = 2, - ACTIONS(551), 1, - anon_sym_LT, - ACTIONS(553), 1, - anon_sym_LBRACE, - [5955] = 1, - ACTIONS(142), 2, - sym_identifier, - anon_sym_RBRACE, - [5960] = 1, - ACTIONS(555), 1, - anon_sym_LBRACE, - [5964] = 1, - ACTIONS(557), 1, - anon_sym_RBRACE, - [5968] = 1, - ACTIONS(559), 1, - anon_sym_LBRACE, - [5972] = 1, - ACTIONS(561), 1, - anon_sym_LBRACE, - [5976] = 1, - ACTIONS(563), 1, - anon_sym_LBRACE, - [5980] = 1, - ACTIONS(565), 1, - sym_identifier, - [5984] = 1, - ACTIONS(567), 1, - ts_builtin_sym_end, - [5988] = 1, - ACTIONS(569), 1, - anon_sym_LBRACE, - [5992] = 1, - ACTIONS(571), 1, - aux_sym_comment_token1, - [5996] = 1, - ACTIONS(573), 1, - anon_sym_LBRACE, - [6000] = 1, - ACTIONS(575), 1, - anon_sym_LT, - [6004] = 1, - ACTIONS(577), 1, - anon_sym_LBRACE, - [6008] = 1, - ACTIONS(579), 1, - anon_sym_LBRACE, - [6012] = 1, - ACTIONS(581), 1, - anon_sym_LBRACE, - [6016] = 1, + [6327] = 2, ACTIONS(583), 1, - sym_identifier, - [6020] = 1, + anon_sym_LT, ACTIONS(585), 1, - sym_identifier, - [6024] = 1, - ACTIONS(587), 1, - anon_sym_EQ, - [6028] = 1, - ACTIONS(589), 1, anon_sym_LBRACE, - [6032] = 1, - ACTIONS(591), 1, - anon_sym_LT, - [6036] = 1, - ACTIONS(593), 1, - anon_sym_from, - [6040] = 1, - ACTIONS(595), 1, - anon_sym_LT, - [6044] = 1, - ACTIONS(428), 1, + [6334] = 1, + ACTIONS(160), 2, + sym_identifier, anon_sym_RBRACE, + [6339] = 1, + ACTIONS(136), 2, + sym_identifier, + anon_sym_RBRACE, + [6344] = 1, + ACTIONS(587), 1, + aux_sym_comment_token1, + [6348] = 1, + ACTIONS(589), 1, + anon_sym_EQ, + [6352] = 1, + ACTIONS(591), 1, + anon_sym_LBRACE, + [6356] = 1, + ACTIONS(593), 1, + sym_identifier, + [6360] = 1, + ACTIONS(595), 1, + anon_sym_LBRACE, + [6364] = 1, + ACTIONS(448), 1, + anon_sym_RBRACE, + [6368] = 1, + ACTIONS(597), 1, + anon_sym_LBRACE, + [6372] = 1, + ACTIONS(599), 1, + sym_identifier, + [6376] = 1, + ACTIONS(601), 1, + anon_sym_RPAREN, + [6380] = 1, + ACTIONS(603), 1, + anon_sym_LBRACE, + [6384] = 1, + ACTIONS(605), 1, + ts_builtin_sym_end, + [6388] = 1, + ACTIONS(607), 1, + anon_sym_LBRACE, + [6392] = 1, + ACTIONS(609), 1, + anon_sym_LT, + [6396] = 1, + ACTIONS(611), 1, + anon_sym_LBRACE, + [6400] = 1, + ACTIONS(613), 1, + anon_sym_LBRACE, + [6404] = 1, + ACTIONS(615), 1, + anon_sym_LBRACE, + [6408] = 1, + ACTIONS(617), 1, + sym_identifier, + [6412] = 1, + ACTIONS(619), 1, + anon_sym_from, + [6416] = 1, + ACTIONS(621), 1, + anon_sym_LBRACE, + [6420] = 1, + ACTIONS(623), 1, + anon_sym_RBRACE, + [6424] = 1, + ACTIONS(625), 1, + anon_sym_LT, + [6428] = 1, + ACTIONS(627), 1, + anon_sym_RPAREN, + [6432] = 1, + ACTIONS(629), 1, + anon_sym_LT, + [6436] = 1, + ACTIONS(631), 1, + anon_sym_LBRACE, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 81, - [SMALL_STATE(4)] = 162, - [SMALL_STATE(5)] = 210, - [SMALL_STATE(6)] = 252, - [SMALL_STATE(7)] = 299, - [SMALL_STATE(8)] = 340, - [SMALL_STATE(9)] = 417, - [SMALL_STATE(10)] = 458, - [SMALL_STATE(11)] = 499, - [SMALL_STATE(12)] = 540, - [SMALL_STATE(13)] = 581, - [SMALL_STATE(14)] = 622, - [SMALL_STATE(15)] = 667, - [SMALL_STATE(16)] = 724, - [SMALL_STATE(17)] = 765, - [SMALL_STATE(18)] = 810, - [SMALL_STATE(19)] = 851, - [SMALL_STATE(20)] = 892, - [SMALL_STATE(21)] = 934, - [SMALL_STATE(22)] = 1008, - [SMALL_STATE(23)] = 1062, - [SMALL_STATE(24)] = 1136, - [SMALL_STATE(25)] = 1210, - [SMALL_STATE(26)] = 1284, - [SMALL_STATE(27)] = 1358, - [SMALL_STATE(28)] = 1432, - [SMALL_STATE(29)] = 1506, - [SMALL_STATE(30)] = 1580, - [SMALL_STATE(31)] = 1654, - [SMALL_STATE(32)] = 1728, - [SMALL_STATE(33)] = 1780, - [SMALL_STATE(34)] = 1854, - [SMALL_STATE(35)] = 1893, - [SMALL_STATE(36)] = 1964, - [SMALL_STATE(37)] = 2035, - [SMALL_STATE(38)] = 2106, - [SMALL_STATE(39)] = 2177, - [SMALL_STATE(40)] = 2248, - [SMALL_STATE(41)] = 2299, - [SMALL_STATE(42)] = 2370, - [SMALL_STATE(43)] = 2441, - [SMALL_STATE(44)] = 2480, - [SMALL_STATE(45)] = 2551, - [SMALL_STATE(46)] = 2590, - [SMALL_STATE(47)] = 2661, - [SMALL_STATE(48)] = 2732, - [SMALL_STATE(49)] = 2803, - [SMALL_STATE(50)] = 2873, - [SMALL_STATE(51)] = 2943, - [SMALL_STATE(52)] = 3013, - [SMALL_STATE(53)] = 3083, - [SMALL_STATE(54)] = 3153, - [SMALL_STATE(55)] = 3223, - [SMALL_STATE(56)] = 3293, - [SMALL_STATE(57)] = 3363, - [SMALL_STATE(58)] = 3404, - [SMALL_STATE(59)] = 3445, - [SMALL_STATE(60)] = 3477, - [SMALL_STATE(61)] = 3509, - [SMALL_STATE(62)] = 3558, - [SMALL_STATE(63)] = 3607, - [SMALL_STATE(64)] = 3656, - [SMALL_STATE(65)] = 3705, - [SMALL_STATE(66)] = 3754, - [SMALL_STATE(67)] = 3803, - [SMALL_STATE(68)] = 3852, - [SMALL_STATE(69)] = 3901, - [SMALL_STATE(70)] = 3930, - [SMALL_STATE(71)] = 3959, - [SMALL_STATE(72)] = 3985, - [SMALL_STATE(73)] = 4011, - [SMALL_STATE(74)] = 4037, - [SMALL_STATE(75)] = 4063, - [SMALL_STATE(76)] = 4089, - [SMALL_STATE(77)] = 4115, - [SMALL_STATE(78)] = 4141, - [SMALL_STATE(79)] = 4167, - [SMALL_STATE(80)] = 4195, - [SMALL_STATE(81)] = 4238, - [SMALL_STATE(82)] = 4281, - [SMALL_STATE(83)] = 4324, - [SMALL_STATE(84)] = 4367, - [SMALL_STATE(85)] = 4412, - [SMALL_STATE(86)] = 4455, - [SMALL_STATE(87)] = 4498, - [SMALL_STATE(88)] = 4541, - [SMALL_STATE(89)] = 4584, - [SMALL_STATE(90)] = 4627, - [SMALL_STATE(91)] = 4670, - [SMALL_STATE(92)] = 4713, - [SMALL_STATE(93)] = 4753, - [SMALL_STATE(94)] = 4793, - [SMALL_STATE(95)] = 4815, - [SMALL_STATE(96)] = 4855, - [SMALL_STATE(97)] = 4877, - [SMALL_STATE(98)] = 4917, - [SMALL_STATE(99)] = 4954, - [SMALL_STATE(100)] = 4991, - [SMALL_STATE(101)] = 5028, - [SMALL_STATE(102)] = 5065, - [SMALL_STATE(103)] = 5102, - [SMALL_STATE(104)] = 5124, - [SMALL_STATE(105)] = 5146, - [SMALL_STATE(106)] = 5180, - [SMALL_STATE(107)] = 5205, - [SMALL_STATE(108)] = 5224, - [SMALL_STATE(109)] = 5249, - [SMALL_STATE(110)] = 5274, - [SMALL_STATE(111)] = 5290, - [SMALL_STATE(112)] = 5306, - [SMALL_STATE(113)] = 5322, - [SMALL_STATE(114)] = 5338, - [SMALL_STATE(115)] = 5354, - [SMALL_STATE(116)] = 5370, - [SMALL_STATE(117)] = 5386, - [SMALL_STATE(118)] = 5402, - [SMALL_STATE(119)] = 5418, - [SMALL_STATE(120)] = 5434, - [SMALL_STATE(121)] = 5450, - [SMALL_STATE(122)] = 5466, - [SMALL_STATE(123)] = 5482, - [SMALL_STATE(124)] = 5504, - [SMALL_STATE(125)] = 5522, - [SMALL_STATE(126)] = 5538, - [SMALL_STATE(127)] = 5553, - [SMALL_STATE(128)] = 5568, - [SMALL_STATE(129)] = 5583, - [SMALL_STATE(130)] = 5595, - [SMALL_STATE(131)] = 5606, - [SMALL_STATE(132)] = 5617, - [SMALL_STATE(133)] = 5628, - [SMALL_STATE(134)] = 5639, - [SMALL_STATE(135)] = 5650, - [SMALL_STATE(136)] = 5661, - [SMALL_STATE(137)] = 5672, - [SMALL_STATE(138)] = 5682, - [SMALL_STATE(139)] = 5692, - [SMALL_STATE(140)] = 5702, - [SMALL_STATE(141)] = 5712, - [SMALL_STATE(142)] = 5720, - [SMALL_STATE(143)] = 5730, - [SMALL_STATE(144)] = 5740, - [SMALL_STATE(145)] = 5750, - [SMALL_STATE(146)] = 5760, - [SMALL_STATE(147)] = 5770, - [SMALL_STATE(148)] = 5780, - [SMALL_STATE(149)] = 5790, - [SMALL_STATE(150)] = 5800, - [SMALL_STATE(151)] = 5810, - [SMALL_STATE(152)] = 5818, - [SMALL_STATE(153)] = 5828, - [SMALL_STATE(154)] = 5838, - [SMALL_STATE(155)] = 5848, - [SMALL_STATE(156)] = 5858, - [SMALL_STATE(157)] = 5863, - [SMALL_STATE(158)] = 5870, - [SMALL_STATE(159)] = 5875, - [SMALL_STATE(160)] = 5880, - [SMALL_STATE(161)] = 5887, - [SMALL_STATE(162)] = 5892, - [SMALL_STATE(163)] = 5897, - [SMALL_STATE(164)] = 5902, - [SMALL_STATE(165)] = 5909, - [SMALL_STATE(166)] = 5914, - [SMALL_STATE(167)] = 5919, - [SMALL_STATE(168)] = 5926, - [SMALL_STATE(169)] = 5931, - [SMALL_STATE(170)] = 5938, - [SMALL_STATE(171)] = 5943, - [SMALL_STATE(172)] = 5948, - [SMALL_STATE(173)] = 5955, - [SMALL_STATE(174)] = 5960, - [SMALL_STATE(175)] = 5964, - [SMALL_STATE(176)] = 5968, - [SMALL_STATE(177)] = 5972, - [SMALL_STATE(178)] = 5976, - [SMALL_STATE(179)] = 5980, - [SMALL_STATE(180)] = 5984, - [SMALL_STATE(181)] = 5988, - [SMALL_STATE(182)] = 5992, - [SMALL_STATE(183)] = 5996, - [SMALL_STATE(184)] = 6000, - [SMALL_STATE(185)] = 6004, - [SMALL_STATE(186)] = 6008, - [SMALL_STATE(187)] = 6012, - [SMALL_STATE(188)] = 6016, - [SMALL_STATE(189)] = 6020, - [SMALL_STATE(190)] = 6024, - [SMALL_STATE(191)] = 6028, - [SMALL_STATE(192)] = 6032, - [SMALL_STATE(193)] = 6036, - [SMALL_STATE(194)] = 6040, - [SMALL_STATE(195)] = 6044, + [SMALL_STATE(3)] = 85, + [SMALL_STATE(4)] = 170, + [SMALL_STATE(5)] = 251, + [SMALL_STATE(6)] = 298, + [SMALL_STATE(7)] = 345, + [SMALL_STATE(8)] = 388, + [SMALL_STATE(9)] = 466, + [SMALL_STATE(10)] = 544, + [SMALL_STATE(11)] = 622, + [SMALL_STATE(12)] = 664, + [SMALL_STATE(13)] = 742, + [SMALL_STATE(14)] = 784, + [SMALL_STATE(15)] = 826, + [SMALL_STATE(16)] = 868, + [SMALL_STATE(17)] = 910, + [SMALL_STATE(18)] = 952, + [SMALL_STATE(19)] = 994, + [SMALL_STATE(20)] = 1040, + [SMALL_STATE(21)] = 1118, + [SMALL_STATE(22)] = 1196, + [SMALL_STATE(23)] = 1254, + [SMALL_STATE(24)] = 1332, + [SMALL_STATE(25)] = 1374, + [SMALL_STATE(26)] = 1452, + [SMALL_STATE(27)] = 1494, + [SMALL_STATE(28)] = 1572, + [SMALL_STATE(29)] = 1650, + [SMALL_STATE(30)] = 1728, + [SMALL_STATE(31)] = 1803, + [SMALL_STATE(32)] = 1878, + [SMALL_STATE(33)] = 1953, + [SMALL_STATE(34)] = 2028, + [SMALL_STATE(35)] = 2069, + [SMALL_STATE(36)] = 2110, + [SMALL_STATE(37)] = 2185, + [SMALL_STATE(38)] = 2226, + [SMALL_STATE(39)] = 2267, + [SMALL_STATE(40)] = 2342, + [SMALL_STATE(41)] = 2397, + [SMALL_STATE(42)] = 2472, + [SMALL_STATE(43)] = 2525, + [SMALL_STATE(44)] = 2600, + [SMALL_STATE(45)] = 2675, + [SMALL_STATE(46)] = 2750, + [SMALL_STATE(47)] = 2825, + [SMALL_STATE(48)] = 2870, + [SMALL_STATE(49)] = 2944, + [SMALL_STATE(50)] = 2996, + [SMALL_STATE(51)] = 3070, + [SMALL_STATE(52)] = 3144, + [SMALL_STATE(53)] = 3218, + [SMALL_STATE(54)] = 3292, + [SMALL_STATE(55)] = 3366, + [SMALL_STATE(56)] = 3440, + [SMALL_STATE(57)] = 3514, + [SMALL_STATE(58)] = 3556, + [SMALL_STATE(59)] = 3601, + [SMALL_STATE(60)] = 3634, + [SMALL_STATE(61)] = 3687, + [SMALL_STATE(62)] = 3740, + [SMALL_STATE(63)] = 3793, + [SMALL_STATE(64)] = 3846, + [SMALL_STATE(65)] = 3899, + [SMALL_STATE(66)] = 3952, + [SMALL_STATE(67)] = 4005, + [SMALL_STATE(68)] = 4038, + [SMALL_STATE(69)] = 4091, + [SMALL_STATE(70)] = 4121, + [SMALL_STATE(71)] = 4151, + [SMALL_STATE(72)] = 4178, + [SMALL_STATE(73)] = 4205, + [SMALL_STATE(74)] = 4232, + [SMALL_STATE(75)] = 4279, + [SMALL_STATE(76)] = 4326, + [SMALL_STATE(77)] = 4373, + [SMALL_STATE(78)] = 4400, + [SMALL_STATE(79)] = 4447, + [SMALL_STATE(80)] = 4494, + [SMALL_STATE(81)] = 4541, + [SMALL_STATE(82)] = 4588, + [SMALL_STATE(83)] = 4615, + [SMALL_STATE(84)] = 4642, + [SMALL_STATE(85)] = 4671, + [SMALL_STATE(86)] = 4698, + [SMALL_STATE(87)] = 4745, + [SMALL_STATE(88)] = 4792, + [SMALL_STATE(89)] = 4819, + [SMALL_STATE(90)] = 4866, + [SMALL_STATE(91)] = 4915, + [SMALL_STATE(92)] = 4962, + [SMALL_STATE(93)] = 5009, + [SMALL_STATE(94)] = 5032, + [SMALL_STATE(95)] = 5055, + [SMALL_STATE(96)] = 5095, + [SMALL_STATE(97)] = 5135, + [SMALL_STATE(98)] = 5175, + [SMALL_STATE(99)] = 5215, + [SMALL_STATE(100)] = 5238, + [SMALL_STATE(101)] = 5275, + [SMALL_STATE(102)] = 5312, + [SMALL_STATE(103)] = 5349, + [SMALL_STATE(104)] = 5386, + [SMALL_STATE(105)] = 5409, + [SMALL_STATE(106)] = 5446, + [SMALL_STATE(107)] = 5480, + [SMALL_STATE(108)] = 5497, + [SMALL_STATE(109)] = 5514, + [SMALL_STATE(110)] = 5531, + [SMALL_STATE(111)] = 5548, + [SMALL_STATE(112)] = 5565, + [SMALL_STATE(113)] = 5582, + [SMALL_STATE(114)] = 5607, + [SMALL_STATE(115)] = 5632, + [SMALL_STATE(116)] = 5657, + [SMALL_STATE(117)] = 5674, + [SMALL_STATE(118)] = 5691, + [SMALL_STATE(119)] = 5716, + [SMALL_STATE(120)] = 5733, + [SMALL_STATE(121)] = 5750, + [SMALL_STATE(122)] = 5767, + [SMALL_STATE(123)] = 5784, + [SMALL_STATE(124)] = 5801, + [SMALL_STATE(125)] = 5818, + [SMALL_STATE(126)] = 5840, + [SMALL_STATE(127)] = 5857, + [SMALL_STATE(128)] = 5874, + [SMALL_STATE(129)] = 5890, + [SMALL_STATE(130)] = 5906, + [SMALL_STATE(131)] = 5924, + [SMALL_STATE(132)] = 5939, + [SMALL_STATE(133)] = 5953, + [SMALL_STATE(134)] = 5965, + [SMALL_STATE(135)] = 5979, + [SMALL_STATE(136)] = 5990, + [SMALL_STATE(137)] = 6001, + [SMALL_STATE(138)] = 6012, + [SMALL_STATE(139)] = 6023, + [SMALL_STATE(140)] = 6034, + [SMALL_STATE(141)] = 6045, + [SMALL_STATE(142)] = 6056, + [SMALL_STATE(143)] = 6066, + [SMALL_STATE(144)] = 6076, + [SMALL_STATE(145)] = 6086, + [SMALL_STATE(146)] = 6096, + [SMALL_STATE(147)] = 6106, + [SMALL_STATE(148)] = 6114, + [SMALL_STATE(149)] = 6124, + [SMALL_STATE(150)] = 6134, + [SMALL_STATE(151)] = 6144, + [SMALL_STATE(152)] = 6154, + [SMALL_STATE(153)] = 6164, + [SMALL_STATE(154)] = 6174, + [SMALL_STATE(155)] = 6184, + [SMALL_STATE(156)] = 6194, + [SMALL_STATE(157)] = 6204, + [SMALL_STATE(158)] = 6214, + [SMALL_STATE(159)] = 6224, + [SMALL_STATE(160)] = 6232, + [SMALL_STATE(161)] = 6242, + [SMALL_STATE(162)] = 6247, + [SMALL_STATE(163)] = 6252, + [SMALL_STATE(164)] = 6259, + [SMALL_STATE(165)] = 6266, + [SMALL_STATE(166)] = 6273, + [SMALL_STATE(167)] = 6280, + [SMALL_STATE(168)] = 6285, + [SMALL_STATE(169)] = 6290, + [SMALL_STATE(170)] = 6295, + [SMALL_STATE(171)] = 6300, + [SMALL_STATE(172)] = 6305, + [SMALL_STATE(173)] = 6312, + [SMALL_STATE(174)] = 6317, + [SMALL_STATE(175)] = 6322, + [SMALL_STATE(176)] = 6327, + [SMALL_STATE(177)] = 6334, + [SMALL_STATE(178)] = 6339, + [SMALL_STATE(179)] = 6344, + [SMALL_STATE(180)] = 6348, + [SMALL_STATE(181)] = 6352, + [SMALL_STATE(182)] = 6356, + [SMALL_STATE(183)] = 6360, + [SMALL_STATE(184)] = 6364, + [SMALL_STATE(185)] = 6368, + [SMALL_STATE(186)] = 6372, + [SMALL_STATE(187)] = 6376, + [SMALL_STATE(188)] = 6380, + [SMALL_STATE(189)] = 6384, + [SMALL_STATE(190)] = 6388, + [SMALL_STATE(191)] = 6392, + [SMALL_STATE(192)] = 6396, + [SMALL_STATE(193)] = 6400, + [SMALL_STATE(194)] = 6404, + [SMALL_STATE(195)] = 6408, + [SMALL_STATE(196)] = 6412, + [SMALL_STATE(197)] = 6416, + [SMALL_STATE(198)] = 6420, + [SMALL_STATE(199)] = 6424, + [SMALL_STATE(200)] = 6428, + [SMALL_STATE(201)] = 6432, + [SMALL_STATE(202)] = 6436, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), - [3] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), - [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(184), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(179), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(185), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), - [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root, 1), - [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), - [35] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(6), - [38] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(182), - [41] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(12), - [44] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(12), - [47] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(7), - [50] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(98), - [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(164), - [56] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(148), - [59] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(184), - [62] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(179), - [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(141), - [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(83), - [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(185), - [74] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(86), - [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [79] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), - [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), - [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), - [89] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), - [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), - [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), - [97] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), - [99] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(6), - [102] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(12), - [105] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(12), - [108] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(7), - [111] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(98), - [114] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(164), - [117] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(148), - [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat2, 2), - [122] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(184), - [125] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(179), - [128] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(141), - [131] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(83), - [134] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(185), - [137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), - [139] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(86), - [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 6), - [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 6), + [3] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(191), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(186), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(193), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root, 1), + [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), + [37] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(47), + [40] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(179), + [43] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(14), + [46] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(14), + [49] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(18), + [52] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(100), + [55] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(165), + [58] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(155), + [61] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(191), + [64] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(186), + [67] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(147), + [70] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(78), + [73] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(134), + [76] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(193), + [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(75), + [82] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(47), + [85] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(14), + [88] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(14), + [91] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(18), + [94] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(100), + [97] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(165), + [100] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(155), + [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat2, 2), + [105] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(191), + [108] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(186), + [111] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(147), + [114] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(78), + [117] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(134), + [120] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(193), + [123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), + [125] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat2, 2), SHIFT_REPEAT(75), + [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math, 3), + [130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math, 3), + [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic, 3), + [134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic, 3), + [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), + [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), + [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 4), [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 4), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 2), - [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 2), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table, 7), - [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table, 7), - [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic, 3), - [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic, 3), - [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 3), - [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 3), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), - [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), - [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table, 6), - [182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table, 6), - [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math, 3), - [186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math, 3), - [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3), - [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3), - [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 7), - [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 7), - [196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), - [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), - [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), - [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), - [210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_yield_repeat1, 2), - [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_yield_repeat1, 2), - [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4), - [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4), - [232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), - [234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), - [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), - [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [242] = {.entry = {.count = 1, .reusable = false}}, SHIFT(169), - [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [246] = {.entry = {.count = 1, .reusable = false}}, SHIFT(192), - [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select, 6), - [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_select, 6), - [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3), - [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3), - [256] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), - [258] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), - [260] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), - [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_insert, 6), - [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_insert, 6), - [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_call_repeat1, 1), - [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 1), - [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 4), - [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 4), - [274] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_yield_repeat1, 2), SHIFT_REPEAT(89), - [277] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(20), - [280] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(12), - [283] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(12), - [286] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(7), - [289] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(98), - [292] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(164), - [295] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(148), - [298] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(184), - [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), - [303] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), - [305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [307] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), - [309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), - [313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [315] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(107), - [318] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(114), - [321] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(114), - [324] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(110), - [327] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(102), - [330] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(169), - [333] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(144), - [336] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(192), - [339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), - [341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select, 4), - [345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_select, 4), - [347] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), - [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_insert, 4), - [351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_insert, 4), - [353] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), - [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 4), - [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 4), - [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 6), - [361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 6), - [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop, 6), - [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop, 6), - [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop, 4), - [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop, 4), - [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match, 5), - [373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match, 5), - [375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3), - [377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3), - [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop, 5), - [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop, 5), - [383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), - [385] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(12), - [388] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(12), - [391] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(7), - [394] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(98), - [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), - [399] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(164), - [402] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(148), - [405] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(184), - [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), - [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), - [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_item, 1), - [418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_item, 1), - [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), - [424] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 2), - [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [432] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), - [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [454] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 1), - [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 1), - [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [460] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 3), - [462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 3), - [464] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), - [466] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_operator, 1), - [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_operator, 1), - [470] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math_operator, 1), - [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math_operator, 1), - [474] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_table_repeat1, 2), SHIFT_REPEAT(98), - [477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_table_repeat1, 2), - [479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), - [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), - [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), - [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [505] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(151), - [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), - [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), - [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), - [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), - [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 1), - [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), - [532] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), SHIFT_REPEAT(190), - [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), - [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), - [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 3), - [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), - [567] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), - [595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 7), + [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 7), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), + [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3), + [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3), + [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table, 7), + [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table, 7), + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table, 6), + [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table, 6), + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), + [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), + [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 3), + [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 3), + [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), + [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), + [202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), + [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 6), + [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 6), + [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 2), + [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 2), + [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4), + [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4), + [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tool_call, 3), + [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tool_call, 3), + [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3), + [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3), + [232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), + [234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), + [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), + [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [242] = {.entry = {.count = 1, .reusable = false}}, SHIFT(172), + [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [246] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199), + [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), + [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), + [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_yield_repeat1, 2), + [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_yield_repeat1, 2), + [260] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), + [262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select, 6), + [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_select, 6), + [268] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), + [270] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), + [272] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_insert, 6), + [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_insert, 6), + [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_call_repeat1, 1), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 1), + [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 4), + [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 4), + [288] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(124), + [291] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(122), + [294] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(122), + [297] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(123), + [300] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(103), + [303] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(172), + [306] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(151), + [309] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(199), + [312] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(132), + [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), + [317] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(38), + [320] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(14), + [323] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(14), + [326] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(18), + [329] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(100), + [332] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(165), + [335] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(155), + [338] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(191), + [341] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(134), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), + [346] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [350] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), + [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [358] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_yield_repeat1, 2), SHIFT_REPEAT(74), + [361] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), + [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select, 4), + [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_select, 4), + [367] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), + [369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_insert, 4), + [371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_insert, 4), + [373] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), + [375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match, 5), + [377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match, 5), + [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop, 6), + [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop, 6), + [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop, 5), + [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop, 5), + [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 6), + [389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 6), + [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 4), + [393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 4), + [395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), + [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3), + [399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3), + [401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop, 4), + [403] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop, 4), + [405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), + [407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 2), + [409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_item, 1), + [411] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_item, 1), + [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [425] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(14), + [428] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(14), + [431] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(18), + [434] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(100), + [437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), + [439] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(165), + [442] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(155), + [445] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(191), + [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [452] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), + [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_output, 2), + [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [474] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_call_repeat1, 2), + [476] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 3), + [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 3), + [480] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math_operator, 1), + [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math_operator, 1), + [484] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_operator, 1), + [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_operator, 1), + [488] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 1), + [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 1), + [492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [494] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), + [496] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), + [498] = {.entry = {.count = 1, .reusable = false}}, SHIFT(200), + [500] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), + [502] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_table_repeat1, 2), SHIFT_REPEAT(100), + [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_table_repeat1, 2), + [507] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [509] = {.entry = {.count = 1, .reusable = false}}, SHIFT(187), + [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [555] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(159), + [558] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), + [560] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), SHIFT_REPEAT(180), + [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), + [565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 1), + [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 3), + [579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [605] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), }; #ifdef __cplusplus