From c6ec1ff6ea51ce28ee465f9c230e2580fab4c437 Mon Sep 17 00:00:00 2001 From: Jeff Date: Wed, 11 Oct 2023 12:07:21 -0400 Subject: [PATCH] Add assert and assert_equal tools --- grammar.js | 2 + src/grammar.json | 8 + src/node-types.json | 8 + src/parser.c | 612 ++++++++++++++++++++++++-------------------- 4 files changed, 354 insertions(+), 276 deletions(-) diff --git a/grammar.js b/grammar.js index 5e14648..d49f293 100644 --- a/grammar.js +++ b/grammar.js @@ -178,6 +178,8 @@ module.exports = grammar({ ), tool: $ => choice( + 'assert', + 'assert_equal', 'output', 'read', 'write', diff --git a/src/grammar.json b/src/grammar.json index 4e8543a..be9f748 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -724,6 +724,14 @@ "tool": { "type": "CHOICE", "members": [ + { + "type": "STRING", + "value": "assert" + }, + { + "type": "STRING", + "value": "assert_equal" + }, { "type": "STRING", "value": "output" diff --git a/src/node-types.json b/src/node-types.json index d9f4da5..8b895fd 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -545,6 +545,14 @@ "type": "]", "named": false }, + { + "type": "assert", + "named": false + }, + { + "type": "assert_equal", + "named": false + }, { "type": "else", "named": false diff --git a/src/parser.c b/src/parser.c index 7def698..b52ebd7 100644 --- a/src/parser.c +++ b/src/parser.c @@ -8,9 +8,9 @@ #define LANGUAGE_VERSION 14 #define STATE_COUNT 210 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 81 +#define SYMBOL_COUNT 83 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 47 +#define TOKEN_COUNT 49 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 7 @@ -55,48 +55,50 @@ enum { anon_sym_while = 36, anon_sym_for = 37, anon_sym_in = 38, - anon_sym_output = 39, - anon_sym_read = 40, - anon_sym_write = 41, - anon_sym_select = 42, - anon_sym_from = 43, - anon_sym_where = 44, - anon_sym_insert = 45, - anon_sym_into = 46, - sym_root = 47, - sym_item = 48, - sym_statement = 49, - sym_comment = 50, - sym_expression = 51, - sym_value = 52, - sym_boolean = 53, - sym_list = 54, - sym_function = 55, - sym_table = 56, - sym_map = 57, - sym_math = 58, - sym_math_operator = 59, - sym_logic = 60, - sym_logic_operator = 61, - sym_assignment = 62, - sym_assignment_operator = 63, - sym_if_else = 64, - sym_if = 65, - sym_else_if = 66, - sym_else = 67, - sym_function_call = 68, - sym_while = 69, - sym_tool = 70, - sym_select = 71, - sym_insert = 72, - aux_sym_root_repeat1 = 73, - aux_sym_item_repeat1 = 74, - aux_sym_list_repeat1 = 75, - aux_sym_function_repeat1 = 76, - aux_sym_table_repeat1 = 77, - aux_sym_map_repeat1 = 78, - aux_sym_if_else_repeat1 = 79, - aux_sym_insert_repeat1 = 80, + anon_sym_assert = 39, + anon_sym_assert_equal = 40, + anon_sym_output = 41, + anon_sym_read = 42, + anon_sym_write = 43, + anon_sym_select = 44, + anon_sym_from = 45, + anon_sym_where = 46, + anon_sym_insert = 47, + anon_sym_into = 48, + sym_root = 49, + sym_item = 50, + sym_statement = 51, + sym_comment = 52, + sym_expression = 53, + sym_value = 54, + sym_boolean = 55, + sym_list = 56, + sym_function = 57, + sym_table = 58, + sym_map = 59, + sym_math = 60, + sym_math_operator = 61, + sym_logic = 62, + sym_logic_operator = 63, + sym_assignment = 64, + sym_assignment_operator = 65, + sym_if_else = 66, + sym_if = 67, + sym_else_if = 68, + sym_else = 69, + sym_function_call = 70, + sym_while = 71, + sym_tool = 72, + sym_select = 73, + sym_insert = 74, + aux_sym_root_repeat1 = 75, + aux_sym_item_repeat1 = 76, + aux_sym_list_repeat1 = 77, + aux_sym_function_repeat1 = 78, + aux_sym_table_repeat1 = 79, + aux_sym_map_repeat1 = 80, + aux_sym_if_else_repeat1 = 81, + aux_sym_insert_repeat1 = 82, }; static const char * const ts_symbol_names[] = { @@ -139,6 +141,8 @@ static const char * const ts_symbol_names[] = { [anon_sym_while] = "while", [anon_sym_for] = "for", [anon_sym_in] = "in", + [anon_sym_assert] = "assert", + [anon_sym_assert_equal] = "assert_equal", [anon_sym_output] = "output", [anon_sym_read] = "read", [anon_sym_write] = "write", @@ -223,6 +227,8 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_while] = anon_sym_while, [anon_sym_for] = anon_sym_for, [anon_sym_in] = anon_sym_in, + [anon_sym_assert] = anon_sym_assert, + [anon_sym_assert_equal] = anon_sym_assert_equal, [anon_sym_output] = anon_sym_output, [anon_sym_read] = anon_sym_read, [anon_sym_write] = anon_sym_write, @@ -424,6 +430,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_assert] = { + .visible = true, + .named = false, + }, + [anon_sym_assert_equal] = { + .visible = true, + .named = false, + }, [anon_sym_output] = { .visible = true, .named = false, @@ -1190,213 +1204,251 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (lookahead == 'f') ADVANCE(1); - if (lookahead == 'i') ADVANCE(2); - if (lookahead == 'o') ADVANCE(3); - if (lookahead == 'r') ADVANCE(4); - if (lookahead == 's') ADVANCE(5); - if (lookahead == 't') ADVANCE(6); - if (lookahead == 'w') ADVANCE(7); + if (lookahead == 'a') ADVANCE(1); + if (lookahead == 'f') ADVANCE(2); + if (lookahead == 'i') ADVANCE(3); + if (lookahead == 'o') ADVANCE(4); + if (lookahead == 'r') ADVANCE(5); + if (lookahead == 's') ADVANCE(6); + if (lookahead == 't') ADVANCE(7); + if (lookahead == 'w') ADVANCE(8); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) END_STATE(); case 1: - if (lookahead == 'a') ADVANCE(8); - if (lookahead == 'o') ADVANCE(9); - if (lookahead == 'r') ADVANCE(10); - if (lookahead == 'u') ADVANCE(11); + if (lookahead == 's') ADVANCE(9); END_STATE(); case 2: - if (lookahead == 'f') ADVANCE(12); - if (lookahead == 'n') ADVANCE(13); + if (lookahead == 'a') ADVANCE(10); + if (lookahead == 'o') ADVANCE(11); + if (lookahead == 'r') ADVANCE(12); + if (lookahead == 'u') ADVANCE(13); END_STATE(); case 3: - if (lookahead == 'u') ADVANCE(14); + if (lookahead == 'f') ADVANCE(14); + if (lookahead == 'n') ADVANCE(15); END_STATE(); case 4: - if (lookahead == 'e') ADVANCE(15); + if (lookahead == 'u') ADVANCE(16); END_STATE(); case 5: - if (lookahead == 'e') ADVANCE(16); + if (lookahead == 'e') ADVANCE(17); END_STATE(); case 6: - if (lookahead == 'a') ADVANCE(17); - if (lookahead == 'r') ADVANCE(18); + if (lookahead == 'e') ADVANCE(18); END_STATE(); case 7: - if (lookahead == 'h') ADVANCE(19); + if (lookahead == 'a') ADVANCE(19); if (lookahead == 'r') ADVANCE(20); END_STATE(); case 8: - if (lookahead == 'l') ADVANCE(21); - END_STATE(); - case 9: + if (lookahead == 'h') ADVANCE(21); if (lookahead == 'r') ADVANCE(22); END_STATE(); + case 9: + if (lookahead == 's') ADVANCE(23); + END_STATE(); case 10: - if (lookahead == 'o') ADVANCE(23); + if (lookahead == 'l') ADVANCE(24); END_STATE(); case 11: - if (lookahead == 'n') ADVANCE(24); + if (lookahead == 'r') ADVANCE(25); END_STATE(); case 12: - ACCEPT_TOKEN(anon_sym_if); + if (lookahead == 'o') ADVANCE(26); END_STATE(); case 13: - ACCEPT_TOKEN(anon_sym_in); - if (lookahead == 's') ADVANCE(25); - if (lookahead == 't') ADVANCE(26); + if (lookahead == 'n') ADVANCE(27); END_STATE(); case 14: - if (lookahead == 't') ADVANCE(27); + ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 15: - if (lookahead == 'a') ADVANCE(28); + ACCEPT_TOKEN(anon_sym_in); + if (lookahead == 's') ADVANCE(28); + if (lookahead == 't') ADVANCE(29); END_STATE(); case 16: - if (lookahead == 'l') ADVANCE(29); + if (lookahead == 't') ADVANCE(30); END_STATE(); case 17: - if (lookahead == 'b') ADVANCE(30); + if (lookahead == 'a') ADVANCE(31); END_STATE(); case 18: - if (lookahead == 'u') ADVANCE(31); + if (lookahead == 'l') ADVANCE(32); END_STATE(); case 19: - if (lookahead == 'e') ADVANCE(32); - if (lookahead == 'i') ADVANCE(33); + if (lookahead == 'b') ADVANCE(33); END_STATE(); case 20: - if (lookahead == 'i') ADVANCE(34); + if (lookahead == 'u') ADVANCE(34); END_STATE(); case 21: - if (lookahead == 's') ADVANCE(35); + if (lookahead == 'e') ADVANCE(35); + if (lookahead == 'i') ADVANCE(36); END_STATE(); case 22: - ACCEPT_TOKEN(anon_sym_for); + if (lookahead == 'i') ADVANCE(37); END_STATE(); case 23: - if (lookahead == 'm') ADVANCE(36); - END_STATE(); - case 24: - if (lookahead == 'c') ADVANCE(37); - END_STATE(); - case 25: if (lookahead == 'e') ADVANCE(38); END_STATE(); + case 24: + if (lookahead == 's') ADVANCE(39); + END_STATE(); + case 25: + ACCEPT_TOKEN(anon_sym_for); + END_STATE(); case 26: - if (lookahead == 'o') ADVANCE(39); + if (lookahead == 'm') ADVANCE(40); END_STATE(); case 27: - if (lookahead == 'p') ADVANCE(40); + if (lookahead == 'c') ADVANCE(41); END_STATE(); case 28: - if (lookahead == 'd') ADVANCE(41); - END_STATE(); - case 29: if (lookahead == 'e') ADVANCE(42); END_STATE(); + case 29: + if (lookahead == 'o') ADVANCE(43); + END_STATE(); case 30: - if (lookahead == 'l') ADVANCE(43); + if (lookahead == 'p') ADVANCE(44); END_STATE(); case 31: - if (lookahead == 'e') ADVANCE(44); + if (lookahead == 'd') ADVANCE(45); END_STATE(); case 32: - if (lookahead == 'r') ADVANCE(45); + if (lookahead == 'e') ADVANCE(46); END_STATE(); case 33: - if (lookahead == 'l') ADVANCE(46); + if (lookahead == 'l') ADVANCE(47); END_STATE(); case 34: - if (lookahead == 't') ADVANCE(47); - END_STATE(); - case 35: if (lookahead == 'e') ADVANCE(48); END_STATE(); + case 35: + if (lookahead == 'r') ADVANCE(49); + END_STATE(); case 36: - ACCEPT_TOKEN(anon_sym_from); + if (lookahead == 'l') ADVANCE(50); END_STATE(); case 37: - if (lookahead == 't') ADVANCE(49); + if (lookahead == 't') ADVANCE(51); END_STATE(); case 38: - if (lookahead == 'r') ADVANCE(50); + if (lookahead == 'r') ADVANCE(52); END_STATE(); case 39: - ACCEPT_TOKEN(anon_sym_into); - END_STATE(); - case 40: - if (lookahead == 'u') ADVANCE(51); - END_STATE(); - case 41: - ACCEPT_TOKEN(anon_sym_read); - END_STATE(); - case 42: - if (lookahead == 'c') ADVANCE(52); - END_STATE(); - case 43: if (lookahead == 'e') ADVANCE(53); END_STATE(); + case 40: + ACCEPT_TOKEN(anon_sym_from); + END_STATE(); + case 41: + if (lookahead == 't') ADVANCE(54); + END_STATE(); + case 42: + if (lookahead == 'r') ADVANCE(55); + END_STATE(); + case 43: + ACCEPT_TOKEN(anon_sym_into); + END_STATE(); case 44: - ACCEPT_TOKEN(anon_sym_true); + if (lookahead == 'u') ADVANCE(56); END_STATE(); case 45: - if (lookahead == 'e') ADVANCE(54); + ACCEPT_TOKEN(anon_sym_read); END_STATE(); case 46: - if (lookahead == 'e') ADVANCE(55); + if (lookahead == 'c') ADVANCE(57); END_STATE(); case 47: - if (lookahead == 'e') ADVANCE(56); + if (lookahead == 'e') ADVANCE(58); END_STATE(); case 48: - ACCEPT_TOKEN(anon_sym_false); + ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 49: - if (lookahead == 'i') ADVANCE(57); + if (lookahead == 'e') ADVANCE(59); END_STATE(); case 50: - if (lookahead == 't') ADVANCE(58); + if (lookahead == 'e') ADVANCE(60); END_STATE(); case 51: - if (lookahead == 't') ADVANCE(59); + if (lookahead == 'e') ADVANCE(61); END_STATE(); case 52: - if (lookahead == 't') ADVANCE(60); + if (lookahead == 't') ADVANCE(62); END_STATE(); case 53: - ACCEPT_TOKEN(anon_sym_table); + ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 54: - ACCEPT_TOKEN(anon_sym_where); + if (lookahead == 'i') ADVANCE(63); END_STATE(); case 55: - ACCEPT_TOKEN(anon_sym_while); + if (lookahead == 't') ADVANCE(64); END_STATE(); case 56: - ACCEPT_TOKEN(anon_sym_write); + if (lookahead == 't') ADVANCE(65); END_STATE(); case 57: - if (lookahead == 'o') ADVANCE(61); + if (lookahead == 't') ADVANCE(66); END_STATE(); case 58: - ACCEPT_TOKEN(anon_sym_insert); + ACCEPT_TOKEN(anon_sym_table); END_STATE(); case 59: - ACCEPT_TOKEN(anon_sym_output); + ACCEPT_TOKEN(anon_sym_where); END_STATE(); case 60: - ACCEPT_TOKEN(anon_sym_select); + ACCEPT_TOKEN(anon_sym_while); END_STATE(); case 61: - if (lookahead == 'n') ADVANCE(62); + ACCEPT_TOKEN(anon_sym_write); END_STATE(); case 62: + ACCEPT_TOKEN(anon_sym_assert); + if (lookahead == '_') ADVANCE(67); + END_STATE(); + case 63: + if (lookahead == 'o') ADVANCE(68); + END_STATE(); + case 64: + ACCEPT_TOKEN(anon_sym_insert); + END_STATE(); + case 65: + ACCEPT_TOKEN(anon_sym_output); + END_STATE(); + case 66: + ACCEPT_TOKEN(anon_sym_select); + END_STATE(); + case 67: + if (lookahead == 'e') ADVANCE(69); + END_STATE(); + case 68: + if (lookahead == 'n') ADVANCE(70); + END_STATE(); + case 69: + if (lookahead == 'q') ADVANCE(71); + END_STATE(); + case 70: ACCEPT_TOKEN(anon_sym_function); END_STATE(); + case 71: + if (lookahead == 'u') ADVANCE(72); + END_STATE(); + case 72: + if (lookahead == 'a') ADVANCE(73); + END_STATE(); + case 73: + if (lookahead == 'l') ADVANCE(74); + END_STATE(); + case 74: + ACCEPT_TOKEN(anon_sym_assert_equal); + END_STATE(); default: return false; } @@ -1656,6 +1708,8 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_while] = ACTIONS(1), [anon_sym_for] = ACTIONS(1), [anon_sym_in] = ACTIONS(1), + [anon_sym_assert] = ACTIONS(1), + [anon_sym_assert_equal] = ACTIONS(1), [anon_sym_output] = ACTIONS(1), [anon_sym_read] = ACTIONS(1), [anon_sym_write] = ACTIONS(1), @@ -6158,29 +6212,35 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(58), 1, sym_tool, - ACTIONS(450), 3, + ACTIONS(450), 5, + anon_sym_assert, + anon_sym_assert_equal, anon_sym_output, anon_sym_read, anon_sym_write, - [5575] = 3, + [5577] = 3, ACTIONS(452), 1, sym_identifier, STATE(65), 1, sym_tool, - ACTIONS(450), 3, + ACTIONS(450), 5, + anon_sym_assert, + anon_sym_assert_equal, anon_sym_output, anon_sym_read, anon_sym_write, - [5587] = 3, + [5591] = 3, ACTIONS(454), 1, sym_identifier, STATE(52), 1, sym_tool, - ACTIONS(450), 3, + ACTIONS(450), 5, + anon_sym_assert, + anon_sym_assert_equal, anon_sym_output, anon_sym_read, anon_sym_write, - [5599] = 3, + [5605] = 3, ACTIONS(456), 1, anon_sym_LBRACK, ACTIONS(459), 1, @@ -6188,7 +6248,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(142), 2, sym_list, aux_sym_insert_repeat1, - [5610] = 3, + [5616] = 3, ACTIONS(13), 1, anon_sym_LBRACK, ACTIONS(461), 1, @@ -6196,7 +6256,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(142), 2, sym_list, aux_sym_insert_repeat1, - [5621] = 3, + [5627] = 3, ACTIONS(13), 1, anon_sym_LBRACK, ACTIONS(463), 1, @@ -6204,293 +6264,293 @@ static const uint16_t ts_small_parse_table[] = { STATE(142), 2, sym_list, aux_sym_insert_repeat1, - [5632] = 2, + [5638] = 2, ACTIONS(467), 1, anon_sym_COMMA, ACTIONS(465), 2, sym_identifier, anon_sym_GT, - [5640] = 3, + [5646] = 3, ACTIONS(469), 1, sym_identifier, ACTIONS(471), 1, anon_sym_RBRACE, STATE(159), 1, aux_sym_map_repeat1, - [5650] = 2, + [5656] = 2, ACTIONS(13), 1, anon_sym_LBRACK, STATE(143), 2, sym_list, aux_sym_insert_repeat1, - [5658] = 3, + [5664] = 3, ACTIONS(469), 1, sym_identifier, ACTIONS(473), 1, anon_sym_RBRACE, STATE(163), 1, aux_sym_map_repeat1, - [5668] = 3, + [5674] = 3, ACTIONS(475), 1, sym_identifier, ACTIONS(477), 1, anon_sym_GT, STATE(158), 1, aux_sym_function_repeat1, - [5678] = 3, + [5684] = 3, ACTIONS(475), 1, sym_identifier, ACTIONS(479), 1, anon_sym_GT, STATE(158), 1, aux_sym_function_repeat1, - [5688] = 3, + [5694] = 3, ACTIONS(475), 1, sym_identifier, ACTIONS(481), 1, anon_sym_GT, STATE(150), 1, aux_sym_function_repeat1, - [5698] = 3, + [5704] = 3, ACTIONS(483), 1, sym_identifier, ACTIONS(486), 1, anon_sym_RBRACE, STATE(152), 1, aux_sym_map_repeat1, - [5708] = 3, + [5714] = 3, ACTIONS(469), 1, sym_identifier, ACTIONS(488), 1, anon_sym_RBRACE, STATE(155), 1, aux_sym_map_repeat1, - [5718] = 3, + [5724] = 3, ACTIONS(475), 1, sym_identifier, ACTIONS(490), 1, anon_sym_GT, STATE(158), 1, aux_sym_function_repeat1, - [5728] = 3, + [5734] = 3, ACTIONS(469), 1, sym_identifier, ACTIONS(492), 1, anon_sym_RBRACE, STATE(152), 1, aux_sym_map_repeat1, - [5738] = 3, + [5744] = 3, ACTIONS(475), 1, sym_identifier, ACTIONS(494), 1, anon_sym_GT, STATE(149), 1, aux_sym_function_repeat1, - [5748] = 3, + [5754] = 3, ACTIONS(475), 1, sym_identifier, ACTIONS(496), 1, anon_sym_GT, STATE(158), 1, aux_sym_function_repeat1, - [5758] = 3, + [5764] = 3, ACTIONS(498), 1, sym_identifier, ACTIONS(501), 1, anon_sym_GT, STATE(158), 1, aux_sym_function_repeat1, - [5768] = 3, + [5774] = 3, ACTIONS(469), 1, sym_identifier, ACTIONS(503), 1, anon_sym_RBRACE, STATE(152), 1, aux_sym_map_repeat1, - [5778] = 2, + [5784] = 2, ACTIONS(13), 1, anon_sym_LBRACK, STATE(144), 2, sym_list, aux_sym_insert_repeat1, - [5786] = 3, + [5792] = 3, ACTIONS(475), 1, sym_identifier, ACTIONS(505), 1, anon_sym_GT, STATE(157), 1, aux_sym_function_repeat1, - [5796] = 3, + [5802] = 3, ACTIONS(475), 1, sym_identifier, ACTIONS(507), 1, anon_sym_GT, STATE(158), 1, aux_sym_function_repeat1, - [5806] = 3, + [5812] = 3, ACTIONS(469), 1, sym_identifier, ACTIONS(509), 1, anon_sym_RBRACE, STATE(152), 1, aux_sym_map_repeat1, - [5816] = 3, + [5822] = 3, ACTIONS(475), 1, sym_identifier, ACTIONS(511), 1, anon_sym_GT, STATE(158), 1, aux_sym_function_repeat1, - [5826] = 2, + [5832] = 2, ACTIONS(475), 1, sym_identifier, STATE(154), 1, aux_sym_function_repeat1, - [5833] = 2, + [5839] = 2, ACTIONS(513), 1, anon_sym_LT, ACTIONS(515), 1, anon_sym_LBRACE, - [5840] = 2, + [5846] = 2, ACTIONS(475), 1, sym_identifier, STATE(164), 1, aux_sym_function_repeat1, - [5847] = 2, + [5853] = 2, ACTIONS(517), 1, anon_sym_LT, ACTIONS(519), 1, anon_sym_LBRACE, - [5854] = 2, + [5860] = 2, ACTIONS(388), 1, anon_sym_RBRACE, ACTIONS(521), 1, anon_sym_where, - [5861] = 2, + [5867] = 2, ACTIONS(475), 1, sym_identifier, STATE(162), 1, aux_sym_function_repeat1, - [5868] = 2, + [5874] = 2, ACTIONS(523), 1, anon_sym_LT, ACTIONS(525), 1, anon_sym_LBRACE, - [5875] = 1, + [5881] = 1, ACTIONS(501), 2, sym_identifier, anon_sym_GT, - [5880] = 2, + [5886] = 2, ACTIONS(394), 1, anon_sym_RBRACE, ACTIONS(527), 1, anon_sym_where, - [5887] = 1, + [5893] = 1, ACTIONS(529), 1, anon_sym_RBRACE, - [5891] = 1, + [5897] = 1, ACTIONS(531), 1, anon_sym_LBRACE, - [5895] = 1, + [5901] = 1, ACTIONS(533), 1, ts_builtin_sym_end, - [5899] = 1, + [5905] = 1, ACTIONS(535), 1, anon_sym_LBRACE, - [5903] = 1, + [5909] = 1, ACTIONS(537), 1, anon_sym_LBRACE, - [5907] = 1, + [5913] = 1, ACTIONS(539), 1, sym_identifier, - [5911] = 1, + [5917] = 1, ACTIONS(541), 1, sym_identifier, - [5915] = 1, + [5921] = 1, ACTIONS(543), 1, anon_sym_LBRACE, - [5919] = 1, + [5925] = 1, ACTIONS(545), 1, anon_sym_RBRACE, - [5923] = 1, + [5929] = 1, ACTIONS(547), 1, anon_sym_RBRACE, - [5927] = 1, + [5933] = 1, ACTIONS(549), 1, anon_sym_LBRACE, - [5931] = 1, + [5937] = 1, ACTIONS(551), 1, anon_sym_LT, - [5935] = 1, + [5941] = 1, ACTIONS(553), 1, anon_sym_RBRACE, - [5939] = 1, + [5945] = 1, ACTIONS(555), 1, anon_sym_LBRACE, - [5943] = 1, + [5949] = 1, ACTIONS(557), 1, anon_sym_RBRACE, - [5947] = 1, + [5953] = 1, ACTIONS(559), 1, anon_sym_RBRACE, - [5951] = 1, + [5957] = 1, ACTIONS(561), 1, anon_sym_from, - [5955] = 1, + [5961] = 1, ACTIONS(563), 1, anon_sym_RBRACE, - [5959] = 1, + [5965] = 1, ACTIONS(565), 1, anon_sym_EQ, - [5963] = 1, + [5969] = 1, ACTIONS(567), 1, sym_identifier, - [5967] = 1, + [5973] = 1, ACTIONS(569), 1, anon_sym_LBRACE, - [5971] = 1, + [5977] = 1, ACTIONS(571), 1, anon_sym_RBRACE, - [5975] = 1, + [5981] = 1, ACTIONS(573), 1, anon_sym_LBRACE, - [5979] = 1, + [5985] = 1, ACTIONS(575), 1, anon_sym_RBRACE, - [5983] = 1, + [5989] = 1, ACTIONS(577), 1, anon_sym_LBRACE, - [5987] = 1, + [5993] = 1, ACTIONS(579), 1, sym_identifier, - [5991] = 1, + [5997] = 1, ACTIONS(581), 1, anon_sym_RBRACE, - [5995] = 1, + [6001] = 1, ACTIONS(583), 1, sym_identifier, - [5999] = 1, + [6005] = 1, ACTIONS(585), 1, anon_sym_RBRACE, - [6003] = 1, + [6009] = 1, ACTIONS(587), 1, sym_identifier, - [6007] = 1, + [6013] = 1, ACTIONS(589), 1, anon_sym_RBRACE, - [6011] = 1, + [6017] = 1, ACTIONS(591), 1, anon_sym_from, - [6015] = 1, + [6021] = 1, ACTIONS(593), 1, anon_sym_RBRACE, - [6019] = 1, + [6025] = 1, ACTIONS(595), 1, anon_sym_LT, - [6023] = 1, + [6029] = 1, ACTIONS(597), 1, anon_sym_LBRACE, - [6027] = 1, + [6033] = 1, ACTIONS(599), 1, anon_sym_LT, }; @@ -6634,76 +6694,76 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(137)] = 5531, [SMALL_STATE(138)] = 5547, [SMALL_STATE(139)] = 5563, - [SMALL_STATE(140)] = 5575, - [SMALL_STATE(141)] = 5587, - [SMALL_STATE(142)] = 5599, - [SMALL_STATE(143)] = 5610, - [SMALL_STATE(144)] = 5621, - [SMALL_STATE(145)] = 5632, - [SMALL_STATE(146)] = 5640, - [SMALL_STATE(147)] = 5650, - [SMALL_STATE(148)] = 5658, - [SMALL_STATE(149)] = 5668, - [SMALL_STATE(150)] = 5678, - [SMALL_STATE(151)] = 5688, - [SMALL_STATE(152)] = 5698, - [SMALL_STATE(153)] = 5708, - [SMALL_STATE(154)] = 5718, - [SMALL_STATE(155)] = 5728, - [SMALL_STATE(156)] = 5738, - [SMALL_STATE(157)] = 5748, - [SMALL_STATE(158)] = 5758, - [SMALL_STATE(159)] = 5768, - [SMALL_STATE(160)] = 5778, - [SMALL_STATE(161)] = 5786, - [SMALL_STATE(162)] = 5796, - [SMALL_STATE(163)] = 5806, - [SMALL_STATE(164)] = 5816, - [SMALL_STATE(165)] = 5826, - [SMALL_STATE(166)] = 5833, - [SMALL_STATE(167)] = 5840, - [SMALL_STATE(168)] = 5847, - [SMALL_STATE(169)] = 5854, - [SMALL_STATE(170)] = 5861, - [SMALL_STATE(171)] = 5868, - [SMALL_STATE(172)] = 5875, - [SMALL_STATE(173)] = 5880, - [SMALL_STATE(174)] = 5887, - [SMALL_STATE(175)] = 5891, - [SMALL_STATE(176)] = 5895, - [SMALL_STATE(177)] = 5899, - [SMALL_STATE(178)] = 5903, - [SMALL_STATE(179)] = 5907, - [SMALL_STATE(180)] = 5911, - [SMALL_STATE(181)] = 5915, - [SMALL_STATE(182)] = 5919, - [SMALL_STATE(183)] = 5923, - [SMALL_STATE(184)] = 5927, - [SMALL_STATE(185)] = 5931, - [SMALL_STATE(186)] = 5935, - [SMALL_STATE(187)] = 5939, - [SMALL_STATE(188)] = 5943, - [SMALL_STATE(189)] = 5947, - [SMALL_STATE(190)] = 5951, - [SMALL_STATE(191)] = 5955, - [SMALL_STATE(192)] = 5959, - [SMALL_STATE(193)] = 5963, - [SMALL_STATE(194)] = 5967, - [SMALL_STATE(195)] = 5971, - [SMALL_STATE(196)] = 5975, - [SMALL_STATE(197)] = 5979, - [SMALL_STATE(198)] = 5983, - [SMALL_STATE(199)] = 5987, - [SMALL_STATE(200)] = 5991, - [SMALL_STATE(201)] = 5995, - [SMALL_STATE(202)] = 5999, - [SMALL_STATE(203)] = 6003, - [SMALL_STATE(204)] = 6007, - [SMALL_STATE(205)] = 6011, - [SMALL_STATE(206)] = 6015, - [SMALL_STATE(207)] = 6019, - [SMALL_STATE(208)] = 6023, - [SMALL_STATE(209)] = 6027, + [SMALL_STATE(140)] = 5577, + [SMALL_STATE(141)] = 5591, + [SMALL_STATE(142)] = 5605, + [SMALL_STATE(143)] = 5616, + [SMALL_STATE(144)] = 5627, + [SMALL_STATE(145)] = 5638, + [SMALL_STATE(146)] = 5646, + [SMALL_STATE(147)] = 5656, + [SMALL_STATE(148)] = 5664, + [SMALL_STATE(149)] = 5674, + [SMALL_STATE(150)] = 5684, + [SMALL_STATE(151)] = 5694, + [SMALL_STATE(152)] = 5704, + [SMALL_STATE(153)] = 5714, + [SMALL_STATE(154)] = 5724, + [SMALL_STATE(155)] = 5734, + [SMALL_STATE(156)] = 5744, + [SMALL_STATE(157)] = 5754, + [SMALL_STATE(158)] = 5764, + [SMALL_STATE(159)] = 5774, + [SMALL_STATE(160)] = 5784, + [SMALL_STATE(161)] = 5792, + [SMALL_STATE(162)] = 5802, + [SMALL_STATE(163)] = 5812, + [SMALL_STATE(164)] = 5822, + [SMALL_STATE(165)] = 5832, + [SMALL_STATE(166)] = 5839, + [SMALL_STATE(167)] = 5846, + [SMALL_STATE(168)] = 5853, + [SMALL_STATE(169)] = 5860, + [SMALL_STATE(170)] = 5867, + [SMALL_STATE(171)] = 5874, + [SMALL_STATE(172)] = 5881, + [SMALL_STATE(173)] = 5886, + [SMALL_STATE(174)] = 5893, + [SMALL_STATE(175)] = 5897, + [SMALL_STATE(176)] = 5901, + [SMALL_STATE(177)] = 5905, + [SMALL_STATE(178)] = 5909, + [SMALL_STATE(179)] = 5913, + [SMALL_STATE(180)] = 5917, + [SMALL_STATE(181)] = 5921, + [SMALL_STATE(182)] = 5925, + [SMALL_STATE(183)] = 5929, + [SMALL_STATE(184)] = 5933, + [SMALL_STATE(185)] = 5937, + [SMALL_STATE(186)] = 5941, + [SMALL_STATE(187)] = 5945, + [SMALL_STATE(188)] = 5949, + [SMALL_STATE(189)] = 5953, + [SMALL_STATE(190)] = 5957, + [SMALL_STATE(191)] = 5961, + [SMALL_STATE(192)] = 5965, + [SMALL_STATE(193)] = 5969, + [SMALL_STATE(194)] = 5973, + [SMALL_STATE(195)] = 5977, + [SMALL_STATE(196)] = 5981, + [SMALL_STATE(197)] = 5985, + [SMALL_STATE(198)] = 5989, + [SMALL_STATE(199)] = 5993, + [SMALL_STATE(200)] = 5997, + [SMALL_STATE(201)] = 6001, + [SMALL_STATE(202)] = 6005, + [SMALL_STATE(203)] = 6009, + [SMALL_STATE(204)] = 6013, + [SMALL_STATE(205)] = 6017, + [SMALL_STATE(206)] = 6021, + [SMALL_STATE(207)] = 6025, + [SMALL_STATE(208)] = 6029, + [SMALL_STATE(209)] = 6033, }; static const TSParseActionEntry ts_parse_actions[] = {