From 9aef6712fe2ba4ab378e588910a066250e3c9983 Mon Sep 17 00:00:00 2001 From: Jeff Date: Fri, 29 Sep 2023 13:04:19 -0400 Subject: [PATCH] Remove semicolons from language --- bindings/dust | 2 +- corpus/control_flow.txt | 14 +- corpus/statements.txt | 42 +- grammar.js | 5 - src/grammar.json | 21 - src/node-types.json | 27 -- src/parser.c | 880 +++++++++++++++------------------------- 7 files changed, 353 insertions(+), 638 deletions(-) diff --git a/bindings/dust b/bindings/dust index 8bcf59f..823bb31 160000 --- a/bindings/dust +++ b/bindings/dust @@ -1 +1 @@ -Subproject commit 8bcf59f216178622a0f2711dbea82e7a280f7ed0 +Subproject commit 823bb3130591716771190e3123c5772250e00dc7 diff --git a/corpus/control_flow.txt b/corpus/control_flow.txt index a59e734..e4d57e6 100644 --- a/corpus/control_flow.txt +++ b/corpus/control_flow.txt @@ -2,14 +2,14 @@ If/Then ================== -if true then "True"; +if true then "True" --- (root (item (statement - (closed_statement + (open_statement (expression (control_flow (expression @@ -19,22 +19,21 @@ if true then "True"; (open_statement (expression (value - (string))))))) - (close))))) + (string))))))))))) ================== If/Then Assignment ================== -x = if true then 1; +x = if true then 1 --- (root (item (statement - (closed_statement + (open_statement (expression (operation (expression @@ -49,6 +48,5 @@ x = if true then 1; (open_statement (expression (value - (integer))))))))) - (close))))) + (integer))))))))))))) diff --git a/corpus/statements.txt b/corpus/statements.txt index 85572f2..33702d0 100644 --- a/corpus/statements.txt +++ b/corpus/statements.txt @@ -2,47 +2,44 @@ Simple Statements ================== -1; -"one"; -x; +1 +"one" +x --- (root (item (statement - (closed_statement + (open_statement (expression (value - (integer))) - (close)))) + (integer)))))) (item (statement - (closed_statement + (open_statement (expression (value - (string))) - (close)))) + (string)))))) (item (statement - (closed_statement + (open_statement (expression - (identifier)) - (close))))) + (identifier)))))) ================== Simple Assignment ================== -x = 1; -y = "one"; +x = 1 +y = "one" --- (root (item (statement - (closed_statement + (open_statement (expression (operation (expression @@ -50,11 +47,10 @@ y = "one"; (operator) (expression (value - (integer))))) - (close)))) + (integer)))))))) (item (statement - (closed_statement + (open_statement (expression (operation (expression @@ -62,21 +58,20 @@ y = "one"; (operator) (expression (value - (string))))) - (close))))) + (string))))))))) ================== Complex Assignment ================== -x = 1 + 1; +x = 1 + 1 --- (root (item (statement - (closed_statement + (open_statement (expression (operation (expression @@ -90,5 +85,4 @@ x = 1 + 1; (operator) (expression (value - (integer))))) - (close))))) + (integer))))))))) diff --git a/grammar.js b/grammar.js index 7cb24b5..4c6eed7 100644 --- a/grammar.js +++ b/grammar.js @@ -14,12 +14,9 @@ module.exports = grammar({ comment: $ => prec.left(seq(token('#'), /.*/)), statement: $ => choice( - $.closed_statement, $.open_statement, ), - closed_statement: $ => seq($.expression, $.close), - open_statement: $ => prec.left(seq($.expression)), expression: $ => choice( @@ -29,8 +26,6 @@ module.exports = grammar({ $.control_flow, ), - close: $ => ";", - identifier: $ => /[a-z|_|.]+/, value: $ => choice( diff --git a/src/grammar.json b/src/grammar.json index 41b0e38..1717e1b 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -45,29 +45,12 @@ "statement": { "type": "CHOICE", "members": [ - { - "type": "SYMBOL", - "name": "closed_statement" - }, { "type": "SYMBOL", "name": "open_statement" } ] }, - "closed_statement": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "expression" - }, - { - "type": "SYMBOL", - "name": "close" - } - ] - }, "open_statement": { "type": "PREC_LEFT", "value": 0, @@ -102,10 +85,6 @@ } ] }, - "close": { - "type": "STRING", - "value": ";" - }, "identifier": { "type": "PATTERN", "value": "[a-z|_|.]+" diff --git a/src/node-types.json b/src/node-types.json index 310d846..efed956 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -4,25 +4,6 @@ "named": true, "fields": {} }, - { - "type": "closed_statement", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ - { - "type": "close", - "named": true - }, - { - "type": "expression", - "named": true - } - ] - } - }, { "type": "comment", "named": true, @@ -170,10 +151,6 @@ "multiple": false, "required": true, "types": [ - { - "type": "closed_statement", - "named": true - }, { "type": "open_statement", "named": true @@ -252,10 +229,6 @@ "type": "==", "named": false }, - { - "type": "close", - "named": true - }, { "type": "else", "named": false diff --git a/src/parser.c b/src/parser.c index c59b9f4..65c15f6 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,11 +6,11 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 38 -#define LARGE_STATE_COUNT 18 -#define SYMBOL_COUNT 37 +#define STATE_COUNT 29 +#define LARGE_STATE_COUNT 15 +#define SYMBOL_COUNT 35 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 22 +#define TOKEN_COUNT 21 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 6 @@ -20,39 +20,37 @@ enum { sym_identifier = 1, anon_sym_POUND = 2, aux_sym_comment_token1 = 3, - sym_close = 4, - sym_float = 5, - sym_integer = 6, - sym_string = 7, - sym_function = 8, - sym_empty = 9, - anon_sym_true = 10, - anon_sym_false = 11, - anon_sym_LPAREN = 12, - anon_sym_COMMA = 13, - anon_sym_RPAREN = 14, - anon_sym_PLUS = 15, - anon_sym_DASH = 16, - anon_sym_EQ = 17, - anon_sym_EQ_EQ = 18, - anon_sym_if = 19, - anon_sym_then = 20, - anon_sym_else = 21, - sym_root = 22, - sym_item = 23, - sym_comment = 24, - sym_statement = 25, - sym_closed_statement = 26, - sym_open_statement = 27, - sym_expression = 28, - sym_value = 29, - sym_boolean = 30, - sym_list = 31, - sym_operator = 32, - sym_operation = 33, - sym_control_flow = 34, - aux_sym_root_repeat1 = 35, - aux_sym_list_repeat1 = 36, + sym_float = 4, + sym_integer = 5, + sym_string = 6, + sym_function = 7, + sym_empty = 8, + anon_sym_true = 9, + anon_sym_false = 10, + anon_sym_LPAREN = 11, + anon_sym_COMMA = 12, + anon_sym_RPAREN = 13, + anon_sym_PLUS = 14, + anon_sym_DASH = 15, + anon_sym_EQ = 16, + anon_sym_EQ_EQ = 17, + anon_sym_if = 18, + anon_sym_then = 19, + anon_sym_else = 20, + sym_root = 21, + sym_item = 22, + sym_comment = 23, + sym_statement = 24, + sym_open_statement = 25, + sym_expression = 26, + sym_value = 27, + sym_boolean = 28, + sym_list = 29, + sym_operator = 30, + sym_operation = 31, + sym_control_flow = 32, + aux_sym_root_repeat1 = 33, + aux_sym_list_repeat1 = 34, }; static const char * const ts_symbol_names[] = { @@ -60,7 +58,6 @@ static const char * const ts_symbol_names[] = { [sym_identifier] = "identifier", [anon_sym_POUND] = "#", [aux_sym_comment_token1] = "comment_token1", - [sym_close] = "close", [sym_float] = "float", [sym_integer] = "integer", [sym_string] = "string", @@ -82,7 +79,6 @@ static const char * const ts_symbol_names[] = { [sym_item] = "item", [sym_comment] = "comment", [sym_statement] = "statement", - [sym_closed_statement] = "closed_statement", [sym_open_statement] = "open_statement", [sym_expression] = "expression", [sym_value] = "value", @@ -100,7 +96,6 @@ static const TSSymbol ts_symbol_map[] = { [sym_identifier] = sym_identifier, [anon_sym_POUND] = anon_sym_POUND, [aux_sym_comment_token1] = aux_sym_comment_token1, - [sym_close] = sym_close, [sym_float] = sym_float, [sym_integer] = sym_integer, [sym_string] = sym_string, @@ -122,7 +117,6 @@ static const TSSymbol ts_symbol_map[] = { [sym_item] = sym_item, [sym_comment] = sym_comment, [sym_statement] = sym_statement, - [sym_closed_statement] = sym_closed_statement, [sym_open_statement] = sym_open_statement, [sym_expression] = sym_expression, [sym_value] = sym_value, @@ -152,10 +146,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [sym_close] = { - .visible = true, - .named = true, - }, [sym_float] = { .visible = true, .named = true, @@ -240,10 +230,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_closed_statement] = { - .visible = true, - .named = true, - }, [sym_open_statement] = { .visible = true, .named = true, @@ -305,34 +291,25 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [7] = 7, [8] = 8, [9] = 9, - [10] = 9, + [10] = 10, [11] = 11, [12] = 12, [13] = 13, [14] = 14, - [15] = 15, - [16] = 12, + [15] = 7, + [16] = 16, [17] = 17, - [18] = 8, + [18] = 18, [19] = 19, - [20] = 19, + [20] = 20, [21] = 21, - [22] = 21, + [22] = 22, [23] = 23, [24] = 24, [25] = 25, [26] = 26, [27] = 27, [28] = 28, - [29] = 29, - [30] = 30, - [31] = 8, - [32] = 32, - [33] = 32, - [34] = 15, - [35] = 7, - [36] = 36, - [37] = 37, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -345,31 +322,30 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == '\'' || lookahead == '`') ADVANCE(2); if (lookahead == '#') ADVANCE(4); - if (lookahead == '(') ADVANCE(14); - if (lookahead == ')') ADVANCE(16); - if (lookahead == '+') ADVANCE(17); - if (lookahead == ',') ADVANCE(15); - if (lookahead == '-') ADVANCE(18); - if (lookahead == ';') ADVANCE(7); - if (lookahead == '=') ADVANCE(19); + if (lookahead == '(') ADVANCE(13); + if (lookahead == ')') ADVANCE(15); + if (lookahead == '+') ADVANCE(16); + if (lookahead == ',') ADVANCE(14); + if (lookahead == '-') ADVANCE(17); + if (lookahead == '=') ADVANCE(18); if (lookahead == '{') ADVANCE(1); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(10); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(9); if (lookahead == '.' || - ('_' <= lookahead && lookahead <= '|')) ADVANCE(8); + ('_' <= lookahead && lookahead <= '|')) ADVANCE(7); END_STATE(); case 1: - if (lookahead == '}') ADVANCE(12); + if (lookahead == '}') ADVANCE(11); if (lookahead != 0 && lookahead != '\n') ADVANCE(1); END_STATE(); case 2: if (lookahead == '"' || lookahead == '\'' || - lookahead == '`') ADVANCE(11); + lookahead == '`') ADVANCE(10); if (lookahead != 0 && lookahead != '\n') ADVANCE(2); END_STATE(); @@ -393,62 +369,59 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead != '\n') ADVANCE(6); END_STATE(); case 7: - ACCEPT_TOKEN(sym_close); - END_STATE(); - case 8: ACCEPT_TOKEN(sym_identifier); if (lookahead == '.' || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z') || - lookahead == '|') ADVANCE(8); + lookahead == '|') ADVANCE(7); + END_STATE(); + case 8: + ACCEPT_TOKEN(sym_float); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(8); END_STATE(); case 9: - ACCEPT_TOKEN(sym_float); + ACCEPT_TOKEN(sym_integer); + if (lookahead == '.') ADVANCE(8); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(9); END_STATE(); case 10: - ACCEPT_TOKEN(sym_integer); - if (lookahead == '.') ADVANCE(9); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(10); - END_STATE(); - case 11: ACCEPT_TOKEN(sym_string); if (lookahead == '"' || lookahead == '\'' || - lookahead == '`') ADVANCE(11); + lookahead == '`') ADVANCE(10); if (lookahead != 0 && lookahead != '\n') ADVANCE(2); END_STATE(); - case 12: + case 11: ACCEPT_TOKEN(sym_function); - if (lookahead == '}') ADVANCE(12); + if (lookahead == '}') ADVANCE(11); if (lookahead != 0 && lookahead != '\n') ADVANCE(1); END_STATE(); - case 13: + case 12: ACCEPT_TOKEN(sym_empty); END_STATE(); - case 14: + case 13: ACCEPT_TOKEN(anon_sym_LPAREN); - if (lookahead == ')') ADVANCE(13); + if (lookahead == ')') ADVANCE(12); END_STATE(); - case 15: + case 14: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 16: + case 15: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 17: + case 16: ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); - case 18: + case 17: ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); - case 19: + case 18: ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(20); + if (lookahead == '=') ADVANCE(19); END_STATE(); - case 20: + case 19: ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); default: @@ -558,17 +531,8 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [24] = {.lex_state = 0}, [25] = {.lex_state = 0}, [26] = {.lex_state = 0}, - [27] = {.lex_state = 0}, + [27] = {.lex_state = 5}, [28] = {.lex_state = 0}, - [29] = {.lex_state = 0}, - [30] = {.lex_state = 0}, - [31] = {.lex_state = 0}, - [32] = {.lex_state = 0}, - [33] = {.lex_state = 0}, - [34] = {.lex_state = 0}, - [35] = {.lex_state = 0}, - [36] = {.lex_state = 5}, - [37] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -576,7 +540,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [ts_builtin_sym_end] = ACTIONS(1), [sym_identifier] = ACTIONS(1), [anon_sym_POUND] = ACTIONS(1), - [sym_close] = ACTIONS(1), [sym_float] = ACTIONS(1), [sym_integer] = ACTIONS(1), [sym_string] = ACTIONS(1), @@ -596,19 +559,18 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_else] = ACTIONS(1), }, [1] = { - [sym_root] = STATE(37), - [sym_item] = STATE(3), - [sym_comment] = STATE(25), - [sym_statement] = STATE(25), - [sym_closed_statement] = STATE(11), - [sym_open_statement] = STATE(11), - [sym_expression] = STATE(18), - [sym_value] = STATE(17), + [sym_root] = STATE(28), + [sym_item] = STATE(2), + [sym_comment] = STATE(21), + [sym_statement] = STATE(21), + [sym_open_statement] = STATE(13), + [sym_expression] = STATE(15), + [sym_value] = STATE(9), [sym_boolean] = STATE(5), [sym_list] = STATE(5), - [sym_operation] = STATE(17), - [sym_control_flow] = STATE(17), - [aux_sym_root_repeat1] = STATE(3), + [sym_operation] = STATE(9), + [sym_control_flow] = STATE(9), + [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(3), [anon_sym_POUND] = ACTIONS(5), [sym_float] = ACTIONS(7), @@ -622,45 +584,18 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_if] = ACTIONS(15), }, [2] = { - [sym_item] = STATE(2), - [sym_comment] = STATE(25), - [sym_statement] = STATE(25), - [sym_closed_statement] = STATE(11), - [sym_open_statement] = STATE(11), - [sym_expression] = STATE(18), - [sym_value] = STATE(17), + [sym_item] = STATE(3), + [sym_comment] = STATE(21), + [sym_statement] = STATE(21), + [sym_open_statement] = STATE(13), + [sym_expression] = STATE(15), + [sym_value] = STATE(9), [sym_boolean] = STATE(5), [sym_list] = STATE(5), - [sym_operation] = STATE(17), - [sym_control_flow] = STATE(17), - [aux_sym_root_repeat1] = STATE(2), + [sym_operation] = STATE(9), + [sym_control_flow] = STATE(9), + [aux_sym_root_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(17), - [sym_identifier] = ACTIONS(19), - [anon_sym_POUND] = ACTIONS(22), - [sym_float] = ACTIONS(25), - [sym_integer] = ACTIONS(28), - [sym_string] = ACTIONS(25), - [sym_function] = ACTIONS(25), - [sym_empty] = ACTIONS(25), - [anon_sym_true] = ACTIONS(31), - [anon_sym_false] = ACTIONS(31), - [anon_sym_LPAREN] = ACTIONS(34), - [anon_sym_if] = ACTIONS(37), - }, - [3] = { - [sym_item] = STATE(2), - [sym_comment] = STATE(25), - [sym_statement] = STATE(25), - [sym_closed_statement] = STATE(11), - [sym_open_statement] = STATE(11), - [sym_expression] = STATE(18), - [sym_value] = STATE(17), - [sym_boolean] = STATE(5), - [sym_list] = STATE(5), - [sym_operation] = STATE(17), - [sym_control_flow] = STATE(17), - [aux_sym_root_repeat1] = STATE(2), - [ts_builtin_sym_end] = ACTIONS(40), [sym_identifier] = ACTIONS(3), [anon_sym_POUND] = ACTIONS(5), [sym_float] = ACTIONS(7), @@ -673,11 +608,35 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LPAREN] = ACTIONS(13), [anon_sym_if] = ACTIONS(15), }, + [3] = { + [sym_item] = STATE(3), + [sym_comment] = STATE(21), + [sym_statement] = STATE(21), + [sym_open_statement] = STATE(13), + [sym_expression] = STATE(15), + [sym_value] = STATE(9), + [sym_boolean] = STATE(5), + [sym_list] = STATE(5), + [sym_operation] = STATE(9), + [sym_control_flow] = STATE(9), + [aux_sym_root_repeat1] = STATE(3), + [ts_builtin_sym_end] = ACTIONS(19), + [sym_identifier] = ACTIONS(21), + [anon_sym_POUND] = ACTIONS(24), + [sym_float] = ACTIONS(27), + [sym_integer] = ACTIONS(30), + [sym_string] = ACTIONS(27), + [sym_function] = ACTIONS(27), + [sym_empty] = ACTIONS(27), + [anon_sym_true] = ACTIONS(33), + [anon_sym_false] = ACTIONS(33), + [anon_sym_LPAREN] = ACTIONS(36), + [anon_sym_if] = ACTIONS(39), + }, [4] = { [ts_builtin_sym_end] = ACTIONS(42), [sym_identifier] = ACTIONS(44), [anon_sym_POUND] = ACTIONS(42), - [sym_close] = ACTIONS(42), [sym_float] = ACTIONS(42), [sym_integer] = ACTIONS(44), [sym_string] = ACTIONS(42), @@ -700,7 +659,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [ts_builtin_sym_end] = ACTIONS(46), [sym_identifier] = ACTIONS(48), [anon_sym_POUND] = ACTIONS(46), - [sym_close] = ACTIONS(46), [sym_float] = ACTIONS(46), [sym_integer] = ACTIONS(48), [sym_string] = ACTIONS(46), @@ -723,7 +681,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [ts_builtin_sym_end] = ACTIONS(50), [sym_identifier] = ACTIONS(52), [anon_sym_POUND] = ACTIONS(50), - [sym_close] = ACTIONS(50), [sym_float] = ACTIONS(50), [sym_integer] = ACTIONS(52), [sym_string] = ACTIONS(50), @@ -743,11 +700,10 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_else] = ACTIONS(52), }, [7] = { - [sym_operator] = STATE(20), + [sym_operator] = STATE(17), [ts_builtin_sym_end] = ACTIONS(54), [sym_identifier] = ACTIONS(56), [anon_sym_POUND] = ACTIONS(54), - [sym_close] = ACTIONS(54), [sym_float] = ACTIONS(54), [sym_integer] = ACTIONS(56), [sym_string] = ACTIONS(54), @@ -765,11 +721,10 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_else] = ACTIONS(56), }, [8] = { - [sym_operator] = STATE(20), + [sym_operator] = STATE(17), [ts_builtin_sym_end] = ACTIONS(58), [sym_identifier] = ACTIONS(60), [anon_sym_POUND] = ACTIONS(58), - [sym_close] = ACTIONS(58), [sym_float] = ACTIONS(58), [sym_integer] = ACTIONS(60), [sym_string] = ACTIONS(58), @@ -787,52 +742,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_else] = ACTIONS(60), }, [9] = { - [sym_statement] = STATE(13), - [sym_closed_statement] = STATE(11), - [sym_open_statement] = STATE(11), - [sym_expression] = STATE(8), - [sym_value] = STATE(17), - [sym_boolean] = STATE(5), - [sym_list] = STATE(5), - [sym_operation] = STATE(17), - [sym_control_flow] = STATE(17), - [sym_identifier] = ACTIONS(3), - [sym_float] = ACTIONS(7), - [sym_integer] = ACTIONS(9), - [sym_string] = ACTIONS(7), - [sym_function] = ACTIONS(7), - [sym_empty] = ACTIONS(7), - [anon_sym_true] = ACTIONS(11), - [anon_sym_false] = ACTIONS(11), - [anon_sym_LPAREN] = ACTIONS(13), - [anon_sym_if] = ACTIONS(15), - }, - [10] = { - [sym_statement] = STATE(13), - [sym_closed_statement] = STATE(11), - [sym_open_statement] = STATE(11), - [sym_expression] = STATE(31), - [sym_value] = STATE(17), - [sym_boolean] = STATE(5), - [sym_list] = STATE(5), - [sym_operation] = STATE(17), - [sym_control_flow] = STATE(17), - [sym_identifier] = ACTIONS(3), - [sym_float] = ACTIONS(7), - [sym_integer] = ACTIONS(9), - [sym_string] = ACTIONS(7), - [sym_function] = ACTIONS(7), - [sym_empty] = ACTIONS(7), - [anon_sym_true] = ACTIONS(11), - [anon_sym_false] = ACTIONS(11), - [anon_sym_LPAREN] = ACTIONS(13), - [anon_sym_if] = ACTIONS(15), - }, - [11] = { [ts_builtin_sym_end] = ACTIONS(62), [sym_identifier] = ACTIONS(64), [anon_sym_POUND] = ACTIONS(62), - [sym_close] = ACTIONS(62), [sym_float] = ACTIONS(62), [sym_integer] = ACTIONS(64), [sym_string] = ACTIONS(62), @@ -849,32 +761,10 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_then] = ACTIONS(64), [anon_sym_else] = ACTIONS(64), }, - [12] = { - [sym_statement] = STATE(34), - [sym_closed_statement] = STATE(11), - [sym_open_statement] = STATE(11), - [sym_expression] = STATE(31), - [sym_value] = STATE(17), - [sym_boolean] = STATE(5), - [sym_list] = STATE(5), - [sym_operation] = STATE(17), - [sym_control_flow] = STATE(17), - [sym_identifier] = ACTIONS(3), - [sym_float] = ACTIONS(7), - [sym_integer] = ACTIONS(9), - [sym_string] = ACTIONS(7), - [sym_function] = ACTIONS(7), - [sym_empty] = ACTIONS(7), - [anon_sym_true] = ACTIONS(11), - [anon_sym_false] = ACTIONS(11), - [anon_sym_LPAREN] = ACTIONS(13), - [anon_sym_if] = ACTIONS(15), - }, - [13] = { + [10] = { [ts_builtin_sym_end] = ACTIONS(66), [sym_identifier] = ACTIONS(68), [anon_sym_POUND] = ACTIONS(66), - [sym_close] = ACTIONS(66), [sym_float] = ACTIONS(66), [sym_integer] = ACTIONS(68), [sym_string] = ACTIONS(66), @@ -891,11 +781,30 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_then] = ACTIONS(68), [anon_sym_else] = ACTIONS(68), }, - [14] = { + [11] = { + [sym_statement] = STATE(10), + [sym_open_statement] = STATE(13), + [sym_expression] = STATE(7), + [sym_value] = STATE(9), + [sym_boolean] = STATE(5), + [sym_list] = STATE(5), + [sym_operation] = STATE(9), + [sym_control_flow] = STATE(9), + [sym_identifier] = ACTIONS(3), + [sym_float] = ACTIONS(7), + [sym_integer] = ACTIONS(9), + [sym_string] = ACTIONS(7), + [sym_function] = ACTIONS(7), + [sym_empty] = ACTIONS(7), + [anon_sym_true] = ACTIONS(11), + [anon_sym_false] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(13), + [anon_sym_if] = ACTIONS(15), + }, + [12] = { [ts_builtin_sym_end] = ACTIONS(70), [sym_identifier] = ACTIONS(72), [anon_sym_POUND] = ACTIONS(70), - [sym_close] = ACTIONS(70), [sym_float] = ACTIONS(70), [sym_integer] = ACTIONS(72), [sym_string] = ACTIONS(70), @@ -910,39 +819,37 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_EQ_EQ] = ACTIONS(70), [anon_sym_if] = ACTIONS(72), [anon_sym_then] = ACTIONS(72), - [anon_sym_else] = ACTIONS(72), + [anon_sym_else] = ACTIONS(74), }, - [15] = { - [ts_builtin_sym_end] = ACTIONS(74), - [sym_identifier] = ACTIONS(76), - [anon_sym_POUND] = ACTIONS(74), - [sym_close] = ACTIONS(74), - [sym_float] = ACTIONS(74), - [sym_integer] = ACTIONS(76), - [sym_string] = ACTIONS(74), - [sym_function] = ACTIONS(74), - [sym_empty] = ACTIONS(74), - [anon_sym_true] = ACTIONS(76), - [anon_sym_false] = ACTIONS(76), - [anon_sym_LPAREN] = ACTIONS(76), - [anon_sym_PLUS] = ACTIONS(74), - [anon_sym_DASH] = ACTIONS(74), - [anon_sym_EQ] = ACTIONS(76), - [anon_sym_EQ_EQ] = ACTIONS(74), - [anon_sym_if] = ACTIONS(76), - [anon_sym_then] = ACTIONS(76), + [13] = { + [ts_builtin_sym_end] = ACTIONS(76), + [sym_identifier] = ACTIONS(78), + [anon_sym_POUND] = ACTIONS(76), + [sym_float] = ACTIONS(76), + [sym_integer] = ACTIONS(78), + [sym_string] = ACTIONS(76), + [sym_function] = ACTIONS(76), + [sym_empty] = ACTIONS(76), + [anon_sym_true] = ACTIONS(78), + [anon_sym_false] = ACTIONS(78), + [anon_sym_LPAREN] = ACTIONS(78), + [anon_sym_PLUS] = ACTIONS(76), + [anon_sym_DASH] = ACTIONS(76), + [anon_sym_EQ] = ACTIONS(78), + [anon_sym_EQ_EQ] = ACTIONS(76), + [anon_sym_if] = ACTIONS(78), + [anon_sym_then] = ACTIONS(78), [anon_sym_else] = ACTIONS(78), }, - [16] = { - [sym_statement] = STATE(15), - [sym_closed_statement] = STATE(11), - [sym_open_statement] = STATE(11), - [sym_expression] = STATE(8), - [sym_value] = STATE(17), + [14] = { + [sym_statement] = STATE(12), + [sym_open_statement] = STATE(13), + [sym_expression] = STATE(7), + [sym_value] = STATE(9), [sym_boolean] = STATE(5), [sym_list] = STATE(5), - [sym_operation] = STATE(17), - [sym_control_flow] = STATE(17), + [sym_operation] = STATE(9), + [sym_control_flow] = STATE(9), [sym_identifier] = ACTIONS(3), [sym_float] = ACTIONS(7), [sym_integer] = ACTIONS(9), @@ -954,82 +861,33 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LPAREN] = ACTIONS(13), [anon_sym_if] = ACTIONS(15), }, - [17] = { - [ts_builtin_sym_end] = ACTIONS(80), - [sym_identifier] = ACTIONS(82), - [anon_sym_POUND] = ACTIONS(80), - [sym_close] = ACTIONS(80), - [sym_float] = ACTIONS(80), - [sym_integer] = ACTIONS(82), - [sym_string] = ACTIONS(80), - [sym_function] = ACTIONS(80), - [sym_empty] = ACTIONS(80), - [anon_sym_true] = ACTIONS(82), - [anon_sym_false] = ACTIONS(82), - [anon_sym_LPAREN] = ACTIONS(82), - [anon_sym_PLUS] = ACTIONS(80), - [anon_sym_DASH] = ACTIONS(80), - [anon_sym_EQ] = ACTIONS(82), - [anon_sym_EQ_EQ] = ACTIONS(80), - [anon_sym_if] = ACTIONS(82), - [anon_sym_then] = ACTIONS(82), - [anon_sym_else] = ACTIONS(82), - }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 6, - ACTIONS(84), 1, - sym_close, - ACTIONS(88), 1, + [0] = 5, + ACTIONS(82), 1, anon_sym_EQ, - STATE(20), 1, + STATE(17), 1, sym_operator, - ACTIONS(86), 3, + ACTIONS(80), 3, anon_sym_PLUS, anon_sym_DASH, anon_sym_EQ_EQ, - ACTIONS(58), 6, + ACTIONS(54), 6, ts_builtin_sym_end, anon_sym_POUND, sym_float, sym_string, sym_function, sym_empty, - ACTIONS(60), 6, + ACTIONS(56), 6, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_LPAREN, anon_sym_if, - [31] = 9, - ACTIONS(3), 1, - sym_identifier, - ACTIONS(9), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(90), 1, - anon_sym_if, - STATE(35), 1, - sym_expression, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(5), 2, - sym_boolean, - sym_list, - STATE(17), 3, - sym_value, - sym_operation, - sym_control_flow, - ACTIONS(7), 4, - sym_float, - sym_string, - sym_function, - sym_empty, - [66] = 9, + [28] = 9, ACTIONS(3), 1, sym_identifier, ACTIONS(9), 1, @@ -1038,7 +896,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, ACTIONS(15), 1, anon_sym_if, - STATE(7), 1, + STATE(26), 1, sym_expression, ACTIONS(11), 2, anon_sym_true, @@ -1046,7 +904,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(5), 2, sym_boolean, sym_list, - STATE(17), 3, + STATE(9), 3, sym_value, sym_operation, sym_control_flow, @@ -1055,16 +913,16 @@ static const uint16_t ts_small_parse_table[] = { sym_string, sym_function, sym_empty, - [101] = 9, + [63] = 9, ACTIONS(3), 1, sym_identifier, ACTIONS(9), 1, sym_integer, ACTIONS(13), 1, anon_sym_LPAREN, - ACTIONS(90), 1, + ACTIONS(15), 1, anon_sym_if, - STATE(32), 1, + STATE(8), 1, sym_expression, ACTIONS(11), 2, anon_sym_true, @@ -1072,7 +930,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(5), 2, sym_boolean, sym_list, - STATE(17), 3, + STATE(9), 3, sym_value, sym_operation, sym_control_flow, @@ -1081,44 +939,90 @@ static const uint16_t ts_small_parse_table[] = { sym_string, sym_function, sym_empty, - [136] = 9, - ACTIONS(3), 1, + [98] = 8, + ACTIONS(9), 1, + sym_integer, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(86), 1, + anon_sym_RPAREN, + STATE(19), 1, + aux_sym_list_repeat1, + STATE(24), 1, + sym_value, + ACTIONS(84), 2, + anon_sym_true, + anon_sym_false, + STATE(5), 2, + sym_boolean, + sym_list, + ACTIONS(7), 4, + sym_float, + sym_string, + sym_function, + sym_empty, + [128] = 8, + ACTIONS(91), 1, + sym_integer, + ACTIONS(97), 1, + anon_sym_LPAREN, + ACTIONS(100), 1, + anon_sym_RPAREN, + STATE(19), 1, + aux_sym_list_repeat1, + STATE(24), 1, + sym_value, + ACTIONS(94), 2, + anon_sym_true, + anon_sym_false, + STATE(5), 2, + sym_boolean, + sym_list, + ACTIONS(88), 4, + sym_float, + sym_string, + sym_function, + sym_empty, + [158] = 2, + ACTIONS(102), 6, + ts_builtin_sym_end, + anon_sym_POUND, + sym_float, + sym_string, + sym_function, + sym_empty, + ACTIONS(104), 6, sym_identifier, - ACTIONS(9), 1, sym_integer, - ACTIONS(13), 1, + anon_sym_true, + anon_sym_false, anon_sym_LPAREN, - ACTIONS(90), 1, anon_sym_if, - STATE(33), 1, - sym_expression, - ACTIONS(11), 2, - anon_sym_true, - anon_sym_false, - STATE(5), 2, - sym_boolean, - sym_list, - STATE(17), 3, - sym_value, - sym_operation, - sym_control_flow, - ACTIONS(7), 4, + [175] = 2, + ACTIONS(106), 6, + ts_builtin_sym_end, + anon_sym_POUND, sym_float, sym_string, sym_function, sym_empty, - [171] = 8, + ACTIONS(108), 6, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_LPAREN, + anon_sym_if, + [192] = 7, ACTIONS(9), 1, sym_integer, ACTIONS(13), 1, anon_sym_LPAREN, - ACTIONS(94), 1, - anon_sym_RPAREN, - STATE(24), 1, + STATE(18), 1, aux_sym_list_repeat1, - STATE(29), 1, + STATE(24), 1, sym_value, - ACTIONS(92), 2, + ACTIONS(84), 2, anon_sym_true, anon_sym_false, STATE(5), 2, @@ -1129,98 +1033,26 @@ static const uint16_t ts_small_parse_table[] = { sym_string, sym_function, sym_empty, - [201] = 8, - ACTIONS(99), 1, - sym_integer, - ACTIONS(105), 1, - anon_sym_LPAREN, - ACTIONS(108), 1, - anon_sym_RPAREN, - STATE(24), 1, - aux_sym_list_repeat1, - STATE(29), 1, - sym_value, - ACTIONS(102), 2, - anon_sym_true, - anon_sym_false, - STATE(5), 2, - sym_boolean, - sym_list, - ACTIONS(96), 4, + [219] = 2, + ACTIONS(112), 4, sym_float, sym_string, sym_function, sym_empty, - [231] = 2, ACTIONS(110), 6, - ts_builtin_sym_end, - anon_sym_POUND, - sym_float, - sym_string, - sym_function, - sym_empty, - ACTIONS(112), 6, sym_identifier, sym_integer, anon_sym_true, anon_sym_false, anon_sym_LPAREN, anon_sym_if, - [248] = 2, - ACTIONS(114), 6, - ts_builtin_sym_end, - anon_sym_POUND, - sym_float, - sym_string, - sym_function, - sym_empty, - ACTIONS(116), 6, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_LPAREN, - anon_sym_if, - [265] = 7, - ACTIONS(9), 1, - sym_integer, - ACTIONS(13), 1, - anon_sym_LPAREN, - STATE(23), 1, - aux_sym_list_repeat1, - STATE(29), 1, - sym_value, - ACTIONS(92), 2, - anon_sym_true, - anon_sym_false, - STATE(5), 2, - sym_boolean, - sym_list, - ACTIONS(7), 4, - sym_float, - sym_string, - sym_function, - sym_empty, - [292] = 2, - ACTIONS(120), 4, - sym_float, - sym_string, - sym_function, - sym_empty, - ACTIONS(118), 6, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_LPAREN, - anon_sym_if, - [307] = 3, - ACTIONS(126), 1, + [234] = 3, + ACTIONS(118), 1, anon_sym_COMMA, - ACTIONS(124), 2, + ACTIONS(116), 2, sym_integer, anon_sym_LPAREN, - ACTIONS(122), 7, + ACTIONS(114), 7, sym_float, sym_string, sym_function, @@ -1228,11 +1060,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_true, anon_sym_false, anon_sym_RPAREN, - [324] = 2, - ACTIONS(128), 2, + [251] = 2, + ACTIONS(120), 2, sym_integer, anon_sym_LPAREN, - ACTIONS(108), 7, + ACTIONS(100), 7, sym_float, sym_string, sym_function, @@ -1240,158 +1072,102 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_true, anon_sym_false, anon_sym_RPAREN, - [338] = 4, - ACTIONS(60), 1, + [265] = 4, + ACTIONS(82), 1, anon_sym_EQ, - ACTIONS(84), 1, - sym_close, - STATE(20), 1, + ACTIONS(122), 1, + anon_sym_then, + STATE(17), 1, sym_operator, - ACTIONS(58), 5, + ACTIONS(80), 3, anon_sym_PLUS, anon_sym_DASH, anon_sym_EQ_EQ, - anon_sym_then, - anon_sym_else, - [355] = 4, - ACTIONS(88), 1, - anon_sym_EQ, - ACTIONS(130), 1, - anon_sym_then, - STATE(19), 1, - sym_operator, - ACTIONS(86), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_EQ_EQ, - [370] = 4, - ACTIONS(88), 1, - anon_sym_EQ, - ACTIONS(132), 1, - anon_sym_then, - STATE(19), 1, - sym_operator, - ACTIONS(86), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_EQ_EQ, - [385] = 3, - ACTIONS(76), 1, - anon_sym_EQ, - ACTIONS(134), 1, - anon_sym_else, - ACTIONS(74), 4, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_EQ_EQ, - anon_sym_then, - [398] = 3, - ACTIONS(56), 1, - anon_sym_EQ, - STATE(19), 1, - sym_operator, - ACTIONS(54), 4, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_EQ_EQ, - anon_sym_then, - [411] = 1, - ACTIONS(136), 1, + [280] = 1, + ACTIONS(124), 1, aux_sym_comment_token1, - [415] = 1, - ACTIONS(138), 1, + [284] = 1, + ACTIONS(126), 1, ts_builtin_sym_end, }; static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(18)] = 0, - [SMALL_STATE(19)] = 31, - [SMALL_STATE(20)] = 66, - [SMALL_STATE(21)] = 101, - [SMALL_STATE(22)] = 136, - [SMALL_STATE(23)] = 171, - [SMALL_STATE(24)] = 201, - [SMALL_STATE(25)] = 231, - [SMALL_STATE(26)] = 248, - [SMALL_STATE(27)] = 265, - [SMALL_STATE(28)] = 292, - [SMALL_STATE(29)] = 307, - [SMALL_STATE(30)] = 324, - [SMALL_STATE(31)] = 338, - [SMALL_STATE(32)] = 355, - [SMALL_STATE(33)] = 370, - [SMALL_STATE(34)] = 385, - [SMALL_STATE(35)] = 398, - [SMALL_STATE(36)] = 411, - [SMALL_STATE(37)] = 415, + [SMALL_STATE(15)] = 0, + [SMALL_STATE(16)] = 28, + [SMALL_STATE(17)] = 63, + [SMALL_STATE(18)] = 98, + [SMALL_STATE(19)] = 128, + [SMALL_STATE(20)] = 158, + [SMALL_STATE(21)] = 175, + [SMALL_STATE(22)] = 192, + [SMALL_STATE(23)] = 219, + [SMALL_STATE(24)] = 234, + [SMALL_STATE(25)] = 251, + [SMALL_STATE(26)] = 265, + [SMALL_STATE(27)] = 280, + [SMALL_STATE(28)] = 284, }; 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(17), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [3] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), - [17] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), - [19] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(17), - [22] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(36), - [25] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(5), - [28] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(5), - [31] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(6), - [34] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(27), - [37] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(21), - [40] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root, 1), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), + [17] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root, 1), + [19] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), + [21] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(9), + [24] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(27), + [27] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(5), + [30] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(5), + [33] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(6), + [36] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(22), + [39] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(16), [42] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), [44] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), [46] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), [48] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), [50] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), [52] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), - [54] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operation, 3), - [56] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operation, 3), - [58] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_statement, 1), - [60] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_open_statement, 1), - [62] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), - [64] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), + [54] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_statement, 1), + [56] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_open_statement, 1), + [58] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operation, 3), + [60] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operation, 3), + [62] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [64] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), [66] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_control_flow, 6), [68] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_control_flow, 6), - [70] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closed_statement, 2), - [72] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_closed_statement, 2), - [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_control_flow, 4), - [76] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_control_flow, 4), - [78] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), - [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [82] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), - [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [88] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), - [90] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), - [92] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [96] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(5), - [99] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(5), - [102] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(6), - [105] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(27), - [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), - [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_item, 1), - [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_item, 1), - [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), - [116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 2), - [118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator, 1), - [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator, 1), - [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 1), - [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 1), - [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), - [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [138] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [70] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_control_flow, 4), + [72] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_control_flow, 4), + [74] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), + [76] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), + [78] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), + [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [82] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), + [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [88] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(5), + [91] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(5), + [94] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(6), + [97] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(22), + [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), + [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), + [104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 2), + [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_item, 1), + [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_item, 1), + [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator, 1), + [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator, 1), + [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 1), + [116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 1), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [126] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), }; #ifdef __cplusplus