diff --git a/examples/grammars/arithmetic.cc b/examples/grammars/arithmetic.cc index 6a31594b..12eb8a98 100644 --- a/examples/grammars/arithmetic.cc +++ b/examples/grammars/arithmetic.cc @@ -1,35 +1,32 @@ #include "tree_sitter/compiler.h" -namespace tree_sitter { - namespace examples { - using namespace tree_sitter::rules; +namespace tree_sitter_examples { + using tree_sitter::Grammar; + using namespace tree_sitter::rules; - Grammar arithmetic() { - return Grammar({ - { "expression", choice({ - seq({ - sym("term"), - sym("plus"), - sym("term") }), - sym("term") }) }, - { "term", choice({ - seq({ - sym("factor"), - sym("times"), - sym("factor") }), - sym("factor") }) }, - { "factor", choice({ - sym("variable"), - sym("number"), - seq({ - str("("), - err(sym("expression")), - str(")") }) }) }, - { "plus", str("+") }, - { "times", str("*") }, - { "number", pattern("\\d+") }, - { "variable", pattern("[a-zA-Z]+") }, - }); - } - } + extern const Grammar arithmetic({ + { "expression", choice({ + seq({ + sym("term"), + sym("plus"), + sym("term") }), + sym("term") }) }, + { "term", choice({ + seq({ + sym("factor"), + sym("times"), + sym("factor") }), + sym("factor") }) }, + { "factor", choice({ + sym("variable"), + sym("number"), + seq({ + str("("), + err(sym("expression")), + str(")") }) }) }, + { "plus", str("+") }, + { "times", str("*") }, + { "number", pattern("\\d+") }, + { "variable", pattern("[a-zA-Z]+") }, + }); } diff --git a/examples/grammars/javascript.cc b/examples/grammars/javascript.cc index 9a980450..083a8293 100644 --- a/examples/grammars/javascript.cc +++ b/examples/grammars/javascript.cc @@ -1,130 +1,129 @@ #include "tree_sitter/compiler.h" -namespace tree_sitter { - namespace examples { - using namespace tree_sitter::rules; +namespace tree_sitter_examples { + using tree_sitter::Grammar; + using namespace tree_sitter::rules; - static rule_ptr optional(const rule_ptr &rule) { - return choice({ rule, blank() }); - } - - static rule_ptr comma_sep(const rule_ptr &element) { - return choice({ - seq({ - element, - repeat(seq({ str(","), element })), - }), - blank(), - }); - } - - Grammar javascript() { - return Grammar({ - { "program", repeat(sym("statement")) }, - { "statement", choice({ - sym("statement_block"), - sym("if_statement"), - sym("for_statement"), - sym("var_declaration"), - sym("expression_statement") }) }, - { "expression_statement", seq({ - err(sym("expression")), - sym("_terminator") }) }, - { "for_statement", seq({ - sym("_for"), - str("("), - choice({ - sym("var_declaration"), - sym("expression_statement"), - }), - sym("expression_statement"), - err(sym("expression")), - str(")"), - sym("statement") }) }, - { "if_statement", seq({ - sym("_if"), - str("("), - err(sym("expression")), - str(")"), - sym("statement"), - optional(seq({ - sym("_else"), - sym("statement") })) }) }, - { "statement_block", seq({ - str("{"), - err(repeat(sym("statement"))), - str("}") }) }, - { "var_declaration", seq({ - sym("_var"), - choice({ - sym("assignment"), - sym("identifier") }), - sym("_terminator") }) }, - { "assignment", seq({ - sym("identifier"), - str("="), - sym("expression") })}, - { "expression", choice({ - sym("function_expression"), - sym("function_call"), - sym("property_access"), - sym("assignment"), - sym("literal"), - sym("identifier") }) }, - { "function_expression", seq({ - sym("_function"), - optional(sym("identifier")), - sym("formal_parameters"), - sym("statement_block") }) }, - { "function_call", seq({ - sym("expression"), - str("("), - comma_sep(sym("expression")), - str(")") }) }, - { "property_access", seq({ - sym("expression"), - str("."), - sym("identifier") }) }, - { "formal_parameters", seq({ - str("("), - comma_sep(sym("identifier")), - str(")") })}, - { "literal", choice({ - sym("object"), - sym("array"), - sym("string"), - sym("number"), - sym("true"), - sym("false"), - sym("null"), }) }, - { "object", seq({ - str("{"), - comma_sep(err(seq({ - choice({ sym("string"), sym("identifier") }), - str(":"), - sym("expression") }))), - str("}"), }) }, - { "array", seq({ - str("["), - comma_sep(err(sym("expression"))), - str("]") }) }, - - { "_terminator", choice({ - str(";"), - str("\n") }) }, - { "_var", str("var") }, - { "_for", str("for") }, - { "_if", str("if") }, - { "_function", str("function") }, - { "_else", str("else") }, - { "null", str("null") }, - { "true", str("true") }, - { "false", str("false") }, - - { "string", pattern("\"([^\"]|\\\\\")+\"") }, - { "identifier", pattern("[\\w_$]+") }, - { "number", pattern("\\d+(.\\d+)?") }, - }); - } + static rule_ptr optional(const rule_ptr &rule) { + return choice({ rule, blank() }); } + + static rule_ptr comma_sep(const rule_ptr &element) { + return choice({ + seq({ element, repeat(seq({ str(","), element })) }), + blank(), + }); + } + + extern const Grammar javascript({ + { "program", repeat(sym("statement")) }, + { "statement", choice({ + sym("statement_block"), + sym("if_statement"), + sym("for_statement"), + sym("var_declaration"), + sym("expression_statement") }) }, + + // Statements + { "statement_block", seq({ + str("{"), + err(repeat(sym("statement"))), + str("}") }) }, + { "for_statement", seq({ + sym("_for"), + str("("), + choice({ + sym("var_declaration"), + sym("expression_statement"), + }), + sym("expression_statement"), + err(sym("expression")), + str(")"), + sym("statement") }) }, + { "if_statement", seq({ + sym("_if"), + str("("), + err(sym("expression")), + str(")"), + sym("statement"), + optional(seq({ + sym("_else"), + sym("statement") })) }) }, + { "var_declaration", seq({ + sym("_var"), + choice({ + sym("assignment"), + sym("identifier") }), + sym("_terminator") }) }, + { "expression_statement", seq({ + err(sym("expression")), + sym("_terminator") }) }, + { "expression", choice({ + sym("function_expression"), + sym("function_call"), + sym("property_access"), + sym("assignment"), + sym("literal"), + sym("identifier") }) }, + + // Expressions + { "assignment", seq({ + sym("identifier"), + str("="), + sym("expression") })}, + { "function_expression", seq({ + sym("_function"), + optional(sym("identifier")), + sym("formal_parameters"), + sym("statement_block") }) }, + { "function_call", seq({ + sym("expression"), + str("("), + comma_sep(sym("expression")), + str(")") }) }, + { "property_access", seq({ + sym("expression"), + str("."), + sym("identifier") }) }, + { "formal_parameters", seq({ + str("("), + comma_sep(sym("identifier")), + str(")") })}, + { "literal", choice({ + sym("object"), + sym("array"), + sym("string"), + sym("number"), + sym("true"), + sym("false"), + sym("null"), }) }, + + // Literals + { "object", seq({ + str("{"), + comma_sep(err(seq({ + choice({ sym("string"), sym("identifier") }), + str(":"), + sym("expression") }))), + str("}"), }) }, + { "array", seq({ + str("["), + comma_sep(err(sym("expression"))), + str("]") }) }, + + // Keywords + { "_terminator", choice({ str(";"), str("\n") }) }, + { "_var", str("var") }, + { "_for", str("for") }, + { "_if", str("if") }, + { "_function", str("function") }, + { "_else", str("else") }, + { "null", str("null") }, + { "true", str("true") }, + { "false", str("false") }, + + { "string", pattern("\"([^\"]|\\\\\")+\"") }, + { "identifier", pattern("[\\w_$]+") }, + { "number", pattern("\\d+(.\\d+)?") }, + }); } diff --git a/examples/grammars/json.cc b/examples/grammars/json.cc index 39b339a4..7ef6db19 100644 --- a/examples/grammars/json.cc +++ b/examples/grammars/json.cc @@ -1,46 +1,40 @@ #include "tree_sitter/compiler.h" -namespace tree_sitter { - namespace examples { - using namespace tree_sitter::rules; +namespace tree_sitter_examples { + using tree_sitter::Grammar; + using namespace tree_sitter::rules; - static rule_ptr comma_sep(const rule_ptr &rule) { - return choice({ - seq({ - rule, - repeat(seq({ str(","), rule })), - }), - blank(), - }); - } - - Grammar json() { - return Grammar({ - { "value", choice({ - sym("object"), - sym("array"), - sym("string"), - sym("number"), - sym("true"), - sym("false"), - sym("null"), }) }, - { "object", seq({ - str("{"), - comma_sep(err(seq({ - sym("string"), - str(":"), - sym("value") }))), - str("}"), }) }, - { "array", seq({ - str("["), - comma_sep(err(sym("value"))), - str("]"), }) }, - { "string", pattern("\"([^\"]|\\\\\")+\"") }, - { "number", pattern("\\d+(.\\d+)?") }, - { "null", str("null") }, - { "true", str("true") }, - { "false", str("false") }, - }); - } + static rule_ptr comma_sep(const rule_ptr &rule) { + return choice({ + seq({ rule, repeat(seq({ str(","), rule })) }), + blank(), + }); } + + extern const Grammar json({ + { "value", choice({ + sym("object"), + sym("array"), + sym("string"), + sym("number"), + sym("true"), + sym("false"), + sym("null"), }) }, + { "object", seq({ + str("{"), + comma_sep(err(seq({ + sym("string"), + str(":"), + sym("value") }))), + str("}"), }) }, + { "array", seq({ + str("["), + comma_sep(err(sym("value"))), + str("]"), }) }, + { "string", pattern("\"([^\"]|\\\\\")+\"") }, + { "number", pattern("\\d+(.\\d+)?") }, + { "null", str("null") }, + { "true", str("true") }, + { "false", str("false") }, + }); } diff --git a/examples/parsers/javascript.c b/examples/parsers/javascript.c index a3575bf8..da728397 100644 --- a/examples/parsers/javascript.c +++ b/examples/parsers/javascript.c @@ -87,13 +87,13 @@ SYMBOL_NAMES = { [ts_aux_sym_repeat_helper4] = "repeat_helper4", [ts_aux_sym_repeat_helper5] = "repeat_helper5", [ts_aux_sym_repeat_helper6] = "repeat_helper6", - [ts_aux_sym_token1] = "'('", + [ts_aux_sym_token1] = "'{'", [ts_aux_sym_token10] = "']'", [ts_aux_sym_token11] = "';'", [ts_aux_sym_token12] = "'\n'", - [ts_aux_sym_token2] = "')'", - [ts_aux_sym_token3] = "'{'", - [ts_aux_sym_token4] = "'}'", + [ts_aux_sym_token2] = "'}'", + [ts_aux_sym_token3] = "'('", + [ts_aux_sym_token4] = "')'", [ts_aux_sym_token5] = "'='", [ts_aux_sym_token6] = "','", [ts_aux_sym_token7] = "'.'", @@ -146,14 +146,14 @@ LEX_FN() { case 1: ACCEPT_TOKEN(ts_aux_sym_token12); case 2: - ACCEPT_TOKEN(ts_aux_sym_token1); + ACCEPT_TOKEN(ts_aux_sym_token3); case 3: ACCEPT_TOKEN(ts_aux_sym_token7); case 4: ACCEPT_TOKEN(ts_aux_sym_token11); case 5: if (lookahead == '\"') - ADVANCE(11); + ADVANCE(6); if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || @@ -161,396 +161,399 @@ LEX_FN() { ('g' <= lookahead && lookahead <= 'm') || ('o' <= lookahead && lookahead <= 's') || ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(21); + ADVANCE(16); if ('0' <= lookahead && lookahead <= '9') - ADVANCE(23); + ADVANCE(18); if (lookahead == '[') - ADVANCE(28); + ADVANCE(23); if (lookahead == 'f') - ADVANCE(29); + ADVANCE(24); if ('g' <= lookahead && lookahead <= 'f') - ADVANCE(48); + ADVANCE(47); if (lookahead == 'n') - ADVANCE(49); + ADVANCE(48); + if ('o' <= lookahead && lookahead <= 'n') + ADVANCE(55); if (lookahead == 't') ADVANCE(56); - if (lookahead == '{') + if ('u' <= lookahead && lookahead <= 't') ADVANCE(63); + if (lookahead == '{') + ADVANCE(64); LEX_ERROR(); case 6: - if (lookahead == 'a') + if (!((lookahead == '\"') || + (lookahead == '\\'))) ADVANCE(7); + if (lookahead == '\\') + ADVANCE(13); + if (']' <= lookahead && lookahead <= '\\') + ADVANCE(15); LEX_ERROR(); case 7: - if (lookahead == 'l') + if (!((lookahead == '\"') || + (lookahead == '\\'))) ADVANCE(8); + if (lookahead == '\"') + ADVANCE(9); + if (lookahead == '\\') + ADVANCE(10); + if (']' <= lookahead && lookahead <= '\\') + ADVANCE(12); LEX_ERROR(); case 8: - if (lookahead == 's') + if (!((lookahead == '\"') || + (lookahead == '\\'))) + ADVANCE(8); + if (lookahead == '\"') ADVANCE(9); + if (lookahead == '\\') + ADVANCE(10); + if (']' <= lookahead && lookahead <= '\\') + ADVANCE(12); LEX_ERROR(); case 9: - if (lookahead == 'e') - ADVANCE(10); - LEX_ERROR(); + ACCEPT_TOKEN(ts_sym_string); case 10: - ACCEPT_TOKEN(ts_sym_false); + if (!((lookahead == '\"') || + (lookahead == '\\'))) + ADVANCE(8); + if (lookahead == '\"') + ADVANCE(11); + if ('#' <= lookahead && lookahead <= '\"') + ADVANCE(8); + if (lookahead == '\\') + ADVANCE(10); + if (']' <= lookahead && lookahead <= '\\') + ADVANCE(12); + LEX_ERROR(); case 11: if (!((lookahead == '\"') || (lookahead == '\\'))) - ADVANCE(12); - if (lookahead == '\\') - ADVANCE(18); - if (']' <= lookahead && lookahead <= '\\') - ADVANCE(20); - LEX_ERROR(); - case 12: - if (!((lookahead == '\"') || - (lookahead == '\\'))) - ADVANCE(13); + ADVANCE(8); if (lookahead == '\"') - ADVANCE(14); + ADVANCE(9); if (lookahead == '\\') - ADVANCE(15); + ADVANCE(10); if (']' <= lookahead && lookahead <= '\\') - ADVANCE(17); + ADVANCE(12); + ACCEPT_TOKEN(ts_sym_string); + case 12: + if (lookahead == '\"') + ADVANCE(8); LEX_ERROR(); case 13: if (!((lookahead == '\"') || (lookahead == '\\'))) - ADVANCE(13); + ADVANCE(8); if (lookahead == '\"') ADVANCE(14); + if ('#' <= lookahead && lookahead <= '\"') + ADVANCE(7); if (lookahead == '\\') - ADVANCE(15); + ADVANCE(10); if (']' <= lookahead && lookahead <= '\\') - ADVANCE(17); + ADVANCE(12); LEX_ERROR(); case 14: + if (!((lookahead == '\"') || + (lookahead == '\\'))) + ADVANCE(8); + if (lookahead == '\"') + ADVANCE(9); + if (lookahead == '\\') + ADVANCE(10); + if (']' <= lookahead && lookahead <= '\\') + ADVANCE(12); ACCEPT_TOKEN(ts_sym_string); case 15: - if (!((lookahead == '\"') || - (lookahead == '\\'))) - ADVANCE(13); if (lookahead == '\"') - ADVANCE(16); - if ('#' <= lookahead && lookahead <= '\"') - ADVANCE(13); - if (lookahead == '\\') - ADVANCE(15); - if (']' <= lookahead && lookahead <= '\\') - ADVANCE(17); + ADVANCE(7); LEX_ERROR(); case 16: - if (!((lookahead == '\"') || - (lookahead == '\\'))) - ADVANCE(13); - if (lookahead == '\"') - ADVANCE(14); - if (lookahead == '\\') - ADVANCE(15); - if (']' <= lookahead && lookahead <= '\\') + if ((lookahead == '$') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(17); - ACCEPT_TOKEN(ts_sym_string); + ACCEPT_TOKEN(ts_sym_identifier); case 17: - if (lookahead == '\"') - ADVANCE(13); - LEX_ERROR(); + if ((lookahead == '$') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(17); + ACCEPT_TOKEN(ts_sym_identifier); case 18: - if (!((lookahead == '\"') || - (lookahead == '\\'))) - ADVANCE(13); - if (lookahead == '\"') + if (lookahead == '.') ADVANCE(19); - if ('#' <= lookahead && lookahead <= '\"') - ADVANCE(12); - if (lookahead == '\\') - ADVANCE(15); - if (']' <= lookahead && lookahead <= '\\') - ADVANCE(17); - LEX_ERROR(); + if ('0' <= lookahead && lookahead <= '9') + ADVANCE(22); + ACCEPT_TOKEN(ts_sym_number); case 19: - if (!((lookahead == '\"') || - (lookahead == '\\'))) - ADVANCE(13); - if (lookahead == '\"') - ADVANCE(14); - if (lookahead == '\\') - ADVANCE(15); - if (']' <= lookahead && lookahead <= '\\') - ADVANCE(17); - ACCEPT_TOKEN(ts_sym_string); + if ('0' <= lookahead && lookahead <= '9') + ADVANCE(20); + LEX_ERROR(); case 20: - if (lookahead == '\"') - ADVANCE(12); - LEX_ERROR(); + if ('0' <= lookahead && lookahead <= '9') + ADVANCE(21); + ACCEPT_TOKEN(ts_sym_number); case 21: - if ((lookahead == '$') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(22); - ACCEPT_TOKEN(ts_sym_identifier); + if ('0' <= lookahead && lookahead <= '9') + ADVANCE(21); + ACCEPT_TOKEN(ts_sym_number); case 22: - if ((lookahead == '$') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) + if (lookahead == '.') + ADVANCE(19); + if ('0' <= lookahead && lookahead <= '9') ADVANCE(22); - ACCEPT_TOKEN(ts_sym_identifier); + ACCEPT_TOKEN(ts_sym_number); case 23: - if (lookahead == '.') - ADVANCE(24); - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(27); - ACCEPT_TOKEN(ts_sym_number); - case 24: - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(25); - LEX_ERROR(); - case 25: - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(26); - ACCEPT_TOKEN(ts_sym_number); - case 26: - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(26); - ACCEPT_TOKEN(ts_sym_number); - case 27: - if (lookahead == '.') - ADVANCE(24); - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(27); - ACCEPT_TOKEN(ts_sym_number); - case 28: ACCEPT_TOKEN(ts_aux_sym_token9); - case 29: + case 24: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('b' <= lookahead && lookahead <= 't') || ('v' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); if (lookahead == 'a') - ADVANCE(30); + ADVANCE(29); if (lookahead == 'u') - ADVANCE(34); + ADVANCE(33); if ('v' <= lookahead && lookahead <= 'u') - ADVANCE(47); + ADVANCE(46); + ACCEPT_TOKEN(ts_sym_identifier); + case 25: + if (lookahead == 'l') + ADVANCE(26); + LEX_ERROR(); + case 26: + if (lookahead == 's') + ADVANCE(27); + LEX_ERROR(); + case 27: + if (lookahead == 'e') + ADVANCE(28); + LEX_ERROR(); + case 28: + ACCEPT_TOKEN(ts_sym_false); + case 29: + if ((lookahead == '$') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'k') || + ('m' <= lookahead && lookahead <= 'z')) + ADVANCE(17); + if (lookahead == 'l') + ADVANCE(30); + if ('m' <= lookahead && lookahead <= 'l') + ADVANCE(26); ACCEPT_TOKEN(ts_sym_identifier); case 30: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'k') || - ('m' <= lookahead && lookahead <= 'z')) - ADVANCE(22); - if (lookahead == 'l') + ('a' <= lookahead && lookahead <= 'r') || + ('t' <= lookahead && lookahead <= 'z')) + ADVANCE(17); + if (lookahead == 's') ADVANCE(31); - if ('m' <= lookahead && lookahead <= 'l') - ADVANCE(8); + if ('t' <= lookahead && lookahead <= 's') + ADVANCE(27); ACCEPT_TOKEN(ts_sym_identifier); case 31: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'r') || - ('t' <= lookahead && lookahead <= 'z')) - ADVANCE(22); - if (lookahead == 's') + ('a' <= lookahead && lookahead <= 'd') || + ('f' <= lookahead && lookahead <= 'z')) + ADVANCE(17); + if (lookahead == 'e') ADVANCE(32); - if ('t' <= lookahead && lookahead <= 's') - ADVANCE(9); + if ('f' <= lookahead && lookahead <= 'e') + ADVANCE(28); ACCEPT_TOKEN(ts_sym_identifier); case 32: - if ((lookahead == '$') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'd') || - ('f' <= lookahead && lookahead <= 'z')) - ADVANCE(22); - if (lookahead == 'e') - ADVANCE(33); - if ('f' <= lookahead && lookahead <= 'e') - ADVANCE(10); - ACCEPT_TOKEN(ts_sym_identifier); - case 33: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); ACCEPT_TOKEN(ts_sym_false); - case 34: + case 33: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'm') || ('o' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); if (lookahead == 'n') - ADVANCE(35); + ADVANCE(34); if ('o' <= lookahead && lookahead <= 'n') - ADVANCE(46); + ADVANCE(45); ACCEPT_TOKEN(ts_sym_identifier); - case 35: + case 34: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'b') || ('d' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); if (lookahead == 'c') - ADVANCE(36); + ADVANCE(35); if ('d' <= lookahead && lookahead <= 'c') - ADVANCE(45); + ADVANCE(44); ACCEPT_TOKEN(ts_sym_identifier); - case 36: + case 35: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 's') || ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); if (lookahead == 't') - ADVANCE(37); + ADVANCE(36); if ('u' <= lookahead && lookahead <= 't') - ADVANCE(44); + ADVANCE(43); ACCEPT_TOKEN(ts_sym_identifier); - case 37: + case 36: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'h') || ('j' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); if (lookahead == 'i') - ADVANCE(38); + ADVANCE(37); if ('j' <= lookahead && lookahead <= 'i') - ADVANCE(43); + ADVANCE(42); ACCEPT_TOKEN(ts_sym_identifier); - case 38: + case 37: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'n') || ('p' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); if (lookahead == 'o') - ADVANCE(39); + ADVANCE(38); if ('p' <= lookahead && lookahead <= 'o') - ADVANCE(42); + ADVANCE(41); ACCEPT_TOKEN(ts_sym_identifier); - case 39: + case 38: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'm') || ('o' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); if (lookahead == 'n') - ADVANCE(40); + ADVANCE(39); if ('o' <= lookahead && lookahead <= 'n') - ADVANCE(41); + ADVANCE(40); ACCEPT_TOKEN(ts_sym_identifier); - case 40: + case 39: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); + ACCEPT_TOKEN(ts_sym__function); + case 40: ACCEPT_TOKEN(ts_sym__function); case 41: - ACCEPT_TOKEN(ts_sym__function); - case 42: if (lookahead == 'n') + ADVANCE(40); + LEX_ERROR(); + case 42: + if (lookahead == 'o') ADVANCE(41); LEX_ERROR(); case 43: - if (lookahead == 'o') + if (lookahead == 'i') ADVANCE(42); LEX_ERROR(); case 44: - if (lookahead == 'i') + if (lookahead == 't') ADVANCE(43); LEX_ERROR(); case 45: - if (lookahead == 't') + if (lookahead == 'c') ADVANCE(44); LEX_ERROR(); case 46: - if (lookahead == 'c') + if (lookahead == 'n') ADVANCE(45); LEX_ERROR(); case 47: - if (lookahead == 'n') - ADVANCE(46); + if (lookahead == 'a') + ADVANCE(25); LEX_ERROR(); case 48: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('b' <= lookahead && lookahead <= 'z')) - ADVANCE(22); - if (lookahead == 'a') - ADVANCE(30); - if ('b' <= lookahead && lookahead <= 'a') - ADVANCE(7); + ('a' <= lookahead && lookahead <= 't') || + ('v' <= lookahead && lookahead <= 'z')) + ADVANCE(17); + if (lookahead == 'u') + ADVANCE(49); + if ('v' <= lookahead && lookahead <= 'u') + ADVANCE(54); ACCEPT_TOKEN(ts_sym_identifier); case 49: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 't') || - ('v' <= lookahead && lookahead <= 'z')) - ADVANCE(22); - if (lookahead == 'u') + ('a' <= lookahead && lookahead <= 'k') || + ('m' <= lookahead && lookahead <= 'z')) + ADVANCE(17); + if (lookahead == 'l') + ADVANCE(50); + if ('m' <= lookahead && lookahead <= 'l') ADVANCE(53); ACCEPT_TOKEN(ts_sym_identifier); case 50: + if ((lookahead == '$') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'k') || + ('m' <= lookahead && lookahead <= 'z')) + ADVANCE(17); if (lookahead == 'l') ADVANCE(51); - LEX_ERROR(); - case 51: - if (lookahead == 'l') + if ('m' <= lookahead && lookahead <= 'l') ADVANCE(52); - LEX_ERROR(); - case 52: - ACCEPT_TOKEN(ts_sym_null); - case 53: - if ((lookahead == '$') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'k') || - ('m' <= lookahead && lookahead <= 'z')) - ADVANCE(22); - if (lookahead == 'l') - ADVANCE(54); ACCEPT_TOKEN(ts_sym_identifier); - case 54: - if ((lookahead == '$') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'k') || - ('m' <= lookahead && lookahead <= 'z')) - ADVANCE(22); - if (lookahead == 'l') - ADVANCE(55); - ACCEPT_TOKEN(ts_sym_identifier); - case 55: + case 51: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); ACCEPT_TOKEN(ts_sym_null); + case 52: + ACCEPT_TOKEN(ts_sym_null); + case 53: + if (lookahead == 'l') + ADVANCE(52); + LEX_ERROR(); + case 54: + if (lookahead == 'l') + ADVANCE(53); + LEX_ERROR(); + case 55: + if (lookahead == 'u') + ADVANCE(54); + LEX_ERROR(); case 56: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'q') || ('s' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); if (lookahead == 'r') ADVANCE(60); ACCEPT_TOKEN(ts_sym_identifier); @@ -570,7 +573,7 @@ LEX_FN() { (lookahead == '_') || ('a' <= lookahead && lookahead <= 't') || ('v' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); if (lookahead == 'u') ADVANCE(61); ACCEPT_TOKEN(ts_sym_identifier); @@ -580,7 +583,7 @@ LEX_FN() { (lookahead == '_') || ('a' <= lookahead && lookahead <= 'd') || ('f' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); if (lookahead == 'e') ADVANCE(62); ACCEPT_TOKEN(ts_sym_identifier); @@ -589,41 +592,45 @@ LEX_FN() { ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); ACCEPT_TOKEN(ts_sym_true); case 63: - ACCEPT_TOKEN(ts_aux_sym_token3); + if (lookahead == 'r') + ADVANCE(57); + LEX_ERROR(); case 64: + ACCEPT_TOKEN(ts_aux_sym_token1); + case 65: if (lookahead == '\n') ADVANCE(1); if (lookahead == ';') ADVANCE(4); LEX_ERROR(); - case 65: + case 66: if (lookahead == '(') ADVANCE(2); if (lookahead == ')') - ADVANCE(66); + ADVANCE(67); if (lookahead == ',') + ADVANCE(68); + if (lookahead == '.') + ADVANCE(3); + LEX_ERROR(); + case 67: + ACCEPT_TOKEN(ts_aux_sym_token4); + case 68: + ACCEPT_TOKEN(ts_aux_sym_token6); + case 69: + if (lookahead == '(') + ADVANCE(2); + if (lookahead == ')') ADVANCE(67); if (lookahead == '.') ADVANCE(3); LEX_ERROR(); - case 66: - ACCEPT_TOKEN(ts_aux_sym_token2); - case 67: - ACCEPT_TOKEN(ts_aux_sym_token6); - case 68: - if (lookahead == '(') - ADVANCE(2); - if (lookahead == ')') - ADVANCE(66); - if (lookahead == '.') - ADVANCE(3); - LEX_ERROR(); - case 69: + case 70: if (lookahead == '\"') - ADVANCE(11); + ADVANCE(6); if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || @@ -633,179 +640,189 @@ LEX_FN() { ('o' <= lookahead && lookahead <= 's') || (lookahead == 'u') || ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(21); + ADVANCE(16); if ('0' <= lookahead && lookahead <= '9') - ADVANCE(23); + ADVANCE(18); if (lookahead == '[') - ADVANCE(28); + ADVANCE(23); if (lookahead == 'f') - ADVANCE(71); + ADVANCE(74); if ('g' <= lookahead && lookahead <= 'f') - ADVANCE(75); + ADVANCE(77); if (lookahead == 'i') - ADVANCE(76); + ADVANCE(78); + if ('j' <= lookahead && lookahead <= 'i') + ADVANCE(81); if (lookahead == 'n') - ADVANCE(49); + ADVANCE(48); + if ('o' <= lookahead && lookahead <= 'n') + ADVANCE(55); if (lookahead == 't') ADVANCE(56); - if (lookahead == 'v') - ADVANCE(79); - if (lookahead == '{') + if ('u' <= lookahead && lookahead <= 't') ADVANCE(63); + if (lookahead == 'v') + ADVANCE(82); + if ('w' <= lookahead && lookahead <= 'v') + ADVANCE(87); + if (lookahead == '{') + ADVANCE(64); if (lookahead == '}') - ADVANCE(84); - LEX_ERROR(); - case 70: - if (lookahead == 'a') - ADVANCE(7); - if (lookahead == 'u') - ADVANCE(47); + ADVANCE(88); LEX_ERROR(); case 71: - if ((lookahead == '$') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('b' <= lookahead && lookahead <= 'n') || - ('p' <= lookahead && lookahead <= 't') || - ('v' <= lookahead && lookahead <= 'z')) - ADVANCE(22); - if (lookahead == 'a') - ADVANCE(30); if (lookahead == 'o') ADVANCE(72); if (lookahead == 'u') - ADVANCE(34); - ACCEPT_TOKEN(ts_sym_identifier); + ADVANCE(46); + LEX_ERROR(); case 72: - if ((lookahead == '$') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'q') || - ('s' <= lookahead && lookahead <= 'z')) - ADVANCE(22); if (lookahead == 'r') - ADVANCE(74); - ACCEPT_TOKEN(ts_sym_identifier); + ADVANCE(73); + LEX_ERROR(); case 73: ACCEPT_TOKEN(ts_sym__for); case 74: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(22); - ACCEPT_TOKEN(ts_sym__for); - case 75: - if ((lookahead == '$') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 't') || + ('b' <= lookahead && lookahead <= 'n') || + ('p' <= lookahead && lookahead <= 't') || ('v' <= lookahead && lookahead <= 'z')) - ADVANCE(22); - if (lookahead == 'u') - ADVANCE(34); - ACCEPT_TOKEN(ts_sym_identifier); - case 76: - if ((lookahead == '$') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'e') || - ('g' <= lookahead && lookahead <= 'z')) - ADVANCE(22); - if (lookahead == 'f') - ADVANCE(78); - ACCEPT_TOKEN(ts_sym_identifier); - case 77: - ACCEPT_TOKEN(ts_sym__if); - case 78: - if ((lookahead == '$') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(22); - ACCEPT_TOKEN(ts_sym__if); - case 79: - if ((lookahead == '$') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('b' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); if (lookahead == 'a') - ADVANCE(82); + ADVANCE(29); + if (lookahead == 'o') + ADVANCE(75); + if (lookahead == 'u') + ADVANCE(33); ACCEPT_TOKEN(ts_sym_identifier); - case 80: - if (lookahead == 'r') - ADVANCE(81); - LEX_ERROR(); - case 81: - ACCEPT_TOKEN(ts_sym__var); - case 82: + case 75: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'q') || ('s' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); if (lookahead == 'r') + ADVANCE(76); + ACCEPT_TOKEN(ts_sym_identifier); + case 76: + if ((lookahead == '$') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(17); + ACCEPT_TOKEN(ts_sym__for); + case 77: + if ((lookahead == '$') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 't') || + ('v' <= lookahead && lookahead <= 'z')) + ADVANCE(17); + if (lookahead == 'u') + ADVANCE(33); + ACCEPT_TOKEN(ts_sym_identifier); + case 78: + if ((lookahead == '$') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'e') || + ('g' <= lookahead && lookahead <= 'z')) + ADVANCE(17); + if (lookahead == 'f') + ADVANCE(79); + if ('g' <= lookahead && lookahead <= 'f') + ADVANCE(80); + ACCEPT_TOKEN(ts_sym_identifier); + case 79: + if ((lookahead == '$') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(17); + ACCEPT_TOKEN(ts_sym__if); + case 80: + ACCEPT_TOKEN(ts_sym__if); + case 81: + if (lookahead == 'f') + ADVANCE(80); + LEX_ERROR(); + case 82: + if ((lookahead == '$') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('b' <= lookahead && lookahead <= 'z')) + ADVANCE(17); + if (lookahead == 'a') ADVANCE(83); + if ('b' <= lookahead && lookahead <= 'a') + ADVANCE(86); ACCEPT_TOKEN(ts_sym_identifier); case 83: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(22); - ACCEPT_TOKEN(ts_sym__var); + ('a' <= lookahead && lookahead <= 'q') || + ('s' <= lookahead && lookahead <= 'z')) + ADVANCE(17); + if (lookahead == 'r') + ADVANCE(84); + if ('s' <= lookahead && lookahead <= 'r') + ADVANCE(85); + ACCEPT_TOKEN(ts_sym_identifier); case 84: - ACCEPT_TOKEN(ts_aux_sym_token4); - case 85: - if (lookahead == '\n') - ADVANCE(1); - if (lookahead == ';') - ADVANCE(4); - if (lookahead == '=') - ADVANCE(86); - LEX_ERROR(); - case 86: - ACCEPT_TOKEN(ts_aux_sym_token5); - case 87: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(21); + ADVANCE(17); + ACCEPT_TOKEN(ts_sym__var); + case 85: + ACCEPT_TOKEN(ts_sym__var); + case 86: + if (lookahead == 'r') + ADVANCE(85); + LEX_ERROR(); + case 87: + if (lookahead == 'a') + ADVANCE(86); LEX_ERROR(); case 88: - if (lookahead == '(') - ADVANCE(2); - if (lookahead == ',') - ADVANCE(67); - if (lookahead == '.') - ADVANCE(3); - if (lookahead == '}') - ADVANCE(84); - LEX_ERROR(); + ACCEPT_TOKEN(ts_aux_sym_token2); case 89: - if (lookahead == '}') - ADVANCE(84); - LEX_ERROR(); - case 90: if (lookahead == '\n') ADVANCE(1); - if (lookahead == '(') - ADVANCE(2); - if (lookahead == '.') - ADVANCE(3); - if (lookahead == ':') - ADVANCE(91); if (lookahead == ';') ADVANCE(4); if (lookahead == '=') - ADVANCE(86); + ADVANCE(90); LEX_ERROR(); + case 90: + ACCEPT_TOKEN(ts_aux_sym_token5); case 91: - ACCEPT_TOKEN(ts_aux_sym_token8); + if ((lookahead == '$') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(16); + LEX_ERROR(); case 92: + if (lookahead == '(') + ADVANCE(2); + if (lookahead == ',') + ADVANCE(68); + if (lookahead == '.') + ADVANCE(3); + if (lookahead == '}') + ADVANCE(88); + LEX_ERROR(); + case 93: + if (lookahead == '}') + ADVANCE(88); + LEX_ERROR(); + case 94: if (lookahead == '\n') ADVANCE(1); if (lookahead == '(') @@ -813,79 +830,95 @@ LEX_FN() { if (lookahead == '.') ADVANCE(3); if (lookahead == ':') - ADVANCE(91); + ADVANCE(95); + if (lookahead == ';') + ADVANCE(4); + if (lookahead == '=') + ADVANCE(90); + LEX_ERROR(); + case 95: + ACCEPT_TOKEN(ts_aux_sym_token8); + case 96: + if (lookahead == '\n') + ADVANCE(1); + if (lookahead == '(') + ADVANCE(2); + if (lookahead == '.') + ADVANCE(3); + if (lookahead == ':') + ADVANCE(95); if (lookahead == ';') ADVANCE(4); LEX_ERROR(); - case 93: + case 97: if (lookahead == '(') ADVANCE(2); if (lookahead == ',') - ADVANCE(67); + ADVANCE(68); if (lookahead == '.') ADVANCE(3); if (lookahead == ']') - ADVANCE(94); + ADVANCE(98); LEX_ERROR(); - case 94: + case 98: ACCEPT_TOKEN(ts_aux_sym_token10); - case 95: + case 99: if (lookahead == '\n') ADVANCE(1); if (lookahead == ';') ADVANCE(4); if (lookahead == '}') - ADVANCE(84); - LEX_ERROR(); - case 96: - if (lookahead == '{') - ADVANCE(63); - LEX_ERROR(); - case 97: - if (lookahead == ')') - ADVANCE(66); - LEX_ERROR(); - case 98: - if (lookahead == ')') - ADVANCE(66); - if (lookahead == ',') - ADVANCE(67); - LEX_ERROR(); - case 99: - if ((lookahead == '$') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(21); - if (lookahead == ')') - ADVANCE(66); + ADVANCE(88); LEX_ERROR(); case 100: - if (lookahead == '(') - ADVANCE(2); + if (lookahead == '{') + ADVANCE(64); LEX_ERROR(); case 101: + if (lookahead == ')') + ADVANCE(67); + LEX_ERROR(); + case 102: + if (lookahead == ')') + ADVANCE(67); + if (lookahead == ',') + ADVANCE(68); + LEX_ERROR(); + case 103: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(21); + ADVANCE(16); + if (lookahead == ')') + ADVANCE(67); + LEX_ERROR(); + case 104: if (lookahead == '(') ADVANCE(2); LEX_ERROR(); - case 102: - if (lookahead == ']') - ADVANCE(94); + case 105: + if ((lookahead == '$') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(16); + if (lookahead == '(') + ADVANCE(2); LEX_ERROR(); - case 103: + case 106: + if (lookahead == ']') + ADVANCE(98); + LEX_ERROR(); + case 107: if (lookahead == ',') - ADVANCE(67); + ADVANCE(68); if (lookahead == ']') - ADVANCE(94); + ADVANCE(98); LEX_ERROR(); - case 104: + case 108: if (lookahead == '\"') - ADVANCE(11); + ADVANCE(6); if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || @@ -893,129 +926,137 @@ LEX_FN() { ('g' <= lookahead && lookahead <= 'm') || ('o' <= lookahead && lookahead <= 's') || ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(21); + ADVANCE(16); if ('0' <= lookahead && lookahead <= '9') - ADVANCE(23); + ADVANCE(18); if (lookahead == '[') - ADVANCE(28); + ADVANCE(23); if (lookahead == ']') - ADVANCE(94); + ADVANCE(98); if (lookahead == 'f') - ADVANCE(29); + ADVANCE(24); if ('g' <= lookahead && lookahead <= 'f') - ADVANCE(48); + ADVANCE(47); if (lookahead == 'n') - ADVANCE(49); + ADVANCE(48); + if ('o' <= lookahead && lookahead <= 'n') + ADVANCE(55); if (lookahead == 't') ADVANCE(56); - if (lookahead == '{') + if ('u' <= lookahead && lookahead <= 't') ADVANCE(63); - LEX_ERROR(); - case 105: - if (lookahead == ':') - ADVANCE(91); - LEX_ERROR(); - case 106: - if (lookahead == ',') - ADVANCE(67); - if (lookahead == '}') - ADVANCE(84); - LEX_ERROR(); - case 107: - if (lookahead == '\"') - ADVANCE(11); - if ((lookahead == '$') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(21); - if (lookahead == '}') - ADVANCE(84); - LEX_ERROR(); - case 108: - if (lookahead == '(') - ADVANCE(2); - if (lookahead == ',') - ADVANCE(67); - if (lookahead == '.') - ADVANCE(3); - if (lookahead == '=') - ADVANCE(86); - if (lookahead == '}') - ADVANCE(84); + if (lookahead == '{') + ADVANCE(64); LEX_ERROR(); case 109: - if (lookahead == '\"') - ADVANCE(11); - if ((lookahead == '$') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(21); + if (lookahead == ':') + ADVANCE(95); LEX_ERROR(); case 110: - if (lookahead == '(') - ADVANCE(2); if (lookahead == ',') - ADVANCE(67); - if (lookahead == '.') - ADVANCE(3); - if (lookahead == '=') - ADVANCE(86); - if (lookahead == ']') - ADVANCE(94); + ADVANCE(68); + if (lookahead == '}') + ADVANCE(88); LEX_ERROR(); case 111: if (lookahead == '\"') - ADVANCE(11); + ADVANCE(6); if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'e') || - ('g' <= lookahead && lookahead <= 'm') || - ('o' <= lookahead && lookahead <= 's') || - ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(21); - if (lookahead == ')') - ADVANCE(66); - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(23); - if (lookahead == '[') - ADVANCE(28); - if (lookahead == 'f') - ADVANCE(29); - if ('g' <= lookahead && lookahead <= 'f') - ADVANCE(48); - if (lookahead == 'n') - ADVANCE(49); - if (lookahead == 't') - ADVANCE(56); - if (lookahead == '{') - ADVANCE(63); + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(16); + if (lookahead == '}') + ADVANCE(88); LEX_ERROR(); case 112: if (lookahead == '(') ADVANCE(2); - if (lookahead == ')') - ADVANCE(66); if (lookahead == ',') - ADVANCE(67); + ADVANCE(68); if (lookahead == '.') ADVANCE(3); if (lookahead == '=') - ADVANCE(86); + ADVANCE(90); + if (lookahead == '}') + ADVANCE(88); LEX_ERROR(); case 113: + if (lookahead == '\"') + ADVANCE(6); + if ((lookahead == '$') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(16); + LEX_ERROR(); + case 114: + if (lookahead == '(') + ADVANCE(2); + if (lookahead == ',') + ADVANCE(68); + if (lookahead == '.') + ADVANCE(3); + if (lookahead == '=') + ADVANCE(90); + if (lookahead == ']') + ADVANCE(98); + LEX_ERROR(); + case 115: + if (lookahead == '\"') + ADVANCE(6); + if ((lookahead == '$') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'e') || + ('g' <= lookahead && lookahead <= 'm') || + ('o' <= lookahead && lookahead <= 's') || + ('u' <= lookahead && lookahead <= 'z')) + ADVANCE(16); + if (lookahead == ')') + ADVANCE(67); + if ('0' <= lookahead && lookahead <= '9') + ADVANCE(18); + if (lookahead == '[') + ADVANCE(23); + if (lookahead == 'f') + ADVANCE(24); + if ('g' <= lookahead && lookahead <= 'f') + ADVANCE(47); + if (lookahead == 'n') + ADVANCE(48); + if ('o' <= lookahead && lookahead <= 'n') + ADVANCE(55); + if (lookahead == 't') + ADVANCE(56); + if ('u' <= lookahead && lookahead <= 't') + ADVANCE(63); + if (lookahead == '{') + ADVANCE(64); + LEX_ERROR(); + case 116: + if (lookahead == '(') + ADVANCE(2); + if (lookahead == ')') + ADVANCE(67); + if (lookahead == ',') + ADVANCE(68); + if (lookahead == '.') + ADVANCE(3); + if (lookahead == '=') + ADVANCE(90); + LEX_ERROR(); + case 117: if (lookahead == '\n') ADVANCE(1); if (lookahead == ',') - ADVANCE(67); + ADVANCE(68); if (lookahead == ';') ADVANCE(4); if (lookahead == '}') - ADVANCE(84); + ADVANCE(88); LEX_ERROR(); - case 114: + case 118: if (lookahead == '\n') ADVANCE(1); if (lookahead == '(') @@ -1025,11 +1066,11 @@ LEX_FN() { if (lookahead == ';') ADVANCE(4); if (lookahead == '=') - ADVANCE(86); + ADVANCE(90); LEX_ERROR(); - case 115: + case 119: if (lookahead == '\"') - ADVANCE(11); + ADVANCE(6); if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || @@ -1039,92 +1080,116 @@ LEX_FN() { ('o' <= lookahead && lookahead <= 's') || (lookahead == 'u') || ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(21); + ADVANCE(16); if ('0' <= lookahead && lookahead <= '9') - ADVANCE(23); + ADVANCE(18); if (lookahead == '[') - ADVANCE(28); + ADVANCE(23); if (lookahead == 'e') - ADVANCE(116); + ADVANCE(121); if ('f' <= lookahead && lookahead <= 'e') - ADVANCE(123); + ADVANCE(128); if (lookahead == 'f') - ADVANCE(71); + ADVANCE(74); if ('g' <= lookahead && lookahead <= 'f') - ADVANCE(48); + ADVANCE(129); if (lookahead == 'i') - ADVANCE(76); + ADVANCE(78); + if ('j' <= lookahead && lookahead <= 'i') + ADVANCE(81); if (lookahead == 'n') - ADVANCE(49); + ADVANCE(48); + if ('o' <= lookahead && lookahead <= 'n') + ADVANCE(55); if (lookahead == 't') ADVANCE(56); - if (lookahead == 'v') - ADVANCE(79); - if (lookahead == '{') + if ('u' <= lookahead && lookahead <= 't') ADVANCE(63); + if (lookahead == 'v') + ADVANCE(82); + if ('w' <= lookahead && lookahead <= 'v') + ADVANCE(87); + if (lookahead == '{') + ADVANCE(64); if (lookahead == '}') - ADVANCE(84); + ADVANCE(88); LEX_ERROR(); - case 116: + case 120: + if (lookahead == 'o') + ADVANCE(72); + LEX_ERROR(); + case 121: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'k') || ('m' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); if (lookahead == 'l') - ADVANCE(117); - if ('m' <= lookahead && lookahead <= 'l') ADVANCE(122); + if ('m' <= lookahead && lookahead <= 'l') + ADVANCE(127); ACCEPT_TOKEN(ts_sym_identifier); - case 117: + case 122: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'r') || ('t' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); if (lookahead == 's') - ADVANCE(118); + ADVANCE(123); if ('t' <= lookahead && lookahead <= 's') - ADVANCE(121); + ADVANCE(126); ACCEPT_TOKEN(ts_sym_identifier); - case 118: + case 123: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'd') || ('f' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); if (lookahead == 'e') - ADVANCE(119); + ADVANCE(124); if ('f' <= lookahead && lookahead <= 'e') - ADVANCE(120); + ADVANCE(125); ACCEPT_TOKEN(ts_sym_identifier); - case 119: + case 124: if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(22); + ADVANCE(17); ACCEPT_TOKEN(ts_sym__else); - case 120: + case 125: ACCEPT_TOKEN(ts_sym__else); - case 121: + case 126: if (lookahead == 'e') - ADVANCE(120); + ADVANCE(125); LEX_ERROR(); - case 122: + case 127: if (lookahead == 's') - ADVANCE(121); + ADVANCE(126); LEX_ERROR(); - case 123: + case 128: if (lookahead == 'l') - ADVANCE(122); + ADVANCE(127); + if (lookahead == 'u') + ADVANCE(46); LEX_ERROR(); - case 124: + case 129: + if ((lookahead == '$') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'n') || + ('p' <= lookahead && lookahead <= 'z')) + ADVANCE(17); + if (lookahead == 'o') + ADVANCE(75); + ACCEPT_TOKEN(ts_sym_identifier); + case 130: if (lookahead == '\"') - ADVANCE(11); + ADVANCE(6); if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || @@ -1134,39 +1199,47 @@ LEX_FN() { ('o' <= lookahead && lookahead <= 's') || (lookahead == 'u') || ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(21); + ADVANCE(16); if ('0' <= lookahead && lookahead <= '9') - ADVANCE(23); + ADVANCE(18); if (lookahead == '[') - ADVANCE(28); + ADVANCE(23); if (lookahead == 'f') - ADVANCE(71); + ADVANCE(74); if ('g' <= lookahead && lookahead <= 'f') - ADVANCE(75); + ADVANCE(77); if (lookahead == 'i') - ADVANCE(76); + ADVANCE(78); + if ('j' <= lookahead && lookahead <= 'i') + ADVANCE(81); if (lookahead == 'n') - ADVANCE(49); + ADVANCE(48); + if ('o' <= lookahead && lookahead <= 'n') + ADVANCE(55); if (lookahead == 't') ADVANCE(56); - if (lookahead == 'v') - ADVANCE(79); - if (lookahead == '{') + if ('u' <= lookahead && lookahead <= 't') ADVANCE(63); + if (lookahead == 'v') + ADVANCE(82); + if ('w' <= lookahead && lookahead <= 'v') + ADVANCE(87); + if (lookahead == '{') + ADVANCE(64); LEX_ERROR(); - case 125: + case 131: if (lookahead == '(') ADVANCE(2); if (lookahead == ')') - ADVANCE(66); + ADVANCE(67); if (lookahead == '.') ADVANCE(3); if (lookahead == '=') - ADVANCE(86); + ADVANCE(90); LEX_ERROR(); - case 126: + case 132: if (lookahead == '\"') - ADVANCE(11); + ADVANCE(6); if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || @@ -1175,27 +1248,33 @@ LEX_FN() { ('o' <= lookahead && lookahead <= 's') || (lookahead == 'u') || ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(21); + ADVANCE(16); if ('0' <= lookahead && lookahead <= '9') - ADVANCE(23); + ADVANCE(18); if (lookahead == '[') - ADVANCE(28); + ADVANCE(23); if (lookahead == 'f') - ADVANCE(29); + ADVANCE(24); if ('g' <= lookahead && lookahead <= 'f') - ADVANCE(48); + ADVANCE(47); if (lookahead == 'n') - ADVANCE(49); + ADVANCE(48); + if ('o' <= lookahead && lookahead <= 'n') + ADVANCE(55); if (lookahead == 't') ADVANCE(56); - if (lookahead == 'v') - ADVANCE(79); - if (lookahead == '{') + if ('u' <= lookahead && lookahead <= 't') ADVANCE(63); + if (lookahead == 'v') + ADVANCE(82); + if ('w' <= lookahead && lookahead <= 'v') + ADVANCE(87); + if (lookahead == '{') + ADVANCE(64); LEX_ERROR(); - case 127: + case 133: if (lookahead == '\"') - ADVANCE(11); + ADVANCE(6); if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || @@ -1205,41 +1284,45 @@ LEX_FN() { ('o' <= lookahead && lookahead <= 's') || (lookahead == 'u') || ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(21); + ADVANCE(16); if ('0' <= lookahead && lookahead <= '9') - ADVANCE(23); + ADVANCE(18); if (lookahead == '[') - ADVANCE(28); + ADVANCE(23); if (lookahead == 'e') - ADVANCE(116); + ADVANCE(121); if ('f' <= lookahead && lookahead <= 'e') - ADVANCE(123); + ADVANCE(128); if (lookahead == 'f') - ADVANCE(71); + ADVANCE(74); if ('g' <= lookahead && lookahead <= 'f') - ADVANCE(48); + ADVANCE(129); if (lookahead == 'i') - ADVANCE(76); + ADVANCE(78); + if ('j' <= lookahead && lookahead <= 'i') + ADVANCE(81); if (lookahead == 'n') - ADVANCE(49); + ADVANCE(48); + if ('o' <= lookahead && lookahead <= 'n') + ADVANCE(55); if (lookahead == 't') ADVANCE(56); - if (lookahead == 'v') - ADVANCE(79); - if (lookahead == '{') + if ('u' <= lookahead && lookahead <= 't') ADVANCE(63); + if (lookahead == 'v') + ADVANCE(82); + if ('w' <= lookahead && lookahead <= 'v') + ADVANCE(87); + if (lookahead == '{') + ADVANCE(64); LEX_ERROR(); - case 128: - LEX_ERROR(); - case 129: - if (lookahead == 'a') - ADVANCE(80); + case 134: LEX_ERROR(); case ts_lex_state_error: if (lookahead == '\n') ADVANCE(1); if (lookahead == '\"') - ADVANCE(11); + ADVANCE(6); if ((lookahead == '$') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || @@ -1249,47 +1332,55 @@ LEX_FN() { ('o' <= lookahead && lookahead <= 's') || (lookahead == 'u') || ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(21); + ADVANCE(16); if (lookahead == '(') ADVANCE(2); if (lookahead == ')') - ADVANCE(66); - if (lookahead == ',') ADVANCE(67); + if (lookahead == ',') + ADVANCE(68); if (lookahead == '.') ADVANCE(3); if ('0' <= lookahead && lookahead <= '9') - ADVANCE(23); + ADVANCE(18); if (lookahead == ':') - ADVANCE(91); + ADVANCE(95); if (lookahead == ';') ADVANCE(4); if (lookahead == '=') - ADVANCE(86); + ADVANCE(90); if (lookahead == '[') - ADVANCE(28); + ADVANCE(23); if (lookahead == ']') - ADVANCE(94); + ADVANCE(98); if (lookahead == 'e') - ADVANCE(116); + ADVANCE(121); + if ('f' <= lookahead && lookahead <= 'e') + ADVANCE(128); if (lookahead == 'f') - ADVANCE(71); + ADVANCE(74); if ('g' <= lookahead && lookahead <= 'f') - ADVANCE(48); + ADVANCE(129); if (lookahead == 'i') - ADVANCE(76); + ADVANCE(78); + if ('j' <= lookahead && lookahead <= 'i') + ADVANCE(81); if (lookahead == 'n') - ADVANCE(49); + ADVANCE(48); + if ('o' <= lookahead && lookahead <= 'n') + ADVANCE(55); if (lookahead == 't') ADVANCE(56); - if (lookahead == 'v') - ADVANCE(79); - if ('w' <= lookahead && lookahead <= 'v') - ADVANCE(129); - if (lookahead == '{') + if ('u' <= lookahead && lookahead <= 't') ADVANCE(63); + if (lookahead == 'v') + ADVANCE(82); + if ('w' <= lookahead && lookahead <= 'v') + ADVANCE(87); + if (lookahead == '{') + ADVANCE(64); if (lookahead == '}') - ADVANCE(84); + ADVANCE(88); LEX_ERROR(); default: LEX_PANIC(); @@ -1297,353 +1388,353 @@ LEX_FN() { } LEX_STATES = { - [0] = 124, - [1] = 100, - [2] = 126, - [3] = 101, - [4] = 96, + [0] = 130, + [1] = 104, + [2] = 132, + [3] = 105, + [4] = 100, [5] = 0, - [6] = 69, - [7] = 100, - [8] = 126, - [9] = 87, - [10] = 64, + [6] = 70, + [7] = 104, + [8] = 132, + [9] = 91, + [10] = 65, [11] = 5, [12] = 5, - [13] = 85, + [13] = 89, [14] = 5, [15] = 0, [16] = 0, [17] = 0, - [18] = 111, - [19] = 101, - [20] = 96, - [21] = 65, - [22] = 69, - [23] = 100, + [18] = 115, + [19] = 105, + [20] = 100, + [21] = 66, + [22] = 70, + [23] = 104, [24] = 5, - [25] = 101, - [26] = 96, - [27] = 68, - [28] = 69, - [29] = 87, - [30] = 64, - [31] = 69, - [32] = 69, - [33] = 85, + [25] = 105, + [26] = 100, + [27] = 69, + [28] = 70, + [29] = 91, + [30] = 65, + [31] = 70, + [32] = 70, + [33] = 89, [34] = 0, - [35] = 69, - [36] = 87, + [35] = 70, + [36] = 91, [37] = 0, - [38] = 69, - [39] = 114, + [38] = 70, + [39] = 118, [40] = 5, [41] = 0, - [42] = 107, - [43] = 105, + [42] = 111, + [43] = 109, [44] = 5, - [45] = 101, - [46] = 96, - [47] = 88, - [48] = 69, - [49] = 69, - [50] = 89, - [51] = 69, - [52] = 90, - [53] = 92, - [54] = 89, - [55] = 69, + [45] = 105, + [46] = 100, + [47] = 92, + [48] = 70, + [49] = 70, + [50] = 93, + [51] = 70, + [52] = 94, + [53] = 96, + [54] = 93, + [55] = 70, [56] = 0, - [57] = 104, - [58] = 101, - [59] = 96, - [60] = 93, - [61] = 69, - [62] = 89, - [63] = 93, - [64] = 95, - [65] = 100, - [66] = 96, - [67] = 93, - [68] = 99, - [69] = 98, - [70] = 97, - [71] = 96, - [72] = 87, - [73] = 98, - [74] = 97, - [75] = 96, - [76] = 93, - [77] = 93, - [78] = 93, - [79] = 102, + [57] = 108, + [58] = 105, + [59] = 100, + [60] = 97, + [61] = 70, + [62] = 93, + [63] = 97, + [64] = 99, + [65] = 104, + [66] = 100, + [67] = 97, + [68] = 103, + [69] = 102, + [70] = 101, + [71] = 100, + [72] = 91, + [73] = 102, + [74] = 101, + [75] = 100, + [76] = 97, + [77] = 97, + [78] = 97, + [79] = 106, [80] = 0, - [81] = 111, - [82] = 65, - [83] = 65, - [84] = 65, - [85] = 97, - [86] = 93, - [87] = 111, - [88] = 65, - [89] = 97, - [90] = 65, + [81] = 115, + [82] = 66, + [83] = 66, + [84] = 66, + [85] = 101, + [86] = 97, + [87] = 115, + [88] = 66, + [89] = 101, + [90] = 66, [91] = 5, - [92] = 65, - [93] = 97, - [94] = 87, - [95] = 65, - [96] = 112, + [92] = 66, + [93] = 101, + [94] = 91, + [95] = 66, + [96] = 116, [97] = 5, - [98] = 65, - [99] = 107, - [100] = 105, + [98] = 66, + [99] = 111, + [100] = 109, [101] = 5, - [102] = 88, - [103] = 88, - [104] = 88, - [105] = 89, - [106] = 65, - [107] = 111, - [108] = 65, - [109] = 97, - [110] = 88, - [111] = 88, - [112] = 104, - [113] = 93, - [114] = 102, - [115] = 65, + [102] = 92, + [103] = 92, + [104] = 92, + [105] = 93, + [106] = 66, + [107] = 115, + [108] = 66, + [109] = 101, + [110] = 92, + [111] = 92, + [112] = 108, + [113] = 97, + [114] = 106, + [115] = 66, [116] = 5, - [117] = 93, - [118] = 102, - [119] = 87, - [120] = 93, - [121] = 110, + [117] = 97, + [118] = 106, + [119] = 91, + [120] = 97, + [121] = 114, [122] = 5, - [123] = 93, - [124] = 107, - [125] = 105, + [123] = 97, + [124] = 111, + [125] = 109, [126] = 5, - [127] = 88, - [128] = 89, - [129] = 93, - [130] = 109, - [131] = 105, + [127] = 92, + [128] = 93, + [129] = 97, + [130] = 113, + [131] = 109, [132] = 5, - [133] = 88, - [134] = 89, - [135] = 87, - [136] = 88, - [137] = 108, + [133] = 92, + [134] = 93, + [135] = 91, + [136] = 92, + [137] = 112, [138] = 5, - [139] = 88, - [140] = 107, - [141] = 105, + [139] = 92, + [140] = 111, + [141] = 109, [142] = 5, - [143] = 88, - [144] = 89, - [145] = 88, - [146] = 104, - [147] = 93, - [148] = 102, - [149] = 88, - [150] = 88, - [151] = 104, - [152] = 93, - [153] = 102, - [154] = 93, - [155] = 93, - [156] = 103, - [157] = 103, - [158] = 88, - [159] = 106, - [160] = 89, - [161] = 88, - [162] = 106, - [163] = 89, - [164] = 93, - [165] = 106, - [166] = 89, - [167] = 93, - [168] = 103, - [169] = 65, - [170] = 103, - [171] = 65, - [172] = 106, - [173] = 89, - [174] = 65, - [175] = 65, - [176] = 93, + [143] = 92, + [144] = 93, + [145] = 92, + [146] = 108, + [147] = 97, + [148] = 106, + [149] = 92, + [150] = 92, + [151] = 108, + [152] = 97, + [153] = 106, + [154] = 97, + [155] = 97, + [156] = 107, + [157] = 107, + [158] = 92, + [159] = 110, + [160] = 93, + [161] = 92, + [162] = 110, + [163] = 93, + [164] = 97, + [165] = 110, + [166] = 93, + [167] = 97, + [168] = 107, + [169] = 66, + [170] = 107, + [171] = 66, + [172] = 110, + [173] = 93, + [174] = 66, + [175] = 66, + [176] = 97, [177] = 0, - [178] = 103, - [179] = 113, - [180] = 89, + [178] = 107, + [179] = 117, + [180] = 93, [181] = 0, - [182] = 64, - [183] = 89, - [184] = 88, - [185] = 95, - [186] = 100, - [187] = 96, - [188] = 88, - [189] = 88, - [190] = 89, + [182] = 65, + [183] = 93, + [184] = 92, + [185] = 99, + [186] = 104, + [187] = 100, + [188] = 92, + [189] = 92, + [190] = 93, [191] = 0, - [192] = 106, - [193] = 89, - [194] = 68, - [195] = 95, - [196] = 100, - [197] = 96, - [198] = 68, - [199] = 68, - [200] = 68, - [201] = 68, - [202] = 111, - [203] = 65, - [204] = 97, - [205] = 68, - [206] = 68, - [207] = 124, - [208] = 100, - [209] = 126, + [192] = 110, + [193] = 93, + [194] = 69, + [195] = 99, + [196] = 104, + [197] = 100, + [198] = 69, + [199] = 69, + [200] = 69, + [201] = 69, + [202] = 115, + [203] = 66, + [204] = 101, + [205] = 69, + [206] = 69, + [207] = 130, + [208] = 104, + [209] = 132, [210] = 0, [211] = 5, [212] = 5, [213] = 5, - [214] = 68, - [215] = 124, - [216] = 100, + [214] = 69, + [215] = 130, + [216] = 104, [217] = 5, - [218] = 68, - [219] = 124, - [220] = 87, - [221] = 64, - [222] = 115, - [223] = 115, - [224] = 85, + [218] = 69, + [219] = 130, + [220] = 91, + [221] = 65, + [222] = 119, + [223] = 119, + [224] = 89, [225] = 0, - [226] = 115, - [227] = 115, - [228] = 115, - [229] = 124, - [230] = 115, - [231] = 69, - [232] = 89, - [233] = 115, - [234] = 113, - [235] = 64, - [236] = 87, - [237] = 68, - [238] = 125, + [226] = 119, + [227] = 119, + [228] = 119, + [229] = 130, + [230] = 119, + [231] = 70, + [232] = 93, + [233] = 119, + [234] = 117, + [235] = 65, + [236] = 91, + [237] = 69, + [238] = 131, [239] = 5, - [240] = 68, - [241] = 107, - [242] = 105, + [240] = 69, + [241] = 111, + [242] = 109, [243] = 5, - [244] = 88, - [245] = 89, - [246] = 68, - [247] = 68, - [248] = 106, - [249] = 89, - [250] = 68, - [251] = 104, - [252] = 93, - [253] = 102, - [254] = 68, - [255] = 68, - [256] = 103, - [257] = 97, - [258] = 115, - [259] = 97, - [260] = 64, - [261] = 115, - [262] = 124, - [263] = 69, - [264] = 97, - [265] = 89, - [266] = 65, - [267] = 95, - [268] = 100, - [269] = 96, - [270] = 65, - [271] = 65, - [272] = 97, + [244] = 92, + [245] = 93, + [246] = 69, + [247] = 69, + [248] = 110, + [249] = 93, + [250] = 69, + [251] = 108, + [252] = 97, + [253] = 106, + [254] = 69, + [255] = 69, + [256] = 107, + [257] = 101, + [258] = 119, + [259] = 101, + [260] = 65, + [261] = 119, + [262] = 130, + [263] = 70, + [264] = 101, + [265] = 93, + [266] = 66, + [267] = 99, + [268] = 104, + [269] = 100, + [270] = 66, + [271] = 66, + [272] = 101, [273] = 0, [274] = 0, [275] = 5, [276] = 5, - [277] = 68, - [278] = 124, - [279] = 69, - [280] = 97, - [281] = 89, + [277] = 69, + [278] = 130, + [279] = 70, + [280] = 101, + [281] = 93, [282] = 0, - [283] = 95, - [284] = 100, - [285] = 96, + [283] = 99, + [284] = 104, + [285] = 100, [286] = 0, [287] = 5, [288] = 5, - [289] = 68, - [290] = 124, - [291] = 100, + [289] = 69, + [290] = 130, + [291] = 104, [292] = 5, - [293] = 68, - [294] = 124, - [295] = 100, - [296] = 126, + [293] = 69, + [294] = 130, + [295] = 104, + [296] = 132, [297] = 5, [298] = 5, - [299] = 68, - [300] = 124, - [301] = 100, + [299] = 69, + [300] = 130, + [301] = 104, [302] = 5, - [303] = 68, - [304] = 124, - [305] = 87, - [306] = 64, - [307] = 127, - [308] = 127, - [309] = 85, + [303] = 69, + [304] = 130, + [305] = 91, + [306] = 65, + [307] = 133, + [308] = 133, + [309] = 89, [310] = 0, - [311] = 127, - [312] = 127, - [313] = 127, - [314] = 124, - [315] = 127, - [316] = 69, - [317] = 89, - [318] = 127, - [319] = 113, - [320] = 64, - [321] = 97, - [322] = 127, - [323] = 97, - [324] = 127, - [325] = 124, - [326] = 87, - [327] = 64, - [328] = 124, - [329] = 124, - [330] = 85, + [311] = 133, + [312] = 133, + [313] = 133, + [314] = 130, + [315] = 133, + [316] = 70, + [317] = 93, + [318] = 133, + [319] = 117, + [320] = 65, + [321] = 101, + [322] = 133, + [323] = 101, + [324] = 133, + [325] = 130, + [326] = 91, + [327] = 65, + [328] = 130, + [329] = 130, + [330] = 89, [331] = 0, - [332] = 124, - [333] = 124, - [334] = 124, - [335] = 69, - [336] = 89, - [337] = 124, - [338] = 113, - [339] = 64, - [340] = 97, - [341] = 124, - [342] = 97, - [343] = 128, - [344] = 124, - [345] = 128, - [346] = 128, + [332] = 130, + [333] = 130, + [334] = 130, + [335] = 70, + [336] = 93, + [337] = 130, + [338] = 117, + [339] = 65, + [340] = 101, + [341] = 130, + [342] = 101, + [343] = 134, + [344] = 130, + [345] = 134, + [346] = 134, }; PARSE_TABLE = { @@ -1674,14 +1765,14 @@ PARSE_TABLE = { [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(333), [ts_aux_sym_repeat_helper1] = SHIFT(346), - [ts_aux_sym_token3] = SHIFT(335), + [ts_aux_sym_token1] = SHIFT(335), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_end] = REDUCE(ts_aux_sym_repeat_helper1, 0), [ts_builtin_sym_error] = SHIFT(339), }, [1] = { - [ts_aux_sym_token1] = SHIFT(2), + [ts_aux_sym_token3] = SHIFT(2), }, [2] = { @@ -1703,7 +1794,7 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(287), - [ts_aux_sym_token3] = SHIFT(42), + [ts_aux_sym_token1] = SHIFT(42), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(260), }, @@ -1711,18 +1802,18 @@ PARSE_TABLE = { [3] = { [ts_sym_formal_parameters] = SHIFT(4), [ts_sym_identifier] = SHIFT(284), - [ts_aux_sym_token1] = SHIFT(68), + [ts_aux_sym_token3] = SHIFT(68), }, [4] = { [ts_sym_statement_block] = SHIFT(5), - [ts_aux_sym_token3] = SHIFT(6), + [ts_aux_sym_token1] = SHIFT(6), }, [5] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_expression, 3), [ts_aux_sym_token11] = REDUCE(ts_sym_function_expression, 3), [ts_aux_sym_token12] = REDUCE(ts_sym_function_expression, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_expression, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_function_expression, 3), }, @@ -1752,14 +1843,14 @@ PARSE_TABLE = { [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(38), [ts_aux_sym_repeat_helper2] = SHIFT(281), - [ts_aux_sym_token3] = SHIFT(51), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper2, 0), + [ts_aux_sym_token1] = SHIFT(51), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 0), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(283), }, [7] = { - [ts_aux_sym_token1] = SHIFT(8), + [ts_aux_sym_token3] = SHIFT(8), }, [8] = { @@ -1781,7 +1872,7 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(275), - [ts_aux_sym_token3] = SHIFT(42), + [ts_aux_sym_token1] = SHIFT(42), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(260), }, @@ -1805,7 +1896,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_var_declaration, 3), [ts_sym_string] = REDUCE(ts_sym_var_declaration, 3), [ts_sym_true] = REDUCE(ts_sym_var_declaration, 3), - [ts_aux_sym_token3] = REDUCE(ts_sym_var_declaration, 3), + [ts_aux_sym_token1] = REDUCE(ts_sym_var_declaration, 3), [ts_aux_sym_token9] = REDUCE(ts_sym_var_declaration, 3), [ts_builtin_sym_error] = REDUCE(ts_sym_var_declaration, 3), }, @@ -1818,7 +1909,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym__terminator, 1), [ts_sym_string] = REDUCE(ts_sym__terminator, 1), [ts_sym_true] = REDUCE(ts_sym__terminator, 1), - [ts_aux_sym_token3] = REDUCE(ts_sym__terminator, 1), + [ts_aux_sym_token1] = REDUCE(ts_sym__terminator, 1), [ts_aux_sym_token9] = REDUCE(ts_sym__terminator, 1), [ts_builtin_sym_error] = REDUCE(ts_sym__terminator, 1), }, @@ -1846,28 +1937,28 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(16), [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), - [ts_aux_sym_token3] = SHIFT(42), + [ts_aux_sym_token1] = SHIFT(42), [ts_aux_sym_token9] = SHIFT(57), }, [15] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_literal, 1), [ts_aux_sym_token11] = REDUCE(ts_sym_literal, 1), [ts_aux_sym_token12] = REDUCE(ts_sym_literal, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_literal, 1), [ts_aux_sym_token7] = REDUCE(ts_sym_literal, 1), }, [16] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token11] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token12] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token7] = REDUCE(ts_sym_expression, 1), }, [17] = { - [ts_aux_sym_token1] = SHIFT(18), [ts_aux_sym_token11] = REDUCE(ts_sym_assignment, 3), [ts_aux_sym_token12] = REDUCE(ts_sym_assignment, 3), + [ts_aux_sym_token3] = SHIFT(18), [ts_aux_sym_token7] = SHIFT(36), }, @@ -1887,25 +1978,25 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(83), [ts_sym_string] = SHIFT(82), [ts_sym_true] = SHIFT(82), - [ts_aux_sym_token2] = SHIFT(274), - [ts_aux_sym_token3] = SHIFT(99), + [ts_aux_sym_token1] = SHIFT(99), + [ts_aux_sym_token4] = SHIFT(274), [ts_aux_sym_token9] = SHIFT(112), }, [19] = { [ts_sym_formal_parameters] = SHIFT(20), [ts_sym_identifier] = SHIFT(268), - [ts_aux_sym_token1] = SHIFT(68), + [ts_aux_sym_token3] = SHIFT(68), }, [20] = { [ts_sym_statement_block] = SHIFT(21), - [ts_aux_sym_token3] = SHIFT(22), + [ts_aux_sym_token1] = SHIFT(22), }, [21] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_expression, 3), - [ts_aux_sym_token2] = REDUCE(ts_sym_function_expression, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_expression, 3), + [ts_aux_sym_token4] = REDUCE(ts_sym_function_expression, 3), [ts_aux_sym_token6] = REDUCE(ts_sym_function_expression, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_function_expression, 3), }, @@ -1936,14 +2027,14 @@ PARSE_TABLE = { [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(38), [ts_aux_sym_repeat_helper2] = SHIFT(265), - [ts_aux_sym_token3] = SHIFT(51), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper2, 0), + [ts_aux_sym_token1] = SHIFT(51), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 0), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(267), }, [23] = { - [ts_aux_sym_token1] = SHIFT(24), + [ts_aux_sym_token3] = SHIFT(24), }, [24] = { @@ -1962,7 +2053,7 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(200), [ts_sym_string] = SHIFT(199), [ts_sym_true] = SHIFT(199), - [ts_aux_sym_token3] = SHIFT(241), + [ts_aux_sym_token1] = SHIFT(241), [ts_aux_sym_token9] = SHIFT(251), [ts_builtin_sym_error] = SHIFT(264), }, @@ -1970,17 +2061,17 @@ PARSE_TABLE = { [25] = { [ts_sym_formal_parameters] = SHIFT(26), [ts_sym_identifier] = SHIFT(196), - [ts_aux_sym_token1] = SHIFT(68), + [ts_aux_sym_token3] = SHIFT(68), }, [26] = { [ts_sym_statement_block] = SHIFT(27), - [ts_aux_sym_token3] = SHIFT(28), + [ts_aux_sym_token1] = SHIFT(28), }, [27] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_expression, 3), - [ts_aux_sym_token2] = REDUCE(ts_sym_function_expression, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_expression, 3), + [ts_aux_sym_token4] = REDUCE(ts_sym_function_expression, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_function_expression, 3), }, @@ -2010,8 +2101,8 @@ PARSE_TABLE = { [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(38), [ts_aux_sym_repeat_helper2] = SHIFT(193), - [ts_aux_sym_token3] = SHIFT(51), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper2, 0), + [ts_aux_sym_token1] = SHIFT(51), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 0), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(195), }, @@ -2038,8 +2129,8 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_var_declaration, 3), [ts_sym_string] = REDUCE(ts_sym_var_declaration, 3), [ts_sym_true] = REDUCE(ts_sym_var_declaration, 3), - [ts_aux_sym_token3] = REDUCE(ts_sym_var_declaration, 3), - [ts_aux_sym_token4] = REDUCE(ts_sym_var_declaration, 3), + [ts_aux_sym_token1] = REDUCE(ts_sym_var_declaration, 3), + [ts_aux_sym_token2] = REDUCE(ts_sym_var_declaration, 3), [ts_aux_sym_token9] = REDUCE(ts_sym_var_declaration, 3), [ts_builtin_sym_error] = REDUCE(ts_sym_var_declaration, 3), }, @@ -2055,8 +2146,8 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym__terminator, 1), [ts_sym_string] = REDUCE(ts_sym__terminator, 1), [ts_sym_true] = REDUCE(ts_sym__terminator, 1), - [ts_aux_sym_token3] = REDUCE(ts_sym__terminator, 1), - [ts_aux_sym_token4] = REDUCE(ts_sym__terminator, 1), + [ts_aux_sym_token1] = REDUCE(ts_sym__terminator, 1), + [ts_aux_sym_token2] = REDUCE(ts_sym__terminator, 1), [ts_aux_sym_token9] = REDUCE(ts_sym__terminator, 1), [ts_builtin_sym_error] = REDUCE(ts_sym__terminator, 1), }, @@ -2070,9 +2161,9 @@ PARSE_TABLE = { [34] = { [ts_sym__terminator] = SHIFT(35), - [ts_aux_sym_token1] = SHIFT(18), [ts_aux_sym_token11] = SHIFT(32), [ts_aux_sym_token12] = SHIFT(32), + [ts_aux_sym_token3] = SHIFT(18), [ts_aux_sym_token7] = SHIFT(36), }, @@ -2087,8 +2178,8 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_expression_statement, 2), [ts_sym_string] = REDUCE(ts_sym_expression_statement, 2), [ts_sym_true] = REDUCE(ts_sym_expression_statement, 2), - [ts_aux_sym_token3] = REDUCE(ts_sym_expression_statement, 2), - [ts_aux_sym_token4] = REDUCE(ts_sym_expression_statement, 2), + [ts_aux_sym_token1] = REDUCE(ts_sym_expression_statement, 2), + [ts_aux_sym_token2] = REDUCE(ts_sym_expression_statement, 2), [ts_aux_sym_token9] = REDUCE(ts_sym_expression_statement, 2), [ts_builtin_sym_error] = REDUCE(ts_sym_expression_statement, 2), }, @@ -2098,9 +2189,9 @@ PARSE_TABLE = { }, [37] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_property_access, 3), [ts_aux_sym_token11] = REDUCE(ts_sym_property_access, 3), [ts_aux_sym_token12] = REDUCE(ts_sym_property_access, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_property_access, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_property_access, 3), }, @@ -2115,16 +2206,16 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_statement, 1), [ts_sym_string] = REDUCE(ts_sym_statement, 1), [ts_sym_true] = REDUCE(ts_sym_statement, 1), - [ts_aux_sym_token3] = REDUCE(ts_sym_statement, 1), - [ts_aux_sym_token4] = REDUCE(ts_sym_statement, 1), + [ts_aux_sym_token1] = REDUCE(ts_sym_statement, 1), + [ts_aux_sym_token2] = REDUCE(ts_sym_statement, 1), [ts_aux_sym_token9] = REDUCE(ts_sym_statement, 1), [ts_builtin_sym_error] = REDUCE(ts_sym_statement, 1), }, [39] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token11] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token12] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token5] = SHIFT(40), [ts_aux_sym_token7] = REDUCE(ts_sym_expression, 1), }, @@ -2145,21 +2236,21 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(16), [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), - [ts_aux_sym_token3] = SHIFT(42), + [ts_aux_sym_token1] = SHIFT(42), [ts_aux_sym_token9] = SHIFT(57), }, [41] = { - [ts_aux_sym_token1] = SHIFT(18), [ts_aux_sym_token11] = REDUCE(ts_sym_assignment, 3), [ts_aux_sym_token12] = REDUCE(ts_sym_assignment, 3), + [ts_aux_sym_token3] = SHIFT(18), [ts_aux_sym_token7] = SHIFT(36), }, [42] = { [ts_sym_identifier] = SHIFT(43), [ts_sym_string] = SHIFT(43), - [ts_aux_sym_token4] = SHIFT(56), + [ts_aux_sym_token2] = SHIFT(56), [ts_builtin_sym_error] = SHIFT(192), }, @@ -2183,24 +2274,24 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(103), [ts_sym_string] = SHIFT(102), [ts_sym_true] = SHIFT(102), - [ts_aux_sym_token3] = SHIFT(140), + [ts_aux_sym_token1] = SHIFT(140), [ts_aux_sym_token9] = SHIFT(146), }, [45] = { [ts_sym_formal_parameters] = SHIFT(46), [ts_sym_identifier] = SHIFT(186), - [ts_aux_sym_token1] = SHIFT(68), + [ts_aux_sym_token3] = SHIFT(68), }, [46] = { [ts_sym_statement_block] = SHIFT(47), - [ts_aux_sym_token3] = SHIFT(48), + [ts_aux_sym_token1] = SHIFT(48), }, [47] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_expression, 3), - [ts_aux_sym_token4] = REDUCE(ts_sym_function_expression, 3), + [ts_aux_sym_token2] = REDUCE(ts_sym_function_expression, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_expression, 3), [ts_aux_sym_token6] = REDUCE(ts_sym_function_expression, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_function_expression, 3), }, @@ -2231,8 +2322,8 @@ PARSE_TABLE = { [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(38), [ts_aux_sym_repeat_helper2] = SHIFT(183), - [ts_aux_sym_token3] = SHIFT(51), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper2, 0), + [ts_aux_sym_token1] = SHIFT(51), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 0), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(185), }, @@ -2263,14 +2354,14 @@ PARSE_TABLE = { [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(38), [ts_aux_sym_repeat_helper2] = SHIFT(50), - [ts_aux_sym_token3] = SHIFT(51), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper2, 0), + [ts_aux_sym_token1] = SHIFT(51), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 0), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(182), }, [50] = { - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper2, 2), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 2), }, [51] = { @@ -2299,31 +2390,31 @@ PARSE_TABLE = { [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(38), [ts_aux_sym_repeat_helper2] = SHIFT(54), - [ts_aux_sym_token3] = SHIFT(51), - [ts_aux_sym_token4] = SHIFT(56), + [ts_aux_sym_token1] = SHIFT(51), + [ts_aux_sym_token2] = SHIFT(56), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(179), }, [52] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token11] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token12] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token5] = SHIFT(40), [ts_aux_sym_token7] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token8] = SHIFT(44), }, [53] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_literal, 1), [ts_aux_sym_token11] = REDUCE(ts_sym_literal, 1), [ts_aux_sym_token12] = REDUCE(ts_sym_literal, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_literal, 1), [ts_aux_sym_token7] = REDUCE(ts_sym_literal, 1), [ts_aux_sym_token8] = SHIFT(44), }, [54] = { - [ts_aux_sym_token4] = SHIFT(55), + [ts_aux_sym_token2] = SHIFT(55), }, [55] = { @@ -2337,16 +2428,16 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_statement_block, 3), [ts_sym_string] = REDUCE(ts_sym_statement_block, 3), [ts_sym_true] = REDUCE(ts_sym_statement_block, 3), - [ts_aux_sym_token3] = REDUCE(ts_sym_statement_block, 3), - [ts_aux_sym_token4] = REDUCE(ts_sym_statement_block, 3), + [ts_aux_sym_token1] = REDUCE(ts_sym_statement_block, 3), + [ts_aux_sym_token2] = REDUCE(ts_sym_statement_block, 3), [ts_aux_sym_token9] = REDUCE(ts_sym_statement_block, 3), [ts_builtin_sym_error] = REDUCE(ts_sym_statement_block, 3), }, [56] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_object, 2), [ts_aux_sym_token11] = REDUCE(ts_sym_object, 2), [ts_aux_sym_token12] = REDUCE(ts_sym_object, 2), + [ts_aux_sym_token3] = REDUCE(ts_sym_object, 2), [ts_aux_sym_token7] = REDUCE(ts_sym_object, 2), }, @@ -2366,8 +2457,8 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(77), [ts_sym_string] = SHIFT(76), [ts_sym_true] = SHIFT(76), + [ts_aux_sym_token1] = SHIFT(124), [ts_aux_sym_token10] = SHIFT(177), - [ts_aux_sym_token3] = SHIFT(124), [ts_aux_sym_token9] = SHIFT(151), [ts_builtin_sym_error] = SHIFT(178), }, @@ -2375,17 +2466,17 @@ PARSE_TABLE = { [58] = { [ts_sym_formal_parameters] = SHIFT(59), [ts_sym_identifier] = SHIFT(65), - [ts_aux_sym_token1] = SHIFT(68), + [ts_aux_sym_token3] = SHIFT(68), }, [59] = { [ts_sym_statement_block] = SHIFT(60), - [ts_aux_sym_token3] = SHIFT(61), + [ts_aux_sym_token1] = SHIFT(61), }, [60] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_expression, 3), [ts_aux_sym_token10] = REDUCE(ts_sym_function_expression, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_expression, 3), [ts_aux_sym_token6] = REDUCE(ts_sym_function_expression, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_function_expression, 3), }, @@ -2416,19 +2507,19 @@ PARSE_TABLE = { [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(38), [ts_aux_sym_repeat_helper2] = SHIFT(62), - [ts_aux_sym_token3] = SHIFT(51), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper2, 0), + [ts_aux_sym_token1] = SHIFT(51), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 0), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(64), }, [62] = { - [ts_aux_sym_token4] = SHIFT(63), + [ts_aux_sym_token2] = SHIFT(63), }, [63] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_statement_block, 3), [ts_aux_sym_token10] = REDUCE(ts_sym_statement_block, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_statement_block, 3), [ts_aux_sym_token6] = REDUCE(ts_sym_statement_block, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_statement_block, 3), }, @@ -2437,43 +2528,43 @@ PARSE_TABLE = { [ts_sym__terminator] = SHIFT(35), [ts_aux_sym_token11] = SHIFT(32), [ts_aux_sym_token12] = SHIFT(32), - [ts_aux_sym_token4] = SHIFT(63), + [ts_aux_sym_token2] = SHIFT(63), }, [65] = { [ts_sym_formal_parameters] = SHIFT(66), - [ts_aux_sym_token1] = SHIFT(68), + [ts_aux_sym_token3] = SHIFT(68), }, [66] = { [ts_sym_statement_block] = SHIFT(67), - [ts_aux_sym_token3] = SHIFT(61), + [ts_aux_sym_token1] = SHIFT(61), }, [67] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_expression, 4), [ts_aux_sym_token10] = REDUCE(ts_sym_function_expression, 4), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_expression, 4), [ts_aux_sym_token6] = REDUCE(ts_sym_function_expression, 4), [ts_aux_sym_token7] = REDUCE(ts_sym_function_expression, 4), }, [68] = { [ts_sym_identifier] = SHIFT(69), - [ts_aux_sym_token2] = SHIFT(75), + [ts_aux_sym_token4] = SHIFT(75), }, [69] = { [ts_aux_sym_repeat_helper4] = SHIFT(70), - [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper4, 0), + [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper4, 0), [ts_aux_sym_token6] = SHIFT(72), }, [70] = { - [ts_aux_sym_token2] = SHIFT(71), + [ts_aux_sym_token4] = SHIFT(71), }, [71] = { - [ts_aux_sym_token3] = REDUCE(ts_sym_formal_parameters, 4), + [ts_aux_sym_token1] = REDUCE(ts_sym_formal_parameters, 4), }, [72] = { @@ -2482,36 +2573,36 @@ PARSE_TABLE = { [73] = { [ts_aux_sym_repeat_helper4] = SHIFT(74), - [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper4, 0), + [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper4, 0), [ts_aux_sym_token6] = SHIFT(72), }, [74] = { - [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper4, 3), + [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper4, 3), }, [75] = { - [ts_aux_sym_token3] = REDUCE(ts_sym_formal_parameters, 2), + [ts_aux_sym_token1] = REDUCE(ts_sym_formal_parameters, 2), }, [76] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_literal, 1), [ts_aux_sym_token10] = REDUCE(ts_sym_literal, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_literal, 1), [ts_aux_sym_token6] = REDUCE(ts_sym_literal, 1), [ts_aux_sym_token7] = REDUCE(ts_sym_literal, 1), }, [77] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token10] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token6] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token7] = REDUCE(ts_sym_expression, 1), }, [78] = { [ts_aux_sym_repeat_helper6] = SHIFT(79), - [ts_aux_sym_token1] = SHIFT(81), [ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper6, 0), + [ts_aux_sym_token3] = SHIFT(81), [ts_aux_sym_token6] = SHIFT(116), [ts_aux_sym_token7] = SHIFT(119), }, @@ -2521,9 +2612,9 @@ PARSE_TABLE = { }, [80] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_array, 4), [ts_aux_sym_token11] = REDUCE(ts_sym_array, 4), [ts_aux_sym_token12] = REDUCE(ts_sym_array, 4), + [ts_aux_sym_token3] = REDUCE(ts_sym_array, 4), [ts_aux_sym_token7] = REDUCE(ts_sym_array, 4), }, @@ -2543,40 +2634,40 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(83), [ts_sym_string] = SHIFT(82), [ts_sym_true] = SHIFT(82), - [ts_aux_sym_token2] = SHIFT(176), - [ts_aux_sym_token3] = SHIFT(99), + [ts_aux_sym_token1] = SHIFT(99), + [ts_aux_sym_token4] = SHIFT(176), [ts_aux_sym_token9] = SHIFT(112), }, [82] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_literal, 1), - [ts_aux_sym_token2] = REDUCE(ts_sym_literal, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_literal, 1), + [ts_aux_sym_token4] = REDUCE(ts_sym_literal, 1), [ts_aux_sym_token6] = REDUCE(ts_sym_literal, 1), [ts_aux_sym_token7] = REDUCE(ts_sym_literal, 1), }, [83] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_expression, 1), - [ts_aux_sym_token2] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token4] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token6] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token7] = REDUCE(ts_sym_expression, 1), }, [84] = { [ts_aux_sym_repeat_helper3] = SHIFT(85), - [ts_aux_sym_token1] = SHIFT(87), - [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 0), + [ts_aux_sym_token3] = SHIFT(87), + [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper3, 0), [ts_aux_sym_token6] = SHIFT(91), [ts_aux_sym_token7] = SHIFT(94), }, [85] = { - [ts_aux_sym_token2] = SHIFT(86), + [ts_aux_sym_token4] = SHIFT(86), }, [86] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_call, 5), [ts_aux_sym_token10] = REDUCE(ts_sym_function_call, 5), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_call, 5), [ts_aux_sym_token6] = REDUCE(ts_sym_function_call, 5), [ts_aux_sym_token7] = REDUCE(ts_sym_function_call, 5), }, @@ -2597,26 +2688,26 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(83), [ts_sym_string] = SHIFT(82), [ts_sym_true] = SHIFT(82), - [ts_aux_sym_token2] = SHIFT(175), - [ts_aux_sym_token3] = SHIFT(99), + [ts_aux_sym_token1] = SHIFT(99), + [ts_aux_sym_token4] = SHIFT(175), [ts_aux_sym_token9] = SHIFT(112), }, [88] = { [ts_aux_sym_repeat_helper3] = SHIFT(89), - [ts_aux_sym_token1] = SHIFT(87), - [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 0), + [ts_aux_sym_token3] = SHIFT(87), + [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper3, 0), [ts_aux_sym_token6] = SHIFT(91), [ts_aux_sym_token7] = SHIFT(94), }, [89] = { - [ts_aux_sym_token2] = SHIFT(90), + [ts_aux_sym_token4] = SHIFT(90), }, [90] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_call, 5), - [ts_aux_sym_token2] = REDUCE(ts_sym_function_call, 5), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_call, 5), + [ts_aux_sym_token4] = REDUCE(ts_sym_function_call, 5), [ts_aux_sym_token6] = REDUCE(ts_sym_function_call, 5), [ts_aux_sym_token7] = REDUCE(ts_sym_function_call, 5), }, @@ -2637,20 +2728,20 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(83), [ts_sym_string] = SHIFT(82), [ts_sym_true] = SHIFT(82), - [ts_aux_sym_token3] = SHIFT(99), + [ts_aux_sym_token1] = SHIFT(99), [ts_aux_sym_token9] = SHIFT(112), }, [92] = { [ts_aux_sym_repeat_helper3] = SHIFT(93), - [ts_aux_sym_token1] = SHIFT(87), - [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 0), + [ts_aux_sym_token3] = SHIFT(87), + [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper3, 0), [ts_aux_sym_token6] = SHIFT(91), [ts_aux_sym_token7] = SHIFT(94), }, [93] = { - [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 3), + [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper3, 3), }, [94] = { @@ -2658,15 +2749,15 @@ PARSE_TABLE = { }, [95] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_property_access, 3), - [ts_aux_sym_token2] = REDUCE(ts_sym_property_access, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_property_access, 3), + [ts_aux_sym_token4] = REDUCE(ts_sym_property_access, 3), [ts_aux_sym_token6] = REDUCE(ts_sym_property_access, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_property_access, 3), }, [96] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_expression, 1), - [ts_aux_sym_token2] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token4] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token5] = SHIFT(97), [ts_aux_sym_token6] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token7] = REDUCE(ts_sym_expression, 1), @@ -2688,13 +2779,13 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(83), [ts_sym_string] = SHIFT(82), [ts_sym_true] = SHIFT(82), - [ts_aux_sym_token3] = SHIFT(99), + [ts_aux_sym_token1] = SHIFT(99), [ts_aux_sym_token9] = SHIFT(112), }, [98] = { - [ts_aux_sym_token1] = SHIFT(87), - [ts_aux_sym_token2] = REDUCE(ts_sym_assignment, 3), + [ts_aux_sym_token3] = SHIFT(87), + [ts_aux_sym_token4] = REDUCE(ts_sym_assignment, 3), [ts_aux_sym_token6] = REDUCE(ts_sym_assignment, 3), [ts_aux_sym_token7] = SHIFT(94), }, @@ -2702,7 +2793,7 @@ PARSE_TABLE = { [99] = { [ts_sym_identifier] = SHIFT(100), [ts_sym_string] = SHIFT(100), - [ts_aux_sym_token4] = SHIFT(171), + [ts_aux_sym_token2] = SHIFT(171), [ts_builtin_sym_error] = SHIFT(172), }, @@ -2726,39 +2817,39 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(103), [ts_sym_string] = SHIFT(102), [ts_sym_true] = SHIFT(102), - [ts_aux_sym_token3] = SHIFT(140), + [ts_aux_sym_token1] = SHIFT(140), [ts_aux_sym_token9] = SHIFT(146), }, [102] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_literal, 1), - [ts_aux_sym_token4] = REDUCE(ts_sym_literal, 1), + [ts_aux_sym_token2] = REDUCE(ts_sym_literal, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_literal, 1), [ts_aux_sym_token6] = REDUCE(ts_sym_literal, 1), [ts_aux_sym_token7] = REDUCE(ts_sym_literal, 1), }, [103] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_expression, 1), - [ts_aux_sym_token4] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token2] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token6] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token7] = REDUCE(ts_sym_expression, 1), }, [104] = { [ts_aux_sym_repeat_helper5] = SHIFT(105), - [ts_aux_sym_token1] = SHIFT(107), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token3] = SHIFT(107), [ts_aux_sym_token6] = SHIFT(130), [ts_aux_sym_token7] = SHIFT(135), }, [105] = { - [ts_aux_sym_token4] = SHIFT(106), + [ts_aux_sym_token2] = SHIFT(106), }, [106] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_object, 6), - [ts_aux_sym_token2] = REDUCE(ts_sym_object, 6), + [ts_aux_sym_token3] = REDUCE(ts_sym_object, 6), + [ts_aux_sym_token4] = REDUCE(ts_sym_object, 6), [ts_aux_sym_token6] = REDUCE(ts_sym_object, 6), [ts_aux_sym_token7] = REDUCE(ts_sym_object, 6), }, @@ -2779,33 +2870,33 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(83), [ts_sym_string] = SHIFT(82), [ts_sym_true] = SHIFT(82), - [ts_aux_sym_token2] = SHIFT(111), - [ts_aux_sym_token3] = SHIFT(99), + [ts_aux_sym_token1] = SHIFT(99), + [ts_aux_sym_token4] = SHIFT(111), [ts_aux_sym_token9] = SHIFT(112), }, [108] = { [ts_aux_sym_repeat_helper3] = SHIFT(109), - [ts_aux_sym_token1] = SHIFT(87), - [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 0), + [ts_aux_sym_token3] = SHIFT(87), + [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper3, 0), [ts_aux_sym_token6] = SHIFT(91), [ts_aux_sym_token7] = SHIFT(94), }, [109] = { - [ts_aux_sym_token2] = SHIFT(110), + [ts_aux_sym_token4] = SHIFT(110), }, [110] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_call, 5), - [ts_aux_sym_token4] = REDUCE(ts_sym_function_call, 5), + [ts_aux_sym_token2] = REDUCE(ts_sym_function_call, 5), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_call, 5), [ts_aux_sym_token6] = REDUCE(ts_sym_function_call, 5), [ts_aux_sym_token7] = REDUCE(ts_sym_function_call, 5), }, [111] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_call, 3), - [ts_aux_sym_token4] = REDUCE(ts_sym_function_call, 3), + [ts_aux_sym_token2] = REDUCE(ts_sym_function_call, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_call, 3), [ts_aux_sym_token6] = REDUCE(ts_sym_function_call, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_function_call, 3), }, @@ -2826,16 +2917,16 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(77), [ts_sym_string] = SHIFT(76), [ts_sym_true] = SHIFT(76), + [ts_aux_sym_token1] = SHIFT(124), [ts_aux_sym_token10] = SHIFT(169), - [ts_aux_sym_token3] = SHIFT(124), [ts_aux_sym_token9] = SHIFT(151), [ts_builtin_sym_error] = SHIFT(170), }, [113] = { [ts_aux_sym_repeat_helper6] = SHIFT(114), - [ts_aux_sym_token1] = SHIFT(81), [ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper6, 0), + [ts_aux_sym_token3] = SHIFT(81), [ts_aux_sym_token6] = SHIFT(116), [ts_aux_sym_token7] = SHIFT(119), }, @@ -2845,8 +2936,8 @@ PARSE_TABLE = { }, [115] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_array, 4), - [ts_aux_sym_token2] = REDUCE(ts_sym_array, 4), + [ts_aux_sym_token3] = REDUCE(ts_sym_array, 4), + [ts_aux_sym_token4] = REDUCE(ts_sym_array, 4), [ts_aux_sym_token6] = REDUCE(ts_sym_array, 4), [ts_aux_sym_token7] = REDUCE(ts_sym_array, 4), }, @@ -2867,15 +2958,15 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(77), [ts_sym_string] = SHIFT(76), [ts_sym_true] = SHIFT(76), - [ts_aux_sym_token3] = SHIFT(124), + [ts_aux_sym_token1] = SHIFT(124), [ts_aux_sym_token9] = SHIFT(151), [ts_builtin_sym_error] = SHIFT(168), }, [117] = { [ts_aux_sym_repeat_helper6] = SHIFT(118), - [ts_aux_sym_token1] = SHIFT(81), [ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper6, 0), + [ts_aux_sym_token3] = SHIFT(81), [ts_aux_sym_token6] = SHIFT(116), [ts_aux_sym_token7] = SHIFT(119), }, @@ -2889,15 +2980,15 @@ PARSE_TABLE = { }, [120] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_property_access, 3), [ts_aux_sym_token10] = REDUCE(ts_sym_property_access, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_property_access, 3), [ts_aux_sym_token6] = REDUCE(ts_sym_property_access, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_property_access, 3), }, [121] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token10] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token5] = SHIFT(122), [ts_aux_sym_token6] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token7] = REDUCE(ts_sym_expression, 1), @@ -2919,13 +3010,13 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(77), [ts_sym_string] = SHIFT(76), [ts_sym_true] = SHIFT(76), - [ts_aux_sym_token3] = SHIFT(124), + [ts_aux_sym_token1] = SHIFT(124), [ts_aux_sym_token9] = SHIFT(151), }, [123] = { - [ts_aux_sym_token1] = SHIFT(81), [ts_aux_sym_token10] = REDUCE(ts_sym_assignment, 3), + [ts_aux_sym_token3] = SHIFT(81), [ts_aux_sym_token6] = REDUCE(ts_sym_assignment, 3), [ts_aux_sym_token7] = SHIFT(119), }, @@ -2933,7 +3024,7 @@ PARSE_TABLE = { [124] = { [ts_sym_identifier] = SHIFT(125), [ts_sym_string] = SHIFT(125), - [ts_aux_sym_token4] = SHIFT(164), + [ts_aux_sym_token2] = SHIFT(164), [ts_builtin_sym_error] = SHIFT(165), }, @@ -2957,25 +3048,25 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(103), [ts_sym_string] = SHIFT(102), [ts_sym_true] = SHIFT(102), - [ts_aux_sym_token3] = SHIFT(140), + [ts_aux_sym_token1] = SHIFT(140), [ts_aux_sym_token9] = SHIFT(146), }, [127] = { [ts_aux_sym_repeat_helper5] = SHIFT(128), - [ts_aux_sym_token1] = SHIFT(107), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token3] = SHIFT(107), [ts_aux_sym_token6] = SHIFT(130), [ts_aux_sym_token7] = SHIFT(135), }, [128] = { - [ts_aux_sym_token4] = SHIFT(129), + [ts_aux_sym_token2] = SHIFT(129), }, [129] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_object, 6), [ts_aux_sym_token10] = REDUCE(ts_sym_object, 6), + [ts_aux_sym_token3] = REDUCE(ts_sym_object, 6), [ts_aux_sym_token6] = REDUCE(ts_sym_object, 6), [ts_aux_sym_token7] = REDUCE(ts_sym_object, 6), }, @@ -3006,20 +3097,20 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(103), [ts_sym_string] = SHIFT(102), [ts_sym_true] = SHIFT(102), - [ts_aux_sym_token3] = SHIFT(140), + [ts_aux_sym_token1] = SHIFT(140), [ts_aux_sym_token9] = SHIFT(146), }, [133] = { [ts_aux_sym_repeat_helper5] = SHIFT(134), - [ts_aux_sym_token1] = SHIFT(107), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token3] = SHIFT(107), [ts_aux_sym_token6] = SHIFT(130), [ts_aux_sym_token7] = SHIFT(135), }, [134] = { - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 5), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper5, 5), }, [135] = { @@ -3027,15 +3118,15 @@ PARSE_TABLE = { }, [136] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_property_access, 3), - [ts_aux_sym_token4] = REDUCE(ts_sym_property_access, 3), + [ts_aux_sym_token2] = REDUCE(ts_sym_property_access, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_property_access, 3), [ts_aux_sym_token6] = REDUCE(ts_sym_property_access, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_property_access, 3), }, [137] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_expression, 1), - [ts_aux_sym_token4] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token2] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token5] = SHIFT(138), [ts_aux_sym_token6] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token7] = REDUCE(ts_sym_expression, 1), @@ -3057,13 +3148,13 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(103), [ts_sym_string] = SHIFT(102), [ts_sym_true] = SHIFT(102), - [ts_aux_sym_token3] = SHIFT(140), + [ts_aux_sym_token1] = SHIFT(140), [ts_aux_sym_token9] = SHIFT(146), }, [139] = { - [ts_aux_sym_token1] = SHIFT(107), - [ts_aux_sym_token4] = REDUCE(ts_sym_assignment, 3), + [ts_aux_sym_token2] = REDUCE(ts_sym_assignment, 3), + [ts_aux_sym_token3] = SHIFT(107), [ts_aux_sym_token6] = REDUCE(ts_sym_assignment, 3), [ts_aux_sym_token7] = SHIFT(135), }, @@ -3071,7 +3162,7 @@ PARSE_TABLE = { [140] = { [ts_sym_identifier] = SHIFT(141), [ts_sym_string] = SHIFT(141), - [ts_aux_sym_token4] = SHIFT(158), + [ts_aux_sym_token2] = SHIFT(158), [ts_builtin_sym_error] = SHIFT(159), }, @@ -3095,25 +3186,25 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(103), [ts_sym_string] = SHIFT(102), [ts_sym_true] = SHIFT(102), - [ts_aux_sym_token3] = SHIFT(140), + [ts_aux_sym_token1] = SHIFT(140), [ts_aux_sym_token9] = SHIFT(146), }, [143] = { [ts_aux_sym_repeat_helper5] = SHIFT(144), - [ts_aux_sym_token1] = SHIFT(107), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token3] = SHIFT(107), [ts_aux_sym_token6] = SHIFT(130), [ts_aux_sym_token7] = SHIFT(135), }, [144] = { - [ts_aux_sym_token4] = SHIFT(145), + [ts_aux_sym_token2] = SHIFT(145), }, [145] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_object, 6), - [ts_aux_sym_token4] = REDUCE(ts_sym_object, 6), + [ts_aux_sym_token2] = REDUCE(ts_sym_object, 6), + [ts_aux_sym_token3] = REDUCE(ts_sym_object, 6), [ts_aux_sym_token6] = REDUCE(ts_sym_object, 6), [ts_aux_sym_token7] = REDUCE(ts_sym_object, 6), }, @@ -3134,16 +3225,16 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(77), [ts_sym_string] = SHIFT(76), [ts_sym_true] = SHIFT(76), + [ts_aux_sym_token1] = SHIFT(124), [ts_aux_sym_token10] = SHIFT(150), - [ts_aux_sym_token3] = SHIFT(124), [ts_aux_sym_token9] = SHIFT(151), [ts_builtin_sym_error] = SHIFT(157), }, [147] = { [ts_aux_sym_repeat_helper6] = SHIFT(148), - [ts_aux_sym_token1] = SHIFT(81), [ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper6, 0), + [ts_aux_sym_token3] = SHIFT(81), [ts_aux_sym_token6] = SHIFT(116), [ts_aux_sym_token7] = SHIFT(119), }, @@ -3153,15 +3244,15 @@ PARSE_TABLE = { }, [149] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_array, 4), - [ts_aux_sym_token4] = REDUCE(ts_sym_array, 4), + [ts_aux_sym_token2] = REDUCE(ts_sym_array, 4), + [ts_aux_sym_token3] = REDUCE(ts_sym_array, 4), [ts_aux_sym_token6] = REDUCE(ts_sym_array, 4), [ts_aux_sym_token7] = REDUCE(ts_sym_array, 4), }, [150] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_array, 2), - [ts_aux_sym_token4] = REDUCE(ts_sym_array, 2), + [ts_aux_sym_token2] = REDUCE(ts_sym_array, 2), + [ts_aux_sym_token3] = REDUCE(ts_sym_array, 2), [ts_aux_sym_token6] = REDUCE(ts_sym_array, 2), [ts_aux_sym_token7] = REDUCE(ts_sym_array, 2), }, @@ -3182,16 +3273,16 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(77), [ts_sym_string] = SHIFT(76), [ts_sym_true] = SHIFT(76), + [ts_aux_sym_token1] = SHIFT(124), [ts_aux_sym_token10] = SHIFT(155), - [ts_aux_sym_token3] = SHIFT(124), [ts_aux_sym_token9] = SHIFT(151), [ts_builtin_sym_error] = SHIFT(156), }, [152] = { [ts_aux_sym_repeat_helper6] = SHIFT(153), - [ts_aux_sym_token1] = SHIFT(81), [ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper6, 0), + [ts_aux_sym_token3] = SHIFT(81), [ts_aux_sym_token6] = SHIFT(116), [ts_aux_sym_token7] = SHIFT(119), }, @@ -3201,15 +3292,15 @@ PARSE_TABLE = { }, [154] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_array, 4), [ts_aux_sym_token10] = REDUCE(ts_sym_array, 4), + [ts_aux_sym_token3] = REDUCE(ts_sym_array, 4), [ts_aux_sym_token6] = REDUCE(ts_sym_array, 4), [ts_aux_sym_token7] = REDUCE(ts_sym_array, 4), }, [155] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_array, 2), [ts_aux_sym_token10] = REDUCE(ts_sym_array, 2), + [ts_aux_sym_token3] = REDUCE(ts_sym_array, 2), [ts_aux_sym_token6] = REDUCE(ts_sym_array, 2), [ts_aux_sym_token7] = REDUCE(ts_sym_array, 2), }, @@ -3227,59 +3318,59 @@ PARSE_TABLE = { }, [158] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_object, 2), - [ts_aux_sym_token4] = REDUCE(ts_sym_object, 2), + [ts_aux_sym_token2] = REDUCE(ts_sym_object, 2), + [ts_aux_sym_token3] = REDUCE(ts_sym_object, 2), [ts_aux_sym_token6] = REDUCE(ts_sym_object, 2), [ts_aux_sym_token7] = REDUCE(ts_sym_object, 2), }, [159] = { [ts_aux_sym_repeat_helper5] = SHIFT(160), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper5, 0), [ts_aux_sym_token6] = SHIFT(130), }, [160] = { - [ts_aux_sym_token4] = SHIFT(161), + [ts_aux_sym_token2] = SHIFT(161), }, [161] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_object, 4), - [ts_aux_sym_token4] = REDUCE(ts_sym_object, 4), + [ts_aux_sym_token2] = REDUCE(ts_sym_object, 4), + [ts_aux_sym_token3] = REDUCE(ts_sym_object, 4), [ts_aux_sym_token6] = REDUCE(ts_sym_object, 4), [ts_aux_sym_token7] = REDUCE(ts_sym_object, 4), }, [162] = { [ts_aux_sym_repeat_helper5] = SHIFT(163), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper5, 0), [ts_aux_sym_token6] = SHIFT(130), }, [163] = { - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 3), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper5, 3), }, [164] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_object, 2), [ts_aux_sym_token10] = REDUCE(ts_sym_object, 2), + [ts_aux_sym_token3] = REDUCE(ts_sym_object, 2), [ts_aux_sym_token6] = REDUCE(ts_sym_object, 2), [ts_aux_sym_token7] = REDUCE(ts_sym_object, 2), }, [165] = { [ts_aux_sym_repeat_helper5] = SHIFT(166), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper5, 0), [ts_aux_sym_token6] = SHIFT(130), }, [166] = { - [ts_aux_sym_token4] = SHIFT(167), + [ts_aux_sym_token2] = SHIFT(167), }, [167] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_object, 4), [ts_aux_sym_token10] = REDUCE(ts_sym_object, 4), + [ts_aux_sym_token3] = REDUCE(ts_sym_object, 4), [ts_aux_sym_token6] = REDUCE(ts_sym_object, 4), [ts_aux_sym_token7] = REDUCE(ts_sym_object, 4), }, @@ -3291,8 +3382,8 @@ PARSE_TABLE = { }, [169] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_array, 2), - [ts_aux_sym_token2] = REDUCE(ts_sym_array, 2), + [ts_aux_sym_token3] = REDUCE(ts_sym_array, 2), + [ts_aux_sym_token4] = REDUCE(ts_sym_array, 2), [ts_aux_sym_token6] = REDUCE(ts_sym_array, 2), [ts_aux_sym_token7] = REDUCE(ts_sym_array, 2), }, @@ -3304,47 +3395,47 @@ PARSE_TABLE = { }, [171] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_object, 2), - [ts_aux_sym_token2] = REDUCE(ts_sym_object, 2), + [ts_aux_sym_token3] = REDUCE(ts_sym_object, 2), + [ts_aux_sym_token4] = REDUCE(ts_sym_object, 2), [ts_aux_sym_token6] = REDUCE(ts_sym_object, 2), [ts_aux_sym_token7] = REDUCE(ts_sym_object, 2), }, [172] = { [ts_aux_sym_repeat_helper5] = SHIFT(173), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper5, 0), [ts_aux_sym_token6] = SHIFT(130), }, [173] = { - [ts_aux_sym_token4] = SHIFT(174), + [ts_aux_sym_token2] = SHIFT(174), }, [174] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_object, 4), - [ts_aux_sym_token2] = REDUCE(ts_sym_object, 4), + [ts_aux_sym_token3] = REDUCE(ts_sym_object, 4), + [ts_aux_sym_token4] = REDUCE(ts_sym_object, 4), [ts_aux_sym_token6] = REDUCE(ts_sym_object, 4), [ts_aux_sym_token7] = REDUCE(ts_sym_object, 4), }, [175] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_call, 3), - [ts_aux_sym_token2] = REDUCE(ts_sym_function_call, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_call, 3), + [ts_aux_sym_token4] = REDUCE(ts_sym_function_call, 3), [ts_aux_sym_token6] = REDUCE(ts_sym_function_call, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_function_call, 3), }, [176] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_call, 3), [ts_aux_sym_token10] = REDUCE(ts_sym_function_call, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_call, 3), [ts_aux_sym_token6] = REDUCE(ts_sym_function_call, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_function_call, 3), }, [177] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_array, 2), [ts_aux_sym_token11] = REDUCE(ts_sym_array, 2), [ts_aux_sym_token12] = REDUCE(ts_sym_array, 2), + [ts_aux_sym_token3] = REDUCE(ts_sym_array, 2), [ts_aux_sym_token7] = REDUCE(ts_sym_array, 2), }, @@ -3359,18 +3450,18 @@ PARSE_TABLE = { [ts_aux_sym_repeat_helper5] = SHIFT(180), [ts_aux_sym_token11] = SHIFT(32), [ts_aux_sym_token12] = SHIFT(32), - [ts_aux_sym_token4] = SHIFT(55), + [ts_aux_sym_token2] = SHIFT(55), [ts_aux_sym_token6] = SHIFT(130), }, [180] = { - [ts_aux_sym_token4] = SHIFT(181), + [ts_aux_sym_token2] = SHIFT(181), }, [181] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_object, 4), [ts_aux_sym_token11] = REDUCE(ts_sym_object, 4), [ts_aux_sym_token12] = REDUCE(ts_sym_object, 4), + [ts_aux_sym_token3] = REDUCE(ts_sym_object, 4), [ts_aux_sym_token7] = REDUCE(ts_sym_object, 4), }, @@ -3381,12 +3472,12 @@ PARSE_TABLE = { }, [183] = { - [ts_aux_sym_token4] = SHIFT(184), + [ts_aux_sym_token2] = SHIFT(184), }, [184] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_statement_block, 3), - [ts_aux_sym_token4] = REDUCE(ts_sym_statement_block, 3), + [ts_aux_sym_token2] = REDUCE(ts_sym_statement_block, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_statement_block, 3), [ts_aux_sym_token6] = REDUCE(ts_sym_statement_block, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_statement_block, 3), }, @@ -3395,58 +3486,58 @@ PARSE_TABLE = { [ts_sym__terminator] = SHIFT(35), [ts_aux_sym_token11] = SHIFT(32), [ts_aux_sym_token12] = SHIFT(32), - [ts_aux_sym_token4] = SHIFT(184), + [ts_aux_sym_token2] = SHIFT(184), }, [186] = { [ts_sym_formal_parameters] = SHIFT(187), - [ts_aux_sym_token1] = SHIFT(68), + [ts_aux_sym_token3] = SHIFT(68), }, [187] = { [ts_sym_statement_block] = SHIFT(188), - [ts_aux_sym_token3] = SHIFT(48), + [ts_aux_sym_token1] = SHIFT(48), }, [188] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_expression, 4), - [ts_aux_sym_token4] = REDUCE(ts_sym_function_expression, 4), + [ts_aux_sym_token2] = REDUCE(ts_sym_function_expression, 4), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_expression, 4), [ts_aux_sym_token6] = REDUCE(ts_sym_function_expression, 4), [ts_aux_sym_token7] = REDUCE(ts_sym_function_expression, 4), }, [189] = { [ts_aux_sym_repeat_helper5] = SHIFT(190), - [ts_aux_sym_token1] = SHIFT(107), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token3] = SHIFT(107), [ts_aux_sym_token6] = SHIFT(130), [ts_aux_sym_token7] = SHIFT(135), }, [190] = { - [ts_aux_sym_token4] = SHIFT(191), + [ts_aux_sym_token2] = SHIFT(191), }, [191] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_object, 6), [ts_aux_sym_token11] = REDUCE(ts_sym_object, 6), [ts_aux_sym_token12] = REDUCE(ts_sym_object, 6), + [ts_aux_sym_token3] = REDUCE(ts_sym_object, 6), [ts_aux_sym_token7] = REDUCE(ts_sym_object, 6), }, [192] = { [ts_aux_sym_repeat_helper5] = SHIFT(180), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper5, 0), [ts_aux_sym_token6] = SHIFT(130), }, [193] = { - [ts_aux_sym_token4] = SHIFT(194), + [ts_aux_sym_token2] = SHIFT(194), }, [194] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_statement_block, 3), - [ts_aux_sym_token2] = REDUCE(ts_sym_statement_block, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_statement_block, 3), + [ts_aux_sym_token4] = REDUCE(ts_sym_statement_block, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_statement_block, 3), }, @@ -3454,40 +3545,40 @@ PARSE_TABLE = { [ts_sym__terminator] = SHIFT(35), [ts_aux_sym_token11] = SHIFT(32), [ts_aux_sym_token12] = SHIFT(32), - [ts_aux_sym_token4] = SHIFT(194), + [ts_aux_sym_token2] = SHIFT(194), }, [196] = { [ts_sym_formal_parameters] = SHIFT(197), - [ts_aux_sym_token1] = SHIFT(68), + [ts_aux_sym_token3] = SHIFT(68), }, [197] = { [ts_sym_statement_block] = SHIFT(198), - [ts_aux_sym_token3] = SHIFT(28), + [ts_aux_sym_token1] = SHIFT(28), }, [198] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_expression, 4), - [ts_aux_sym_token2] = REDUCE(ts_sym_function_expression, 4), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_expression, 4), + [ts_aux_sym_token4] = REDUCE(ts_sym_function_expression, 4), [ts_aux_sym_token7] = REDUCE(ts_sym_function_expression, 4), }, [199] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_literal, 1), - [ts_aux_sym_token2] = REDUCE(ts_sym_literal, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_literal, 1), + [ts_aux_sym_token4] = REDUCE(ts_sym_literal, 1), [ts_aux_sym_token7] = REDUCE(ts_sym_literal, 1), }, [200] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_expression, 1), - [ts_aux_sym_token2] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token4] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token7] = REDUCE(ts_sym_expression, 1), }, [201] = { - [ts_aux_sym_token1] = SHIFT(202), - [ts_aux_sym_token2] = SHIFT(207), + [ts_aux_sym_token3] = SHIFT(202), + [ts_aux_sym_token4] = SHIFT(207), [ts_aux_sym_token7] = SHIFT(236), }, @@ -3507,32 +3598,32 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(83), [ts_sym_string] = SHIFT(82), [ts_sym_true] = SHIFT(82), - [ts_aux_sym_token2] = SHIFT(206), - [ts_aux_sym_token3] = SHIFT(99), + [ts_aux_sym_token1] = SHIFT(99), + [ts_aux_sym_token4] = SHIFT(206), [ts_aux_sym_token9] = SHIFT(112), }, [203] = { [ts_aux_sym_repeat_helper3] = SHIFT(204), - [ts_aux_sym_token1] = SHIFT(87), - [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 0), + [ts_aux_sym_token3] = SHIFT(87), + [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper3, 0), [ts_aux_sym_token6] = SHIFT(91), [ts_aux_sym_token7] = SHIFT(94), }, [204] = { - [ts_aux_sym_token2] = SHIFT(205), + [ts_aux_sym_token4] = SHIFT(205), }, [205] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_call, 5), - [ts_aux_sym_token2] = REDUCE(ts_sym_function_call, 5), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_call, 5), + [ts_aux_sym_token4] = REDUCE(ts_sym_function_call, 5), [ts_aux_sym_token7] = REDUCE(ts_sym_function_call, 5), }, [206] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_call, 3), - [ts_aux_sym_token2] = REDUCE(ts_sym_function_call, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_call, 3), + [ts_aux_sym_token4] = REDUCE(ts_sym_function_call, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_function_call, 3), }, @@ -3561,13 +3652,13 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(227), - [ts_aux_sym_token3] = SHIFT(231), + [ts_aux_sym_token1] = SHIFT(231), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(235), }, [208] = { - [ts_aux_sym_token1] = SHIFT(209), + [ts_aux_sym_token3] = SHIFT(209), }, [209] = { @@ -3589,16 +3680,16 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(212), - [ts_aux_sym_token3] = SHIFT(42), + [ts_aux_sym_token1] = SHIFT(42), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(260), }, [210] = { [ts_sym__terminator] = SHIFT(211), - [ts_aux_sym_token1] = SHIFT(18), [ts_aux_sym_token11] = SHIFT(12), [ts_aux_sym_token12] = SHIFT(12), + [ts_aux_sym_token3] = SHIFT(18), [ts_aux_sym_token7] = SHIFT(36), }, @@ -3610,7 +3701,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_expression_statement, 2), [ts_sym_string] = REDUCE(ts_sym_expression_statement, 2), [ts_sym_true] = REDUCE(ts_sym_expression_statement, 2), - [ts_aux_sym_token3] = REDUCE(ts_sym_expression_statement, 2), + [ts_aux_sym_token1] = REDUCE(ts_sym_expression_statement, 2), [ts_aux_sym_token9] = REDUCE(ts_sym_expression_statement, 2), [ts_builtin_sym_error] = REDUCE(ts_sym_expression_statement, 2), }, @@ -3632,7 +3723,7 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(16), [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), - [ts_aux_sym_token3] = SHIFT(42), + [ts_aux_sym_token1] = SHIFT(42), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(260), }, @@ -3653,14 +3744,14 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(200), [ts_sym_string] = SHIFT(199), [ts_sym_true] = SHIFT(199), - [ts_aux_sym_token3] = SHIFT(241), + [ts_aux_sym_token1] = SHIFT(241), [ts_aux_sym_token9] = SHIFT(251), [ts_builtin_sym_error] = SHIFT(259), }, [214] = { - [ts_aux_sym_token1] = SHIFT(202), - [ts_aux_sym_token2] = SHIFT(215), + [ts_aux_sym_token3] = SHIFT(202), + [ts_aux_sym_token4] = SHIFT(215), [ts_aux_sym_token7] = SHIFT(236), }, @@ -3689,13 +3780,13 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(227), - [ts_aux_sym_token3] = SHIFT(231), + [ts_aux_sym_token1] = SHIFT(231), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(235), }, [216] = { - [ts_aux_sym_token1] = SHIFT(217), + [ts_aux_sym_token3] = SHIFT(217), }, [217] = { @@ -3714,14 +3805,14 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(200), [ts_sym_string] = SHIFT(199), [ts_sym_true] = SHIFT(199), - [ts_aux_sym_token3] = SHIFT(241), + [ts_aux_sym_token1] = SHIFT(241), [ts_aux_sym_token9] = SHIFT(251), [ts_builtin_sym_error] = SHIFT(257), }, [218] = { - [ts_aux_sym_token1] = SHIFT(202), - [ts_aux_sym_token2] = SHIFT(219), + [ts_aux_sym_token3] = SHIFT(202), + [ts_aux_sym_token4] = SHIFT(219), [ts_aux_sym_token7] = SHIFT(236), }, @@ -3750,7 +3841,7 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(227), - [ts_aux_sym_token3] = SHIFT(231), + [ts_aux_sym_token1] = SHIFT(231), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(235), }, @@ -3778,8 +3869,8 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_var_declaration, 3), [ts_sym_string] = REDUCE(ts_sym_var_declaration, 3), [ts_sym_true] = REDUCE(ts_sym_var_declaration, 3), - [ts_aux_sym_token3] = REDUCE(ts_sym_var_declaration, 3), - [ts_aux_sym_token4] = REDUCE(ts_sym_var_declaration, 3), + [ts_aux_sym_token1] = REDUCE(ts_sym_var_declaration, 3), + [ts_aux_sym_token2] = REDUCE(ts_sym_var_declaration, 3), [ts_aux_sym_token9] = REDUCE(ts_sym_var_declaration, 3), [ts_builtin_sym_error] = REDUCE(ts_sym_var_declaration, 3), }, @@ -3796,8 +3887,8 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym__terminator, 1), [ts_sym_string] = REDUCE(ts_sym__terminator, 1), [ts_sym_true] = REDUCE(ts_sym__terminator, 1), - [ts_aux_sym_token3] = REDUCE(ts_sym__terminator, 1), - [ts_aux_sym_token4] = REDUCE(ts_sym__terminator, 1), + [ts_aux_sym_token1] = REDUCE(ts_sym__terminator, 1), + [ts_aux_sym_token2] = REDUCE(ts_sym__terminator, 1), [ts_aux_sym_token9] = REDUCE(ts_sym__terminator, 1), [ts_builtin_sym_error] = REDUCE(ts_sym__terminator, 1), }, @@ -3811,9 +3902,9 @@ PARSE_TABLE = { [225] = { [ts_sym__terminator] = SHIFT(226), - [ts_aux_sym_token1] = SHIFT(18), [ts_aux_sym_token11] = SHIFT(223), [ts_aux_sym_token12] = SHIFT(223), + [ts_aux_sym_token3] = SHIFT(18), [ts_aux_sym_token7] = SHIFT(36), }, @@ -3829,8 +3920,8 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_expression_statement, 2), [ts_sym_string] = REDUCE(ts_sym_expression_statement, 2), [ts_sym_true] = REDUCE(ts_sym_expression_statement, 2), - [ts_aux_sym_token3] = REDUCE(ts_sym_expression_statement, 2), - [ts_aux_sym_token4] = REDUCE(ts_sym_expression_statement, 2), + [ts_aux_sym_token1] = REDUCE(ts_sym_expression_statement, 2), + [ts_aux_sym_token2] = REDUCE(ts_sym_expression_statement, 2), [ts_aux_sym_token9] = REDUCE(ts_sym_expression_statement, 2), [ts_builtin_sym_error] = REDUCE(ts_sym_expression_statement, 2), }, @@ -3847,8 +3938,8 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_statement, 1), [ts_sym_string] = REDUCE(ts_sym_statement, 1), [ts_sym_true] = REDUCE(ts_sym_statement, 1), - [ts_aux_sym_token3] = REDUCE(ts_sym_statement, 1), - [ts_aux_sym_token4] = REDUCE(ts_sym_statement, 1), + [ts_aux_sym_token1] = REDUCE(ts_sym_statement, 1), + [ts_aux_sym_token2] = REDUCE(ts_sym_statement, 1), [ts_aux_sym_token9] = REDUCE(ts_sym_statement, 1), [ts_builtin_sym_error] = REDUCE(ts_sym_statement, 1), }, @@ -3865,8 +3956,8 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_if_statement, 5), [ts_sym_string] = REDUCE(ts_sym_if_statement, 5), [ts_sym_true] = REDUCE(ts_sym_if_statement, 5), - [ts_aux_sym_token3] = REDUCE(ts_sym_if_statement, 5), - [ts_aux_sym_token4] = REDUCE(ts_sym_if_statement, 5), + [ts_aux_sym_token1] = REDUCE(ts_sym_if_statement, 5), + [ts_aux_sym_token2] = REDUCE(ts_sym_if_statement, 5), [ts_aux_sym_token9] = REDUCE(ts_sym_if_statement, 5), [ts_builtin_sym_error] = REDUCE(ts_sym_if_statement, 5), }, @@ -3896,7 +3987,7 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(227), - [ts_aux_sym_token3] = SHIFT(231), + [ts_aux_sym_token1] = SHIFT(231), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(235), }, @@ -3913,8 +4004,8 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_if_statement, 7), [ts_sym_string] = REDUCE(ts_sym_if_statement, 7), [ts_sym_true] = REDUCE(ts_sym_if_statement, 7), - [ts_aux_sym_token3] = REDUCE(ts_sym_if_statement, 7), - [ts_aux_sym_token4] = REDUCE(ts_sym_if_statement, 7), + [ts_aux_sym_token1] = REDUCE(ts_sym_if_statement, 7), + [ts_aux_sym_token2] = REDUCE(ts_sym_if_statement, 7), [ts_aux_sym_token9] = REDUCE(ts_sym_if_statement, 7), [ts_builtin_sym_error] = REDUCE(ts_sym_if_statement, 7), }, @@ -3945,14 +4036,14 @@ PARSE_TABLE = { [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(38), [ts_aux_sym_repeat_helper2] = SHIFT(232), - [ts_aux_sym_token3] = SHIFT(51), - [ts_aux_sym_token4] = SHIFT(56), + [ts_aux_sym_token1] = SHIFT(51), + [ts_aux_sym_token2] = SHIFT(56), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(234), }, [232] = { - [ts_aux_sym_token4] = SHIFT(233), + [ts_aux_sym_token2] = SHIFT(233), }, [233] = { @@ -3967,8 +4058,8 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_statement_block, 3), [ts_sym_string] = REDUCE(ts_sym_statement_block, 3), [ts_sym_true] = REDUCE(ts_sym_statement_block, 3), - [ts_aux_sym_token3] = REDUCE(ts_sym_statement_block, 3), - [ts_aux_sym_token4] = REDUCE(ts_sym_statement_block, 3), + [ts_aux_sym_token1] = REDUCE(ts_sym_statement_block, 3), + [ts_aux_sym_token2] = REDUCE(ts_sym_statement_block, 3), [ts_aux_sym_token9] = REDUCE(ts_sym_statement_block, 3), [ts_builtin_sym_error] = REDUCE(ts_sym_statement_block, 3), }, @@ -3978,7 +4069,7 @@ PARSE_TABLE = { [ts_aux_sym_repeat_helper5] = SHIFT(180), [ts_aux_sym_token11] = SHIFT(32), [ts_aux_sym_token12] = SHIFT(32), - [ts_aux_sym_token4] = SHIFT(233), + [ts_aux_sym_token2] = SHIFT(233), [ts_aux_sym_token6] = SHIFT(130), }, @@ -3993,14 +4084,14 @@ PARSE_TABLE = { }, [237] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_property_access, 3), - [ts_aux_sym_token2] = REDUCE(ts_sym_property_access, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_property_access, 3), + [ts_aux_sym_token4] = REDUCE(ts_sym_property_access, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_property_access, 3), }, [238] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_expression, 1), - [ts_aux_sym_token2] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token3] = REDUCE(ts_sym_expression, 1), + [ts_aux_sym_token4] = REDUCE(ts_sym_expression, 1), [ts_aux_sym_token5] = SHIFT(239), [ts_aux_sym_token7] = REDUCE(ts_sym_expression, 1), }, @@ -4021,20 +4112,20 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(200), [ts_sym_string] = SHIFT(199), [ts_sym_true] = SHIFT(199), - [ts_aux_sym_token3] = SHIFT(241), + [ts_aux_sym_token1] = SHIFT(241), [ts_aux_sym_token9] = SHIFT(251), }, [240] = { - [ts_aux_sym_token1] = SHIFT(202), - [ts_aux_sym_token2] = REDUCE(ts_sym_assignment, 3), + [ts_aux_sym_token3] = SHIFT(202), + [ts_aux_sym_token4] = REDUCE(ts_sym_assignment, 3), [ts_aux_sym_token7] = SHIFT(236), }, [241] = { [ts_sym_identifier] = SHIFT(242), [ts_sym_string] = SHIFT(242), - [ts_aux_sym_token4] = SHIFT(247), + [ts_aux_sym_token2] = SHIFT(247), [ts_builtin_sym_error] = SHIFT(248), }, @@ -4058,47 +4149,47 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(103), [ts_sym_string] = SHIFT(102), [ts_sym_true] = SHIFT(102), - [ts_aux_sym_token3] = SHIFT(140), + [ts_aux_sym_token1] = SHIFT(140), [ts_aux_sym_token9] = SHIFT(146), }, [244] = { [ts_aux_sym_repeat_helper5] = SHIFT(245), - [ts_aux_sym_token1] = SHIFT(107), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token3] = SHIFT(107), [ts_aux_sym_token6] = SHIFT(130), [ts_aux_sym_token7] = SHIFT(135), }, [245] = { - [ts_aux_sym_token4] = SHIFT(246), + [ts_aux_sym_token2] = SHIFT(246), }, [246] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_object, 6), - [ts_aux_sym_token2] = REDUCE(ts_sym_object, 6), + [ts_aux_sym_token3] = REDUCE(ts_sym_object, 6), + [ts_aux_sym_token4] = REDUCE(ts_sym_object, 6), [ts_aux_sym_token7] = REDUCE(ts_sym_object, 6), }, [247] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_object, 2), - [ts_aux_sym_token2] = REDUCE(ts_sym_object, 2), + [ts_aux_sym_token3] = REDUCE(ts_sym_object, 2), + [ts_aux_sym_token4] = REDUCE(ts_sym_object, 2), [ts_aux_sym_token7] = REDUCE(ts_sym_object, 2), }, [248] = { [ts_aux_sym_repeat_helper5] = SHIFT(249), - [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0), + [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper5, 0), [ts_aux_sym_token6] = SHIFT(130), }, [249] = { - [ts_aux_sym_token4] = SHIFT(250), + [ts_aux_sym_token2] = SHIFT(250), }, [250] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_object, 4), - [ts_aux_sym_token2] = REDUCE(ts_sym_object, 4), + [ts_aux_sym_token3] = REDUCE(ts_sym_object, 4), + [ts_aux_sym_token4] = REDUCE(ts_sym_object, 4), [ts_aux_sym_token7] = REDUCE(ts_sym_object, 4), }, @@ -4118,16 +4209,16 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(77), [ts_sym_string] = SHIFT(76), [ts_sym_true] = SHIFT(76), + [ts_aux_sym_token1] = SHIFT(124), [ts_aux_sym_token10] = SHIFT(255), - [ts_aux_sym_token3] = SHIFT(124), [ts_aux_sym_token9] = SHIFT(151), [ts_builtin_sym_error] = SHIFT(256), }, [252] = { [ts_aux_sym_repeat_helper6] = SHIFT(253), - [ts_aux_sym_token1] = SHIFT(81), [ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper6, 0), + [ts_aux_sym_token3] = SHIFT(81), [ts_aux_sym_token6] = SHIFT(116), [ts_aux_sym_token7] = SHIFT(119), }, @@ -4137,14 +4228,14 @@ PARSE_TABLE = { }, [254] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_array, 4), - [ts_aux_sym_token2] = REDUCE(ts_sym_array, 4), + [ts_aux_sym_token3] = REDUCE(ts_sym_array, 4), + [ts_aux_sym_token4] = REDUCE(ts_sym_array, 4), [ts_aux_sym_token7] = REDUCE(ts_sym_array, 4), }, [255] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_array, 2), - [ts_aux_sym_token2] = REDUCE(ts_sym_array, 2), + [ts_aux_sym_token3] = REDUCE(ts_sym_array, 2), + [ts_aux_sym_token4] = REDUCE(ts_sym_array, 2), [ts_aux_sym_token7] = REDUCE(ts_sym_array, 2), }, @@ -4155,7 +4246,7 @@ PARSE_TABLE = { }, [257] = { - [ts_aux_sym_token2] = SHIFT(219), + [ts_aux_sym_token4] = SHIFT(219), }, [258] = { @@ -4170,14 +4261,14 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_for_statement, 7), [ts_sym_string] = REDUCE(ts_sym_for_statement, 7), [ts_sym_true] = REDUCE(ts_sym_for_statement, 7), - [ts_aux_sym_token3] = REDUCE(ts_sym_for_statement, 7), - [ts_aux_sym_token4] = REDUCE(ts_sym_for_statement, 7), + [ts_aux_sym_token1] = REDUCE(ts_sym_for_statement, 7), + [ts_aux_sym_token2] = REDUCE(ts_sym_for_statement, 7), [ts_aux_sym_token9] = REDUCE(ts_sym_for_statement, 7), [ts_builtin_sym_error] = REDUCE(ts_sym_for_statement, 7), }, [259] = { - [ts_aux_sym_token2] = SHIFT(215), + [ts_aux_sym_token4] = SHIFT(215), }, [260] = { @@ -4198,8 +4289,8 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_if_statement, 5), [ts_sym_string] = REDUCE(ts_sym_if_statement, 5), [ts_sym_true] = REDUCE(ts_sym_if_statement, 5), - [ts_aux_sym_token3] = REDUCE(ts_sym_if_statement, 5), - [ts_aux_sym_token4] = REDUCE(ts_sym_if_statement, 5), + [ts_aux_sym_token1] = REDUCE(ts_sym_if_statement, 5), + [ts_aux_sym_token2] = REDUCE(ts_sym_if_statement, 5), [ts_aux_sym_token9] = REDUCE(ts_sym_if_statement, 5), [ts_builtin_sym_error] = REDUCE(ts_sym_if_statement, 5), }, @@ -4229,7 +4320,7 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(38), - [ts_aux_sym_token3] = SHIFT(51), + [ts_aux_sym_token1] = SHIFT(51), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(182), }, @@ -4245,23 +4336,23 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_if_statement, 7), [ts_sym_string] = REDUCE(ts_sym_if_statement, 7), [ts_sym_true] = REDUCE(ts_sym_if_statement, 7), - [ts_aux_sym_token3] = REDUCE(ts_sym_if_statement, 7), - [ts_aux_sym_token4] = REDUCE(ts_sym_if_statement, 7), + [ts_aux_sym_token1] = REDUCE(ts_sym_if_statement, 7), + [ts_aux_sym_token2] = REDUCE(ts_sym_if_statement, 7), [ts_aux_sym_token9] = REDUCE(ts_sym_if_statement, 7), [ts_builtin_sym_error] = REDUCE(ts_sym_if_statement, 7), }, [264] = { - [ts_aux_sym_token2] = SHIFT(207), + [ts_aux_sym_token4] = SHIFT(207), }, [265] = { - [ts_aux_sym_token4] = SHIFT(266), + [ts_aux_sym_token2] = SHIFT(266), }, [266] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_statement_block, 3), - [ts_aux_sym_token2] = REDUCE(ts_sym_statement_block, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_statement_block, 3), + [ts_aux_sym_token4] = REDUCE(ts_sym_statement_block, 3), [ts_aux_sym_token6] = REDUCE(ts_sym_statement_block, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_statement_block, 3), }, @@ -4270,49 +4361,49 @@ PARSE_TABLE = { [ts_sym__terminator] = SHIFT(35), [ts_aux_sym_token11] = SHIFT(32), [ts_aux_sym_token12] = SHIFT(32), - [ts_aux_sym_token4] = SHIFT(266), + [ts_aux_sym_token2] = SHIFT(266), }, [268] = { [ts_sym_formal_parameters] = SHIFT(269), - [ts_aux_sym_token1] = SHIFT(68), + [ts_aux_sym_token3] = SHIFT(68), }, [269] = { [ts_sym_statement_block] = SHIFT(270), - [ts_aux_sym_token3] = SHIFT(22), + [ts_aux_sym_token1] = SHIFT(22), }, [270] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_expression, 4), - [ts_aux_sym_token2] = REDUCE(ts_sym_function_expression, 4), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_expression, 4), + [ts_aux_sym_token4] = REDUCE(ts_sym_function_expression, 4), [ts_aux_sym_token6] = REDUCE(ts_sym_function_expression, 4), [ts_aux_sym_token7] = REDUCE(ts_sym_function_expression, 4), }, [271] = { [ts_aux_sym_repeat_helper3] = SHIFT(272), - [ts_aux_sym_token1] = SHIFT(87), - [ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 0), + [ts_aux_sym_token3] = SHIFT(87), + [ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper3, 0), [ts_aux_sym_token6] = SHIFT(91), [ts_aux_sym_token7] = SHIFT(94), }, [272] = { - [ts_aux_sym_token2] = SHIFT(273), + [ts_aux_sym_token4] = SHIFT(273), }, [273] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_call, 5), [ts_aux_sym_token11] = REDUCE(ts_sym_function_call, 5), [ts_aux_sym_token12] = REDUCE(ts_sym_function_call, 5), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_call, 5), [ts_aux_sym_token7] = REDUCE(ts_sym_function_call, 5), }, [274] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_call, 3), [ts_aux_sym_token11] = REDUCE(ts_sym_function_call, 3), [ts_aux_sym_token12] = REDUCE(ts_sym_function_call, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_call, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_function_call, 3), }, @@ -4333,7 +4424,7 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(16), [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), - [ts_aux_sym_token3] = SHIFT(42), + [ts_aux_sym_token1] = SHIFT(42), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(260), }, @@ -4354,14 +4445,14 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(200), [ts_sym_string] = SHIFT(199), [ts_sym_true] = SHIFT(199), - [ts_aux_sym_token3] = SHIFT(241), + [ts_aux_sym_token1] = SHIFT(241), [ts_aux_sym_token9] = SHIFT(251), [ts_builtin_sym_error] = SHIFT(280), }, [277] = { - [ts_aux_sym_token1] = SHIFT(202), - [ts_aux_sym_token2] = SHIFT(278), + [ts_aux_sym_token3] = SHIFT(202), + [ts_aux_sym_token4] = SHIFT(278), [ts_aux_sym_token7] = SHIFT(236), }, @@ -4390,7 +4481,7 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(38), - [ts_aux_sym_token3] = SHIFT(51), + [ts_aux_sym_token1] = SHIFT(51), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(182), }, @@ -4406,24 +4497,24 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_for_statement, 7), [ts_sym_string] = REDUCE(ts_sym_for_statement, 7), [ts_sym_true] = REDUCE(ts_sym_for_statement, 7), - [ts_aux_sym_token3] = REDUCE(ts_sym_for_statement, 7), - [ts_aux_sym_token4] = REDUCE(ts_sym_for_statement, 7), + [ts_aux_sym_token1] = REDUCE(ts_sym_for_statement, 7), + [ts_aux_sym_token2] = REDUCE(ts_sym_for_statement, 7), [ts_aux_sym_token9] = REDUCE(ts_sym_for_statement, 7), [ts_builtin_sym_error] = REDUCE(ts_sym_for_statement, 7), }, [280] = { - [ts_aux_sym_token2] = SHIFT(278), + [ts_aux_sym_token4] = SHIFT(278), }, [281] = { - [ts_aux_sym_token4] = SHIFT(282), + [ts_aux_sym_token2] = SHIFT(282), }, [282] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_statement_block, 3), [ts_aux_sym_token11] = REDUCE(ts_sym_statement_block, 3), [ts_aux_sym_token12] = REDUCE(ts_sym_statement_block, 3), + [ts_aux_sym_token3] = REDUCE(ts_sym_statement_block, 3), [ts_aux_sym_token7] = REDUCE(ts_sym_statement_block, 3), }, @@ -4431,23 +4522,23 @@ PARSE_TABLE = { [ts_sym__terminator] = SHIFT(35), [ts_aux_sym_token11] = SHIFT(32), [ts_aux_sym_token12] = SHIFT(32), - [ts_aux_sym_token4] = SHIFT(282), + [ts_aux_sym_token2] = SHIFT(282), }, [284] = { [ts_sym_formal_parameters] = SHIFT(285), - [ts_aux_sym_token1] = SHIFT(68), + [ts_aux_sym_token3] = SHIFT(68), }, [285] = { [ts_sym_statement_block] = SHIFT(286), - [ts_aux_sym_token3] = SHIFT(6), + [ts_aux_sym_token1] = SHIFT(6), }, [286] = { - [ts_aux_sym_token1] = REDUCE(ts_sym_function_expression, 4), [ts_aux_sym_token11] = REDUCE(ts_sym_function_expression, 4), [ts_aux_sym_token12] = REDUCE(ts_sym_function_expression, 4), + [ts_aux_sym_token3] = REDUCE(ts_sym_function_expression, 4), [ts_aux_sym_token7] = REDUCE(ts_sym_function_expression, 4), }, @@ -4468,7 +4559,7 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(16), [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), - [ts_aux_sym_token3] = SHIFT(42), + [ts_aux_sym_token1] = SHIFT(42), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(260), }, @@ -4489,14 +4580,14 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(200), [ts_sym_string] = SHIFT(199), [ts_sym_true] = SHIFT(199), - [ts_aux_sym_token3] = SHIFT(241), + [ts_aux_sym_token1] = SHIFT(241), [ts_aux_sym_token9] = SHIFT(251), [ts_builtin_sym_error] = SHIFT(342), }, [289] = { - [ts_aux_sym_token1] = SHIFT(202), - [ts_aux_sym_token2] = SHIFT(290), + [ts_aux_sym_token3] = SHIFT(202), + [ts_aux_sym_token4] = SHIFT(290), [ts_aux_sym_token7] = SHIFT(236), }, @@ -4525,13 +4616,13 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(333), - [ts_aux_sym_token3] = SHIFT(335), + [ts_aux_sym_token1] = SHIFT(335), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(339), }, [291] = { - [ts_aux_sym_token1] = SHIFT(292), + [ts_aux_sym_token3] = SHIFT(292), }, [292] = { @@ -4550,14 +4641,14 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(200), [ts_sym_string] = SHIFT(199), [ts_sym_true] = SHIFT(199), - [ts_aux_sym_token3] = SHIFT(241), + [ts_aux_sym_token1] = SHIFT(241), [ts_aux_sym_token9] = SHIFT(251), [ts_builtin_sym_error] = SHIFT(340), }, [293] = { - [ts_aux_sym_token1] = SHIFT(202), - [ts_aux_sym_token2] = SHIFT(294), + [ts_aux_sym_token3] = SHIFT(202), + [ts_aux_sym_token4] = SHIFT(294), [ts_aux_sym_token7] = SHIFT(236), }, @@ -4586,13 +4677,13 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(312), - [ts_aux_sym_token3] = SHIFT(316), + [ts_aux_sym_token1] = SHIFT(316), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(320), }, [295] = { - [ts_aux_sym_token1] = SHIFT(296), + [ts_aux_sym_token3] = SHIFT(296), }, [296] = { @@ -4614,7 +4705,7 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(297), - [ts_aux_sym_token3] = SHIFT(42), + [ts_aux_sym_token1] = SHIFT(42), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(260), }, @@ -4636,7 +4727,7 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(16), [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), - [ts_aux_sym_token3] = SHIFT(42), + [ts_aux_sym_token1] = SHIFT(42), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(260), }, @@ -4657,14 +4748,14 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(200), [ts_sym_string] = SHIFT(199), [ts_sym_true] = SHIFT(199), - [ts_aux_sym_token3] = SHIFT(241), + [ts_aux_sym_token1] = SHIFT(241), [ts_aux_sym_token9] = SHIFT(251), [ts_builtin_sym_error] = SHIFT(323), }, [299] = { - [ts_aux_sym_token1] = SHIFT(202), - [ts_aux_sym_token2] = SHIFT(300), + [ts_aux_sym_token3] = SHIFT(202), + [ts_aux_sym_token4] = SHIFT(300), [ts_aux_sym_token7] = SHIFT(236), }, @@ -4693,13 +4784,13 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(312), - [ts_aux_sym_token3] = SHIFT(316), + [ts_aux_sym_token1] = SHIFT(316), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(320), }, [301] = { - [ts_aux_sym_token1] = SHIFT(302), + [ts_aux_sym_token3] = SHIFT(302), }, [302] = { @@ -4718,14 +4809,14 @@ PARSE_TABLE = { [ts_sym_property_access] = SHIFT(200), [ts_sym_string] = SHIFT(199), [ts_sym_true] = SHIFT(199), - [ts_aux_sym_token3] = SHIFT(241), + [ts_aux_sym_token1] = SHIFT(241), [ts_aux_sym_token9] = SHIFT(251), [ts_builtin_sym_error] = SHIFT(321), }, [303] = { - [ts_aux_sym_token1] = SHIFT(202), - [ts_aux_sym_token2] = SHIFT(304), + [ts_aux_sym_token3] = SHIFT(202), + [ts_aux_sym_token4] = SHIFT(304), [ts_aux_sym_token7] = SHIFT(236), }, @@ -4754,7 +4845,7 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(312), - [ts_aux_sym_token3] = SHIFT(316), + [ts_aux_sym_token1] = SHIFT(316), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(320), }, @@ -4782,7 +4873,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_var_declaration, 3), [ts_sym_string] = REDUCE(ts_sym_var_declaration, 3), [ts_sym_true] = REDUCE(ts_sym_var_declaration, 3), - [ts_aux_sym_token3] = REDUCE(ts_sym_var_declaration, 3), + [ts_aux_sym_token1] = REDUCE(ts_sym_var_declaration, 3), [ts_aux_sym_token9] = REDUCE(ts_sym_var_declaration, 3), [ts_builtin_sym_end] = REDUCE(ts_sym_var_declaration, 3), [ts_builtin_sym_error] = REDUCE(ts_sym_var_declaration, 3), @@ -4800,7 +4891,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym__terminator, 1), [ts_sym_string] = REDUCE(ts_sym__terminator, 1), [ts_sym_true] = REDUCE(ts_sym__terminator, 1), - [ts_aux_sym_token3] = REDUCE(ts_sym__terminator, 1), + [ts_aux_sym_token1] = REDUCE(ts_sym__terminator, 1), [ts_aux_sym_token9] = REDUCE(ts_sym__terminator, 1), [ts_builtin_sym_end] = REDUCE(ts_sym__terminator, 1), [ts_builtin_sym_error] = REDUCE(ts_sym__terminator, 1), @@ -4815,9 +4906,9 @@ PARSE_TABLE = { [310] = { [ts_sym__terminator] = SHIFT(311), - [ts_aux_sym_token1] = SHIFT(18), [ts_aux_sym_token11] = SHIFT(308), [ts_aux_sym_token12] = SHIFT(308), + [ts_aux_sym_token3] = SHIFT(18), [ts_aux_sym_token7] = SHIFT(36), }, @@ -4833,7 +4924,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_expression_statement, 2), [ts_sym_string] = REDUCE(ts_sym_expression_statement, 2), [ts_sym_true] = REDUCE(ts_sym_expression_statement, 2), - [ts_aux_sym_token3] = REDUCE(ts_sym_expression_statement, 2), + [ts_aux_sym_token1] = REDUCE(ts_sym_expression_statement, 2), [ts_aux_sym_token9] = REDUCE(ts_sym_expression_statement, 2), [ts_builtin_sym_end] = REDUCE(ts_sym_expression_statement, 2), [ts_builtin_sym_error] = REDUCE(ts_sym_expression_statement, 2), @@ -4851,7 +4942,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_statement, 1), [ts_sym_string] = REDUCE(ts_sym_statement, 1), [ts_sym_true] = REDUCE(ts_sym_statement, 1), - [ts_aux_sym_token3] = REDUCE(ts_sym_statement, 1), + [ts_aux_sym_token1] = REDUCE(ts_sym_statement, 1), [ts_aux_sym_token9] = REDUCE(ts_sym_statement, 1), [ts_builtin_sym_end] = REDUCE(ts_sym_statement, 1), [ts_builtin_sym_error] = REDUCE(ts_sym_statement, 1), @@ -4869,7 +4960,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_if_statement, 5), [ts_sym_string] = REDUCE(ts_sym_if_statement, 5), [ts_sym_true] = REDUCE(ts_sym_if_statement, 5), - [ts_aux_sym_token3] = REDUCE(ts_sym_if_statement, 5), + [ts_aux_sym_token1] = REDUCE(ts_sym_if_statement, 5), [ts_aux_sym_token9] = REDUCE(ts_sym_if_statement, 5), [ts_builtin_sym_end] = REDUCE(ts_sym_if_statement, 5), [ts_builtin_sym_error] = REDUCE(ts_sym_if_statement, 5), @@ -4900,7 +4991,7 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(312), - [ts_aux_sym_token3] = SHIFT(316), + [ts_aux_sym_token1] = SHIFT(316), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(320), }, @@ -4917,7 +5008,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_if_statement, 7), [ts_sym_string] = REDUCE(ts_sym_if_statement, 7), [ts_sym_true] = REDUCE(ts_sym_if_statement, 7), - [ts_aux_sym_token3] = REDUCE(ts_sym_if_statement, 7), + [ts_aux_sym_token1] = REDUCE(ts_sym_if_statement, 7), [ts_aux_sym_token9] = REDUCE(ts_sym_if_statement, 7), [ts_builtin_sym_end] = REDUCE(ts_sym_if_statement, 7), [ts_builtin_sym_error] = REDUCE(ts_sym_if_statement, 7), @@ -4949,14 +5040,14 @@ PARSE_TABLE = { [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(38), [ts_aux_sym_repeat_helper2] = SHIFT(317), - [ts_aux_sym_token3] = SHIFT(51), - [ts_aux_sym_token4] = SHIFT(56), + [ts_aux_sym_token1] = SHIFT(51), + [ts_aux_sym_token2] = SHIFT(56), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(319), }, [317] = { - [ts_aux_sym_token4] = SHIFT(318), + [ts_aux_sym_token2] = SHIFT(318), }, [318] = { @@ -4971,7 +5062,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_statement_block, 3), [ts_sym_string] = REDUCE(ts_sym_statement_block, 3), [ts_sym_true] = REDUCE(ts_sym_statement_block, 3), - [ts_aux_sym_token3] = REDUCE(ts_sym_statement_block, 3), + [ts_aux_sym_token1] = REDUCE(ts_sym_statement_block, 3), [ts_aux_sym_token9] = REDUCE(ts_sym_statement_block, 3), [ts_builtin_sym_end] = REDUCE(ts_sym_statement_block, 3), [ts_builtin_sym_error] = REDUCE(ts_sym_statement_block, 3), @@ -4982,7 +5073,7 @@ PARSE_TABLE = { [ts_aux_sym_repeat_helper5] = SHIFT(180), [ts_aux_sym_token11] = SHIFT(32), [ts_aux_sym_token12] = SHIFT(32), - [ts_aux_sym_token4] = SHIFT(318), + [ts_aux_sym_token2] = SHIFT(318), [ts_aux_sym_token6] = SHIFT(130), }, @@ -4993,7 +5084,7 @@ PARSE_TABLE = { }, [321] = { - [ts_aux_sym_token2] = SHIFT(304), + [ts_aux_sym_token4] = SHIFT(304), }, [322] = { @@ -5008,14 +5099,14 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_for_statement, 7), [ts_sym_string] = REDUCE(ts_sym_for_statement, 7), [ts_sym_true] = REDUCE(ts_sym_for_statement, 7), - [ts_aux_sym_token3] = REDUCE(ts_sym_for_statement, 7), + [ts_aux_sym_token1] = REDUCE(ts_sym_for_statement, 7), [ts_aux_sym_token9] = REDUCE(ts_sym_for_statement, 7), [ts_builtin_sym_end] = REDUCE(ts_sym_for_statement, 7), [ts_builtin_sym_error] = REDUCE(ts_sym_for_statement, 7), }, [323] = { - [ts_aux_sym_token2] = SHIFT(300), + [ts_aux_sym_token4] = SHIFT(300), }, [324] = { @@ -5030,7 +5121,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_if_statement, 5), [ts_sym_string] = REDUCE(ts_sym_if_statement, 5), [ts_sym_true] = REDUCE(ts_sym_if_statement, 5), - [ts_aux_sym_token3] = REDUCE(ts_sym_if_statement, 5), + [ts_aux_sym_token1] = REDUCE(ts_sym_if_statement, 5), [ts_aux_sym_token9] = REDUCE(ts_sym_if_statement, 5), [ts_builtin_sym_end] = REDUCE(ts_sym_if_statement, 5), [ts_builtin_sym_error] = REDUCE(ts_sym_if_statement, 5), @@ -5061,7 +5152,7 @@ PARSE_TABLE = { [ts_sym_string] = SHIFT(15), [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(333), - [ts_aux_sym_token3] = SHIFT(335), + [ts_aux_sym_token1] = SHIFT(335), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(339), }, @@ -5088,7 +5179,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_var_declaration, 3), [ts_sym_string] = REDUCE(ts_sym_var_declaration, 3), [ts_sym_true] = REDUCE(ts_sym_var_declaration, 3), - [ts_aux_sym_token3] = REDUCE(ts_sym_var_declaration, 3), + [ts_aux_sym_token1] = REDUCE(ts_sym_var_declaration, 3), [ts_aux_sym_token9] = REDUCE(ts_sym_var_declaration, 3), [ts_builtin_sym_end] = REDUCE(ts_sym_var_declaration, 3), [ts_builtin_sym_error] = REDUCE(ts_sym_var_declaration, 3), @@ -5105,7 +5196,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym__terminator, 1), [ts_sym_string] = REDUCE(ts_sym__terminator, 1), [ts_sym_true] = REDUCE(ts_sym__terminator, 1), - [ts_aux_sym_token3] = REDUCE(ts_sym__terminator, 1), + [ts_aux_sym_token1] = REDUCE(ts_sym__terminator, 1), [ts_aux_sym_token9] = REDUCE(ts_sym__terminator, 1), [ts_builtin_sym_end] = REDUCE(ts_sym__terminator, 1), [ts_builtin_sym_error] = REDUCE(ts_sym__terminator, 1), @@ -5120,9 +5211,9 @@ PARSE_TABLE = { [331] = { [ts_sym__terminator] = SHIFT(332), - [ts_aux_sym_token1] = SHIFT(18), [ts_aux_sym_token11] = SHIFT(329), [ts_aux_sym_token12] = SHIFT(329), + [ts_aux_sym_token3] = SHIFT(18), [ts_aux_sym_token7] = SHIFT(36), }, @@ -5137,7 +5228,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_expression_statement, 2), [ts_sym_string] = REDUCE(ts_sym_expression_statement, 2), [ts_sym_true] = REDUCE(ts_sym_expression_statement, 2), - [ts_aux_sym_token3] = REDUCE(ts_sym_expression_statement, 2), + [ts_aux_sym_token1] = REDUCE(ts_sym_expression_statement, 2), [ts_aux_sym_token9] = REDUCE(ts_sym_expression_statement, 2), [ts_builtin_sym_end] = REDUCE(ts_sym_expression_statement, 2), [ts_builtin_sym_error] = REDUCE(ts_sym_expression_statement, 2), @@ -5154,7 +5245,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_statement, 1), [ts_sym_string] = REDUCE(ts_sym_statement, 1), [ts_sym_true] = REDUCE(ts_sym_statement, 1), - [ts_aux_sym_token3] = REDUCE(ts_sym_statement, 1), + [ts_aux_sym_token1] = REDUCE(ts_sym_statement, 1), [ts_aux_sym_token9] = REDUCE(ts_sym_statement, 1), [ts_builtin_sym_end] = REDUCE(ts_sym_statement, 1), [ts_builtin_sym_error] = REDUCE(ts_sym_statement, 1), @@ -5171,7 +5262,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_if_statement, 7), [ts_sym_string] = REDUCE(ts_sym_if_statement, 7), [ts_sym_true] = REDUCE(ts_sym_if_statement, 7), - [ts_aux_sym_token3] = REDUCE(ts_sym_if_statement, 7), + [ts_aux_sym_token1] = REDUCE(ts_sym_if_statement, 7), [ts_aux_sym_token9] = REDUCE(ts_sym_if_statement, 7), [ts_builtin_sym_end] = REDUCE(ts_sym_if_statement, 7), [ts_builtin_sym_error] = REDUCE(ts_sym_if_statement, 7), @@ -5203,14 +5294,14 @@ PARSE_TABLE = { [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(38), [ts_aux_sym_repeat_helper2] = SHIFT(336), - [ts_aux_sym_token3] = SHIFT(51), - [ts_aux_sym_token4] = SHIFT(56), + [ts_aux_sym_token1] = SHIFT(51), + [ts_aux_sym_token2] = SHIFT(56), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_error] = SHIFT(338), }, [336] = { - [ts_aux_sym_token4] = SHIFT(337), + [ts_aux_sym_token2] = SHIFT(337), }, [337] = { @@ -5224,7 +5315,7 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_statement_block, 3), [ts_sym_string] = REDUCE(ts_sym_statement_block, 3), [ts_sym_true] = REDUCE(ts_sym_statement_block, 3), - [ts_aux_sym_token3] = REDUCE(ts_sym_statement_block, 3), + [ts_aux_sym_token1] = REDUCE(ts_sym_statement_block, 3), [ts_aux_sym_token9] = REDUCE(ts_sym_statement_block, 3), [ts_builtin_sym_end] = REDUCE(ts_sym_statement_block, 3), [ts_builtin_sym_error] = REDUCE(ts_sym_statement_block, 3), @@ -5235,7 +5326,7 @@ PARSE_TABLE = { [ts_aux_sym_repeat_helper5] = SHIFT(180), [ts_aux_sym_token11] = SHIFT(32), [ts_aux_sym_token12] = SHIFT(32), - [ts_aux_sym_token4] = SHIFT(337), + [ts_aux_sym_token2] = SHIFT(337), [ts_aux_sym_token6] = SHIFT(130), }, @@ -5246,7 +5337,7 @@ PARSE_TABLE = { }, [340] = { - [ts_aux_sym_token2] = SHIFT(294), + [ts_aux_sym_token4] = SHIFT(294), }, [341] = { @@ -5260,14 +5351,14 @@ PARSE_TABLE = { [ts_sym_number] = REDUCE(ts_sym_for_statement, 7), [ts_sym_string] = REDUCE(ts_sym_for_statement, 7), [ts_sym_true] = REDUCE(ts_sym_for_statement, 7), - [ts_aux_sym_token3] = REDUCE(ts_sym_for_statement, 7), + [ts_aux_sym_token1] = REDUCE(ts_sym_for_statement, 7), [ts_aux_sym_token9] = REDUCE(ts_sym_for_statement, 7), [ts_builtin_sym_end] = REDUCE(ts_sym_for_statement, 7), [ts_builtin_sym_error] = REDUCE(ts_sym_for_statement, 7), }, [342] = { - [ts_aux_sym_token2] = SHIFT(290), + [ts_aux_sym_token4] = SHIFT(290), }, [343] = { @@ -5300,7 +5391,7 @@ PARSE_TABLE = { [ts_sym_true] = SHIFT(15), [ts_sym_var_declaration] = SHIFT(333), [ts_aux_sym_repeat_helper1] = SHIFT(345), - [ts_aux_sym_token3] = SHIFT(335), + [ts_aux_sym_token1] = SHIFT(335), [ts_aux_sym_token9] = SHIFT(57), [ts_builtin_sym_end] = REDUCE(ts_aux_sym_repeat_helper1, 0), [ts_builtin_sym_error] = SHIFT(339), diff --git a/include/tree_sitter/parser.h b/include/tree_sitter/parser.h index 6f5fb921..90e7cff1 100644 --- a/include/tree_sitter/parser.h +++ b/include/tree_sitter/parser.h @@ -39,10 +39,10 @@ static const size_t ts_state_count #define SYMBOL_NAMES \ static const char *ts_symbol_names[ts_symbol_count] - + #define HIDDEN_SYMBOLS \ static const int hidden_symbol_flags[ts_symbol_count] - + #define LEX_STATES \ static state_id ts_lex_states[ts_state_count] @@ -55,16 +55,16 @@ ts_lexer_skip_whitespace(lexer); \ if (!ts_lexer_lookahead_char(lexer)) return ts_tree_make_leaf(ts_builtin_sym_end, 0, 0); \ next_state: \ lookahead = ts_lexer_lookahead_char(lexer); - + #define ADVANCE(state_index) \ { ts_lexer_advance(lexer); lex_state = state_index; goto next_state; } - + #define ACCEPT_TOKEN(symbol) \ { DEBUG_LEX("token: %s \n", ts_symbol_names[symbol]); return ts_lexer_build_node(lexer, symbol); } - + #define LEX_ERROR() \ { return ts_lexer_build_node(lexer, ts_builtin_sym_error); } - + #define LEX_PANIC() \ { DEBUG_LEX("Lex error: unexpected state %d", LEX_STATE()); return NULL; } @@ -73,7 +73,7 @@ static const ts_parse_action ts_parse_actions[ts_state_count][ts_symbol_count] #define EXPORT_PARSER(constructor_name) \ ts_parser constructor_name() { \ - return (ts_parser){ \ + return (ts_parser){ \ .parse_fn = ts_parse, \ .symbol_names = ts_symbol_names, \ .data = ts_lr_parser_make(ts_symbol_count, (const ts_parse_action *)ts_parse_actions, ts_lex_states, hidden_symbol_flags), \ @@ -199,7 +199,7 @@ typedef struct { }; } data; } ts_parse_action; - + /* * Forward declarations @@ -232,7 +232,7 @@ static ts_lr_parser * ts_lr_parser_make(size_t symbol_count, const ts_parse_acti result->hidden_symbol_flags = hidden_symbol_flags; return result; } - + static const ts_parse_action * ts_lr_parser_table_actions(ts_lr_parser *parser, state_id state) { return parser->parse_table + (state * parser->symbol_count); } diff --git a/spec/compiler/build_tables/first_set_spec.cc b/spec/compiler/build_tables/first_set_spec.cc index 3a92be7b..922b3685 100644 --- a/spec/compiler/build_tables/first_set_spec.cc +++ b/spec/compiler/build_tables/first_set_spec.cc @@ -68,7 +68,7 @@ describe("computing FIRST sets", []() { }))); }); }); - + describe("when there are left-recursive rules", [&]() { it("terminates", [&]() { Grammar grammar({ @@ -77,7 +77,7 @@ describe("computing FIRST sets", []() { sym("y"), }) }, }); - + AssertThat(first_set(sym("expression"), grammar), Equals(set({ Symbol("y") }))); diff --git a/spec/compiler/build_tables/item_set_closure_spec.cc b/spec/compiler/build_tables/item_set_closure_spec.cc index a3d14d2f..759d5d40 100644 --- a/spec/compiler/build_tables/item_set_closure_spec.cc +++ b/spec/compiler/build_tables/item_set_closure_spec.cc @@ -31,7 +31,7 @@ describe("computing closures of item sets", []() { ParseItemSet item_set = item_set_closure(ParseItemSet({ ParseItem(Symbol("E"), grammar.rule(Symbol("E")), 0, Symbol("__END__")) }), grammar); - + AssertThat(item_set, Equals(ParseItemSet({ ParseItem(Symbol("F"), grammar.rule(Symbol("F")), 0, Symbol("__END__")), ParseItem(Symbol("F"), grammar.rule(Symbol("F")), 0, Symbol("+")), diff --git a/spec/compiler/build_tables/rule_can_be_blank_spec.cc b/spec/compiler/build_tables/rule_can_be_blank_spec.cc index 07fa8dec..1bee061d 100644 --- a/spec/compiler/build_tables/rule_can_be_blank_spec.cc +++ b/spec/compiler/build_tables/rule_can_be_blank_spec.cc @@ -15,7 +15,7 @@ describe("checking if rules can be blank", [&]() { AssertThat(rule_can_be_blank(str("x")), IsFalse()); AssertThat(rule_can_be_blank(pattern("x")), IsFalse()); }); - + it("returns true for blanks", [&]() { AssertThat(rule_can_be_blank(blank()), IsTrue()); }); @@ -23,7 +23,7 @@ describe("checking if rules can be blank", [&]() { it("returns true for repeats", [&]() { AssertThat(rule_can_be_blank(repeat(str("x"))), IsTrue()); }); - + it("returns true for choices iff one or more sides can be blank", [&]() { rule = choice({ sym("x"), blank() }); AssertThat(rule_can_be_blank(rule), IsTrue()); @@ -34,7 +34,7 @@ describe("checking if rules can be blank", [&]() { rule = choice({ sym("x"), sym("y") }); AssertThat(rule_can_be_blank(rule), IsFalse()); }); - + it("returns true for sequences iff both sides can be blank", [&]() { rule = seq({ blank(), str("x") }); AssertThat(rule_can_be_blank(rule), IsFalse()); @@ -45,7 +45,7 @@ describe("checking if rules can be blank", [&]() { rule = seq({ blank(), choice({ sym("x"), blank() }) }); AssertThat(rule_can_be_blank(rule), IsTrue()); }); - + describe("checking recursively (by expanding non-terminals)", [&]() { PreparedGrammar grammar({ { "A", choice({ @@ -55,12 +55,12 @@ describe("checking if rules can be blank", [&]() { seq({ sym("B"), sym("y") }), sym("z") }) }, }, {}); - + it("terminates for left-recursive rules that can be blank", [&]() { rule = sym("A"); AssertThat(rule_can_be_blank(rule, grammar), IsTrue()); }); - + it("terminates for left-recursive rules that can't be blank", [&]() { rule = sym("B"); AssertThat(rule_can_be_blank(rule, grammar), IsFalse()); diff --git a/spec/compiler/compile_examples.cc b/spec/compiler/compile_examples.cc index 3d876311..68cfe1a9 100644 --- a/spec/compiler/compile_examples.cc +++ b/spec/compiler/compile_examples.cc @@ -7,12 +7,10 @@ static string src_dir() { return dir; } -namespace tree_sitter { - namespace examples { - Grammar arithmetic(); - Grammar javascript(); - Grammar json(); - } +namespace tree_sitter_examples { + extern const Grammar arithmetic; + extern const Grammar javascript; + extern const Grammar json; } START_TEST @@ -20,7 +18,7 @@ START_TEST describe("compiling the example grammars", []() { string example_parser_dir = src_dir() + "/examples/parsers/"; - auto compile_grammar = [&](Grammar grammar, string language) { + auto compile_grammar = [&](const Grammar &grammar, string language) { it(("compiles the " + language + " grammar").c_str(), [&]() { ofstream file(example_parser_dir + language + ".c"); file << compile(grammar, language); @@ -28,9 +26,9 @@ describe("compiling the example grammars", []() { }); }; - compile_grammar(examples::arithmetic(), "arithmetic"); - compile_grammar(examples::json(), "json"); - compile_grammar(examples::javascript(), "javascript"); + compile_grammar(tree_sitter_examples::arithmetic, "arithmetic"); + compile_grammar(tree_sitter_examples::json, "json"); + compile_grammar(tree_sitter_examples::javascript, "javascript"); }); END_TEST diff --git a/spec/compiler/helpers/stream_methods.h b/spec/compiler/helpers/stream_methods.h index 16e282a8..9c04656c 100644 --- a/spec/compiler/helpers/stream_methods.h +++ b/spec/compiler/helpers/stream_methods.h @@ -46,7 +46,7 @@ namespace std { } return stream << ">"; } - + template inline std::ostream& operator<<(std::ostream &stream, const std::map &map) { stream << std::string("#"; } - + template inline std::ostream& operator<<(std::ostream &stream, const std::unordered_map &map) { stream << std::string("#({ { symbol, "'the-string'" } }))); }); - + it("assigns names to pattern rules based on their pattern value", [&]() { auto symbol = Symbol("some_generated_pattern_name", rules::SymbolTypeAuxiliary); AssertThat(name_symbols::name_symbols({ symbol }, lexical_grammar), Equals(map({ diff --git a/spec/runtime/languages/javascript/main.txt b/spec/runtime/languages/javascript/main.txt index 31edf8d8..05fc55fa 100644 --- a/spec/runtime/languages/javascript/main.txt +++ b/spec/runtime/languages/javascript/main.txt @@ -77,7 +77,7 @@ var x = { x.theMethod(5, 6); --- -(program +(program (var_declaration (assignment (identifier) (object (identifier) (function_expression diff --git a/src/compiler/build_tables/build_tables.cc b/src/compiler/build_tables/build_tables.cc index 2a86c652..b84b288a 100644 --- a/src/compiler/build_tables/build_tables.cc +++ b/src/compiler/build_tables/build_tables.cc @@ -73,7 +73,7 @@ namespace tree_sitter { void add_reduce_actions(const ParseItemSet &item_set, ParseStateId state_id) { for (ParseItem item : item_set) { if (item.is_done()) { - ParseAction action = (item.lhs == rules::START) ? + ParseAction action = (item.lhs == rules::START()) ? ParseAction::Accept() : ParseAction::Reduce(item.lhs, item.consumed_symbol_count); parse_table.add_action(state_id, item.lookahead_sym, action); @@ -153,7 +153,7 @@ namespace tree_sitter { pair build() { auto start_symbol = make_shared(grammar.start_rule_name()); - ParseItem item(rules::START, start_symbol, {}, rules::END_OF_INPUT); + ParseItem item(rules::START(), start_symbol, {}, rules::END_OF_INPUT()); ParseItemSet item_set = item_set_closure(ParseItemSet({ item }), grammar); add_parse_state(item_set); add_error_lex_state(); diff --git a/src/compiler/build_tables/first_set.cc b/src/compiler/build_tables/first_set.cc index fceb9cc3..9a583fac 100644 --- a/src/compiler/build_tables/first_set.cc +++ b/src/compiler/build_tables/first_set.cc @@ -26,7 +26,7 @@ namespace tree_sitter { void visit(const Symbol *rule) { if (visited_symbols.find(*rule) == visited_symbols.end()) { visited_symbols.insert(*rule); - + if (grammar.has_definition(*rule)) { value = apply(grammar.rule(*rule)); } else { diff --git a/src/compiler/build_tables/rule_can_be_blank.cc b/src/compiler/build_tables/rule_can_be_blank.cc index 1848efb2..61b08dbc 100644 --- a/src/compiler/build_tables/rule_can_be_blank.cc +++ b/src/compiler/build_tables/rule_can_be_blank.cc @@ -10,7 +10,7 @@ namespace tree_sitter { using std::set; - + namespace build_tables { class CanBeBlank : public rules::RuleFn { protected: @@ -37,7 +37,7 @@ namespace tree_sitter { class CanBeBlankRecursive : public CanBeBlank { const PreparedGrammar grammar; - set visited_symbols; + set visited_symbols; using CanBeBlank::visit; public: diff --git a/src/compiler/generate_code/c_code.cc b/src/compiler/generate_code/c_code.cc index 6aff7788..5747244a 100644 --- a/src/compiler/generate_code/c_code.cc +++ b/src/compiler/generate_code/c_code.cc @@ -60,7 +60,7 @@ namespace tree_sitter { lex_table(lex_table), symbol_names(symbol_names) {} - + string code() { return join({ includes(), @@ -74,11 +74,11 @@ namespace tree_sitter { parser_export(), }, "\n\n") + "\n"; } - + private: string symbol_id(rules::Symbol symbol) { if (symbol.is_built_in()) { - return (symbol == rules::ERROR) ? + return (symbol == rules::ERROR()) ? "ts_builtin_sym_error" : "ts_builtin_sym_end"; } else if (symbol.is_auxiliary()) { @@ -183,15 +183,15 @@ namespace tree_sitter { string symbol_names_list() { set symbols(parse_table.symbols); - symbols.insert(rules::Symbol("end", rules::SymbolTypeBuiltIn)); - symbols.insert(rules::Symbol("error", rules::SymbolTypeBuiltIn)); + symbols.insert(rules::END_OF_INPUT()); + symbols.insert(rules::ERROR()); string result = "SYMBOL_NAMES = {\n"; for (auto symbol : parse_table.symbols) result += indent("[" + symbol_id(symbol) + "] = \"" + symbol_names.find(symbol)->second) + "\",\n"; return result + "};"; } - + string hidden_symbols_list() { string result = "HIDDEN_SYMBOLS = {"; for (auto &symbol : parse_table.symbols) diff --git a/src/compiler/generate_code/helpers.cc b/src/compiler/generate_code/helpers.cc index eb83dd48..a380e1ce 100644 --- a/src/compiler/generate_code/helpers.cc +++ b/src/compiler/generate_code/helpers.cc @@ -4,7 +4,7 @@ namespace tree_sitter { using std::string; using std::vector; - + namespace generate_code { string join(vector lines, string separator) { string result; @@ -26,7 +26,7 @@ namespace tree_sitter { util::str_replace(&input, "\n", "\n" + tab); return tab + input; } - + string character_code(char character) { switch (character) { case '\0': diff --git a/src/compiler/name_symbols/name_symbols.cc b/src/compiler/name_symbols/name_symbols.cc index ad6278f8..6ca4d252 100644 --- a/src/compiler/name_symbols/name_symbols.cc +++ b/src/compiler/name_symbols/name_symbols.cc @@ -11,13 +11,13 @@ namespace tree_sitter { using std::map; using std::set; using std::string; - + class TokenName : public rules::RuleFn { protected: virtual void visit(const rules::Pattern *rule) { value = "/" + util::escape_string(rule->value) + "/"; } - + virtual void visit(const rules::String *rule) { value = "'" + util::escape_string(rule->value) + "'"; } diff --git a/src/compiler/name_symbols/name_symbols.h b/src/compiler/name_symbols/name_symbols.h index 14e9b386..81547307 100644 --- a/src/compiler/name_symbols/name_symbols.h +++ b/src/compiler/name_symbols/name_symbols.h @@ -8,7 +8,7 @@ namespace tree_sitter { class PreparedGrammar; - + namespace name_symbols { std::map name_symbols(const std::set &symbols, const PreparedGrammar &lexical_grammar); diff --git a/src/compiler/rules/built_in_symbols.cc b/src/compiler/rules/built_in_symbols.cc index 8776995d..44142670 100644 --- a/src/compiler/rules/built_in_symbols.cc +++ b/src/compiler/rules/built_in_symbols.cc @@ -2,8 +2,8 @@ namespace tree_sitter { namespace rules { - const Symbol ERROR("error", SymbolTypeBuiltIn); - const Symbol START("start", SymbolTypeBuiltIn); - const Symbol END_OF_INPUT("end", SymbolTypeBuiltIn); + Symbol ERROR() { return Symbol("error", SymbolTypeBuiltIn); } + Symbol START() { return Symbol("start", SymbolTypeBuiltIn); } + Symbol END_OF_INPUT() { return Symbol("end", SymbolTypeBuiltIn); } } } \ No newline at end of file diff --git a/src/compiler/rules/built_in_symbols.h b/src/compiler/rules/built_in_symbols.h index e2360c71..bdbec4e5 100644 --- a/src/compiler/rules/built_in_symbols.h +++ b/src/compiler/rules/built_in_symbols.h @@ -5,9 +5,9 @@ namespace tree_sitter { namespace rules { - extern const Symbol ERROR; - extern const Symbol START; - extern const Symbol END_OF_INPUT; + Symbol ERROR(); + Symbol START(); + Symbol END_OF_INPUT(); } } diff --git a/src/compiler/rules/rules.cc b/src/compiler/rules/rules.cc index 40d47d8c..65637737 100644 --- a/src/compiler/rules/rules.cc +++ b/src/compiler/rules/rules.cc @@ -46,7 +46,7 @@ namespace tree_sitter { } rule_ptr err(const rule_ptr &rule) { - return choice({ rule, ERROR.copy() }); + return choice({ rule, ERROR().copy() }); } } } diff --git a/src/compiler/util/string_helpers.cc b/src/compiler/util/string_helpers.cc index 03b3d7e2..b7bc0d36 100644 --- a/src/compiler/util/string_helpers.cc +++ b/src/compiler/util/string_helpers.cc @@ -2,7 +2,7 @@ namespace tree_sitter { using std::string; - + namespace util { void str_replace(string *input, const string &search, const string &replace) { size_t pos = 0; @@ -14,7 +14,7 @@ namespace tree_sitter { pos += replace.length(); } } - + string escape_string(string input) { str_replace(&input, "\"", "\\\""); str_replace(&input, "\n", "\\n");