Repository: tree-sitter-grammars/tree-sitter-lua (language: python)

Issue:
Support for UTF-8 Identifiers
LuaJIT supports UTF-8 identifiers, see the `loadfile()` section in https://luajit.org/extensions.html. Some other tools like https://github.com/sumneko/lua-language-server also support this extension. As this grammar is used with LuaJIT in Neovim, please support Unicode identifiers as well.


Discussion / hints:
Could you maybe provide some test cases that are failing? 🤔 
I’m not quite sure this is what you were looking for, I’ve never worked on Treesitter grammars before, but take this sample program:

```lua
local æther = 5
local façade = 6
print(æther + façade)
```

This is a valid LuaJIT program that prints `11`, both inside and outside of Neovim. It features non-ASCII letters at the beginning of an identifier (`æther`) and in the middle of an identifier (`façade`).

In Neovim with Treesitter syntax highlighting, the sections marked with `[...]` are currently highlighted as syntax errors.

```lua
local [æ]ther = 5
local fa[ç]ade = 6
print([æ]ther + fa[çade])
```

This is unsurprising, as AFAICT the following line of this grammar is responsible for matching an identifier.

https://github.com/MunifTanjim/tree-sitter-lua/blob/c9ece5b2d348f917052db5a2da9bd4ecff07426c/grammar.js#L485

While searching for the way LuaJIT defines an identifier, I’ve found the following comment in the LuaJIT source code. This comment states that any non-ASCII codepoint may be used in an identifier.

https://github.com/LuaJIT/LuaJIT/blob/dad04f1754723e76ba9dcf9f401f3134a0cd3972/src/lj_char.c#L10-L13

This should be possible to express in regex, as Treesitter supports Unicode property escapes, see https://github.com/tree-sitter/tree-sitter/issues/95.

Fix patch:
diff --git a/grammar.js b/grammar.js
index a91c322..9f22c97 100644
--- a/grammar.js
+++ b/grammar.js
@@ -482,7 +482,13 @@ module.exports = grammar({
       ),
 
     // Name
-    identifier: (_) => /[a-zA-Z_][a-zA-Z0-9_]*/,
+    identifier: (_) => {
+      const identifier_start =
+        /[^\p{Control}\s+\-*/%^#&~|<>=(){}\[\];:,.\\'"\d]/;
+      const identifier_continue =
+        /[^\p{Control}\s+\-*/%^#&~|<>=(){}\[\];:,.\\'"]*/;
+      return token(seq(identifier_start, identifier_continue));
+    },
 
     // comment
     comment: ($) =>
diff --git a/src/grammar.json b/src/grammar.json
index 45aec2e..7bb7c9f 100644
--- a/src/grammar.json
+++ b/src/grammar.json
@@ -2693,8 +2693,20 @@
       }
     },
     "identifier": {
-      "type": "PATTERN",
-      "value": "[a-zA-Z_][a-zA-Z0-9_]*"
+      "type": "TOKEN",
+      "content": {
+        "type": "SEQ",
+        "members": [
+          {
+            "type": "PATTERN",
+            "value": "[^\\p{Control}\\s+\\-*/%^#&~|<>=(){}\\[\\];:,.\\\\'\"\\d]"
+          },
+          {
+            "type": "PATTERN",
+            "value": "[^\\p{Control}\\s+\\-*/%^#&~|<>=(){}\\[\\];:,.\\\\'\"]*"
+          }
+        ]
+      }
     },
     "comment": {
       "type": "CHOICE",
diff --git a/src/parser.c b/src/parser.c
index 5b8c25c..2b09297 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -6,7 +6,7 @@
 #endif
 
 #define LANGUAGE_VERSION 13
-#define STATE_COUNT 234
+#define STATE_COUNT 235
 #define LARGE_STATE_COUNT 2
 #define SYMBOL_COUNT 125
 #define ALIAS_COUNT 0
@@ -1167,7 +1167,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
   switch (state) {
     case 0:
       if (eof) ADVANCE(10);
-      if (lookahead == '#') ADVANCE(53);
+      if (lookahead == '#') ADVANCE(52);
       if (lookahead == '%') ADVANCE(49);
       if (lookahead == '&') ADVANCE(41);
       if (lookahead == '(') ADVANCE(26);
@@ -1196,9 +1196,12 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
           lookahead == '\r' ||
           lookahead == ' ') SKIP(0)
       if (('1' <= lookahead && lookahead <= '9')) ADVANCE(20);
-      if (('A' <= lookahead && lookahead <= 'Z') ||
-          lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(54);
+      if (lookahead != 0 &&
+          lookahead > 31 &&
+          lookahead != '"' &&
+          lookahead != '\'' &&
+          lookahead != '\\' &&
+          (lookahead < 127 || 159 < lookahead)) ADVANCE(53);
       END_STATE();
     case 1:
       if (lookahead == '!') ADVANCE(11);
@@ -1229,6 +1232,31 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
           ('a' <= lookahead && lookahead <= 'f')) ADVANCE(23);
       END_STATE();
     case 8:
+      if (eof) ADVANCE(10);
+      if (lookahead == '#') ADVANCE(52);
+      if (lookahead == '(') ADVANCE(26);
+      if (lookahead == ')') ADVANCE(27);
+      if (lookahead == '-') ADVANCE(45);
+      if (lookahead == '.') ADVANCE(2);
+      if (lookahead == '0') ADVANCE(19);
+      if (lookahead == ';') ADVANCE(12);
+      if (lookahead == '[') ADVANCE(28);
+      if (lookahead == '{') ADVANCE(30);
+      if (lookahead == '}') ADVANCE(31);
+      if (lookahead == '~') ADVANCE(39);
+      if (lookahead == '\t' ||
+          lookahead == '\n' ||
+          lookahead == '\r' ||
+          lookahead == ' ') SKIP(8)
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(20);
+      if (lookahead != 0 &&
+          lookahead > 31 &&
+          lookahead != '"' &&
+          (lookahead < '%' || '>' < lookahead) &&
+          (lookahead < '\\' || '^' < lookahead) &&
+          (lookahead < '|' || 159 < lookahead)) ADVANCE(53);
+      END_STATE();
+    case 9:
       if (eof) ADVANCE(10);
       if (lookahead == '#') ADVANCE(1);
       if (lookahead == '%') ADVANCE(49);
@@ -1253,35 +1281,16 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
       if (lookahead == '|') ADVANCE(38);
       if (lookahead == '}') ADVANCE(31);
       if (lookahead == '~') ADVANCE(40);
-      if (lookahead == '\t' ||
-          lookahead == '\n' ||
-          lookahead == '\r' ||
-          lookahead == ' ') SKIP(8)
-      if (('A' <= lookahead && lookahead <= 'Z') ||
-          lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(54);
-      END_STATE();
-    case 9:
-      if (eof) ADVANCE(10);
-      if (lookahead == '#') ADVANCE(52);
-      if (lookahead == '(') ADVANCE(26);
-      if (lookahead == ')') ADVANCE(27);
-      if (lookahead == '-') ADVANCE(45);
-      if (lookahead == '.') ADVANCE(2);
-      if (lookahead == '0') ADVANCE(19);
-      if (lookahead == ';') ADVANCE(12);
-      if (lookahead == '[') ADVANCE(28);
-      if (lookahead == '{') ADVANCE(30);
-      if (lookahead == '}') ADVANCE(31);
-      if (lookahead == '~') ADVANCE(39);
       if (lookahead == '\t' ||
           lookahead == '\n' ||
           lookahead == '\r' ||
           lookahead == ' ') SKIP(9)
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(20);
-      if (('A' <= lookahead && lookahead <= 'Z') ||
-          lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(54);
+      if (lookahead != 0 &&
+          lookahead > 31 &&
+          lookahead != '"' &&
+          (lookahead < '\'' || '9' < lookahead) &&
+          lookahead != '\\' &&
+          (lookahead < 127 || 159 < lookahead)) ADVANCE(53);
       END_STATE();
     case 10:
       ACCEPT_TOKEN(ts_builtin_sym_end);
@@ -1427,7 +1436,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
       END_STATE();
     case 45:
       ACCEPT_TOKEN(anon_sym_DASH);
-      if (lookahead == '-') ADVANCE(55);
+      if (lookahead == '-') ADVANCE(54);
       END_STATE();
     case 46:
       ACCEPT_TOKEN(anon_sym_STAR);
@@ -1452,46 +1461,46 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
       ACCEPT_TOKEN(anon_sym_POUND);
       END_STATE();
     case 53:
-      ACCEPT_TOKEN(anon_sym_POUND);
-      if (lookahead == '!') ADVANCE(11);
-      END_STATE();
-    case 54:
       ACCEPT_TOKEN(sym_identifier);
-      if (('0' <= lookahead && lookahead <= '9') ||
-          ('A' <= lookahead && lookahead <= 'Z') ||
-          lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(54);
+      if (lookahead != 0 &&
+          lookahead > ' ' &&
+          lookahead != '"' &&
+          lookahead != '#' &&
+          (lookahead < '%' || '/' < lookahead) &&
+          (lookahead < ':' || '>' < lookahead) &&
+          (lookahead < '[' || '^' < lookahead) &&
+          (lookahead < '{' || 159 < lookahead)) ADVANCE(53);
       END_STATE();
-    case 55:
+    case 54:
       ACCEPT_TOKEN(anon_sym_DASH_DASH);
       END_STATE();
-    case 56:
+    case 55:
       ACCEPT_TOKEN(anon_sym_DASH_DASH);
       if (lookahead != 0 &&
           lookahead != '\n' &&
-          lookahead != '\r') ADVANCE(59);
+          lookahead != '\r') ADVANCE(58);
       END_STATE();
-    case 57:
+    case 56:
       ACCEPT_TOKEN(aux_sym_comment_token1);
-      if (lookahead == '-') ADVANCE(58);
+      if (lookahead == '-') ADVANCE(57);
       if (lookahead == '\t' ||
-          lookahead == ' ') ADVANCE(57);
+          lookahead == ' ') ADVANCE(56);
       if (lookahead != 0 &&
           lookahead != '\n' &&
-          lookahead != '\r') ADVANCE(59);
+          lookahead != '\r') ADVANCE(58);
       END_STATE();
-    case 58:
+    case 57:
       ACCEPT_TOKEN(aux_sym_comment_token1);
-      if (lookahead == '-') ADVANCE(56);
+      if (lookahead == '-') ADVANCE(55);
       if (lookahead != 0 &&
           lookahead != '\n' &&
-          lookahead != '\r') ADVANCE(59);
+          lookahead != '\r') ADVANCE(58);
       END_STATE();
-    case 59:
+    case 58:
       ACCEPT_TOKEN(aux_sym_comment_token1);
       if (lookahead != 0 &&
           lookahead != '\n' &&
-          lookahead != '\r') ADVANCE(59);
+          lookahead != '\r') ADVANCE(58);
       END_STATE();
     default:
       return false;
@@ -1771,21 +1780,21 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) {
 
 static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [0] = {.lex_state = 0, .external_lex_state = 1},
-  [1] = {.lex_state = 8, .external_lex_state = 2},
-  [2] = {.lex_state = 8, .external_lex_state = 3},
-  [3] = {.lex_state = 8, .external_lex_state = 3},
-  [4] = {.lex_state = 8, .external_lex_state = 3},
-  [5] = {.lex_state = 8, .external_lex_state = 3},
-  [6] = {.lex_state = 8, .external_lex_state = 3},
-  [7] = {.lex_state = 8, .external_lex_state = 3},
-  [8] = {.lex_state = 8, .external_lex_state = 3},
-  [9] = {.lex_state = 8, .external_lex_state = 3},
-  [10] = {.lex_state = 8, .external_lex_state = 3},
-  [11] = {.lex_state = 8, .external_lex_state = 3},
-  [12] = {.lex_state = 8, .external_lex_state = 3},
-  [13] = {.lex_state = 8, .external_lex_state = 3},
-  [14] = {.lex_state = 8, .external_lex_state = 3},
-  [15] = {.lex_state = 8, .external_lex_state = 3},
+  [1] = {.lex_state = 9, .external_lex_state = 2},
+  [2] = {.lex_state = 9, .external_lex_state = 3},
+  [3] = {.lex_state = 9, .external_lex_state = 3},
+  [4] = {.lex_state = 9, .external_lex_state = 3},
+  [5] = {.lex_state = 9, .external_lex_state = 3},
+  [6] = {.lex_state = 9, .external_lex_state = 3},
+  [7] = {.lex_state = 9, .external_lex_state = 3},
+  [8] = {.lex_state = 9, .external_lex_state = 3},
+  [9] = {.lex_state = 9, .external_lex_state = 3},
+  [10] = {.lex_state = 9, .external_lex_state = 3},
+  [11] = {.lex_state = 9, .external_lex_state = 3},
+  [12] = {.lex_state = 9, .external_lex_state = 3},
+  [13] = {.lex_state = 9, .external_lex_state = 3},
+  [14] = {.lex_state = 9, .external_lex_state = 3},
+  [15] = {.lex_state = 9, .external_lex_state = 3},
   [16] = {.lex_state = 0, .external_lex_state = 2},
   [17] = {.lex_state = 0, .external_lex_state = 2},
   [18] = {.lex_state = 0, .external_lex_state = 2},
@@ -1823,50 +1832,50 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [50] = {.lex_state = 0, .external_lex_state = 2},
   [51] = {.lex_state = 0, .external_lex_state = 2},
   [52] = {.lex_state = 0, .external_lex_state = 2},
-  [53] = {.lex_state = 9, .external_lex_state = 3},
-  [54] = {.lex_state = 9, .external_lex_state = 3},
-  [55] = {.lex_state = 9, .external_lex_state = 3},
-  [56] = {.lex_state = 8, .external_lex_state = 3},
-  [57] = {.lex_state = 9, .external_lex_state = 3},
-  [58] = {.lex_state = 0, .external_lex_state = 2},
-  [59] = {.lex_state = 9, .external_lex_state = 3},
-  [60] = {.lex_state = 0, .external_lex_state = 2},
-  [61] = {.lex_state = 9, .external_lex_state = 3},
-  [62] = {.lex_state = 9, .external_lex_state = 3},
-  [63] = {.lex_state = 9, .external_lex_state = 3},
-  [64] = {.lex_state = 9, .external_lex_state = 3},
-  [65] = {.lex_state = 9, .external_lex_state = 3},
-  [66] = {.lex_state = 9, .external_lex_state = 3},
-  [67] = {.lex_state = 9, .external_lex_state = 3},
-  [68] = {.lex_state = 9, .external_lex_state = 3},
-  [69] = {.lex_state = 9, .external_lex_state = 3},
-  [70] = {.lex_state = 9, .external_lex_state = 3},
-  [71] = {.lex_state = 9, .external_lex_state = 3},
-  [72] = {.lex_state = 9, .external_lex_state = 3},
-  [73] = {.lex_state = 9, .external_lex_state = 3},
-  [74] = {.lex_state = 9, .external_lex_state = 3},
-  [75] = {.lex_state = 9, .external_lex_state = 3},
-  [76] = {.lex_state = 9, .external_lex_state = 3},
-  [77] = {.lex_state = 9, .external_lex_state = 3},
-  [78] = {.lex_state = 9, .external_lex_state = 3},
-  [79] = {.lex_state = 9, .external_lex_state = 3},
-  [80] = {.lex_state = 9, .external_lex_state = 3},
-  [81] = {.lex_state = 9, .external_lex_state = 3},
-  [82] = {.lex_state = 9, .external_lex_state = 3},
-  [83] = {.lex_state = 9, .external_lex_state = 3},
-  [84] = {.lex_state = 9, .external_lex_state = 3},
-  [85] = {.lex_state = 9, .external_lex_state = 3},
-  [86] = {.lex_state = 9, .external_lex_state = 3},
-  [87] = {.lex_state = 9, .external_lex_state = 3},
-  [88] = {.lex_state = 9, .external_lex_state = 3},
-  [89] = {.lex_state = 9, .external_lex_state = 3},
-  [90] = {.lex_state = 9, .external_lex_state = 3},
-  [91] = {.lex_state = 9, .external_lex_state = 3},
-  [92] = {.lex_state = 9, .external_lex_state = 3},
-  [93] = {.lex_state = 0, .external_lex_state = 2},
+  [53] = {.lex_state = 8, .external_lex_state = 3},
+  [54] = {.lex_state = 8, .external_lex_state = 3},
+  [55] = {.lex_state = 8, .external_lex_state = 3},
+  [56] = {.lex_state = 9, .external_lex_state = 3},
+  [57] = {.lex_state = 0, .external_lex_state = 2},
+  [58] = {.lex_state = 8, .external_lex_state = 3},
+  [59] = {.lex_state = 0, .external_lex_state = 2},
+  [60] = {.lex_state = 8, .external_lex_state = 3},
+  [61] = {.lex_state = 8, .external_lex_state = 3},
+  [62] = {.lex_state = 8, .external_lex_state = 3},
+  [63] = {.lex_state = 8, .external_lex_state = 3},
+  [64] = {.lex_state = 8, .external_lex_state = 3},
+  [65] = {.lex_state = 8, .external_lex_state = 3},
+  [66] = {.lex_state = 8, .external_lex_state = 3},
+  [67] = {.lex_state = 8, .external_lex_state = 3},
+  [68] = {.lex_state = 8, .external_lex_state = 3},
+  [69] = {.lex_state = 8, .external_lex_state = 3},
+  [70] = {.lex_state = 8, .external_lex_state = 3},
+  [71] = {.lex_state = 8, .external_lex_state = 3},
+  [72] = {.lex_state = 8, .external_lex_state = 3},
+  [73] = {.lex_state = 8, .external_lex_state = 3},
+  [74] = {.lex_state = 8, .external_lex_state = 3},
+  [75] = {.lex_state = 8, .external_lex_state = 3},
+  [76] = {.lex_state = 8, .external_lex_state = 3},
+  [77] = {.lex_state = 8, .external_lex_state = 3},
+  [78] = {.lex_state = 8, .external_lex_state = 3},
+  [79] = {.lex_state = 8, .external_lex_state = 3},
+  [80] = {.lex_state = 8, .external_lex_state = 3},
+  [81] = {.lex_state = 8, .external_lex_state = 3},
+  [82] = {.lex_state = 8, .external_lex_state = 3},
+  [83] = {.lex_state = 8, .external_lex_state = 3},
+  [84] = {.lex_state = 8, .external_lex_state = 3},
+  [85] = {.lex_state = 8, .external_lex_state = 3},
+  [86] = {.lex_state = 8, .external_lex_state = 3},
+  [87] = {.lex_state = 8, .external_lex_state = 3},
+  [88] = {.lex_state = 8, .external_lex_state = 3},
+  [89] = {.lex_state = 8, .external_lex_state = 3},
+  [90] = {.lex_state = 8, .external_lex_state = 3},
+  [91] = {.lex_state = 8, .external_lex_state = 3},
+  [92] = {.lex_state = 8, .external_lex_state = 3},
+  [93] = {.lex_state = 8, .external_lex_state = 3},
   [94] = {.lex_state = 0, .external_lex_state = 2},
-  [95] = {.lex_state = 0, .external_lex_state = 2},
-  [96] = {.lex_state = 8, .external_lex_state = 3},
+  [95] = {.lex_state = 9, .external_lex_state = 3},
+  [96] = {.lex_state = 0, .external_lex_state = 2},
   [97] = {.lex_state = 0, .external_lex_state = 2},
   [98] = {.lex_state = 0, .external_lex_state = 2},
   [99] = {.lex_state = 0, .external_lex_state = 2},
@@ -1912,20 +1921,20 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [139] = {.lex_state = 0, .external_lex_state = 2},
   [140] = {.lex_state = 0, .external_lex_state = 2},
   [141] = {.lex_state = 0, .external_lex_state = 2},
-  [142] = {.lex_state = 9, .external_lex_state = 3},
-  [143] = {.lex_state = 0, .external_lex_state = 2},
+  [142] = {.lex_state = 0, .external_lex_state = 2},
+  [143] = {.lex_state = 8, .external_lex_state = 3},
   [144] = {.lex_state = 0, .external_lex_state = 2},
   [145] = {.lex_state = 0, .external_lex_state = 2},
   [146] = {.lex_state = 0, .external_lex_state = 2},
   [147] = {.lex_state = 0, .external_lex_state = 2},
-  [148] = {.lex_state = 8, .external_lex_state = 3},
-  [149] = {.lex_state = 8, .external_lex_state = 3},
-  [150] = {.lex_state = 8, .external_lex_state = 3},
-  [151] = {.lex_state = 0, .external_lex_state = 3},
-  [152] = {.lex_state = 0, .external_lex_state = 2},
+  [148] = {.lex_state = 9, .external_lex_state = 3},
+  [149] = {.lex_state = 0, .external_lex_state = 2},
+  [150] = {.lex_state = 9, .external_lex_state = 3},
+  [151] = {.lex_state = 9, .external_lex_state = 3},
+  [152] = {.lex_state = 0, .external_lex_state = 3},
   [153] = {.lex_state = 0, .external_lex_state = 2},
-  [154] = {.lex_state = 8, .external_lex_state = 3},
-  [155] = {.lex_state = 0, .external_lex_state = 2},
+  [154] = {.lex_state = 0, .external_lex_state = 2},
+  [155] = {.lex_state = 9, .external_lex_state = 3},
   [156] = {.lex_state = 0, .external_lex_state = 2},
   [157] = {.lex_state = 0, .external_lex_state = 2},
   [158] = {.lex_state = 0, .external_lex_state = 2},
@@ -1937,15 +1946,15 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [164] = {.lex_state = 0, .external_lex_state = 2},
   [165] = {.lex_state = 0, .external_lex_state = 2},
   [166] = {.lex_state = 0, .external_lex_state = 2},
-  [167] = {.lex_state = 9, .external_lex_state = 2},
-  [168] = {.lex_state = 0, .external_lex_state = 2},
+  [167] = {.lex_state = 0, .external_lex_state = 2},
+  [168] = {.lex_state = 8, .external_lex_state = 2},
   [169] = {.lex_state = 0, .external_lex_state = 2},
   [170] = {.lex_state = 0, .external_lex_state = 2},
-  [171] = {.lex_state = 8, .external_lex_state = 2},
+  [171] = {.lex_state = 0, .external_lex_state = 2},
   [172] = {.lex_state = 0, .external_lex_state = 2},
   [173] = {.lex_state = 0, .external_lex_state = 2},
-  [174] = {.lex_state = 8, .external_lex_state = 2},
-  [175] = {.lex_state = 0, .external_lex_state = 3},
+  [174] = {.lex_state = 0, .external_lex_state = 3},
+  [175] = {.lex_state = 9, .external_lex_state = 2},
   [176] = {.lex_state = 0, .external_lex_state = 2},
   [177] = {.lex_state = 0, .external_lex_state = 2},
   [178] = {.lex_state = 0, .external_lex_state = 2},
@@ -1953,18 +1962,18 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [180] = {.lex_state = 0, .external_lex_state = 2},
   [181] = {.lex_state = 0, .external_lex_state = 2},
   [182] = {.lex_state = 0, .external_lex_state = 2},
-  [183] = {.lex_state = 8, .external_lex_state = 2},
-  [184] = {.lex_state = 8, .external_lex_state = 2},
-  [185] = {.lex_state = 0, .external_lex_state = 2},
-  [186] = {.lex_state = 0, .external_lex_state = 4},
-  [187] = {.lex_state = 0, .external_lex_state = 5},
-  [188] = {.lex_state = 0, .external_lex_state = 4},
-  [189] = {.lex_state = 9, .external_lex_state = 2},
-  [190] = {.lex_state = 9, .external_lex_state = 2},
-  [191] = {.lex_state = 0, .external_lex_state = 2},
+  [183] = {.lex_state = 9, .external_lex_state = 2},
+  [184] = {.lex_state = 0, .external_lex_state = 2},
+  [185] = {.lex_state = 9, .external_lex_state = 2},
+  [186] = {.lex_state = 9, .external_lex_state = 2},
+  [187] = {.lex_state = 0, .external_lex_state = 4},
+  [188] = {.lex_state = 0, .external_lex_state = 5},
+  [189] = {.lex_state = 0, .external_lex_state = 4},
+  [190] = {.lex_state = 8, .external_lex_state = 2},
+  [191] = {.lex_state = 8, .external_lex_state = 2},
   [192] = {.lex_state = 0, .external_lex_state = 2},
   [193] = {.lex_state = 0, .external_lex_state = 2},
-  [194] = {.lex_state = 0, .external_lex_state = 2},
+  [194] = {.lex_state = 0, .external_lex_state = 6},
   [195] = {.lex_state = 0, .external_lex_state = 2},
   [196] = {.lex_state = 0, .external_lex_state = 2},
   [197] = {.lex_state = 0, .external_lex_state = 2},
@@ -1978,22 +1987,22 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [205] = {.lex_state = 0, .external_lex_state = 2},
   [206] = {.lex_state = 0, .external_lex_state = 2},
   [207] = {.lex_state = 0, .external_lex_state = 2},
-  [208] = {.lex_state = 0, .external_lex_state = 6},
+  [208] = {.lex_state = 0, .external_lex_state = 2},
   [209] = {.lex_state = 0, .external_lex_state = 2},
   [210] = {.lex_state = 0, .external_lex_state = 2},
-  [211] = {.lex_state = 0, .external_lex_state = 2},
-  [212] = {.lex_state = 0, .external_lex_state = 7},
+  [211] = {.lex_state = 0, .external_lex_state = 7},
+  [212] = {.lex_state = 0, .external_lex_state = 2},
   [213] = {.lex_state = 0, .external_lex_state = 2},
-  [214] = {.lex_state = 57, .external_lex_state = 2},
-  [215] = {.lex_state = 0, .external_lex_state = 2},
+  [214] = {.lex_state = 0, .external_lex_state = 2},
+  [215] = {.lex_state = 56, .external_lex_state = 2},
   [216] = {.lex_state = 0, .external_lex_state = 2},
   [217] = {.lex_state = 0, .external_lex_state = 2},
-  [218] = {.lex_state = 0, .external_lex_state = 6},
+  [218] = {.lex_state = 0, .external_lex_state = 2},
   [219] = {.lex_state = 0, .external_lex_state = 2},
   [220] = {.lex_state = 0, .external_lex_state = 2},
   [221] = {.lex_state = 0, .external_lex_state = 2},
   [222] = {.lex_state = 0, .external_lex_state = 2},
-  [223] = {.lex_state = 0, .external_lex_state = 2},
+  [223] = {.lex_state = 0, .external_lex_state = 7},
   [224] = {.lex_state = 0, .external_lex_state = 2},
   [225] = {.lex_state = 0, .external_lex_state = 2},
   [226] = {.lex_state = 0, .external_lex_state = 2},
@@ -2001,9 +2010,10 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [228] = {.lex_state = 0, .external_lex_state = 2},
   [229] = {.lex_state = 0, .external_lex_state = 2},
   [230] = {.lex_state = 0, .external_lex_state = 2},
-  [231] = {(TSStateId)(-1)},
+  [231] = {.lex_state = 0, .external_lex_state = 2},
   [232] = {(TSStateId)(-1)},
   [233] = {(TSStateId)(-1)},
+  [234] = {(TSStateId)(-1)},
 };
 
 enum {
@@ -2052,11 +2062,11 @@ static const bool ts_external_scanner_states[8][EXTERNAL_TOKEN_COUNT] = {
   },
   [6] = {
     [ts_external_token__block_comment_start] = true,
-    [ts_external_token__string_end] = true,
+    [ts_external_token__block_comment_end] = true,
   },
   [7] = {
     [ts_external_token__block_comment_start] = true,
-    [ts_external_token__block_comment_end] = true,
+    [ts_external_token__string_end] = true,
   },
 };
 
@@ -2065,7 +2075,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_comment] = STATE(0),
     [ts_builtin_sym_end] = ACTIONS(1),
     [sym_identifier] = ACTIONS(1),
-    [sym_hash_bang_line] = ACTIONS(1),
     [anon_sym_return] = ACTIONS(1),
     [anon_sym_SEMI] = ACTIONS(1),
     [anon_sym_EQ] = ACTIONS(1),
@@ -2130,32 +2139,32 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym__string_end] = ACTIONS(1),
   },
   [1] = {
-    [sym_chunk] = STATE(219),
-    [sym_statement] = STATE(134),
-    [sym_return_statement] = STATE(213),
-    [sym_empty_statement] = STATE(117),
-    [sym_assignment_statement] = STATE(117),
-    [sym__variable_assignment_varlist] = STATE(192),
-    [sym_label_statement] = STATE(117),
-    [sym_goto_statement] = STATE(117),
-    [sym_do_statement] = STATE(117),
-    [sym_while_statement] = STATE(117),
-    [sym_repeat_statement] = STATE(117),
-    [sym_if_statement] = STATE(117),
-    [sym_for_statement] = STATE(117),
-    [sym_declaration] = STATE(135),
-    [sym_function_declaration] = STATE(136),
-    [sym__local_function_declaration] = STATE(138),
-    [sym_variable_declaration] = STATE(140),
+    [sym_chunk] = STATE(221),
+    [sym_statement] = STATE(132),
+    [sym_return_statement] = STATE(214),
+    [sym_empty_statement] = STATE(121),
+    [sym_assignment_statement] = STATE(121),
+    [sym__variable_assignment_varlist] = STATE(193),
+    [sym_label_statement] = STATE(121),
+    [sym_goto_statement] = STATE(121),
+    [sym_do_statement] = STATE(121),
+    [sym_while_statement] = STATE(121),
+    [sym_repeat_statement] = STATE(121),
+    [sym_if_statement] = STATE(121),
+    [sym_for_statement] = STATE(121),
+    [sym_declaration] = STATE(138),
+    [sym_function_declaration] = STATE(139),
+    [sym__local_function_declaration] = STATE(140),
+    [sym_variable_declaration] = STATE(141),
     [sym__prefix_expression] = STATE(148),
-    [sym_variable] = STATE(149),
-    [sym_bracket_index_expression] = STATE(4),
-    [sym_dot_index_expression] = STATE(4),
-    [sym_function_call] = STATE(96),
-    [sym_method_index_expression] = STATE(151),
-    [sym_parenthesized_expression] = STATE(154),
+    [sym_variable] = STATE(150),
+    [sym_bracket_index_expression] = STATE(3),
+    [sym_dot_index_expression] = STATE(3),
+    [sym_function_call] = STATE(95),
+    [sym_method_index_expression] = STATE(152),
+    [sym_parenthesized_expression] = STATE(155),
     [sym_comment] = STATE(1),
-    [aux_sym_chunk_repeat1] = STATE(50),
+    [aux_sym_chunk_repeat1] = STATE(51),
     [ts_builtin_sym_end] = ACTIONS(7),
     [sym_identifier] = ACTIONS(9),
     [sym_hash_bang_line] = ACTIONS(11),
@@ -2358,24 +2367,28 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [195] = 5,
+  [195] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(5), 1,
       sym_comment,
-    ACTIONS(51), 25,
+    ACTIONS(55), 2,
+      anon_sym_DOT,
+      anon_sym_COLON,
+    ACTIONS(57), 4,
       sym__string_start,
+      anon_sym_LPAREN,
+      anon_sym_LBRACK,
+      anon_sym_LBRACE,
+    ACTIONS(51), 21,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
       anon_sym_COLON_COLON,
-      anon_sym_LPAREN,
       anon_sym_RPAREN,
-      anon_sym_LBRACK,
       anon_sym_RBRACK,
-      anon_sym_LBRACE,
       anon_sym_RBRACE,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
@@ -2391,7 +2404,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(53), 25,
+    ACTIONS(53), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -2407,8 +2420,6 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_for,
       anon_sym_function,
       anon_sym_local,
-      anon_sym_DOT,
-      anon_sym_COLON,
       anon_sym_or,
       anon_sym_and,
       anon_sym_LT,
@@ -2417,14 +2428,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [259] = 5,
+  [263] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(6), 1,
       sym_comment,
-    ACTIONS(55), 25,
+    ACTIONS(59), 25,
       sym__string_start,
       ts_builtin_sym_end,
       anon_sym_SEMI,
@@ -2450,7 +2461,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(57), 25,
+    ACTIONS(61), 25,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -2476,14 +2487,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [323] = 5,
+  [327] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(7), 1,
       sym_comment,
-    ACTIONS(59), 25,
+    ACTIONS(63), 25,
       sym__string_start,
       ts_builtin_sym_end,
       anon_sym_SEMI,
@@ -2509,7 +2520,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(61), 25,
+    ACTIONS(65), 25,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -2535,14 +2546,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [387] = 5,
+  [391] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(8), 1,
       sym_comment,
-    ACTIONS(63), 25,
+    ACTIONS(67), 25,
       sym__string_start,
       ts_builtin_sym_end,
       anon_sym_SEMI,
@@ -2568,7 +2579,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(65), 25,
+    ACTIONS(69), 25,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -2594,14 +2605,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [451] = 5,
+  [455] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(9), 1,
       sym_comment,
-    ACTIONS(67), 25,
+    ACTIONS(71), 25,
       sym__string_start,
       ts_builtin_sym_end,
       anon_sym_SEMI,
@@ -2627,7 +2638,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(69), 25,
+    ACTIONS(73), 25,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -2653,14 +2664,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [515] = 5,
+  [519] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(10), 1,
       sym_comment,
-    ACTIONS(71), 25,
+    ACTIONS(75), 25,
       sym__string_start,
       ts_builtin_sym_end,
       anon_sym_SEMI,
@@ -2686,7 +2697,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(73), 25,
+    ACTIONS(77), 25,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -2712,14 +2723,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [579] = 5,
+  [583] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(11), 1,
       sym_comment,
-    ACTIONS(75), 25,
+    ACTIONS(79), 25,
       sym__string_start,
       ts_builtin_sym_end,
       anon_sym_SEMI,
@@ -2745,7 +2756,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(77), 25,
+    ACTIONS(81), 25,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -2771,14 +2782,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [643] = 5,
+  [647] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(12), 1,
       sym_comment,
-    ACTIONS(79), 25,
+    ACTIONS(83), 25,
       sym__string_start,
       ts_builtin_sym_end,
       anon_sym_SEMI,
@@ -2804,7 +2815,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(81), 25,
+    ACTIONS(85), 25,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -2830,14 +2841,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [707] = 5,
+  [711] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(13), 1,
       sym_comment,
-    ACTIONS(83), 25,
+    ACTIONS(87), 25,
       sym__string_start,
       ts_builtin_sym_end,
       anon_sym_SEMI,
@@ -2863,7 +2874,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(85), 25,
+    ACTIONS(89), 25,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -2889,28 +2900,24 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [771] = 7,
+  [775] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(14), 1,
       sym_comment,
-    ACTIONS(91), 2,
-      anon_sym_DOT,
-      anon_sym_COLON,
-    ACTIONS(93), 4,
+    ACTIONS(91), 25,
       sym__string_start,
-      anon_sym_LPAREN,
-      anon_sym_LBRACK,
-      anon_sym_LBRACE,
-    ACTIONS(87), 21,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
       anon_sym_COLON_COLON,
+      anon_sym_LPAREN,
       anon_sym_RPAREN,
+      anon_sym_LBRACK,
       anon_sym_RBRACK,
+      anon_sym_LBRACE,
       anon_sym_RBRACE,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
@@ -2926,7 +2933,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(89), 23,
+    ACTIONS(93), 25,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -2942,6 +2949,8 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_for,
       anon_sym_function,
       anon_sym_local,
+      anon_sym_DOT,
+      anon_sym_COLON,
       anon_sym_or,
       anon_sym_and,
       anon_sym_LT,
@@ -3016,7 +3025,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_comment_start,
     STATE(16), 1,
       sym_comment,
-    ACTIONS(75), 22,
+    ACTIONS(79), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3039,7 +3048,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(77), 23,
+    ACTIONS(81), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3070,7 +3079,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_comment_start,
     STATE(17), 1,
       sym_comment,
-    ACTIONS(99), 22,
+    ACTIONS(63), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3093,7 +3102,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(101), 23,
+    ACTIONS(65), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3122,42 +3131,42 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(107), 1,
+    ACTIONS(103), 1,
       anon_sym_and,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
     STATE(18), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-    ACTIONS(103), 8,
+    ACTIONS(99), 8,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3166,7 +3175,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_RPAREN,
       anon_sym_RBRACK,
       anon_sym_RBRACE,
-    ACTIONS(105), 17,
+    ACTIONS(101), 17,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3184,22 +3193,104 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
       anon_sym_or,
       sym_identifier,
-  [1106] = 8,
+  [1106] = 39,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(127), 1,
-      anon_sym_SLASH,
+    ACTIONS(9), 1,
+      sym_identifier,
+    ACTIONS(15), 1,
+      anon_sym_SEMI,
+    ACTIONS(17), 1,
+      anon_sym_COLON_COLON,
+    ACTIONS(19), 1,
+      sym_break_statement,
+    ACTIONS(21), 1,
+      anon_sym_goto,
+    ACTIONS(23), 1,
+      anon_sym_do,
+    ACTIONS(25), 1,
+      anon_sym_while,
+    ACTIONS(27), 1,
+      anon_sym_repeat,
+    ACTIONS(29), 1,
+      anon_sym_if,
+    ACTIONS(31), 1,
+      anon_sym_for,
+    ACTIONS(33), 1,
+      anon_sym_function,
+    ACTIONS(35), 1,
+      anon_sym_local,
+    ACTIONS(37), 1,
+      anon_sym_LPAREN,
+    ACTIONS(129), 1,
+      anon_sym_return,
     ACTIONS(131), 1,
-      anon_sym_CARET,
+      anon_sym_end,
+    ACTIONS(133), 1,
+      anon_sym_elseif,
+    ACTIONS(135), 1,
+      anon_sym_else,
     STATE(19), 1,
       sym_comment,
-    ACTIONS(125), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(103), 18,
+    STATE(37), 1,
+      aux_sym_chunk_repeat1,
+    STATE(95), 1,
+      sym_function_call,
+    STATE(132), 1,
+      sym_statement,
+    STATE(138), 1,
+      sym_declaration,
+    STATE(139), 1,
+      sym_function_declaration,
+    STATE(140), 1,
+      sym__local_function_declaration,
+    STATE(141), 1,
+      sym_variable_declaration,
+    STATE(148), 1,
+      sym__prefix_expression,
+    STATE(150), 1,
+      sym_variable,
+    STATE(152), 1,
+      sym_method_index_expression,
+    STATE(155), 1,
+      sym_parenthesized_expression,
+    STATE(156), 1,
+      sym__block,
+    STATE(157), 1,
+      aux_sym_if_statement_repeat1,
+    STATE(166), 1,
+      sym_return_statement,
+    STATE(178), 1,
+      sym_elseif_statement,
+    STATE(193), 1,
+      sym__variable_assignment_varlist,
+    STATE(222), 1,
+      sym_else_statement,
+    STATE(3), 2,
+      sym_bracket_index_expression,
+      sym_dot_index_expression,
+    STATE(121), 9,
+      sym_empty_statement,
+      sym_assignment_statement,
+      sym_label_statement,
+      sym_goto_statement,
+      sym_do_statement,
+      sym_while_statement,
+      sym_repeat_statement,
+      sym_if_statement,
+      sym_for_statement,
+  [1233] = 6,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(127), 1,
+      anon_sym_CARET,
+    STATE(20), 1,
+      sym_comment,
+    ACTIONS(99), 21,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3217,8 +3308,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH_SLASH,
+      anon_sym_PERCENT,
       anon_sym_DOT_DOT,
-    ACTIONS(105), 22,
+    ACTIONS(101), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3240,46 +3334,47 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT,
       anon_sym_TILDE,
       anon_sym_DASH,
+      anon_sym_SLASH,
       sym_identifier,
-  [1171] = 17,
+  [1294] = 17,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    STATE(20), 1,
+    STATE(21), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-    ACTIONS(103), 8,
+    ACTIONS(99), 8,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3288,7 +3383,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_RPAREN,
       anon_sym_RBRACK,
       anon_sym_RBRACE,
-    ACTIONS(105), 18,
+    ACTIONS(101), 18,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3307,37 +3402,37 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_or,
       anon_sym_and,
       sym_identifier,
-  [1254] = 15,
+  [1377] = 15,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    STATE(21), 1,
+    STATE(22), 1,
       sym_comment,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(103), 12,
+    ACTIONS(99), 12,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3350,7 +3445,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-    ACTIONS(105), 20,
+    ACTIONS(101), 20,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3371,16 +3466,33 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_GT,
       sym_identifier,
-  [1333] = 6,
+  [1456] = 13,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(131), 1,
+    ACTIONS(113), 1,
+      anon_sym_AMP,
+    ACTIONS(117), 1,
+      anon_sym_PLUS,
+    ACTIONS(119), 1,
+      anon_sym_DASH,
+    ACTIONS(123), 1,
+      anon_sym_SLASH,
+    ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    STATE(22), 1,
+    STATE(23), 1,
       sym_comment,
-    ACTIONS(133), 21,
+    ACTIONS(115), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(121), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(99), 13,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3394,15 +3506,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
       anon_sym_PIPE,
-      anon_sym_AMP,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_DOT_DOT,
-    ACTIONS(135), 23,
+    ACTIONS(101), 21,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3423,19 +3527,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_GT,
       anon_sym_TILDE,
-      anon_sym_DASH,
-      anon_sym_SLASH,
       sym_identifier,
-  [1394] = 6,
+  [1531] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    STATE(23), 1,
+    STATE(24), 1,
       sym_comment,
-    ACTIONS(103), 21,
+    ACTIONS(137), 21,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3457,7 +3559,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
-    ACTIONS(105), 23,
+    ACTIONS(139), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3481,28 +3583,31 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [1455] = 11,
+  [1592] = 12,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    STATE(24), 1,
+    STATE(25), 1,
       sym_comment,
-    ACTIONS(125), 3,
+    ACTIONS(115), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(103), 16,
+    ACTIONS(99), 14,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3517,9 +3622,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_EQ,
       anon_sym_PIPE,
       anon_sym_AMP,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(105), 21,
+    ACTIONS(101), 21,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3541,16 +3644,28 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT,
       anon_sym_TILDE,
       sym_identifier,
-  [1526] = 6,
+  [1665] = 11,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(131), 1,
+    ACTIONS(117), 1,
+      anon_sym_PLUS,
+    ACTIONS(119), 1,
+      anon_sym_DASH,
+    ACTIONS(123), 1,
+      anon_sym_SLASH,
+    ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    STATE(25), 1,
+    STATE(26), 1,
       sym_comment,
-    ACTIONS(103), 21,
+    ACTIONS(121), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(99), 16,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3567,12 +3682,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_DOT_DOT,
-    ACTIONS(105), 23,
+    ACTIONS(101), 21,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3593,38 +3703,29 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_GT,
       anon_sym_TILDE,
-      anon_sym_DASH,
-      anon_sym_SLASH,
       sym_identifier,
-  [1587] = 14,
+  [1736] = 11,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(115), 1,
-      anon_sym_TILDE,
     ACTIONS(117), 1,
-      anon_sym_AMP,
-    ACTIONS(121), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    STATE(26), 1,
+    STATE(27), 1,
       sym_comment,
-    ACTIONS(119), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(103), 13,
+    ACTIONS(99), 16,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3638,7 +3739,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
       anon_sym_PIPE,
-    ACTIONS(105), 20,
+      anon_sym_AMP,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(101), 21,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3658,15 +3762,16 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_and,
       anon_sym_LT,
       anon_sym_GT,
+      anon_sym_TILDE,
       sym_identifier,
-  [1664] = 5,
+  [1807] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(27), 1,
+    STATE(28), 1,
       sym_comment,
-    ACTIONS(71), 22,
+    ACTIONS(75), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3689,7 +3794,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(73), 23,
+    ACTIONS(77), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3713,33 +3818,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [1723] = 13,
+  [1866] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(117), 1,
-      anon_sym_AMP,
-    ACTIONS(121), 1,
-      anon_sym_PLUS,
-    ACTIONS(123), 1,
-      anon_sym_DASH,
-    ACTIONS(127), 1,
-      anon_sym_SLASH,
-    ACTIONS(129), 1,
-      anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
-      anon_sym_CARET,
-    STATE(28), 1,
+    STATE(29), 1,
       sym_comment,
-    ACTIONS(119), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(125), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(103), 13,
+    ACTIONS(51), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3753,7 +3839,16 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
       anon_sym_PIPE,
-    ACTIONS(105), 21,
+      anon_sym_AMP,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_DOT_DOT,
+      anon_sym_CARET,
+    ACTIONS(53), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3774,32 +3869,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_GT,
       anon_sym_TILDE,
+      anon_sym_DASH,
+      anon_sym_SLASH,
       sym_identifier,
-  [1798] = 12,
+  [1925] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(121), 1,
-      anon_sym_PLUS,
-    ACTIONS(123), 1,
-      anon_sym_DASH,
     ACTIONS(127), 1,
-      anon_sym_SLASH,
-    ACTIONS(129), 1,
-      anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
       anon_sym_CARET,
-    STATE(29), 1,
+    STATE(30), 1,
       sym_comment,
-    ACTIONS(119), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(125), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(103), 14,
+    ACTIONS(99), 21,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3814,7 +3896,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_EQ,
       anon_sym_PIPE,
       anon_sym_AMP,
-    ACTIONS(105), 21,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_DOT_DOT,
+    ACTIONS(101), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3835,15 +3924,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_GT,
       anon_sym_TILDE,
+      anon_sym_DASH,
+      anon_sym_SLASH,
       sym_identifier,
-  [1871] = 5,
+  [1986] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(30), 1,
+    STATE(31), 1,
       sym_comment,
-    ACTIONS(137), 22,
+    ACTIONS(141), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3866,7 +3957,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(139), 23,
+    ACTIONS(143), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3890,14 +3981,35 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [1930] = 5,
+  [2045] = 14,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(31), 1,
+    ACTIONS(111), 1,
+      anon_sym_TILDE,
+    ACTIONS(113), 1,
+      anon_sym_AMP,
+    ACTIONS(117), 1,
+      anon_sym_PLUS,
+    ACTIONS(119), 1,
+      anon_sym_DASH,
+    ACTIONS(123), 1,
+      anon_sym_SLASH,
+    ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(127), 1,
+      anon_sym_CARET,
+    STATE(32), 1,
       sym_comment,
-    ACTIONS(87), 22,
+    ACTIONS(115), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(121), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(99), 13,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3911,16 +4023,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
       anon_sym_PIPE,
-      anon_sym_AMP,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_DOT_DOT,
-      anon_sym_CARET,
-    ACTIONS(89), 23,
+    ACTIONS(101), 20,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3940,106 +4043,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_and,
       anon_sym_LT,
       anon_sym_GT,
-      anon_sym_TILDE,
-      anon_sym_DASH,
-      anon_sym_SLASH,
-      sym_identifier,
-  [1989] = 39,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(9), 1,
       sym_identifier,
-    ACTIONS(13), 1,
-      anon_sym_return,
-    ACTIONS(15), 1,
-      anon_sym_SEMI,
-    ACTIONS(17), 1,
-      anon_sym_COLON_COLON,
-    ACTIONS(19), 1,
-      sym_break_statement,
-    ACTIONS(21), 1,
-      anon_sym_goto,
-    ACTIONS(23), 1,
-      anon_sym_do,
-    ACTIONS(25), 1,
-      anon_sym_while,
-    ACTIONS(27), 1,
-      anon_sym_repeat,
-    ACTIONS(29), 1,
-      anon_sym_if,
-    ACTIONS(31), 1,
-      anon_sym_for,
-    ACTIONS(33), 1,
-      anon_sym_function,
-    ACTIONS(35), 1,
-      anon_sym_local,
-    ACTIONS(37), 1,
-      anon_sym_LPAREN,
-    ACTIONS(141), 1,
-      anon_sym_end,
-    ACTIONS(143), 1,
-      anon_sym_elseif,
-    ACTIONS(145), 1,
-      anon_sym_else,
-    STATE(32), 1,
-      sym_comment,
-    STATE(40), 1,
-      aux_sym_chunk_repeat1,
-    STATE(96), 1,
-      sym_function_call,
-    STATE(134), 1,
-      sym_statement,
-    STATE(135), 1,
-      sym_declaration,
-    STATE(136), 1,
-      sym_function_declaration,
-    STATE(138), 1,
-      sym__local_function_declaration,
-    STATE(140), 1,
-      sym_variable_declaration,
-    STATE(148), 1,
-      sym__prefix_expression,
-    STATE(149), 1,
-      sym_variable,
-    STATE(151), 1,
-      sym_method_index_expression,
-    STATE(153), 1,
-      aux_sym_if_statement_repeat1,
-    STATE(154), 1,
-      sym_parenthesized_expression,
-    STATE(155), 1,
-      sym__block,
-    STATE(165), 1,
-      sym_return_statement,
-    STATE(179), 1,
-      sym_elseif_statement,
-    STATE(192), 1,
-      sym__variable_assignment_varlist,
-    STATE(201), 1,
-      sym_else_statement,
-    STATE(4), 2,
-      sym_bracket_index_expression,
-      sym_dot_index_expression,
-    STATE(117), 9,
-      sym_empty_statement,
-      sym_assignment_statement,
-      sym_label_statement,
-      sym_goto_statement,
-      sym_do_statement,
-      sym_while_statement,
-      sym_repeat_statement,
-      sym_if_statement,
-      sym_for_statement,
-  [2116] = 5,
+  [2122] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(33), 1,
       sym_comment,
-    ACTIONS(59), 22,
+    ACTIONS(71), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4062,7 +4074,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(61), 23,
+    ACTIONS(73), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4086,14 +4098,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [2175] = 5,
+  [2181] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(34), 1,
       sym_comment,
-    ACTIONS(147), 22,
+    ACTIONS(145), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4116,7 +4128,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(149), 23,
+    ACTIONS(147), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4140,28 +4152,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [2234] = 11,
+  [2240] = 8,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(121), 1,
-      anon_sym_PLUS,
     ACTIONS(123), 1,
-      anon_sym_DASH,
-    ACTIONS(127), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
-      anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
     STATE(35), 1,
       sym_comment,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(103), 16,
+    ACTIONS(99), 18,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4178,7 +4184,9 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(105), 21,
+      anon_sym_PLUS,
+      anon_sym_DOT_DOT,
+    ACTIONS(101), 22,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4199,6 +4207,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_GT,
       anon_sym_TILDE,
+      anon_sym_DASH,
       sym_identifier,
   [2305] = 5,
     ACTIONS(3), 1,
@@ -4207,7 +4216,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_comment_start,
     STATE(36), 1,
       sym_comment,
-    ACTIONS(67), 22,
+    ACTIONS(149), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4230,7 +4239,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(69), 23,
+    ACTIONS(151), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4254,74 +4263,76 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [2364] = 31,
+  [2364] = 33,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(151), 1,
-      ts_builtin_sym_end,
-    ACTIONS(153), 1,
+    ACTIONS(9), 1,
       sym_identifier,
-    ACTIONS(158), 1,
+    ACTIONS(15), 1,
       anon_sym_SEMI,
-    ACTIONS(161), 1,
+    ACTIONS(17), 1,
       anon_sym_COLON_COLON,
-    ACTIONS(164), 1,
+    ACTIONS(19), 1,
       sym_break_statement,
-    ACTIONS(167), 1,
+    ACTIONS(21), 1,
       anon_sym_goto,
-    ACTIONS(170), 1,
+    ACTIONS(23), 1,
       anon_sym_do,
-    ACTIONS(173), 1,
+    ACTIONS(25), 1,
       anon_sym_while,
-    ACTIONS(176), 1,
+    ACTIONS(27), 1,
       anon_sym_repeat,
-    ACTIONS(179), 1,
+    ACTIONS(29), 1,
       anon_sym_if,
-    ACTIONS(182), 1,
+    ACTIONS(31), 1,
       anon_sym_for,
-    ACTIONS(185), 1,
+    ACTIONS(33), 1,
       anon_sym_function,
-    ACTIONS(188), 1,
+    ACTIONS(35), 1,
       anon_sym_local,
-    ACTIONS(191), 1,
+    ACTIONS(37), 1,
       anon_sym_LPAREN,
-    STATE(96), 1,
+    ACTIONS(129), 1,
+      anon_sym_return,
+    STATE(37), 1,
+      sym_comment,
+    STATE(38), 1,
+      aux_sym_chunk_repeat1,
+    STATE(95), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(132), 1,
       sym_statement,
-    STATE(135), 1,
+    STATE(138), 1,
       sym_declaration,
-    STATE(136), 1,
+    STATE(139), 1,
       sym_function_declaration,
-    STATE(138), 1,
-      sym__local_function_declaration,
     STATE(140), 1,
+      sym__local_function_declaration,
+    STATE(141), 1,
       sym_variable_declaration,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(149), 1,
+    STATE(150), 1,
       sym_variable,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(154), 1,
+    STATE(155), 1,
       sym_parenthesized_expression,
-    STATE(192), 1,
+    STATE(167), 1,
+      sym_return_statement,
+    STATE(193), 1,
       sym__variable_assignment_varlist,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(37), 2,
-      sym_comment,
-      aux_sym_chunk_repeat1,
-    ACTIONS(156), 5,
-      anon_sym_return,
+    ACTIONS(153), 4,
       anon_sym_end,
       anon_sym_until,
       anon_sym_elseif,
       anon_sym_else,
-    STATE(117), 9,
+    STATE(121), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -4331,144 +4342,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_repeat_statement,
       sym_if_statement,
       sym_for_statement,
-  [2472] = 21,
+  [2476] = 31,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(107), 1,
-      anon_sym_and,
-    ACTIONS(113), 1,
-      anon_sym_PIPE,
-    ACTIONS(115), 1,
-      anon_sym_TILDE,
-    ACTIONS(117), 1,
-      anon_sym_AMP,
-    ACTIONS(121), 1,
-      anon_sym_PLUS,
-    ACTIONS(123), 1,
-      anon_sym_DASH,
-    ACTIONS(127), 1,
-      anon_sym_SLASH,
-    ACTIONS(129), 1,
-      anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
-      anon_sym_CARET,
-    ACTIONS(198), 1,
-      anon_sym_COMMA,
-    ACTIONS(200), 1,
-      anon_sym_or,
-    STATE(38), 1,
-      sym_comment,
-    STATE(112), 1,
-      aux_sym__variable_assignment_explist_repeat1,
-    ACTIONS(109), 2,
-      anon_sym_LT,
-      anon_sym_GT,
-    ACTIONS(119), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(125), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(111), 4,
-      anon_sym_LT_EQ,
-      anon_sym_EQ_EQ,
-      anon_sym_TILDE_EQ,
-      anon_sym_GT_EQ,
-    ACTIONS(194), 4,
+    ACTIONS(155), 1,
       ts_builtin_sym_end,
-      anon_sym_SEMI,
-      anon_sym_COLON_COLON,
-      anon_sym_LPAREN,
-    ACTIONS(196), 15,
-      anon_sym_return,
-      sym_break_statement,
-      anon_sym_goto,
-      anon_sym_do,
-      anon_sym_end,
-      anon_sym_while,
-      anon_sym_repeat,
-      anon_sym_until,
-      anon_sym_if,
-      anon_sym_elseif,
-      anon_sym_else,
-      anon_sym_for,
-      anon_sym_function,
-      anon_sym_local,
-      sym_identifier,
-  [2560] = 34,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(9), 1,
+    ACTIONS(157), 1,
       sym_identifier,
-    ACTIONS(13), 1,
-      anon_sym_return,
-    ACTIONS(15), 1,
+    ACTIONS(162), 1,
       anon_sym_SEMI,
-    ACTIONS(17), 1,
+    ACTIONS(165), 1,
       anon_sym_COLON_COLON,
-    ACTIONS(19), 1,
+    ACTIONS(168), 1,
       sym_break_statement,
-    ACTIONS(21), 1,
+    ACTIONS(171), 1,
       anon_sym_goto,
-    ACTIONS(23), 1,
+    ACTIONS(174), 1,
       anon_sym_do,
-    ACTIONS(25), 1,
+    ACTIONS(177), 1,
       anon_sym_while,
-    ACTIONS(27), 1,
+    ACTIONS(180), 1,
       anon_sym_repeat,
-    ACTIONS(29), 1,
+    ACTIONS(183), 1,
       anon_sym_if,
-    ACTIONS(31), 1,
+    ACTIONS(186), 1,
       anon_sym_for,
-    ACTIONS(33), 1,
+    ACTIONS(189), 1,
       anon_sym_function,
-    ACTIONS(35), 1,
+    ACTIONS(192), 1,
       anon_sym_local,
-    ACTIONS(37), 1,
+    ACTIONS(195), 1,
       anon_sym_LPAREN,
-    STATE(39), 1,
-      sym_comment,
-    STATE(40), 1,
-      aux_sym_chunk_repeat1,
-    STATE(96), 1,
+    STATE(95), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(132), 1,
       sym_statement,
-    STATE(135), 1,
+    STATE(138), 1,
       sym_declaration,
-    STATE(136), 1,
+    STATE(139), 1,
       sym_function_declaration,
-    STATE(138), 1,
-      sym__local_function_declaration,
     STATE(140), 1,
+      sym__local_function_declaration,
+    STATE(141), 1,
       sym_variable_declaration,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(149), 1,
+    STATE(150), 1,
       sym_variable,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(154), 1,
+    STATE(155), 1,
       sym_parenthesized_expression,
-    STATE(165), 1,
-      sym_return_statement,
-    STATE(173), 1,
-      sym__block,
-    STATE(192), 1,
+    STATE(193), 1,
       sym__variable_assignment_varlist,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    ACTIONS(202), 3,
+    STATE(38), 2,
+      sym_comment,
+      aux_sym_chunk_repeat1,
+    ACTIONS(160), 5,
+      anon_sym_return,
       anon_sym_end,
+      anon_sym_until,
       anon_sym_elseif,
       anon_sym_else,
-    STATE(117), 9,
+    STATE(121), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -4478,15 +4419,13 @@ static const uint16_t ts_small_parse_table[] = {
       sym_repeat_statement,
       sym_if_statement,
       sym_for_statement,
-  [2674] = 33,
+  [2584] = 34,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(9), 1,
       sym_identifier,
-    ACTIONS(13), 1,
-      anon_sym_return,
     ACTIONS(15), 1,
       anon_sym_SEMI,
     ACTIONS(17), 1,
@@ -4511,43 +4450,46 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
+    ACTIONS(129), 1,
+      anon_sym_return,
     STATE(37), 1,
       aux_sym_chunk_repeat1,
-    STATE(40), 1,
+    STATE(39), 1,
       sym_comment,
-    STATE(96), 1,
+    STATE(95), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(132), 1,
       sym_statement,
-    STATE(135), 1,
+    STATE(138), 1,
       sym_declaration,
-    STATE(136), 1,
+    STATE(139), 1,
       sym_function_declaration,
-    STATE(138), 1,
-      sym__local_function_declaration,
     STATE(140), 1,
+      sym__local_function_declaration,
+    STATE(141), 1,
       sym_variable_declaration,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(149), 1,
+    STATE(150), 1,
       sym_variable,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(154), 1,
+    STATE(155), 1,
       sym_parenthesized_expression,
-    STATE(169), 1,
+    STATE(166), 1,
       sym_return_statement,
-    STATE(192), 1,
+    STATE(176), 1,
+      sym__block,
+    STATE(193), 1,
       sym__variable_assignment_varlist,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    ACTIONS(204), 4,
+    ACTIONS(198), 3,
       anon_sym_end,
-      anon_sym_until,
       anon_sym_elseif,
       anon_sym_else,
-    STATE(117), 9,
+    STATE(121), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -4557,55 +4499,122 @@ static const uint16_t ts_small_parse_table[] = {
       sym_repeat_statement,
       sym_if_statement,
       sym_for_statement,
-  [2786] = 19,
+  [2698] = 21,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(107), 1,
+    ACTIONS(103), 1,
       anon_sym_and,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
+    ACTIONS(123), 1,
+      anon_sym_SLASH,
+    ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
     ACTIONS(127), 1,
+      anon_sym_CARET,
+    ACTIONS(204), 1,
+      anon_sym_COMMA,
+    ACTIONS(206), 1,
+      anon_sym_or,
+    STATE(40), 1,
+      sym_comment,
+    STATE(113), 1,
+      aux_sym__variable_assignment_explist_repeat1,
+    ACTIONS(105), 2,
+      anon_sym_LT,
+      anon_sym_GT,
+    ACTIONS(115), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(121), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(107), 4,
+      anon_sym_LT_EQ,
+      anon_sym_EQ_EQ,
+      anon_sym_TILDE_EQ,
+      anon_sym_GT_EQ,
+    ACTIONS(200), 4,
+      ts_builtin_sym_end,
+      anon_sym_SEMI,
+      anon_sym_COLON_COLON,
+      anon_sym_LPAREN,
+    ACTIONS(202), 15,
+      anon_sym_return,
+      sym_break_statement,
+      anon_sym_goto,
+      anon_sym_do,
+      anon_sym_end,
+      anon_sym_while,
+      anon_sym_repeat,
+      anon_sym_until,
+      anon_sym_if,
+      anon_sym_elseif,
+      anon_sym_else,
+      anon_sym_for,
+      anon_sym_function,
+      anon_sym_local,
+      sym_identifier,
+  [2786] = 19,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(103), 1,
+      anon_sym_and,
+    ACTIONS(109), 1,
+      anon_sym_PIPE,
+    ACTIONS(111), 1,
+      anon_sym_TILDE,
+    ACTIONS(113), 1,
+      anon_sym_AMP,
+    ACTIONS(117), 1,
+      anon_sym_PLUS,
+    ACTIONS(119), 1,
+      anon_sym_DASH,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    ACTIONS(200), 1,
+    ACTIONS(206), 1,
       anon_sym_or,
     STATE(41), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-    ACTIONS(206), 5,
+    ACTIONS(208), 5,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(208), 15,
+    ACTIONS(210), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4628,8 +4637,6 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_comment_start,
     ACTIONS(9), 1,
       sym_identifier,
-    ACTIONS(13), 1,
-      anon_sym_return,
     ACTIONS(15), 1,
       anon_sym_SEMI,
     ACTIONS(17), 1,
@@ -4654,42 +4661,44 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(210), 1,
+    ACTIONS(129), 1,
+      anon_sym_return,
+    ACTIONS(212), 1,
       anon_sym_end,
-    STATE(40), 1,
+    STATE(37), 1,
       aux_sym_chunk_repeat1,
     STATE(42), 1,
       sym_comment,
-    STATE(96), 1,
+    STATE(95), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(132), 1,
       sym_statement,
-    STATE(135), 1,
+    STATE(138), 1,
       sym_declaration,
-    STATE(136), 1,
+    STATE(139), 1,
       sym_function_declaration,
-    STATE(138), 1,
-      sym__local_function_declaration,
     STATE(140), 1,
+      sym__local_function_declaration,
+    STATE(141), 1,
       sym_variable_declaration,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(149), 1,
+    STATE(150), 1,
       sym_variable,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(154), 1,
+    STATE(155), 1,
       sym_parenthesized_expression,
-    STATE(165), 1,
+    STATE(166), 1,
       sym_return_statement,
-    STATE(192), 1,
-      sym__variable_assignment_varlist,
     STATE(193), 1,
+      sym__variable_assignment_varlist,
+    STATE(200), 1,
       sym__block,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(117), 9,
+    STATE(121), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -4706,8 +4715,6 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_comment_start,
     ACTIONS(9), 1,
       sym_identifier,
-    ACTIONS(13), 1,
-      anon_sym_return,
     ACTIONS(15), 1,
       anon_sym_SEMI,
     ACTIONS(17), 1,
@@ -4732,42 +4739,44 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(212), 1,
+    ACTIONS(129), 1,
+      anon_sym_return,
+    ACTIONS(214), 1,
       anon_sym_end,
-    STATE(40), 1,
+    STATE(37), 1,
       aux_sym_chunk_repeat1,
     STATE(43), 1,
       sym_comment,
-    STATE(96), 1,
+    STATE(95), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(132), 1,
       sym_statement,
-    STATE(135), 1,
+    STATE(138), 1,
       sym_declaration,
-    STATE(136), 1,
+    STATE(139), 1,
       sym_function_declaration,
-    STATE(138), 1,
-      sym__local_function_declaration,
     STATE(140), 1,
+      sym__local_function_declaration,
+    STATE(141), 1,
       sym_variable_declaration,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(149), 1,
+    STATE(150), 1,
       sym_variable,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(154), 1,
+    STATE(155), 1,
       sym_parenthesized_expression,
-    STATE(165), 1,
+    STATE(166), 1,
       sym_return_statement,
-    STATE(192), 1,
+    STATE(193), 1,
       sym__variable_assignment_varlist,
-    STATE(205), 1,
+    STATE(213), 1,
       sym__block,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(117), 9,
+    STATE(121), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -4784,8 +4793,6 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_comment_start,
     ACTIONS(9), 1,
       sym_identifier,
-    ACTIONS(13), 1,
-      anon_sym_return,
     ACTIONS(15), 1,
       anon_sym_SEMI,
     ACTIONS(17), 1,
@@ -4810,42 +4817,44 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(214), 1,
-      anon_sym_end,
-    STATE(40), 1,
+    ACTIONS(129), 1,
+      anon_sym_return,
+    ACTIONS(216), 1,
+      anon_sym_until,
+    STATE(37), 1,
       aux_sym_chunk_repeat1,
     STATE(44), 1,
       sym_comment,
-    STATE(96), 1,
+    STATE(95), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(132), 1,
       sym_statement,
-    STATE(135), 1,
+    STATE(138), 1,
       sym_declaration,
-    STATE(136), 1,
+    STATE(139), 1,
       sym_function_declaration,
-    STATE(138), 1,
-      sym__local_function_declaration,
     STATE(140), 1,
+      sym__local_function_declaration,
+    STATE(141), 1,
       sym_variable_declaration,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(149), 1,
+    STATE(150), 1,
       sym_variable,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(154), 1,
+    STATE(155), 1,
       sym_parenthesized_expression,
-    STATE(165), 1,
+    STATE(166), 1,
       sym_return_statement,
-    STATE(192), 1,
+    STATE(193), 1,
       sym__variable_assignment_varlist,
-    STATE(198), 1,
+    STATE(197), 1,
       sym__block,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(117), 9,
+    STATE(121), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -4860,49 +4869,49 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(107), 1,
+    ACTIONS(103), 1,
       anon_sym_and,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    ACTIONS(200), 1,
+    ACTIONS(206), 1,
       anon_sym_or,
     STATE(45), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-    ACTIONS(216), 4,
+    ACTIONS(218), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(218), 15,
+    ACTIONS(220), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4925,8 +4934,6 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_comment_start,
     ACTIONS(9), 1,
       sym_identifier,
-    ACTIONS(13), 1,
-      anon_sym_return,
     ACTIONS(15), 1,
       anon_sym_SEMI,
     ACTIONS(17), 1,
@@ -4951,42 +4958,122 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(220), 1,
+    ACTIONS(129), 1,
+      anon_sym_return,
+    ACTIONS(222), 1,
       anon_sym_end,
-    STATE(40), 1,
+    STATE(37), 1,
       aux_sym_chunk_repeat1,
     STATE(46), 1,
       sym_comment,
-    STATE(96), 1,
+    STATE(95), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(132), 1,
       sym_statement,
-    STATE(135), 1,
+    STATE(138), 1,
       sym_declaration,
-    STATE(136), 1,
+    STATE(139), 1,
       sym_function_declaration,
-    STATE(138), 1,
+    STATE(140), 1,
       sym__local_function_declaration,
+    STATE(141), 1,
+      sym_variable_declaration,
+    STATE(148), 1,
+      sym__prefix_expression,
+    STATE(150), 1,
+      sym_variable,
+    STATE(152), 1,
+      sym_method_index_expression,
+    STATE(155), 1,
+      sym_parenthesized_expression,
+    STATE(166), 1,
+      sym_return_statement,
+    STATE(193), 1,
+      sym__variable_assignment_varlist,
+    STATE(208), 1,
+      sym__block,
+    STATE(3), 2,
+      sym_bracket_index_expression,
+      sym_dot_index_expression,
+    STATE(121), 9,
+      sym_empty_statement,
+      sym_assignment_statement,
+      sym_label_statement,
+      sym_goto_statement,
+      sym_do_statement,
+      sym_while_statement,
+      sym_repeat_statement,
+      sym_if_statement,
+      sym_for_statement,
+  [3399] = 34,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(9), 1,
+      sym_identifier,
+    ACTIONS(15), 1,
+      anon_sym_SEMI,
+    ACTIONS(17), 1,
+      anon_sym_COLON_COLON,
+    ACTIONS(19), 1,
+      sym_break_statement,
+    ACTIONS(21), 1,
+      anon_sym_goto,
+    ACTIONS(23), 1,
+      anon_sym_do,
+    ACTIONS(25), 1,
+      anon_sym_while,
+    ACTIONS(27), 1,
+      anon_sym_repeat,
+    ACTIONS(29), 1,
+      anon_sym_if,
+    ACTIONS(31), 1,
+      anon_sym_for,
+    ACTIONS(33), 1,
+      anon_sym_function,
+    ACTIONS(35), 1,
+      anon_sym_local,
+    ACTIONS(37), 1,
+      anon_sym_LPAREN,
+    ACTIONS(129), 1,
+      anon_sym_return,
+    ACTIONS(224), 1,
+      anon_sym_end,
+    STATE(37), 1,
+      aux_sym_chunk_repeat1,
+    STATE(47), 1,
+      sym_comment,
+    STATE(95), 1,
+      sym_function_call,
+    STATE(132), 1,
+      sym_statement,
+    STATE(138), 1,
+      sym_declaration,
+    STATE(139), 1,
+      sym_function_declaration,
     STATE(140), 1,
+      sym__local_function_declaration,
+    STATE(141), 1,
       sym_variable_declaration,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(149), 1,
+    STATE(150), 1,
       sym_variable,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(154), 1,
+    STATE(155), 1,
       sym_parenthesized_expression,
-    STATE(165), 1,
+    STATE(166), 1,
       sym_return_statement,
-    STATE(192), 1,
+    STATE(193), 1,
       sym__variable_assignment_varlist,
-    STATE(229), 1,
+    STATE(231), 1,
       sym__block,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(117), 9,
+    STATE(121), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -4996,15 +5083,13 @@ static const uint16_t ts_small_parse_table[] = {
       sym_repeat_statement,
       sym_if_statement,
       sym_for_statement,
-  [3399] = 34,
+  [3511] = 34,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(9), 1,
       sym_identifier,
-    ACTIONS(13), 1,
-      anon_sym_return,
     ACTIONS(15), 1,
       anon_sym_SEMI,
     ACTIONS(17), 1,
@@ -5029,42 +5114,44 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(222), 1,
+    ACTIONS(129), 1,
+      anon_sym_return,
+    ACTIONS(226), 1,
       anon_sym_end,
-    STATE(40), 1,
+    STATE(37), 1,
       aux_sym_chunk_repeat1,
-    STATE(47), 1,
+    STATE(48), 1,
       sym_comment,
-    STATE(96), 1,
+    STATE(95), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(132), 1,
       sym_statement,
-    STATE(135), 1,
+    STATE(138), 1,
       sym_declaration,
-    STATE(136), 1,
+    STATE(139), 1,
       sym_function_declaration,
-    STATE(138), 1,
-      sym__local_function_declaration,
     STATE(140), 1,
+      sym__local_function_declaration,
+    STATE(141), 1,
       sym_variable_declaration,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(149), 1,
+    STATE(150), 1,
       sym_variable,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(154), 1,
+    STATE(155), 1,
       sym_parenthesized_expression,
-    STATE(165), 1,
+    STATE(166), 1,
       sym_return_statement,
-    STATE(192), 1,
+    STATE(193), 1,
       sym__variable_assignment_varlist,
-    STATE(215), 1,
+    STATE(196), 1,
       sym__block,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(117), 9,
+    STATE(121), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -5074,54 +5161,54 @@ static const uint16_t ts_small_parse_table[] = {
       sym_repeat_statement,
       sym_if_statement,
       sym_for_statement,
-  [3511] = 19,
+  [3623] = 19,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(107), 1,
+    ACTIONS(103), 1,
       anon_sym_and,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    ACTIONS(200), 1,
+    ACTIONS(206), 1,
       anon_sym_or,
-    STATE(48), 1,
+    STATE(49), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-    ACTIONS(224), 4,
+    ACTIONS(228), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(226), 15,
+    ACTIONS(230), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -5137,84 +5224,6 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [3593] = 34,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(9), 1,
-      sym_identifier,
-    ACTIONS(13), 1,
-      anon_sym_return,
-    ACTIONS(15), 1,
-      anon_sym_SEMI,
-    ACTIONS(17), 1,
-      anon_sym_COLON_COLON,
-    ACTIONS(19), 1,
-      sym_break_statement,
-    ACTIONS(21), 1,
-      anon_sym_goto,
-    ACTIONS(23), 1,
-      anon_sym_do,
-    ACTIONS(25), 1,
-      anon_sym_while,
-    ACTIONS(27), 1,
-      anon_sym_repeat,
-    ACTIONS(29), 1,
-      anon_sym_if,
-    ACTIONS(31), 1,
-      anon_sym_for,
-    ACTIONS(33), 1,
-      anon_sym_function,
-    ACTIONS(35), 1,
-      anon_sym_local,
-    ACTIONS(37), 1,
-      anon_sym_LPAREN,
-    ACTIONS(228), 1,
-      anon_sym_until,
-    STATE(40), 1,
-      aux_sym_chunk_repeat1,
-    STATE(49), 1,
-      sym_comment,
-    STATE(96), 1,
-      sym_function_call,
-    STATE(134), 1,
-      sym_statement,
-    STATE(135), 1,
-      sym_declaration,
-    STATE(136), 1,
-      sym_function_declaration,
-    STATE(138), 1,
-      sym__local_function_declaration,
-    STATE(140), 1,
-      sym_variable_declaration,
-    STATE(148), 1,
-      sym__prefix_expression,
-    STATE(149), 1,
-      sym_variable,
-    STATE(151), 1,
-      sym_method_index_expression,
-    STATE(154), 1,
-      sym_parenthesized_expression,
-    STATE(165), 1,
-      sym_return_statement,
-    STATE(192), 1,
-      sym__variable_assignment_varlist,
-    STATE(194), 1,
-      sym__block,
-    STATE(4), 2,
-      sym_bracket_index_expression,
-      sym_dot_index_expression,
-    STATE(117), 9,
-      sym_empty_statement,
-      sym_assignment_statement,
-      sym_label_statement,
-      sym_goto_statement,
-      sym_do_statement,
-      sym_while_statement,
-      sym_repeat_statement,
-      sym_if_statement,
-      sym_for_statement,
   [3705] = 33,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
@@ -5248,40 +5257,40 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(230), 1,
+    ACTIONS(232), 1,
       ts_builtin_sym_end,
-    STATE(37), 1,
+    STATE(38), 1,
       aux_sym_chunk_repeat1,
     STATE(50), 1,
       sym_comment,
-    STATE(96), 1,
+    STATE(95), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(132), 1,
       sym_statement,
-    STATE(135), 1,
+    STATE(138), 1,
       sym_declaration,
-    STATE(136), 1,
+    STATE(139), 1,
       sym_function_declaration,
-    STATE(138), 1,
-      sym__local_function_declaration,
     STATE(140), 1,
+      sym__local_function_declaration,
+    STATE(141), 1,
       sym_variable_declaration,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(149), 1,
+    STATE(150), 1,
       sym_variable,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(154), 1,
+    STATE(155), 1,
       sym_parenthesized_expression,
-    STATE(192), 1,
+    STATE(193), 1,
       sym__variable_assignment_varlist,
-    STATE(211), 1,
+    STATE(218), 1,
       sym_return_statement,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(117), 9,
+    STATE(121), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -5324,40 +5333,40 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(232), 1,
+    ACTIONS(234), 1,
       ts_builtin_sym_end,
-    STATE(37), 1,
+    STATE(38), 1,
       aux_sym_chunk_repeat1,
     STATE(51), 1,
       sym_comment,
-    STATE(96), 1,
+    STATE(95), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(132), 1,
       sym_statement,
-    STATE(135), 1,
+    STATE(138), 1,
       sym_declaration,
-    STATE(136), 1,
+    STATE(139), 1,
       sym_function_declaration,
-    STATE(138), 1,
-      sym__local_function_declaration,
     STATE(140), 1,
+      sym__local_function_declaration,
+    STATE(141), 1,
       sym_variable_declaration,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(149), 1,
+    STATE(150), 1,
       sym_variable,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(154), 1,
+    STATE(155), 1,
       sym_parenthesized_expression,
-    STATE(192), 1,
+    STATE(193), 1,
       sym__variable_assignment_varlist,
-    STATE(216), 1,
+    STATE(219), 1,
       sym_return_statement,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(117), 9,
+    STATE(121), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -5400,40 +5409,40 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(230), 1,
+    ACTIONS(234), 1,
       ts_builtin_sym_end,
-    STATE(51), 1,
+    STATE(50), 1,
       aux_sym_chunk_repeat1,
     STATE(52), 1,
       sym_comment,
-    STATE(96), 1,
+    STATE(95), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(132), 1,
       sym_statement,
-    STATE(135), 1,
+    STATE(138), 1,
       sym_declaration,
-    STATE(136), 1,
+    STATE(139), 1,
       sym_function_declaration,
-    STATE(138), 1,
-      sym__local_function_declaration,
     STATE(140), 1,
+      sym__local_function_declaration,
+    STATE(141), 1,
       sym_variable_declaration,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(149), 1,
+    STATE(150), 1,
       sym_variable,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(154), 1,
+    STATE(155), 1,
       sym_parenthesized_expression,
-    STATE(192), 1,
+    STATE(193), 1,
       sym__variable_assignment_varlist,
-    STATE(211), 1,
+    STATE(219), 1,
       sym_return_statement,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(117), 9,
+    STATE(121), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -5443,7 +5452,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_repeat_statement,
       sym_if_statement,
       sym_for_statement,
-  [4032] = 22,
+  [4032] = 21,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -5452,8 +5461,6 @@ static const uint16_t ts_small_parse_table[] = {
       sym_identifier,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(234), 1,
-      ts_builtin_sym_end,
     ACTIONS(236), 1,
       anon_sym_SEMI,
     ACTIONS(240), 1,
@@ -5464,13 +5471,13 @@ static const uint16_t ts_small_parse_table[] = {
       sym__string_start,
     STATE(53), 1,
       sym_comment,
-    STATE(58), 1,
+    STATE(59), 1,
       sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(156), 1,
+    STATE(154), 1,
       sym__expression_list,
     ACTIONS(244), 2,
       sym_number,
@@ -5481,14 +5488,14 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
@@ -5497,13 +5504,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_until,
       anon_sym_elseif,
       anon_sym_else,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [4114] = 22,
+  [4111] = 22,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -5528,11 +5535,11 @@ static const uint16_t ts_small_parse_table[] = {
       sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(160), 1,
+    STATE(161), 1,
       sym_field,
-    STATE(206), 1,
+    STATE(224), 1,
       sym__field_list,
     ACTIONS(244), 2,
       sym_number,
@@ -5543,24 +5550,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [4193] = 22,
+  [4190] = 22,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -5585,11 +5592,11 @@ static const uint16_t ts_small_parse_table[] = {
       sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(160), 1,
+    STATE(161), 1,
       sym_field,
-    STATE(223), 1,
+    STATE(209), 1,
       sym__field_list,
     ACTIONS(244), 2,
       sym_number,
@@ -5600,24 +5607,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [4272] = 6,
+  [4269] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -5626,14 +5633,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_EQ,
     STATE(56), 1,
       sym_comment,
-    ACTIONS(49), 6,
+    ACTIONS(45), 6,
       anon_sym_DOT,
       anon_sym_LT,
       anon_sym_GT,
       anon_sym_TILDE,
       anon_sym_DASH,
       anon_sym_SLASH,
-    ACTIONS(47), 24,
+    ACTIONS(43), 24,
       sym__string_start,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -5658,7 +5665,60 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-  [4319] = 21,
+  [4316] = 19,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(109), 1,
+      anon_sym_PIPE,
+    ACTIONS(111), 1,
+      anon_sym_TILDE,
+    ACTIONS(113), 1,
+      anon_sym_AMP,
+    ACTIONS(117), 1,
+      anon_sym_PLUS,
+    ACTIONS(119), 1,
+      anon_sym_DASH,
+    ACTIONS(123), 1,
+      anon_sym_SLASH,
+    ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(127), 1,
+      anon_sym_CARET,
+    ACTIONS(266), 1,
+      anon_sym_else,
+    ACTIONS(268), 1,
+      anon_sym_or,
+    ACTIONS(270), 1,
+      anon_sym_and,
+    STATE(57), 1,
+      sym_comment,
+    ACTIONS(105), 2,
+      anon_sym_LT,
+      anon_sym_GT,
+    ACTIONS(115), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(121), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(107), 4,
+      anon_sym_LT_EQ,
+      anon_sym_EQ_EQ,
+      anon_sym_TILDE_EQ,
+      anon_sym_GT_EQ,
+    ACTIONS(264), 8,
+      ts_builtin_sym_end,
+      anon_sym_SEMI,
+      anon_sym_COMMA,
+      anon_sym_do,
+      anon_sym_end,
+      anon_sym_until,
+      anon_sym_elseif,
+      anon_sym_RPAREN,
+  [4388] = 21,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -5675,17 +5735,17 @@ static const uint16_t ts_small_parse_table[] = {
       sym_identifier,
     ACTIONS(256), 1,
       anon_sym_LBRACK,
-    ACTIONS(264), 1,
+    ACTIONS(272), 1,
       anon_sym_RBRACE,
-    STATE(57), 1,
+    STATE(58), 1,
       sym_comment,
     STATE(94), 1,
       sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(181), 1,
+    STATE(172), 1,
       sym_field,
     ACTIONS(244), 2,
       sym_number,
@@ -5696,107 +5756,107 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [4395] = 21,
+  [4464] = 21,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
     ACTIONS(268), 1,
-      anon_sym_COMMA,
-    ACTIONS(270), 1,
-      anon_sym_else,
-    ACTIONS(272), 1,
       anon_sym_or,
-    ACTIONS(274), 1,
+    ACTIONS(270), 1,
       anon_sym_and,
-    STATE(58), 1,
+    ACTIONS(276), 1,
+      anon_sym_COMMA,
+    ACTIONS(278), 1,
+      anon_sym_else,
+    STATE(59), 1,
       sym_comment,
     STATE(147), 1,
       aux_sym__expression_list_repeat1,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-    ACTIONS(266), 6,
+    ACTIONS(274), 6,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_do,
       anon_sym_end,
       anon_sym_until,
       anon_sym_elseif,
-  [4471] = 21,
+  [4540] = 21,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(9), 1,
+      sym_identifier,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
+    ACTIONS(236), 1,
+      anon_sym_SEMI,
     ACTIONS(240), 1,
       anon_sym_function,
     ACTIONS(246), 1,
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    ACTIONS(254), 1,
-      sym_identifier,
-    ACTIONS(256), 1,
-      anon_sym_LBRACK,
-    ACTIONS(276), 1,
-      anon_sym_RBRACE,
+    ACTIONS(280), 1,
+      ts_builtin_sym_end,
     STATE(59), 1,
-      sym_comment,
-    STATE(94), 1,
       sym_expression,
+    STATE(60), 1,
+      sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(181), 1,
-      sym_field,
+    STATE(154), 1,
+      sym__expression_list,
     ACTIONS(244), 2,
       sym_number,
       sym_vararg_expression,
@@ -5806,77 +5866,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [4547] = 19,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(113), 1,
-      anon_sym_PIPE,
-    ACTIONS(115), 1,
-      anon_sym_TILDE,
-    ACTIONS(117), 1,
-      anon_sym_AMP,
-    ACTIONS(121), 1,
-      anon_sym_PLUS,
-    ACTIONS(123), 1,
-      anon_sym_DASH,
-    ACTIONS(127), 1,
-      anon_sym_SLASH,
-    ACTIONS(129), 1,
-      anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
-      anon_sym_CARET,
-    ACTIONS(272), 1,
-      anon_sym_or,
-    ACTIONS(274), 1,
-      anon_sym_and,
-    ACTIONS(280), 1,
-      anon_sym_else,
-    STATE(60), 1,
-      sym_comment,
-    ACTIONS(109), 2,
-      anon_sym_LT,
-      anon_sym_GT,
-    ACTIONS(119), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(125), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(111), 4,
-      anon_sym_LT_EQ,
-      anon_sym_EQ_EQ,
-      anon_sym_TILDE_EQ,
-      anon_sym_GT_EQ,
-    ACTIONS(278), 8,
-      ts_builtin_sym_end,
-      anon_sym_SEMI,
-      anon_sym_COMMA,
-      anon_sym_do,
-      anon_sym_end,
-      anon_sym_until,
-      anon_sym_elseif,
-      anon_sym_RPAREN,
-  [4619] = 20,
+  [4616] = 21,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -5893,15 +5900,17 @@ static const uint16_t ts_small_parse_table[] = {
       sym_identifier,
     ACTIONS(256), 1,
       anon_sym_LBRACK,
+    ACTIONS(282), 1,
+      anon_sym_RBRACE,
     STATE(61), 1,
       sym_comment,
     STATE(94), 1,
       sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(181), 1,
+    STATE(172), 1,
       sym_field,
     ACTIONS(244), 2,
       sym_number,
@@ -5912,30 +5921,28 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [4692] = 19,
+  [4692] = 20,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(9), 1,
-      sym_identifier,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
     ACTIONS(240), 1,
@@ -5944,16 +5951,20 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(38), 1,
-      sym_expression,
+    ACTIONS(254), 1,
+      sym_identifier,
+    ACTIONS(256), 1,
+      anon_sym_LBRACK,
     STATE(62), 1,
       sym_comment,
-    STATE(126), 1,
-      sym__variable_assignment_explist,
+    STATE(94), 1,
+      sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
+    STATE(172), 1,
+      sym_field,
     ACTIONS(244), 2,
       sym_number,
       sym_vararg_expression,
@@ -5963,24 +5974,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [4762] = 19,
+  [4765] = 19,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -5995,15 +6006,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(58), 1,
+    STATE(59), 1,
       sym_expression,
     STATE(63), 1,
       sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
-    STATE(224), 1,
+    STATE(226), 1,
       sym__expression_list,
     ACTIONS(244), 2,
       sym_number,
@@ -6014,24 +6025,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [4832] = 19,
+  [4835] = 19,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6046,15 +6057,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(38), 1,
+    STATE(40), 1,
       sym_expression,
     STATE(64), 1,
       sym_comment,
-    STATE(141), 1,
+    STATE(128), 1,
       sym__variable_assignment_explist,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6065,24 +6076,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [4902] = 19,
+  [4905] = 19,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6097,15 +6108,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    ACTIONS(282), 1,
-      anon_sym_RPAREN,
+    STATE(40), 1,
+      sym_expression,
     STATE(65), 1,
       sym_comment,
-    STATE(97), 1,
-      sym_expression,
+    STATE(126), 1,
+      sym__variable_assignment_explist,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6116,24 +6127,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [4972] = 18,
+  [4975] = 19,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6148,13 +6159,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
+    ACTIONS(284), 1,
+      anon_sym_RPAREN,
     STATE(66), 1,
       sym_comment,
-    STATE(107), 1,
+    STATE(96), 1,
       sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6165,24 +6178,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [5039] = 18,
+  [5045] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6197,13 +6210,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(28), 1,
-      sym_expression,
     STATE(67), 1,
       sym_comment,
+    STATE(108), 1,
+      sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6214,24 +6227,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [5106] = 18,
+  [5112] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6246,13 +6259,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(45), 1,
+    STATE(35), 1,
       sym_expression,
     STATE(68), 1,
       sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6263,24 +6276,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [5173] = 18,
+  [5179] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6295,13 +6308,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
+    STATE(45), 1,
+      sym_expression,
     STATE(69), 1,
       sym_comment,
-    STATE(105), 1,
-      sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6312,24 +6325,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [5240] = 18,
+  [5246] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6346,11 +6359,11 @@ static const uint16_t ts_small_parse_table[] = {
       sym__string_start,
     STATE(70), 1,
       sym_comment,
-    STATE(103), 1,
+    STATE(111), 1,
       sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6361,24 +6374,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [5307] = 18,
+  [5313] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6395,11 +6408,11 @@ static const uint16_t ts_small_parse_table[] = {
       sym__string_start,
     STATE(71), 1,
       sym_comment,
-    STATE(106), 1,
+    STATE(110), 1,
       sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6410,24 +6423,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [5374] = 18,
+  [5380] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6444,11 +6457,11 @@ static const uint16_t ts_small_parse_table[] = {
       sym__string_start,
     STATE(72), 1,
       sym_comment,
-    STATE(95), 1,
+    STATE(103), 1,
       sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6459,24 +6472,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [5441] = 18,
+  [5447] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6491,13 +6504,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(25), 1,
-      sym_expression,
     STATE(73), 1,
       sym_comment,
+    STATE(97), 1,
+      sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6508,24 +6521,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [5508] = 18,
+  [5514] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6542,11 +6555,11 @@ static const uint16_t ts_small_parse_table[] = {
       sym__string_start,
     STATE(74), 1,
       sym_comment,
-    STATE(104), 1,
+    STATE(107), 1,
       sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6557,24 +6570,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [5575] = 18,
+  [5581] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6589,13 +6602,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(24), 1,
-      sym_expression,
     STATE(75), 1,
       sym_comment,
+    STATE(105), 1,
+      sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6606,24 +6619,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [5642] = 18,
+  [5648] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6638,13 +6651,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(23), 1,
+    STATE(30), 1,
       sym_expression,
     STATE(76), 1,
       sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6655,24 +6668,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [5709] = 18,
+  [5715] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6687,13 +6700,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(19), 1,
+    STATE(27), 1,
       sym_expression,
     STATE(77), 1,
       sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6704,24 +6717,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [5776] = 18,
+  [5782] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6742,7 +6755,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6753,24 +6766,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [5843] = 18,
+  [5849] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6785,13 +6798,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(35), 1,
+    STATE(20), 1,
       sym_expression,
     STATE(79), 1,
       sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6802,24 +6815,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [5910] = 18,
+  [5916] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6834,13 +6847,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(29), 1,
+    STATE(18), 1,
       sym_expression,
     STATE(80), 1,
       sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6851,24 +6864,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [5977] = 18,
+  [5983] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6883,13 +6896,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
+    STATE(26), 1,
+      sym_expression,
     STATE(81), 1,
       sym_comment,
-    STATE(108), 1,
-      sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6900,24 +6913,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [6044] = 18,
+  [6050] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6932,13 +6945,62 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(26), 1,
+    STATE(25), 1,
       sym_expression,
     STATE(82), 1,
       sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
+      sym_method_index_expression,
+    ACTIONS(244), 2,
+      sym_number,
+      sym_vararg_expression,
+    ACTIONS(248), 2,
+      anon_sym_TILDE,
+      anon_sym_POUND,
+    ACTIONS(250), 2,
+      anon_sym_DASH,
+      anon_sym_not,
+    STATE(3), 2,
+      sym_bracket_index_expression,
+      sym_dot_index_expression,
+    ACTIONS(242), 3,
+      sym_nil,
+      sym_false,
+      sym_true,
+    STATE(5), 3,
+      sym_variable,
+      sym_function_call,
+      sym_parenthesized_expression,
+    STATE(29), 5,
+      sym_string,
+      sym_function_definition,
+      sym_table_constructor,
+      sym_binary_expression,
+      sym_unary_expression,
+  [6117] = 18,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(9), 1,
+      sym_identifier,
+    ACTIONS(37), 1,
+      anon_sym_LPAREN,
+    ACTIONS(240), 1,
+      anon_sym_function,
+    ACTIONS(246), 1,
+      anon_sym_LBRACE,
+    ACTIONS(252), 1,
+      sym__string_start,
+    STATE(83), 1,
+      sym_comment,
+    STATE(106), 1,
+      sym_expression,
+    STATE(148), 1,
+      sym__prefix_expression,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6949,24 +7011,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [6111] = 18,
+  [6184] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6981,13 +7043,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(21), 1,
+    STATE(23), 1,
       sym_expression,
-    STATE(83), 1,
+    STATE(84), 1,
       sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -6998,24 +7060,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [6178] = 18,
+  [6251] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -7030,13 +7092,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(20), 1,
+    STATE(32), 1,
       sym_expression,
-    STATE(84), 1,
+    STATE(85), 1,
       sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -7047,24 +7109,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [6245] = 18,
+  [6318] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -7079,13 +7141,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(85), 1,
-      sym_comment,
-    STATE(102), 1,
+    STATE(22), 1,
       sym_expression,
+    STATE(86), 1,
+      sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -7096,24 +7158,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [6312] = 18,
+  [6385] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -7128,13 +7190,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(18), 1,
+    STATE(24), 1,
       sym_expression,
-    STATE(86), 1,
+    STATE(87), 1,
       sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -7145,24 +7207,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [6379] = 18,
+  [6452] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -7177,13 +7239,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(22), 1,
-      sym_expression,
-    STATE(87), 1,
+    STATE(88), 1,
       sym_comment,
+    STATE(100), 1,
+      sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -7194,24 +7256,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [6446] = 18,
+  [6519] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -7226,13 +7288,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(88), 1,
-      sym_comment,
-    STATE(100), 1,
+    STATE(21), 1,
       sym_expression,
+    STATE(89), 1,
+      sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -7243,24 +7305,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [6513] = 18,
+  [6586] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -7275,13 +7337,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(60), 1,
-      sym_expression,
-    STATE(89), 1,
+    STATE(90), 1,
       sym_comment,
+    STATE(109), 1,
+      sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -7292,24 +7354,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [6580] = 18,
+  [6653] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -7324,13 +7386,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(48), 1,
-      sym_expression,
-    STATE(90), 1,
+    STATE(91), 1,
       sym_comment,
+    STATE(99), 1,
+      sym_expression,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -7341,24 +7403,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [6647] = 18,
+  [6720] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -7373,13 +7435,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(91), 1,
-      sym_comment,
-    STATE(98), 1,
+    STATE(49), 1,
       sym_expression,
+    STATE(92), 1,
+      sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -7390,24 +7452,24 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [6714] = 18,
+  [6787] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -7422,13 +7484,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(252), 1,
       sym__string_start,
-    STATE(92), 1,
-      sym_comment,
-    STATE(109), 1,
+    STATE(57), 1,
       sym_expression,
+    STATE(93), 1,
+      sym_comment,
     STATE(148), 1,
       sym__prefix_expression,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_method_index_expression,
     ACTIONS(244), 2,
       sym_number,
@@ -7439,41 +7501,89 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(250), 2,
       anon_sym_DASH,
       anon_sym_not,
-    STATE(4), 2,
+    STATE(3), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
     ACTIONS(242), 3,
       sym_nil,
       sym_false,
       sym_true,
-    STATE(14), 3,
+    STATE(5), 3,
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(31), 5,
+    STATE(29), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [6781] = 6,
+  [6854] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(288), 1,
+    ACTIONS(109), 1,
+      anon_sym_PIPE,
+    ACTIONS(111), 1,
+      anon_sym_TILDE,
+    ACTIONS(113), 1,
+      anon_sym_AMP,
+    ACTIONS(117), 1,
+      anon_sym_PLUS,
+    ACTIONS(119), 1,
+      anon_sym_DASH,
+    ACTIONS(123), 1,
+      anon_sym_SLASH,
+    ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(127), 1,
+      anon_sym_CARET,
+    ACTIONS(268), 1,
+      anon_sym_or,
+    ACTIONS(270), 1,
+      anon_sym_and,
+    STATE(94), 1,
+      sym_comment,
+    ACTIONS(105), 2,
+      anon_sym_LT,
+      anon_sym_GT,
+    ACTIONS(115), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(121), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(286), 3,
+      anon_sym_SEMI,
       anon_sym_COMMA,
-    STATE(93), 2,
+      anon_sym_RBRACE,
+    ACTIONS(107), 4,
+      anon_sym_LT_EQ,
+      anon_sym_EQ_EQ,
+      anon_sym_TILDE_EQ,
+      anon_sym_GT_EQ,
+  [6918] = 7,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(55), 1,
+      anon_sym_COLON,
+    STATE(95), 1,
       sym_comment,
-      aux_sym__name_list_repeat1,
-    ACTIONS(284), 6,
+    ACTIONS(288), 3,
       ts_builtin_sym_end,
       anon_sym_SEMI,
-      anon_sym_EQ,
       anon_sym_COLON_COLON,
+    ACTIONS(57), 5,
+      sym__string_start,
+      anon_sym_DOT,
       anon_sym_LPAREN,
-      anon_sym_RPAREN,
-    ACTIONS(286), 16,
+      anon_sym_LBRACK,
+      anon_sym_LBRACE,
+    ACTIONS(290), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -7486,122 +7596,121 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_elseif,
       anon_sym_else,
       anon_sym_for,
-      anon_sym_in,
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [6821] = 18,
+  [6960] = 20,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    ACTIONS(272), 1,
+    ACTIONS(268), 1,
       anon_sym_or,
-    ACTIONS(274), 1,
+    ACTIONS(270), 1,
       anon_sym_and,
-    STATE(94), 1,
+    ACTIONS(276), 1,
+      anon_sym_COMMA,
+    ACTIONS(292), 1,
+      anon_sym_RPAREN,
+    STATE(96), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    STATE(180), 1,
+      aux_sym__expression_list_repeat1,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(291), 3,
-      anon_sym_SEMI,
-      anon_sym_COMMA,
-      anon_sym_RBRACE,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [6885] = 18,
+  [7028] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    ACTIONS(272), 1,
+    ACTIONS(268), 1,
       anon_sym_or,
-    ACTIONS(274), 1,
+    ACTIONS(270), 1,
       anon_sym_and,
-    STATE(95), 1,
+    STATE(97), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(293), 3,
+    ACTIONS(294), 3,
       anon_sym_SEMI,
       anon_sym_COMMA,
       anon_sym_RBRACE,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [6949] = 7,
+  [7092] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(91), 1,
-      anon_sym_COLON,
-    STATE(96), 1,
+    ACTIONS(300), 1,
+      anon_sym_COMMA,
+    STATE(98), 2,
       sym_comment,
-    ACTIONS(295), 3,
+      aux_sym__name_list_repeat1,
+    ACTIONS(296), 6,
       ts_builtin_sym_end,
       anon_sym_SEMI,
+      anon_sym_EQ,
       anon_sym_COLON_COLON,
-    ACTIONS(93), 5,
-      sym__string_start,
-      anon_sym_DOT,
       anon_sym_LPAREN,
-      anon_sym_LBRACK,
-      anon_sym_LBRACE,
-    ACTIONS(297), 15,
+      anon_sym_RPAREN,
+    ACTIONS(298), 16,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -7614,111 +7723,110 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_elseif,
       anon_sym_else,
       anon_sym_for,
+      anon_sym_in,
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [6991] = 20,
+  [7132] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
     ACTIONS(268), 1,
-      anon_sym_COMMA,
-    ACTIONS(272), 1,
       anon_sym_or,
-    ACTIONS(274), 1,
+    ACTIONS(270), 1,
       anon_sym_and,
-    ACTIONS(299), 1,
-      anon_sym_RPAREN,
-    STATE(97), 1,
+    STATE(99), 1,
       sym_comment,
-    STATE(180), 1,
-      aux_sym__expression_list_repeat1,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(111), 4,
+    ACTIONS(303), 3,
+      anon_sym_SEMI,
+      anon_sym_COMMA,
+      anon_sym_RBRACE,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [7059] = 18,
+  [7196] = 19,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    ACTIONS(272), 1,
+    ACTIONS(268), 1,
       anon_sym_or,
-    ACTIONS(274), 1,
+    ACTIONS(270), 1,
       anon_sym_and,
-    STATE(98), 1,
+    ACTIONS(305), 1,
+      anon_sym_COMMA,
+    ACTIONS(307), 1,
+      anon_sym_do,
+    STATE(100), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(301), 3,
-      anon_sym_SEMI,
-      anon_sym_COMMA,
-      anon_sym_RBRACE,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [7123] = 5,
+  [7261] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(99), 1,
+    STATE(101), 1,
       sym_comment,
-    ACTIONS(303), 7,
+    ACTIONS(309), 7,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_EQ,
@@ -7726,7 +7834,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
       anon_sym_RPAREN,
-    ACTIONS(305), 16,
+    ACTIONS(311), 16,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -7741,72 +7849,26 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_for,
       anon_sym_in,
       anon_sym_function,
-      anon_sym_local,
-      sym_identifier,
-  [7160] = 19,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(113), 1,
-      anon_sym_PIPE,
-    ACTIONS(115), 1,
-      anon_sym_TILDE,
-    ACTIONS(117), 1,
-      anon_sym_AMP,
-    ACTIONS(121), 1,
-      anon_sym_PLUS,
-    ACTIONS(123), 1,
-      anon_sym_DASH,
-    ACTIONS(127), 1,
-      anon_sym_SLASH,
-    ACTIONS(129), 1,
-      anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
-      anon_sym_CARET,
-    ACTIONS(272), 1,
-      anon_sym_or,
-    ACTIONS(274), 1,
-      anon_sym_and,
-    ACTIONS(307), 1,
-      anon_sym_COMMA,
-    ACTIONS(309), 1,
-      anon_sym_do,
-    STATE(100), 1,
-      sym_comment,
-    ACTIONS(109), 2,
-      anon_sym_LT,
-      anon_sym_GT,
-    ACTIONS(119), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(125), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(111), 4,
-      anon_sym_LT_EQ,
-      anon_sym_EQ_EQ,
-      anon_sym_TILDE_EQ,
-      anon_sym_GT_EQ,
-  [7225] = 7,
+      anon_sym_local,
+      sym_identifier,
+  [7298] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(315), 1,
+    ACTIONS(317), 1,
       anon_sym_COMMA,
-    STATE(93), 1,
+    STATE(98), 1,
       aux_sym__name_list_repeat1,
-    STATE(101), 1,
+    STATE(102), 1,
       sym_comment,
-    ACTIONS(311), 5,
+    ACTIONS(313), 5,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_EQ,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(313), 16,
+    ACTIONS(315), 16,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -7823,407 +7885,407 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [7266] = 18,
+  [7339] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    ACTIONS(272), 1,
+    ACTIONS(268), 1,
       anon_sym_or,
-    ACTIONS(274), 1,
+    ACTIONS(270), 1,
       anon_sym_and,
-    ACTIONS(317), 1,
+    ACTIONS(319), 1,
       anon_sym_then,
-    STATE(102), 1,
+    STATE(103), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [7328] = 18,
+  [7401] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(317), 1,
+      anon_sym_COMMA,
+    STATE(102), 1,
+      aux_sym__name_list_repeat1,
+    STATE(104), 1,
+      sym_comment,
+    ACTIONS(321), 5,
+      ts_builtin_sym_end,
+      anon_sym_SEMI,
+      anon_sym_EQ,
+      anon_sym_COLON_COLON,
+      anon_sym_LPAREN,
+    ACTIONS(323), 15,
+      anon_sym_return,
+      sym_break_statement,
+      anon_sym_goto,
+      anon_sym_do,
+      anon_sym_end,
+      anon_sym_while,
+      anon_sym_repeat,
+      anon_sym_until,
+      anon_sym_if,
+      anon_sym_elseif,
+      anon_sym_else,
+      anon_sym_for,
+      anon_sym_function,
+      anon_sym_local,
+      sym_identifier,
+  [7441] = 18,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    ACTIONS(272), 1,
+    ACTIONS(268), 1,
       anon_sym_or,
-    ACTIONS(274), 1,
+    ACTIONS(270), 1,
       anon_sym_and,
-    ACTIONS(319), 1,
-      anon_sym_do,
-    STATE(103), 1,
+    ACTIONS(325), 1,
+      anon_sym_then,
+    STATE(105), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [7390] = 18,
+  [7503] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    ACTIONS(272), 1,
+    ACTIONS(268), 1,
       anon_sym_or,
-    ACTIONS(274), 1,
+    ACTIONS(270), 1,
       anon_sym_and,
-    ACTIONS(321), 1,
-      anon_sym_RBRACK,
-    STATE(104), 1,
+    ACTIONS(327), 1,
+      anon_sym_COMMA,
+    STATE(106), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [7452] = 18,
+  [7565] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    ACTIONS(272), 1,
+    ACTIONS(268), 1,
       anon_sym_or,
-    ACTIONS(274), 1,
+    ACTIONS(270), 1,
       anon_sym_and,
-    ACTIONS(323), 1,
-      anon_sym_then,
-    STATE(105), 1,
+    ACTIONS(329), 1,
+      anon_sym_RBRACK,
+    STATE(107), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [7514] = 18,
+  [7627] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    ACTIONS(272), 1,
+    ACTIONS(268), 1,
       anon_sym_or,
-    ACTIONS(274), 1,
+    ACTIONS(270), 1,
       anon_sym_and,
-    ACTIONS(325), 1,
-      anon_sym_COMMA,
-    STATE(106), 1,
+    ACTIONS(331), 1,
+      anon_sym_RBRACK,
+    STATE(108), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [7576] = 18,
+  [7689] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    ACTIONS(272), 1,
+    ACTIONS(268), 1,
       anon_sym_or,
-    ACTIONS(274), 1,
+    ACTIONS(270), 1,
       anon_sym_and,
-    ACTIONS(327), 1,
-      anon_sym_RBRACK,
-    STATE(107), 1,
+    ACTIONS(333), 1,
+      anon_sym_do,
+    STATE(109), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [7638] = 18,
+  [7751] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    ACTIONS(272), 1,
+    ACTIONS(268), 1,
       anon_sym_or,
-    ACTIONS(274), 1,
+    ACTIONS(270), 1,
       anon_sym_and,
-    ACTIONS(329), 1,
-      anon_sym_do,
-    STATE(108), 1,
+    ACTIONS(335), 1,
+      anon_sym_RPAREN,
+    STATE(110), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [7700] = 18,
+  [7813] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(109), 1,
       anon_sym_PIPE,
-    ACTIONS(115), 1,
+    ACTIONS(111), 1,
       anon_sym_TILDE,
-    ACTIONS(117), 1,
+    ACTIONS(113), 1,
       anon_sym_AMP,
-    ACTIONS(121), 1,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(123), 1,
+    ACTIONS(119), 1,
       anon_sym_DASH,
-    ACTIONS(127), 1,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(129), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(131), 1,
+    ACTIONS(127), 1,
       anon_sym_CARET,
-    ACTIONS(272), 1,
+    ACTIONS(268), 1,
       anon_sym_or,
-    ACTIONS(274), 1,
+    ACTIONS(270), 1,
       anon_sym_and,
-    ACTIONS(331), 1,
-      anon_sym_RPAREN,
-    STATE(109), 1,
+    ACTIONS(337), 1,
+      anon_sym_do,
+    STATE(111), 1,
       sym_comment,
-    ACTIONS(109), 2,
+    ACTIONS(105), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(119), 2,
+    ACTIONS(115), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(125), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(111), 4,
+    ACTIONS(107), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [7762] = 7,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(315), 1,
-      anon_sym_COMMA,
-    STATE(101), 1,
-      aux_sym__name_list_repeat1,
-    STATE(110), 1,
-      sym_comment,
-    ACTIONS(333), 5,
-      ts_builtin_sym_end,
-      anon_sym_SEMI,
-      anon_sym_EQ,
-      anon_sym_COLON_COLON,
-      anon_sym_LPAREN,
-    ACTIONS(335), 15,
-      anon_sym_return,
-      sym_break_statement,
-      anon_sym_goto,
-      anon_sym_do,
-      anon_sym_end,
-      anon_sym_while,
-      anon_sym_repeat,
-      anon_sym_until,
-      anon_sym_if,
-      anon_sym_elseif,
-      anon_sym_else,
-      anon_sym_for,
-      anon_sym_function,
-      anon_sym_local,
-      sym_identifier,
-  [7802] = 6,
+  [7875] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(341), 1,
+    ACTIONS(343), 1,
       anon_sym_COMMA,
-    STATE(111), 2,
+    STATE(112), 2,
       sym_comment,
       aux_sym__variable_assignment_explist_repeat1,
-    ACTIONS(337), 4,
+    ACTIONS(339), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(339), 15,
+    ACTIONS(341), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8239,23 +8301,23 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [7839] = 7,
+  [7912] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(198), 1,
+    ACTIONS(204), 1,
       anon_sym_COMMA,
-    STATE(111), 1,
-      aux_sym__variable_assignment_explist_repeat1,
     STATE(112), 1,
+      aux_sym__variable_assignment_explist_repeat1,
+    STATE(113), 1,
       sym_comment,
-    ACTIONS(344), 4,
+    ACTIONS(346), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(346), 15,
+    ACTIONS(348), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8271,21 +8333,21 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [7878] = 6,
+  [7951] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(352), 1,
+    ACTIONS(354), 1,
       anon_sym_EQ,
-    STATE(113), 1,
+    STATE(114), 1,
       sym_comment,
-    ACTIONS(348), 4,
+    ACTIONS(350), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(350), 15,
+    ACTIONS(352), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8301,19 +8363,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [7914] = 5,
+  [7987] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(114), 1,
+    STATE(115), 1,
       sym_comment,
-    ACTIONS(354), 4,
+    ACTIONS(356), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(356), 15,
+    ACTIONS(358), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8329,19 +8391,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [7947] = 5,
+  [8020] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(115), 1,
+    STATE(116), 1,
       sym_comment,
-    ACTIONS(358), 4,
+    ACTIONS(360), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(360), 15,
+    ACTIONS(362), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8357,19 +8419,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [7980] = 5,
+  [8053] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(116), 1,
+    STATE(117), 1,
       sym_comment,
-    ACTIONS(362), 4,
+    ACTIONS(364), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(364), 15,
+    ACTIONS(366), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8385,19 +8447,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8013] = 5,
+  [8086] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(117), 1,
+    STATE(118), 1,
       sym_comment,
-    ACTIONS(295), 4,
+    ACTIONS(368), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(297), 15,
+    ACTIONS(370), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8413,19 +8475,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8046] = 5,
+  [8119] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(118), 1,
+    STATE(119), 1,
       sym_comment,
-    ACTIONS(366), 4,
+    ACTIONS(372), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(368), 15,
+    ACTIONS(374), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8441,19 +8503,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8079] = 5,
+  [8152] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(119), 1,
+    STATE(120), 1,
       sym_comment,
-    ACTIONS(370), 4,
+    ACTIONS(376), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(372), 15,
+    ACTIONS(378), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8469,19 +8531,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8112] = 5,
+  [8185] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(120), 1,
+    STATE(121), 1,
       sym_comment,
-    ACTIONS(374), 4,
+    ACTIONS(288), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(376), 15,
+    ACTIONS(290), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8497,19 +8559,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8145] = 5,
+  [8218] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(121), 1,
+    STATE(122), 1,
       sym_comment,
-    ACTIONS(378), 4,
+    ACTIONS(380), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(380), 15,
+    ACTIONS(382), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8525,19 +8587,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8178] = 5,
+  [8251] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(122), 1,
+    STATE(123), 1,
       sym_comment,
-    ACTIONS(382), 4,
+    ACTIONS(384), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(384), 15,
+    ACTIONS(386), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8553,19 +8615,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8211] = 5,
+  [8284] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(123), 1,
+    STATE(124), 1,
       sym_comment,
-    ACTIONS(386), 4,
+    ACTIONS(388), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(388), 15,
+    ACTIONS(390), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8581,19 +8643,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8244] = 5,
+  [8317] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(124), 1,
+    STATE(125), 1,
       sym_comment,
-    ACTIONS(390), 4,
+    ACTIONS(392), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(392), 15,
+    ACTIONS(394), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8609,19 +8671,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8277] = 5,
+  [8350] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(125), 1,
+    STATE(126), 1,
       sym_comment,
-    ACTIONS(394), 4,
+    ACTIONS(396), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(396), 15,
+    ACTIONS(398), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8637,19 +8699,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8310] = 5,
+  [8383] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(126), 1,
+    STATE(127), 1,
       sym_comment,
-    ACTIONS(398), 4,
+    ACTIONS(400), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(400), 15,
+    ACTIONS(402), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8665,19 +8727,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8343] = 5,
+  [8416] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(127), 1,
+    STATE(128), 1,
       sym_comment,
-    ACTIONS(402), 4,
+    ACTIONS(404), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(404), 15,
+    ACTIONS(406), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8693,19 +8755,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8376] = 5,
+  [8449] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(128), 1,
+    STATE(129), 1,
       sym_comment,
-    ACTIONS(406), 4,
+    ACTIONS(408), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(408), 15,
+    ACTIONS(410), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8721,19 +8783,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8409] = 5,
+  [8482] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(129), 1,
+    STATE(130), 1,
       sym_comment,
-    ACTIONS(410), 4,
+    ACTIONS(412), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(412), 15,
+    ACTIONS(414), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8749,19 +8811,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8442] = 5,
+  [8515] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(130), 1,
+    STATE(131), 1,
       sym_comment,
-    ACTIONS(414), 4,
+    ACTIONS(416), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(416), 15,
+    ACTIONS(418), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8777,19 +8839,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8475] = 5,
+  [8548] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(131), 1,
+    STATE(132), 1,
       sym_comment,
-    ACTIONS(418), 4,
+    ACTIONS(420), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(420), 15,
+    ACTIONS(422), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8805,19 +8867,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8508] = 5,
+  [8581] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(132), 1,
+    STATE(133), 1,
       sym_comment,
-    ACTIONS(422), 4,
+    ACTIONS(424), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(424), 15,
+    ACTIONS(426), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8833,19 +8895,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8541] = 5,
+  [8614] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(133), 1,
+    STATE(134), 1,
       sym_comment,
-    ACTIONS(426), 4,
+    ACTIONS(428), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(428), 15,
+    ACTIONS(430), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8861,19 +8923,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8574] = 5,
+  [8647] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(134), 1,
+    STATE(135), 1,
       sym_comment,
-    ACTIONS(430), 4,
+    ACTIONS(432), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(432), 15,
+    ACTIONS(434), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8889,19 +8951,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8607] = 5,
+  [8680] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(135), 1,
+    STATE(136), 1,
       sym_comment,
-    ACTIONS(434), 4,
+    ACTIONS(436), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(436), 15,
+    ACTIONS(438), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8917,19 +8979,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8640] = 5,
+  [8713] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(136), 1,
+    STATE(137), 1,
       sym_comment,
-    ACTIONS(438), 4,
+    ACTIONS(440), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(440), 15,
+    ACTIONS(442), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8945,19 +9007,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8673] = 5,
+  [8746] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(137), 1,
+    STATE(138), 1,
       sym_comment,
-    ACTIONS(442), 4,
+    ACTIONS(444), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(444), 15,
+    ACTIONS(446), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -8973,19 +9035,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8706] = 5,
+  [8779] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(138), 1,
+    STATE(139), 1,
       sym_comment,
-    ACTIONS(446), 4,
+    ACTIONS(448), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(448), 15,
+    ACTIONS(450), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -9001,19 +9063,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8739] = 5,
+  [8812] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(139), 1,
+    STATE(140), 1,
       sym_comment,
-    ACTIONS(450), 4,
+    ACTIONS(452), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(452), 15,
+    ACTIONS(454), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -9029,19 +9091,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8772] = 5,
+  [8845] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(140), 1,
+    STATE(141), 1,
       sym_comment,
-    ACTIONS(454), 4,
+    ACTIONS(456), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(456), 15,
+    ACTIONS(458), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -9057,19 +9119,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8805] = 5,
+  [8878] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(141), 1,
+    STATE(142), 1,
       sym_comment,
-    ACTIONS(458), 4,
+    ACTIONS(460), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(460), 15,
+    ACTIONS(462), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -9085,14 +9147,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8838] = 5,
+  [8911] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(142), 1,
+    STATE(143), 1,
       sym_comment,
-    ACTIONS(462), 7,
+    ACTIONS(464), 7,
       anon_sym_function,
       sym_nil,
       sym_false,
@@ -9100,7 +9162,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_not,
       sym_identifier,
-    ACTIONS(464), 9,
+    ACTIONS(466), 9,
       sym__string_start,
       sym_number,
       sym_vararg_expression,
@@ -9110,18 +9172,18 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_RBRACE,
       anon_sym_TILDE,
       anon_sym_POUND,
-  [8868] = 5,
+  [8941] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(143), 1,
+    STATE(144), 1,
       sym_comment,
-    ACTIONS(468), 3,
+    ACTIONS(470), 3,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(466), 12,
+    ACTIONS(468), 12,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -9134,18 +9196,18 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8897] = 5,
+  [8970] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(144), 1,
+    STATE(145), 1,
       sym_comment,
-    ACTIONS(472), 3,
+    ACTIONS(474), 3,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(470), 12,
+    ACTIONS(472), 12,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -9158,19 +9220,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8926] = 6,
+  [8999] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(280), 1,
+    ACTIONS(266), 1,
       anon_sym_else,
-    ACTIONS(474), 1,
+    ACTIONS(476), 1,
       anon_sym_COMMA,
-    STATE(145), 2,
+    STATE(146), 2,
       sym_comment,
       aux_sym__expression_list_repeat1,
-    ACTIONS(278), 7,
+    ACTIONS(264), 7,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_do,
@@ -9178,39 +9240,16 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_until,
       anon_sym_elseif,
       anon_sym_RPAREN,
-  [8952] = 10,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(37), 1,
-      anon_sym_LPAREN,
-    ACTIONS(477), 1,
-      sym_identifier,
-    STATE(146), 1,
-      sym_comment,
-    STATE(148), 1,
-      sym__prefix_expression,
-    STATE(150), 1,
-      sym_variable,
-    STATE(151), 1,
-      sym_method_index_expression,
-    STATE(4), 2,
-      sym_bracket_index_expression,
-      sym_dot_index_expression,
-    STATE(154), 2,
-      sym_function_call,
-      sym_parenthesized_expression,
-  [8985] = 7,
+  [9025] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(268), 1,
+    ACTIONS(276), 1,
       anon_sym_COMMA,
     ACTIONS(481), 1,
       anon_sym_else,
-    STATE(145), 1,
+    STATE(146), 1,
       aux_sym__expression_list_repeat1,
     STATE(147), 1,
       sym_comment,
@@ -9221,7 +9260,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_end,
       anon_sym_until,
       anon_sym_elseif,
-  [9012] = 11,
+  [9052] = 11,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -9245,44 +9284,67 @@ static const uint16_t ts_small_parse_table[] = {
     STATE(13), 2,
       sym_string,
       sym_table_constructor,
-  [9047] = 7,
+  [9087] = 10,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(37), 1,
+      anon_sym_LPAREN,
     ACTIONS(495), 1,
-      anon_sym_EQ,
+      sym_identifier,
+    STATE(148), 1,
+      sym__prefix_expression,
+    STATE(149), 1,
+      sym_comment,
+    STATE(151), 1,
+      sym_variable,
+    STATE(152), 1,
+      sym_method_index_expression,
+    STATE(3), 2,
+      sym_bracket_index_expression,
+      sym_dot_index_expression,
+    STATE(155), 2,
+      sym_function_call,
+      sym_parenthesized_expression,
+  [9120] = 7,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
     ACTIONS(497), 1,
+      anon_sym_EQ,
+    ACTIONS(499), 1,
       anon_sym_COMMA,
-    STATE(149), 1,
+    STATE(150), 1,
       sym_comment,
-    STATE(178), 1,
+    STATE(181), 1,
       aux_sym__variable_assignment_varlist_repeat1,
-    ACTIONS(93), 6,
+    ACTIONS(57), 6,
       sym__string_start,
       anon_sym_DOT,
       anon_sym_COLON,
       anon_sym_LPAREN,
       anon_sym_LBRACK,
       anon_sym_LBRACE,
-  [9074] = 5,
+  [9147] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(150), 1,
+    STATE(151), 1,
       sym_comment,
-    ACTIONS(499), 2,
+    ACTIONS(501), 2,
       anon_sym_EQ,
       anon_sym_COMMA,
-    ACTIONS(93), 6,
+    ACTIONS(57), 6,
       sym__string_start,
       anon_sym_DOT,
       anon_sym_COLON,
       anon_sym_LPAREN,
       anon_sym_LBRACK,
       anon_sym_LBRACE,
-  [9096] = 8,
+  [9169] = 8,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -9295,578 +9357,569 @@ static const uint16_t ts_small_parse_table[] = {
       sym__string_start,
     STATE(12), 1,
       sym_arguments,
-    STATE(151), 1,
+    STATE(152), 1,
       sym_comment,
     STATE(13), 2,
       sym_string,
       sym_table_constructor,
-  [9122] = 9,
+  [9195] = 9,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(145), 1,
+    ACTIONS(135), 1,
       anon_sym_else,
-    ACTIONS(501), 1,
-      anon_sym_end,
     ACTIONS(503), 1,
+      anon_sym_end,
+    ACTIONS(505), 1,
       anon_sym_elseif,
-    STATE(152), 1,
+    STATE(153), 1,
       sym_comment,
-    STATE(159), 1,
+    STATE(158), 1,
       aux_sym_if_statement_repeat1,
-    STATE(179), 1,
+    STATE(178), 1,
       sym_elseif_statement,
     STATE(217), 1,
       sym_else_statement,
-  [9150] = 9,
+  [9223] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(145), 1,
+    ACTIONS(509), 1,
+      anon_sym_SEMI,
+    ACTIONS(511), 1,
       anon_sym_else,
-    ACTIONS(503), 1,
-      anon_sym_elseif,
-    ACTIONS(505), 1,
-      anon_sym_end,
-    STATE(153), 1,
+    STATE(154), 1,
       sym_comment,
-    STATE(159), 1,
-      aux_sym_if_statement_repeat1,
-    STATE(179), 1,
-      sym_elseif_statement,
-    STATE(203), 1,
-      sym_else_statement,
-  [9178] = 4,
+    ACTIONS(507), 4,
+      ts_builtin_sym_end,
+      anon_sym_end,
+      anon_sym_until,
+      anon_sym_elseif,
+  [9245] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(154), 1,
+    STATE(155), 1,
       sym_comment,
-    ACTIONS(93), 6,
+    ACTIONS(57), 6,
       sym__string_start,
       anon_sym_DOT,
       anon_sym_COLON,
       anon_sym_LPAREN,
       anon_sym_LBRACK,
       anon_sym_LBRACE,
-  [9196] = 9,
+  [9263] = 9,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(145), 1,
+    ACTIONS(135), 1,
       anon_sym_else,
-    ACTIONS(503), 1,
+    ACTIONS(505), 1,
       anon_sym_elseif,
-    ACTIONS(507), 1,
+    ACTIONS(513), 1,
       anon_sym_end,
-    STATE(152), 1,
+    STATE(153), 1,
       aux_sym_if_statement_repeat1,
-    STATE(155), 1,
+    STATE(156), 1,
       sym_comment,
-    STATE(179), 1,
+    STATE(178), 1,
       sym_elseif_statement,
-    STATE(199), 1,
+    STATE(201), 1,
       sym_else_statement,
-  [9224] = 6,
+  [9291] = 9,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(511), 1,
-      anon_sym_SEMI,
-    ACTIONS(513), 1,
+    ACTIONS(135), 1,
       anon_sym_else,
-    STATE(156), 1,
+    ACTIONS(505), 1,
+      anon_sym_elseif,
+    ACTIONS(515), 1,
+      anon_sym_end,
+    STATE(157), 1,
       sym_comment,
-    ACTIONS(509), 4,
-      ts_builtin_sym_end,
+    STATE(158), 1,
+      aux_sym_if_statement_repeat1,
+    STATE(178), 1,
+      sym_elseif_statement,
+    STATE(203), 1,
+      sym_else_statement,
+  [9319] = 7,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(517), 1,
       anon_sym_end,
-      anon_sym_until,
+    ACTIONS(519), 1,
       anon_sym_elseif,
-  [9246] = 6,
+    ACTIONS(522), 1,
+      anon_sym_else,
+    STATE(178), 1,
+      sym_elseif_statement,
+    STATE(158), 2,
+      sym_comment,
+      aux_sym_if_statement_repeat1,
+  [9342] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(518), 1,
+    ACTIONS(527), 1,
       anon_sym_RBRACE,
-    STATE(61), 1,
+    STATE(62), 1,
       sym__field_sep,
-    ACTIONS(515), 2,
+    ACTIONS(524), 2,
       anon_sym_SEMI,
       anon_sym_COMMA,
-    STATE(157), 2,
+    STATE(159), 2,
       sym_comment,
       aux_sym__field_list_repeat1,
-  [9267] = 7,
+  [9363] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(264), 1,
+    ACTIONS(272), 1,
       anon_sym_RBRACE,
-    STATE(59), 1,
+    STATE(61), 1,
       sym__field_sep,
-    STATE(157), 1,
+    STATE(159), 1,
       aux_sym__field_list_repeat1,
-    STATE(158), 1,
+    STATE(160), 1,
       sym_comment,
-    ACTIONS(520), 2,
+    ACTIONS(529), 2,
       anon_sym_SEMI,
       anon_sym_COMMA,
-  [9290] = 7,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(522), 1,
-      anon_sym_end,
-    ACTIONS(524), 1,
-      anon_sym_elseif,
-    ACTIONS(527), 1,
-      anon_sym_else,
-    STATE(179), 1,
-      sym_elseif_statement,
-    STATE(159), 2,
-      sym_comment,
-      aux_sym_if_statement_repeat1,
-  [9313] = 7,
+  [9386] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(529), 1,
+    ACTIONS(531), 1,
       anon_sym_RBRACE,
-    STATE(57), 1,
+    STATE(58), 1,
       sym__field_sep,
-    STATE(158), 1,
-      aux_sym__field_list_repeat1,
     STATE(160), 1,
+      aux_sym__field_list_repeat1,
+    STATE(161), 1,
       sym_comment,
-    ACTIONS(520), 2,
+    ACTIONS(529), 2,
       anon_sym_SEMI,
       anon_sym_COMMA,
-  [9336] = 5,
+  [9409] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(533), 1,
+    ACTIONS(535), 1,
       anon_sym_else,
-    STATE(161), 1,
+    STATE(162), 1,
       sym_comment,
-    ACTIONS(531), 4,
+    ACTIONS(533), 4,
       ts_builtin_sym_end,
       anon_sym_end,
       anon_sym_until,
       anon_sym_elseif,
-  [9355] = 8,
+  [9428] = 8,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(535), 1,
+    ACTIONS(537), 1,
       sym_identifier,
-    STATE(162), 1,
+    STATE(163), 1,
       sym_comment,
-    STATE(171), 1,
-      sym__function_name_prefix_expression,
     STATE(183), 1,
-      sym__function_name_dot_index_expression,
-    STATE(185), 1,
+      sym__function_name_prefix_expression,
+    STATE(184), 1,
       sym__function_name,
-    STATE(200), 1,
+    STATE(185), 1,
+      sym__function_name_dot_index_expression,
+    STATE(192), 1,
       sym__function_name_method_index_expression,
-  [9380] = 5,
+  [9453] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(513), 1,
+    ACTIONS(511), 1,
       anon_sym_else,
-    STATE(163), 1,
+    STATE(164), 1,
       sym_comment,
-    ACTIONS(509), 4,
+    ACTIONS(507), 4,
       ts_builtin_sym_end,
       anon_sym_end,
       anon_sym_until,
       anon_sym_elseif,
-  [9399] = 7,
+  [9472] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(315), 1,
+    ACTIONS(317), 1,
       anon_sym_COMMA,
-    ACTIONS(333), 1,
+    ACTIONS(321), 1,
       anon_sym_in,
-    ACTIONS(537), 1,
+    ACTIONS(539), 1,
       anon_sym_EQ,
-    STATE(101), 1,
+    STATE(102), 1,
       aux_sym__name_list_repeat1,
-    STATE(164), 1,
+    STATE(165), 1,
       sym_comment,
-  [9421] = 5,
+  [9494] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(204), 1,
+    ACTIONS(153), 1,
       anon_sym_else,
-    STATE(165), 1,
+    STATE(166), 1,
       sym_comment,
-    ACTIONS(539), 3,
+    ACTIONS(541), 3,
       anon_sym_end,
       anon_sym_until,
       anon_sym_elseif,
-  [9439] = 6,
+  [9512] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(541), 1,
-      sym_identifier,
-    STATE(166), 1,
+    ACTIONS(545), 1,
+      anon_sym_else,
+    STATE(167), 1,
       sym_comment,
-    STATE(197), 1,
-      sym__name_list,
-    STATE(196), 2,
-      sym_for_generic_clause,
-      sym_for_numeric_clause,
-  [9459] = 7,
+    ACTIONS(543), 3,
+      anon_sym_end,
+      anon_sym_until,
+      anon_sym_elseif,
+  [9530] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(543), 1,
+    ACTIONS(547), 1,
       sym_identifier,
-    ACTIONS(545), 1,
+    ACTIONS(549), 1,
       sym_vararg_expression,
-    ACTIONS(547), 1,
+    ACTIONS(551), 1,
       anon_sym_RPAREN,
-    STATE(167), 1,
+    STATE(168), 1,
       sym_comment,
-    STATE(207), 1,
+    STATE(212), 1,
       sym__parameter_list,
-  [9481] = 7,
+  [9552] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(549), 1,
+    ACTIONS(553), 1,
       sym_identifier,
-    ACTIONS(551), 1,
+    ACTIONS(555), 1,
       anon_sym_function,
-    STATE(113), 1,
+    STATE(114), 1,
       sym__name_list,
-    STATE(129), 1,
+    STATE(137), 1,
       sym__local_variable_assignment,
-    STATE(168), 1,
-      sym_comment,
-  [9503] = 5,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(555), 1,
-      anon_sym_else,
     STATE(169), 1,
       sym_comment,
-    ACTIONS(553), 3,
-      anon_sym_end,
-      anon_sym_until,
-      anon_sym_elseif,
-  [9521] = 6,
+  [9574] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(557), 1,
-      anon_sym_LPAREN,
-    STATE(30), 1,
-      sym__function_body,
-    STATE(43), 1,
-      sym_parameters,
+      sym_identifier,
     STATE(170), 1,
       sym_comment,
-  [9540] = 6,
+    STATE(199), 1,
+      sym__name_list,
+    STATE(198), 2,
+      sym_for_generic_clause,
+      sym_for_numeric_clause,
+  [9594] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(559), 1,
-      anon_sym_DOT,
-    ACTIONS(561), 1,
-      anon_sym_COLON,
-    ACTIONS(563), 1,
       anon_sym_LPAREN,
+    STATE(31), 1,
+      sym__function_body,
+    STATE(46), 1,
+      sym_parameters,
     STATE(171), 1,
       sym_comment,
-  [9559] = 6,
+  [9613] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(557), 1,
-      anon_sym_LPAREN,
-    STATE(43), 1,
-      sym_parameters,
-    STATE(127), 1,
-      sym__function_body,
     STATE(172), 1,
       sym_comment,
-  [9578] = 5,
+    ACTIONS(527), 3,
+      anon_sym_SEMI,
+      anon_sym_COMMA,
+      anon_sym_RBRACE,
+  [9628] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(567), 1,
-      anon_sym_else,
+    ACTIONS(559), 1,
+      anon_sym_LPAREN,
+    STATE(46), 1,
+      sym_parameters,
+    STATE(118), 1,
+      sym__function_body,
     STATE(173), 1,
       sym_comment,
-    ACTIONS(565), 2,
-      anon_sym_end,
-      anon_sym_elseif,
-  [9595] = 4,
+  [9647] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(174), 1,
       sym_comment,
-    ACTIONS(569), 3,
-      anon_sym_DOT,
-      anon_sym_COLON,
+    ACTIONS(561), 3,
+      sym__string_start,
       anon_sym_LPAREN,
-  [9610] = 4,
+      anon_sym_LBRACE,
+  [9662] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(175), 1,
       sym_comment,
-    ACTIONS(571), 3,
-      sym__string_start,
+    ACTIONS(563), 3,
+      anon_sym_DOT,
+      anon_sym_COLON,
       anon_sym_LPAREN,
-      anon_sym_LBRACE,
-  [9625] = 5,
+  [9677] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(573), 1,
-      anon_sym_EQ,
-    ACTIONS(575), 1,
-      anon_sym_COMMA,
-    STATE(176), 2,
+    ACTIONS(567), 1,
+      anon_sym_else,
+    STATE(176), 1,
       sym_comment,
-      aux_sym__variable_assignment_varlist_repeat1,
-  [9642] = 6,
+    ACTIONS(565), 2,
+      anon_sym_end,
+      anon_sym_elseif,
+  [9694] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(578), 1,
+    ACTIONS(569), 1,
+      anon_sym_EQ,
+    ACTIONS(571), 1,
       anon_sym_COMMA,
-    ACTIONS(580), 1,
-      anon_sym_RPAREN,
-    STATE(177), 1,
+    STATE(177), 2,
       sym_comment,
-    STATE(182), 1,
-      aux_sym__name_list_repeat1,
-  [9661] = 6,
+      aux_sym__variable_assignment_varlist_repeat1,
+  [9711] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(497), 1,
-      anon_sym_COMMA,
-    ACTIONS(582), 1,
-      anon_sym_EQ,
-    STATE(176), 1,
-      aux_sym__variable_assignment_varlist_repeat1,
+    ACTIONS(576), 1,
+      anon_sym_else,
     STATE(178), 1,
       sym_comment,
-  [9680] = 5,
+    ACTIONS(574), 2,
+      anon_sym_end,
+      anon_sym_elseif,
+  [9728] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(586), 1,
-      anon_sym_else,
+    ACTIONS(578), 1,
+      anon_sym_COMMA,
+    ACTIONS(580), 1,
+      anon_sym_RPAREN,
     STATE(179), 1,
       sym_comment,
-    ACTIONS(584), 2,
-      anon_sym_end,
-      anon_sym_elseif,
-  [9697] = 6,
+    STATE(182), 1,
+      aux_sym__name_list_repeat1,
+  [9747] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(268), 1,
+    ACTIONS(276), 1,
       anon_sym_COMMA,
-    ACTIONS(588), 1,
+    ACTIONS(582), 1,
       anon_sym_RPAREN,
-    STATE(145), 1,
+    STATE(146), 1,
       aux_sym__expression_list_repeat1,
     STATE(180), 1,
       sym_comment,
-  [9716] = 4,
+  [9766] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(499), 1,
+      anon_sym_COMMA,
+    ACTIONS(584), 1,
+      anon_sym_EQ,
+    STATE(177), 1,
+      aux_sym__variable_assignment_varlist_repeat1,
     STATE(181), 1,
       sym_comment,
-    ACTIONS(518), 3,
-      anon_sym_SEMI,
-      anon_sym_COMMA,
-      anon_sym_RBRACE,
-  [9731] = 6,
+  [9785] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(590), 1,
+    ACTIONS(586), 1,
       anon_sym_COMMA,
-    ACTIONS(592), 1,
+    ACTIONS(588), 1,
       anon_sym_RPAREN,
-    STATE(93), 1,
+    STATE(98), 1,
       aux_sym__name_list_repeat1,
     STATE(182), 1,
       sym_comment,
-  [9750] = 4,
+  [9804] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(183), 1,
-      sym_comment,
-    ACTIONS(594), 3,
+    ACTIONS(590), 1,
       anon_sym_DOT,
+    ACTIONS(592), 1,
       anon_sym_COLON,
+    ACTIONS(594), 1,
       anon_sym_LPAREN,
-  [9765] = 4,
+    STATE(183), 1,
+      sym_comment,
+  [9823] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(559), 1,
+      anon_sym_LPAREN,
+    STATE(46), 1,
+      sym_parameters,
+    STATE(120), 1,
+      sym__function_body,
     STATE(184), 1,
       sym_comment,
-    ACTIONS(596), 3,
-      anon_sym_DOT,
-      anon_sym_COLON,
-      anon_sym_LPAREN,
-  [9780] = 6,
+  [9842] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(557), 1,
-      anon_sym_LPAREN,
-    STATE(43), 1,
-      sym_parameters,
-    STATE(120), 1,
-      sym__function_body,
     STATE(185), 1,
       sym_comment,
-  [9799] = 5,
+    ACTIONS(596), 3,
+      anon_sym_DOT,
+      anon_sym_COLON,
+      anon_sym_LPAREN,
+  [9857] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(598), 1,
-      sym__string_content,
-    ACTIONS(600), 1,
-      sym__string_end,
     STATE(186), 1,
       sym_comment,
-  [9815] = 5,
+    ACTIONS(598), 3,
+      anon_sym_DOT,
+      anon_sym_COLON,
+      anon_sym_LPAREN,
+  [9872] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(600), 1,
+      sym__string_content,
     ACTIONS(602), 1,
-      sym__block_comment_content,
-    ACTIONS(604), 1,
-      sym__block_comment_end,
+      sym__string_end,
     STATE(187), 1,
       sym_comment,
-  [9831] = 5,
+  [9888] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(604), 1,
+      sym__block_comment_content,
     ACTIONS(606), 1,
-      sym__string_content,
-    ACTIONS(608), 1,
-      sym__string_end,
+      sym__block_comment_end,
     STATE(188), 1,
       sym_comment,
-  [9847] = 5,
+  [9904] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(608), 1,
+      sym__string_content,
     ACTIONS(610), 1,
-      sym_identifier,
-    ACTIONS(612), 1,
-      sym_vararg_expression,
+      sym__string_end,
     STATE(189), 1,
       sym_comment,
-  [9863] = 5,
+  [9920] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(610), 1,
+    ACTIONS(612), 1,
       sym_identifier,
     ACTIONS(614), 1,
       sym_vararg_expression,
     STATE(190), 1,
       sym_comment,
-  [9879] = 4,
+  [9936] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(616), 1,
+    ACTIONS(612), 1,
       sym_identifier,
+    ACTIONS(616), 1,
+      sym_vararg_expression,
     STATE(191), 1,
       sym_comment,
-  [9892] = 4,
+  [9952] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(618), 1,
-      anon_sym_EQ,
+      anon_sym_LPAREN,
     STATE(192), 1,
       sym_comment,
-  [9905] = 4,
+  [9965] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(620), 1,
-      anon_sym_end,
+      anon_sym_EQ,
     STATE(193), 1,
       sym_comment,
-  [9918] = 4,
+  [9978] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(622), 1,
-      anon_sym_until,
+      sym__block_comment_end,
     STATE(194), 1,
       sym_comment,
-  [9931] = 4,
+  [9991] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -9875,52 +9928,52 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_EQ,
     STATE(195), 1,
       sym_comment,
-  [9944] = 4,
+  [10004] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(626), 1,
-      anon_sym_do,
+      anon_sym_end,
     STATE(196), 1,
       sym_comment,
-  [9957] = 4,
+  [10017] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(628), 1,
-      anon_sym_in,
+      anon_sym_until,
     STATE(197), 1,
       sym_comment,
-  [9970] = 4,
+  [10030] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(630), 1,
-      anon_sym_end,
+      anon_sym_do,
     STATE(198), 1,
       sym_comment,
-  [9983] = 4,
+  [10043] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(632), 1,
-      anon_sym_end,
+      anon_sym_in,
     STATE(199), 1,
       sym_comment,
-  [9996] = 4,
+  [10056] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(634), 1,
-      anon_sym_LPAREN,
+      anon_sym_end,
     STATE(200), 1,
       sym_comment,
-  [10009] = 4,
+  [10069] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -9929,16 +9982,16 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_end,
     STATE(201), 1,
       sym_comment,
-  [10022] = 4,
+  [10082] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(638), 1,
-      sym_identifier,
+      anon_sym_COLON_COLON,
     STATE(202), 1,
       sym_comment,
-  [10035] = 4,
+  [10095] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -9947,7 +10000,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_end,
     STATE(203), 1,
       sym_comment,
-  [10048] = 4,
+  [10108] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -9956,115 +10009,115 @@ static const uint16_t ts_small_parse_table[] = {
       sym_identifier,
     STATE(204), 1,
       sym_comment,
-  [10061] = 4,
+  [10121] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(644), 1,
-      anon_sym_end,
+      sym_identifier,
     STATE(205), 1,
       sym_comment,
-  [10074] = 4,
+  [10134] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(646), 1,
-      anon_sym_RBRACE,
+      sym_identifier,
     STATE(206), 1,
       sym_comment,
-  [10087] = 4,
+  [10147] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(648), 1,
-      anon_sym_RPAREN,
+    ACTIONS(612), 1,
+      sym_identifier,
     STATE(207), 1,
       sym_comment,
-  [10100] = 4,
+  [10160] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(650), 1,
-      sym__string_end,
+    ACTIONS(648), 1,
+      anon_sym_end,
     STATE(208), 1,
       sym_comment,
-  [10113] = 4,
+  [10173] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(652), 1,
-      anon_sym_RPAREN,
+    ACTIONS(650), 1,
+      anon_sym_RBRACE,
     STATE(209), 1,
       sym_comment,
-  [10126] = 4,
+  [10186] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(654), 1,
+    ACTIONS(652), 1,
       anon_sym_RPAREN,
     STATE(210), 1,
       sym_comment,
-  [10139] = 4,
+  [10199] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(232), 1,
-      ts_builtin_sym_end,
+    ACTIONS(654), 1,
+      sym__string_end,
     STATE(211), 1,
       sym_comment,
-  [10152] = 4,
+  [10212] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(656), 1,
-      sym__block_comment_end,
+      anon_sym_RPAREN,
     STATE(212), 1,
       sym_comment,
-  [10165] = 4,
+  [10225] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(230), 1,
-      ts_builtin_sym_end,
+    ACTIONS(658), 1,
+      anon_sym_end,
     STATE(213), 1,
       sym_comment,
-  [10178] = 4,
+  [10238] = 4,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(658), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(660), 1,
-      aux_sym_comment_token1,
+    ACTIONS(234), 1,
+      ts_builtin_sym_end,
     STATE(214), 1,
       sym_comment,
-  [10191] = 4,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
+  [10251] = 4,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(660), 1,
+      anon_sym_DASH_DASH,
     ACTIONS(662), 1,
-      anon_sym_end,
+      aux_sym_comment_token1,
     STATE(215), 1,
       sym_comment,
-  [10204] = 4,
+  [10264] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(664), 1,
-      ts_builtin_sym_end,
+      anon_sym_RPAREN,
     STATE(216), 1,
       sym_comment,
-  [10217] = 4,
+  [10277] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -10073,132 +10126,141 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_end,
     STATE(217), 1,
       sym_comment,
-  [10230] = 4,
+  [10290] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(668), 1,
-      sym__string_end,
+      ts_builtin_sym_end,
     STATE(218), 1,
       sym_comment,
-  [10243] = 4,
+  [10303] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(670), 1,
+    ACTIONS(232), 1,
       ts_builtin_sym_end,
     STATE(219), 1,
       sym_comment,
-  [10256] = 4,
+  [10316] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(672), 1,
+    ACTIONS(670), 1,
       anon_sym_RPAREN,
     STATE(220), 1,
       sym_comment,
-  [10269] = 4,
+  [10329] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(674), 1,
-      anon_sym_COLON_COLON,
+    ACTIONS(672), 1,
+      ts_builtin_sym_end,
     STATE(221), 1,
       sym_comment,
-  [10282] = 4,
+  [10342] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(676), 1,
-      anon_sym_LPAREN,
+    ACTIONS(674), 1,
+      anon_sym_end,
     STATE(222), 1,
       sym_comment,
-  [10295] = 4,
+  [10355] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(678), 1,
-      anon_sym_RBRACE,
+    ACTIONS(676), 1,
+      sym__string_end,
     STATE(223), 1,
       sym_comment,
-  [10308] = 4,
+  [10368] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(680), 1,
-      anon_sym_do,
+    ACTIONS(678), 1,
+      anon_sym_RBRACE,
     STATE(224), 1,
       sym_comment,
-  [10321] = 4,
+  [10381] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(682), 1,
-      sym_identifier,
+    ACTIONS(680), 1,
+      anon_sym_LPAREN,
     STATE(225), 1,
       sym_comment,
-  [10334] = 4,
+  [10394] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(684), 1,
-      sym_identifier,
+    ACTIONS(682), 1,
+      anon_sym_do,
     STATE(226), 1,
       sym_comment,
-  [10347] = 4,
+  [10407] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(686), 1,
+    ACTIONS(684), 1,
       sym_identifier,
     STATE(227), 1,
       sym_comment,
-  [10360] = 4,
+  [10420] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(688), 1,
+    ACTIONS(686), 1,
       sym_identifier,
     STATE(228), 1,
       sym_comment,
-  [10373] = 4,
+  [10433] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(690), 1,
-      anon_sym_end,
+    ACTIONS(688), 1,
+      sym_identifier,
     STATE(229), 1,
       sym_comment,
-  [10386] = 4,
+  [10446] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(610), 1,
+    ACTIONS(690), 1,
       sym_identifier,
     STATE(230), 1,
       sym_comment,
-  [10399] = 1,
+  [10459] = 4,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
     ACTIONS(692), 1,
-      ts_builtin_sym_end,
-  [10403] = 1,
+      anon_sym_end,
+    STATE(231), 1,
+      sym_comment,
+  [10472] = 1,
     ACTIONS(694), 1,
       ts_builtin_sym_end,
-  [10407] = 1,
+  [10476] = 1,
     ACTIONS(696), 1,
       ts_builtin_sym_end,
+  [10480] = 1,
+    ACTIONS(698), 1,
+      ts_builtin_sym_end,
 };
 
 static const uint32_t ts_small_parse_table_map[] = {
@@ -10206,41 +10268,41 @@ static const uint32_t ts_small_parse_table_map[] = {
   [SMALL_STATE(3)] = 65,
   [SMALL_STATE(4)] = 130,
   [SMALL_STATE(5)] = 195,
-  [SMALL_STATE(6)] = 259,
-  [SMALL_STATE(7)] = 323,
-  [SMALL_STATE(8)] = 387,
-  [SMALL_STATE(9)] = 451,
-  [SMALL_STATE(10)] = 515,
-  [SMALL_STATE(11)] = 579,
-  [SMALL_STATE(12)] = 643,
-  [SMALL_STATE(13)] = 707,
-  [SMALL_STATE(14)] = 771,
+  [SMALL_STATE(6)] = 263,
+  [SMALL_STATE(7)] = 327,
+  [SMALL_STATE(8)] = 391,
+  [SMALL_STATE(9)] = 455,
+  [SMALL_STATE(10)] = 519,
+  [SMALL_STATE(11)] = 583,
+  [SMALL_STATE(12)] = 647,
+  [SMALL_STATE(13)] = 711,
+  [SMALL_STATE(14)] = 775,
   [SMALL_STATE(15)] = 839,
   [SMALL_STATE(16)] = 903,
   [SMALL_STATE(17)] = 962,
   [SMALL_STATE(18)] = 1021,
   [SMALL_STATE(19)] = 1106,
-  [SMALL_STATE(20)] = 1171,
-  [SMALL_STATE(21)] = 1254,
-  [SMALL_STATE(22)] = 1333,
-  [SMALL_STATE(23)] = 1394,
-  [SMALL_STATE(24)] = 1455,
-  [SMALL_STATE(25)] = 1526,
-  [SMALL_STATE(26)] = 1587,
-  [SMALL_STATE(27)] = 1664,
-  [SMALL_STATE(28)] = 1723,
-  [SMALL_STATE(29)] = 1798,
-  [SMALL_STATE(30)] = 1871,
-  [SMALL_STATE(31)] = 1930,
-  [SMALL_STATE(32)] = 1989,
-  [SMALL_STATE(33)] = 2116,
-  [SMALL_STATE(34)] = 2175,
-  [SMALL_STATE(35)] = 2234,
+  [SMALL_STATE(20)] = 1233,
+  [SMALL_STATE(21)] = 1294,
+  [SMALL_STATE(22)] = 1377,
+  [SMALL_STATE(23)] = 1456,
+  [SMALL_STATE(24)] = 1531,
+  [SMALL_STATE(25)] = 1592,
+  [SMALL_STATE(26)] = 1665,
+  [SMALL_STATE(27)] = 1736,
+  [SMALL_STATE(28)] = 1807,
+  [SMALL_STATE(29)] = 1866,
+  [SMALL_STATE(30)] = 1925,
+  [SMALL_STATE(31)] = 1986,
+  [SMALL_STATE(32)] = 2045,
+  [SMALL_STATE(33)] = 2122,
+  [SMALL_STATE(34)] = 2181,
+  [SMALL_STATE(35)] = 2240,
   [SMALL_STATE(36)] = 2305,
   [SMALL_STATE(37)] = 2364,
-  [SMALL_STATE(38)] = 2472,
-  [SMALL_STATE(39)] = 2560,
-  [SMALL_STATE(40)] = 2674,
+  [SMALL_STATE(38)] = 2476,
+  [SMALL_STATE(39)] = 2584,
+  [SMALL_STATE(40)] = 2698,
   [SMALL_STATE(41)] = 2786,
   [SMALL_STATE(42)] = 2869,
   [SMALL_STATE(43)] = 2981,
@@ -10249,534 +10311,536 @@ static const uint32_t ts_small_parse_table_map[] = {
   [SMALL_STATE(46)] = 3287,
   [SMALL_STATE(47)] = 3399,
   [SMALL_STATE(48)] = 3511,
-  [SMALL_STATE(49)] = 3593,
+  [SMALL_STATE(49)] = 3623,
   [SMALL_STATE(50)] = 3705,
   [SMALL_STATE(51)] = 3814,
   [SMALL_STATE(52)] = 3923,
   [SMALL_STATE(53)] = 4032,
-  [SMALL_STATE(54)] = 4114,
-  [SMALL_STATE(55)] = 4193,
-  [SMALL_STATE(56)] = 4272,
-  [SMALL_STATE(57)] = 4319,
-  [SMALL_STATE(58)] = 4395,
-  [SMALL_STATE(59)] = 4471,
-  [SMALL_STATE(60)] = 4547,
-  [SMALL_STATE(61)] = 4619,
+  [SMALL_STATE(54)] = 4111,
+  [SMALL_STATE(55)] = 4190,
+  [SMALL_STATE(56)] = 4269,
+  [SMALL_STATE(57)] = 4316,
+  [SMALL_STATE(58)] = 4388,
+  [SMALL_STATE(59)] = 4464,
+  [SMALL_STATE(60)] = 4540,
+  [SMALL_STATE(61)] = 4616,
   [SMALL_STATE(62)] = 4692,
-  [SMALL_STATE(63)] = 4762,
-  [SMALL_STATE(64)] = 4832,
-  [SMALL_STATE(65)] = 4902,
-  [SMALL_STATE(66)] = 4972,
-  [SMALL_STATE(67)] = 5039,
-  [SMALL_STATE(68)] = 5106,
-  [SMALL_STATE(69)] = 5173,
-  [SMALL_STATE(70)] = 5240,
-  [SMALL_STATE(71)] = 5307,
-  [SMALL_STATE(72)] = 5374,
-  [SMALL_STATE(73)] = 5441,
-  [SMALL_STATE(74)] = 5508,
-  [SMALL_STATE(75)] = 5575,
-  [SMALL_STATE(76)] = 5642,
-  [SMALL_STATE(77)] = 5709,
-  [SMALL_STATE(78)] = 5776,
-  [SMALL_STATE(79)] = 5843,
-  [SMALL_STATE(80)] = 5910,
-  [SMALL_STATE(81)] = 5977,
-  [SMALL_STATE(82)] = 6044,
-  [SMALL_STATE(83)] = 6111,
-  [SMALL_STATE(84)] = 6178,
-  [SMALL_STATE(85)] = 6245,
-  [SMALL_STATE(86)] = 6312,
-  [SMALL_STATE(87)] = 6379,
-  [SMALL_STATE(88)] = 6446,
-  [SMALL_STATE(89)] = 6513,
-  [SMALL_STATE(90)] = 6580,
-  [SMALL_STATE(91)] = 6647,
-  [SMALL_STATE(92)] = 6714,
-  [SMALL_STATE(93)] = 6781,
-  [SMALL_STATE(94)] = 6821,
-  [SMALL_STATE(95)] = 6885,
-  [SMALL_STATE(96)] = 6949,
-  [SMALL_STATE(97)] = 6991,
-  [SMALL_STATE(98)] = 7059,
-  [SMALL_STATE(99)] = 7123,
-  [SMALL_STATE(100)] = 7160,
-  [SMALL_STATE(101)] = 7225,
-  [SMALL_STATE(102)] = 7266,
-  [SMALL_STATE(103)] = 7328,
-  [SMALL_STATE(104)] = 7390,
-  [SMALL_STATE(105)] = 7452,
-  [SMALL_STATE(106)] = 7514,
-  [SMALL_STATE(107)] = 7576,
-  [SMALL_STATE(108)] = 7638,
-  [SMALL_STATE(109)] = 7700,
-  [SMALL_STATE(110)] = 7762,
-  [SMALL_STATE(111)] = 7802,
-  [SMALL_STATE(112)] = 7839,
-  [SMALL_STATE(113)] = 7878,
-  [SMALL_STATE(114)] = 7914,
-  [SMALL_STATE(115)] = 7947,
-  [SMALL_STATE(116)] = 7980,
-  [SMALL_STATE(117)] = 8013,
-  [SMALL_STATE(118)] = 8046,
-  [SMALL_STATE(119)] = 8079,
-  [SMALL_STATE(120)] = 8112,
-  [SMALL_STATE(121)] = 8145,
-  [SMALL_STATE(122)] = 8178,
-  [SMALL_STATE(123)] = 8211,
-  [SMALL_STATE(124)] = 8244,
-  [SMALL_STATE(125)] = 8277,
-  [SMALL_STATE(126)] = 8310,
-  [SMALL_STATE(127)] = 8343,
-  [SMALL_STATE(128)] = 8376,
-  [SMALL_STATE(129)] = 8409,
-  [SMALL_STATE(130)] = 8442,
-  [SMALL_STATE(131)] = 8475,
-  [SMALL_STATE(132)] = 8508,
-  [SMALL_STATE(133)] = 8541,
-  [SMALL_STATE(134)] = 8574,
-  [SMALL_STATE(135)] = 8607,
-  [SMALL_STATE(136)] = 8640,
-  [SMALL_STATE(137)] = 8673,
-  [SMALL_STATE(138)] = 8706,
-  [SMALL_STATE(139)] = 8739,
-  [SMALL_STATE(140)] = 8772,
-  [SMALL_STATE(141)] = 8805,
-  [SMALL_STATE(142)] = 8838,
-  [SMALL_STATE(143)] = 8868,
-  [SMALL_STATE(144)] = 8897,
-  [SMALL_STATE(145)] = 8926,
-  [SMALL_STATE(146)] = 8952,
-  [SMALL_STATE(147)] = 8985,
-  [SMALL_STATE(148)] = 9012,
-  [SMALL_STATE(149)] = 9047,
-  [SMALL_STATE(150)] = 9074,
-  [SMALL_STATE(151)] = 9096,
-  [SMALL_STATE(152)] = 9122,
-  [SMALL_STATE(153)] = 9150,
-  [SMALL_STATE(154)] = 9178,
-  [SMALL_STATE(155)] = 9196,
-  [SMALL_STATE(156)] = 9224,
-  [SMALL_STATE(157)] = 9246,
-  [SMALL_STATE(158)] = 9267,
-  [SMALL_STATE(159)] = 9290,
-  [SMALL_STATE(160)] = 9313,
-  [SMALL_STATE(161)] = 9336,
-  [SMALL_STATE(162)] = 9355,
-  [SMALL_STATE(163)] = 9380,
-  [SMALL_STATE(164)] = 9399,
-  [SMALL_STATE(165)] = 9421,
-  [SMALL_STATE(166)] = 9439,
-  [SMALL_STATE(167)] = 9459,
-  [SMALL_STATE(168)] = 9481,
-  [SMALL_STATE(169)] = 9503,
-  [SMALL_STATE(170)] = 9521,
-  [SMALL_STATE(171)] = 9540,
-  [SMALL_STATE(172)] = 9559,
-  [SMALL_STATE(173)] = 9578,
-  [SMALL_STATE(174)] = 9595,
-  [SMALL_STATE(175)] = 9610,
-  [SMALL_STATE(176)] = 9625,
-  [SMALL_STATE(177)] = 9642,
-  [SMALL_STATE(178)] = 9661,
-  [SMALL_STATE(179)] = 9680,
-  [SMALL_STATE(180)] = 9697,
-  [SMALL_STATE(181)] = 9716,
-  [SMALL_STATE(182)] = 9731,
-  [SMALL_STATE(183)] = 9750,
-  [SMALL_STATE(184)] = 9765,
-  [SMALL_STATE(185)] = 9780,
-  [SMALL_STATE(186)] = 9799,
-  [SMALL_STATE(187)] = 9815,
-  [SMALL_STATE(188)] = 9831,
-  [SMALL_STATE(189)] = 9847,
-  [SMALL_STATE(190)] = 9863,
-  [SMALL_STATE(191)] = 9879,
-  [SMALL_STATE(192)] = 9892,
-  [SMALL_STATE(193)] = 9905,
-  [SMALL_STATE(194)] = 9918,
-  [SMALL_STATE(195)] = 9931,
-  [SMALL_STATE(196)] = 9944,
-  [SMALL_STATE(197)] = 9957,
-  [SMALL_STATE(198)] = 9970,
-  [SMALL_STATE(199)] = 9983,
-  [SMALL_STATE(200)] = 9996,
-  [SMALL_STATE(201)] = 10009,
-  [SMALL_STATE(202)] = 10022,
-  [SMALL_STATE(203)] = 10035,
-  [SMALL_STATE(204)] = 10048,
-  [SMALL_STATE(205)] = 10061,
-  [SMALL_STATE(206)] = 10074,
-  [SMALL_STATE(207)] = 10087,
-  [SMALL_STATE(208)] = 10100,
-  [SMALL_STATE(209)] = 10113,
-  [SMALL_STATE(210)] = 10126,
-  [SMALL_STATE(211)] = 10139,
-  [SMALL_STATE(212)] = 10152,
-  [SMALL_STATE(213)] = 10165,
-  [SMALL_STATE(214)] = 10178,
-  [SMALL_STATE(215)] = 10191,
-  [SMALL_STATE(216)] = 10204,
-  [SMALL_STATE(217)] = 10217,
-  [SMALL_STATE(218)] = 10230,
-  [SMALL_STATE(219)] = 10243,
-  [SMALL_STATE(220)] = 10256,
-  [SMALL_STATE(221)] = 10269,
-  [SMALL_STATE(222)] = 10282,
-  [SMALL_STATE(223)] = 10295,
-  [SMALL_STATE(224)] = 10308,
-  [SMALL_STATE(225)] = 10321,
-  [SMALL_STATE(226)] = 10334,
-  [SMALL_STATE(227)] = 10347,
-  [SMALL_STATE(228)] = 10360,
-  [SMALL_STATE(229)] = 10373,
-  [SMALL_STATE(230)] = 10386,
-  [SMALL_STATE(231)] = 10399,
-  [SMALL_STATE(232)] = 10403,
-  [SMALL_STATE(233)] = 10407,
+  [SMALL_STATE(63)] = 4765,
+  [SMALL_STATE(64)] = 4835,
+  [SMALL_STATE(65)] = 4905,
+  [SMALL_STATE(66)] = 4975,
+  [SMALL_STATE(67)] = 5045,
+  [SMALL_STATE(68)] = 5112,
+  [SMALL_STATE(69)] = 5179,
+  [SMALL_STATE(70)] = 5246,
+  [SMALL_STATE(71)] = 5313,
+  [SMALL_STATE(72)] = 5380,
+  [SMALL_STATE(73)] = 5447,
+  [SMALL_STATE(74)] = 5514,
+  [SMALL_STATE(75)] = 5581,
+  [SMALL_STATE(76)] = 5648,
+  [SMALL_STATE(77)] = 5715,
+  [SMALL_STATE(78)] = 5782,
+  [SMALL_STATE(79)] = 5849,
+  [SMALL_STATE(80)] = 5916,
+  [SMALL_STATE(81)] = 5983,
+  [SMALL_STATE(82)] = 6050,
+  [SMALL_STATE(83)] = 6117,
+  [SMALL_STATE(84)] = 6184,
+  [SMALL_STATE(85)] = 6251,
+  [SMALL_STATE(86)] = 6318,
+  [SMALL_STATE(87)] = 6385,
+  [SMALL_STATE(88)] = 6452,
+  [SMALL_STATE(89)] = 6519,
+  [SMALL_STATE(90)] = 6586,
+  [SMALL_STATE(91)] = 6653,
+  [SMALL_STATE(92)] = 6720,
+  [SMALL_STATE(93)] = 6787,
+  [SMALL_STATE(94)] = 6854,
+  [SMALL_STATE(95)] = 6918,
+  [SMALL_STATE(96)] = 6960,
+  [SMALL_STATE(97)] = 7028,
+  [SMALL_STATE(98)] = 7092,
+  [SMALL_STATE(99)] = 7132,
+  [SMALL_STATE(100)] = 7196,
+  [SMALL_STATE(101)] = 7261,
+  [SMALL_STATE(102)] = 7298,
+  [SMALL_STATE(103)] = 7339,
+  [SMALL_STATE(104)] = 7401,
+  [SMALL_STATE(105)] = 7441,
+  [SMALL_STATE(106)] = 7503,
+  [SMALL_STATE(107)] = 7565,
+  [SMALL_STATE(108)] = 7627,
+  [SMALL_STATE(109)] = 7689,
+  [SMALL_STATE(110)] = 7751,
+  [SMALL_STATE(111)] = 7813,
+  [SMALL_STATE(112)] = 7875,
+  [SMALL_STATE(113)] = 7912,
+  [SMALL_STATE(114)] = 7951,
+  [SMALL_STATE(115)] = 7987,
+  [SMALL_STATE(116)] = 8020,
+  [SMALL_STATE(117)] = 8053,
+  [SMALL_STATE(118)] = 8086,
+  [SMALL_STATE(119)] = 8119,
+  [SMALL_STATE(120)] = 8152,
+  [SMALL_STATE(121)] = 8185,
+  [SMALL_STATE(122)] = 8218,
+  [SMALL_STATE(123)] = 8251,
+  [SMALL_STATE(124)] = 8284,
+  [SMALL_STATE(125)] = 8317,
+  [SMALL_STATE(126)] = 8350,
+  [SMALL_STATE(127)] = 8383,
+  [SMALL_STATE(128)] = 8416,
+  [SMALL_STATE(129)] = 8449,
+  [SMALL_STATE(130)] = 8482,
+  [SMALL_STATE(131)] = 8515,
+  [SMALL_STATE(132)] = 8548,
+  [SMALL_STATE(133)] = 8581,
+  [SMALL_STATE(134)] = 8614,
+  [SMALL_STATE(135)] = 8647,
+  [SMALL_STATE(136)] = 8680,
+  [SMALL_STATE(137)] = 8713,
+  [SMALL_STATE(138)] = 8746,
+  [SMALL_STATE(139)] = 8779,
+  [SMALL_STATE(140)] = 8812,
+  [SMALL_STATE(141)] = 8845,
+  [SMALL_STATE(142)] = 8878,
+  [SMALL_STATE(143)] = 8911,
+  [SMALL_STATE(144)] = 8941,
+  [SMALL_STATE(145)] = 8970,
+  [SMALL_STATE(146)] = 8999,
+  [SMALL_STATE(147)] = 9025,
+  [SMALL_STATE(148)] = 9052,
+  [SMALL_STATE(149)] = 9087,
+  [SMALL_STATE(150)] = 9120,
+  [SMALL_STATE(151)] = 9147,
+  [SMALL_STATE(152)] = 9169,
+  [SMALL_STATE(153)] = 9195,
+  [SMALL_STATE(154)] = 9223,
+  [SMALL_STATE(155)] = 9245,
+  [SMALL_STATE(156)] = 9263,
+  [SMALL_STATE(157)] = 9291,
+  [SMALL_STATE(158)] = 9319,
+  [SMALL_STATE(159)] = 9342,
+  [SMALL_STATE(160)] = 9363,
+  [SMALL_STATE(161)] = 9386,
+  [SMALL_STATE(162)] = 9409,
+  [SMALL_STATE(163)] = 9428,
+  [SMALL_STATE(164)] = 9453,
+  [SMALL_STATE(165)] = 9472,
+  [SMALL_STATE(166)] = 9494,
+  [SMALL_STATE(167)] = 9512,
+  [SMALL_STATE(168)] = 9530,
+  [SMALL_STATE(169)] = 9552,
+  [SMALL_STATE(170)] = 9574,
+  [SMALL_STATE(171)] = 9594,
+  [SMALL_STATE(172)] = 9613,
+  [SMALL_STATE(173)] = 9628,
+  [SMALL_STATE(174)] = 9647,
+  [SMALL_STATE(175)] = 9662,
+  [SMALL_STATE(176)] = 9677,
+  [SMALL_STATE(177)] = 9694,
+  [SMALL_STATE(178)] = 9711,
+  [SMALL_STATE(179)] = 9728,
+  [SMALL_STATE(180)] = 9747,
+  [SMALL_STATE(181)] = 9766,
+  [SMALL_STATE(182)] = 9785,
+  [SMALL_STATE(183)] = 9804,
+  [SMALL_STATE(184)] = 9823,
+  [SMALL_STATE(185)] = 9842,
+  [SMALL_STATE(186)] = 9857,
+  [SMALL_STATE(187)] = 9872,
+  [SMALL_STATE(188)] = 9888,
+  [SMALL_STATE(189)] = 9904,
+  [SMALL_STATE(190)] = 9920,
+  [SMALL_STATE(191)] = 9936,
+  [SMALL_STATE(192)] = 9952,
+  [SMALL_STATE(193)] = 9965,
+  [SMALL_STATE(194)] = 9978,
+  [SMALL_STATE(195)] = 9991,
+  [SMALL_STATE(196)] = 10004,
+  [SMALL_STATE(197)] = 10017,
+  [SMALL_STATE(198)] = 10030,
+  [SMALL_STATE(199)] = 10043,
+  [SMALL_STATE(200)] = 10056,
+  [SMALL_STATE(201)] = 10069,
+  [SMALL_STATE(202)] = 10082,
+  [SMALL_STATE(203)] = 10095,
+  [SMALL_STATE(204)] = 10108,
+  [SMALL_STATE(205)] = 10121,
+  [SMALL_STATE(206)] = 10134,
+  [SMALL_STATE(207)] = 10147,
+  [SMALL_STATE(208)] = 10160,
+  [SMALL_STATE(209)] = 10173,
+  [SMALL_STATE(210)] = 10186,
+  [SMALL_STATE(211)] = 10199,
+  [SMALL_STATE(212)] = 10212,
+  [SMALL_STATE(213)] = 10225,
+  [SMALL_STATE(214)] = 10238,
+  [SMALL_STATE(215)] = 10251,
+  [SMALL_STATE(216)] = 10264,
+  [SMALL_STATE(217)] = 10277,
+  [SMALL_STATE(218)] = 10290,
+  [SMALL_STATE(219)] = 10303,
+  [SMALL_STATE(220)] = 10316,
+  [SMALL_STATE(221)] = 10329,
+  [SMALL_STATE(222)] = 10342,
+  [SMALL_STATE(223)] = 10355,
+  [SMALL_STATE(224)] = 10368,
+  [SMALL_STATE(225)] = 10381,
+  [SMALL_STATE(226)] = 10394,
+  [SMALL_STATE(227)] = 10407,
+  [SMALL_STATE(228)] = 10420,
+  [SMALL_STATE(229)] = 10433,
+  [SMALL_STATE(230)] = 10446,
+  [SMALL_STATE(231)] = 10459,
+  [SMALL_STATE(232)] = 10472,
+  [SMALL_STATE(233)] = 10476,
+  [SMALL_STATE(234)] = 10480,
 };
 
 static const TSParseActionEntry ts_parse_actions[] = {
   [0] = {.entry = {.count = 0, .reusable = false}},
   [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
-  [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214),
-  [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187),
+  [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215),
+  [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188),
   [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 0),
-  [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4),
+  [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3),
   [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52),
-  [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53),
-  [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116),
-  [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228),
-  [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117),
-  [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(226),
-  [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42),
-  [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81),
-  [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49),
-  [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69),
-  [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166),
-  [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162),
-  [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168),
-  [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92),
+  [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60),
+  [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117),
+  [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229),
+  [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121),
+  [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(227),
+  [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43),
+  [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90),
+  [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44),
+  [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72),
+  [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170),
+  [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(163),
+  [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(169),
+  [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
   [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dot_index_expression, 3, .production_id = 20),
   [41] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dot_index_expression, 3, .production_id = 20),
-  [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bracket_index_expression, 4, .production_id = 20),
-  [45] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bracket_index_expression, 4, .production_id = 20),
-  [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable, 1),
-  [49] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable, 1),
-  [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 4),
-  [53] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 4),
-  [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3),
-  [57] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3),
-  [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constructor, 3),
-  [61] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_constructor, 3),
-  [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 2),
-  [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 2),
-  [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3, .production_id = 12),
-  [69] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3, .production_id = 12),
-  [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constructor, 2),
-  [73] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_constructor, 2),
-  [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2, .production_id = 5),
-  [77] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2, .production_id = 5),
-  [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 2, .production_id = 10),
-  [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 2, .production_id = 10),
-  [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 1),
-  [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 1),
-  [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1),
-  [89] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1),
-  [91] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__prefix_expression, 1),
-  [93] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__prefix_expression, 1),
+  [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable, 1),
+  [45] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable, 1),
+  [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bracket_index_expression, 4, .production_id = 20),
+  [49] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bracket_index_expression, 4, .production_id = 20),
+  [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1),
+  [53] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1),
+  [55] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__prefix_expression, 1),
+  [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__prefix_expression, 1),
+  [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3),
+  [61] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3),
+  [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constructor, 3),
+  [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_constructor, 3),
+  [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 2),
+  [69] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 2),
+  [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3, .production_id = 12),
+  [73] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3, .production_id = 12),
+  [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constructor, 2),
+  [77] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_constructor, 2),
+  [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2, .production_id = 5),
+  [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2, .production_id = 5),
+  [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 2, .production_id = 10),
+  [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 2, .production_id = 10),
+  [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 1),
+  [89] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 1),
+  [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 4),
+  [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 4),
   [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 3),
   [97] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 3),
-  [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 2, .production_id = 24),
-  [101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 2, .production_id = 24),
-  [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 25),
-  [105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 25),
-  [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84),
-  [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83),
-  [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83),
+  [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 25),
+  [101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 25),
+  [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89),
+  [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86),
+  [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
+  [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
+  [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84),
   [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
-  [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67),
-  [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
-  [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
-  [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77),
-  [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77),
-  [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
-  [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76),
-  [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
-  [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
-  [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 15),
-  [135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 15),
-  [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 2, .production_id = 13),
-  [139] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 2, .production_id = 13),
-  [141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122),
-  [143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85),
-  [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44),
-  [147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 3, .production_id = 33),
-  [149] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 3, .production_id = 33),
-  [151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2),
-  [153] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(4),
-  [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2),
-  [158] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(116),
-  [161] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(228),
-  [164] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(117),
-  [167] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(226),
-  [170] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(42),
-  [173] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(81),
-  [176] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(49),
-  [179] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(69),
-  [182] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(166),
-  [185] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(162),
-  [188] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(168),
-  [191] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(92),
-  [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_explist, 1, .production_id = 14),
-  [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__variable_assignment_explist, 1, .production_id = 14),
-  [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
-  [200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86),
-  [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_statement, 3, .production_id = 26),
-  [204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block, 1),
-  [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 41),
-  [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 41),
-  [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125),
-  [212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17),
-  [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_statement, 1),
-  [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 4, .production_id = 27),
-  [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 4, .production_id = 27),
-  [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114),
-  [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128),
-  [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 3, .production_id = 17),
-  [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 3, .production_id = 17),
-  [228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90),
-  [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 1),
+  [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
+  [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
+  [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68),
+  [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
+  [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79),
+  [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77),
+  [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
+  [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53),
+  [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127),
+  [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75),
+  [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42),
+  [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 15),
+  [139] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 15),
+  [141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 2, .production_id = 13),
+  [143] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 2, .production_id = 13),
+  [145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 3, .production_id = 33),
+  [147] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 3, .production_id = 33),
+  [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 2, .production_id = 24),
+  [151] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 2, .production_id = 24),
+  [153] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block, 1),
+  [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2),
+  [157] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(3),
+  [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2),
+  [162] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(117),
+  [165] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(229),
+  [168] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(121),
+  [171] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(227),
+  [174] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(43),
+  [177] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(90),
+  [180] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(44),
+  [183] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(72),
+  [186] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(170),
+  [189] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(163),
+  [192] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(169),
+  [195] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(71),
+  [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_statement, 3, .production_id = 26),
+  [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_explist, 1, .production_id = 14),
+  [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__variable_assignment_explist, 1, .production_id = 14),
+  [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
+  [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80),
+  [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 41),
+  [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 41),
+  [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_statement, 1),
+  [214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123),
+  [216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92),
+  [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 4, .production_id = 27),
+  [220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 4, .production_id = 27),
+  [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36),
+  [224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115),
+  [226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131),
+  [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 3, .production_id = 17),
+  [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 3, .production_id = 17),
   [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 2),
-  [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 1),
-  [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163),
+  [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 1),
+  [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164),
   [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 1),
-  [240] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170),
-  [242] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31),
-  [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
-  [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
+  [240] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171),
+  [242] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29),
+  [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
+  [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
   [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87),
   [250] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87),
-  [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188),
+  [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189),
   [254] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56),
-  [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66),
-  [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
-  [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
-  [262] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72),
-  [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_list, 2),
-  [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_list, 1),
-  [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89),
-  [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_list, 1),
-  [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
-  [274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
-  [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_list, 3),
-  [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list_repeat1, 2),
-  [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list_repeat1, 2),
-  [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
-  [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 23),
-  [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 23),
-  [288] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 23), SHIFT_REPEAT(230),
-  [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 1, .production_id = 14),
-  [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 3, .production_id = 34),
-  [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1),
-  [297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1),
-  [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
-  [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 5, .production_id = 47),
-  [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 22),
-  [305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 22),
-  [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70),
-  [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_numeric_clause, 5, .production_id = 46),
-  [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name_list, 2, .production_id = 11),
-  [313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__name_list, 2, .production_id = 11),
-  [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230),
-  [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
-  [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_numeric_clause, 7, .production_id = 49),
-  [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
-  [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
-  [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
-  [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195),
-  [329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
-  [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
-  [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name_list, 1, .production_id = 4),
-  [335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__name_list, 1, .production_id = 4),
-  [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 42),
-  [339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 42),
-  [341] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 42), SHIFT_REPEAT(78),
-  [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_explist, 2, .production_id = 32),
-  [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__variable_assignment_explist, 2, .production_id = 32),
-  [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2, .production_id = 9),
-  [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 2, .production_id = 9),
-  [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64),
-  [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 4, .production_id = 29),
-  [356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 4, .production_id = 29),
-  [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 45),
-  [360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 45),
-  [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_empty_statement, 1),
-  [364] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_empty_statement, 1),
-  [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 3, .production_id = 16),
-  [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 3, .production_id = 16),
-  [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label_statement, 3),
-  [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_label_statement, 3),
-  [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 3, .production_id = 18),
-  [376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 3, .production_id = 18),
-  [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 2),
-  [380] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 2),
-  [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, .production_id = 26),
-  [384] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, .production_id = 26),
-  [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, .production_id = 48),
-  [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, .production_id = 48),
-  [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, .production_id = 35),
-  [392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, .production_id = 35),
-  [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 2),
-  [396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 2),
-  [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 3, .production_id = 19),
-  [400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_statement, 3, .production_id = 19),
-  [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_function_declaration, 4, .production_id = 31),
-  [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_function_declaration, 4, .production_id = 31),
-  [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 4, .production_id = 26),
-  [408] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 4, .production_id = 26),
-  [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2),
-  [412] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 2),
-  [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 37),
-  [416] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 37),
-  [418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 44),
-  [420] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 44),
-  [422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 43),
-  [424] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 43),
-  [426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 36),
-  [428] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 36),
-  [430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 1),
-  [432] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 1),
-  [434] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, .production_id = 1),
-  [436] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, .production_id = 1),
-  [438] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1),
-  [440] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1),
-  [442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 38),
-  [444] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 38),
-  [446] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1, .production_id = 2),
-  [448] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1, .production_id = 2),
-  [450] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, .production_id = 40),
-  [452] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, .production_id = 40),
-  [454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1, .production_id = 3),
-  [456] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1, .production_id = 3),
-  [458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_variable_assignment, 3, .production_id = 19),
-  [460] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_variable_assignment, 3, .production_id = 19),
-  [462] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_sep, 1),
-  [464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_sep, 1),
-  [466] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 3, .production_id = 9),
-  [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3, .production_id = 9),
-  [470] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 2),
-  [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2),
-  [474] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list_repeat1, 2), SHIFT_REPEAT(89),
-  [477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
+  [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67),
+  [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
+  [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
+  [262] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73),
+  [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list_repeat1, 2),
+  [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list_repeat1, 2),
+  [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
+  [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89),
+  [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_list, 2),
+  [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_list, 1),
+  [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93),
+  [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_list, 1),
+  [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 1),
+  [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_list, 3),
+  [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
+  [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 1, .production_id = 14),
+  [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1),
+  [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1),
+  [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
+  [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 3, .production_id = 34),
+  [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 23),
+  [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 23),
+  [300] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 23), SHIFT_REPEAT(207),
+  [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 5, .production_id = 47),
+  [305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70),
+  [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_numeric_clause, 5, .production_id = 46),
+  [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 22),
+  [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 22),
+  [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name_list, 2, .production_id = 11),
+  [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__name_list, 2, .production_id = 11),
+  [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207),
+  [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
+  [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name_list, 1, .production_id = 4),
+  [323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__name_list, 1, .production_id = 4),
+  [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
+  [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
+  [329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
+  [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195),
+  [333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48),
+  [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
+  [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_numeric_clause, 7, .production_id = 49),
+  [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 42),
+  [341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 42),
+  [343] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 42), SHIFT_REPEAT(78),
+  [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_explist, 2, .production_id = 32),
+  [348] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__variable_assignment_explist, 2, .production_id = 32),
+  [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2, .production_id = 9),
+  [352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 2, .production_id = 9),
+  [354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64),
+  [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 4, .production_id = 29),
+  [358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 4, .production_id = 29),
+  [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, .production_id = 48),
+  [362] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, .production_id = 48),
+  [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_empty_statement, 1),
+  [366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_empty_statement, 1),
+  [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_function_declaration, 4, .production_id = 31),
+  [370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_function_declaration, 4, .production_id = 31),
+  [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 3, .production_id = 16),
+  [374] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 3, .production_id = 16),
+  [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 3, .production_id = 18),
+  [378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 3, .production_id = 18),
+  [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 2),
+  [382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 2),
+  [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 2),
+  [386] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 2),
+  [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label_statement, 3),
+  [390] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_label_statement, 3),
+  [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 37),
+  [394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 37),
+  [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 3, .production_id = 19),
+  [398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_statement, 3, .production_id = 19),
+  [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, .production_id = 26),
+  [402] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, .production_id = 26),
+  [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_variable_assignment, 3, .production_id = 19),
+  [406] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_variable_assignment, 3, .production_id = 19),
+  [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 38),
+  [410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 38),
+  [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 36),
+  [414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 36),
+  [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 4, .production_id = 26),
+  [418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 4, .production_id = 26),
+  [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 1),
+  [422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 1),
+  [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, .production_id = 35),
+  [426] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, .production_id = 35),
+  [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 45),
+  [430] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 45),
+  [432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 44),
+  [434] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 44),
+  [436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 43),
+  [438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 43),
+  [440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2),
+  [442] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 2),
+  [444] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, .production_id = 1),
+  [446] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, .production_id = 1),
+  [448] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1),
+  [450] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1),
+  [452] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1, .production_id = 2),
+  [454] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1, .production_id = 2),
+  [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1, .production_id = 3),
+  [458] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1, .production_id = 3),
+  [460] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, .production_id = 40),
+  [462] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, .production_id = 40),
+  [464] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_sep, 1),
+  [466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_sep, 1),
+  [468] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 2),
+  [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2),
+  [472] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 3, .production_id = 9),
+  [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3, .production_id = 9),
+  [476] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list_repeat1, 2), SHIFT_REPEAT(93),
   [479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_list, 2),
   [481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_list, 2),
-  [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202),
-  [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204),
-  [487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
+  [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205),
+  [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206),
+  [487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66),
   [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
-  [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
-  [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186),
-  [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_varlist, 1, .production_id = 4),
-  [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146),
-  [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_varlist_repeat1, 2, .production_id = 22),
-  [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131),
-  [503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
-  [505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137),
-  [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133),
-  [509] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2),
-  [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161),
-  [513] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2),
-  [515] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__field_list_repeat1, 2), SHIFT_REPEAT(142),
-  [518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_list_repeat1, 2),
-  [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142),
-  [522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 39),
-  [524] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 39), SHIFT_REPEAT(85),
-  [527] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 39),
-  [529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_list, 1),
-  [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3),
-  [533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3),
-  [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184),
-  [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
-  [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 1),
-  [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164),
-  [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177),
-  [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209),
-  [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144),
-  [549] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110),
-  [551] = {.entry = {.count = 1, .reusable = false}}, SHIFT(191),
-  [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 2),
-  [555] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block, 2),
-  [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167),
-  [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227),
-  [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225),
-  [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name, 1),
+  [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
+  [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187),
+  [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
+  [497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_varlist, 1, .production_id = 4),
+  [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149),
+  [501] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_varlist_repeat1, 2, .production_id = 22),
+  [503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135),
+  [505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
+  [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2),
+  [509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162),
+  [511] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2),
+  [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130),
+  [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129),
+  [517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 39),
+  [519] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 39), SHIFT_REPEAT(75),
+  [522] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 39),
+  [524] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__field_list_repeat1, 2), SHIFT_REPEAT(143),
+  [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_list_repeat1, 2),
+  [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143),
+  [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_list, 1),
+  [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3),
+  [535] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3),
+  [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186),
+  [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83),
+  [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 1),
+  [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 2),
+  [545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block, 2),
+  [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179),
+  [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216),
+  [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144),
+  [553] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104),
+  [555] = {.entry = {.count = 1, .reusable = false}}, SHIFT(204),
+  [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165),
+  [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168),
+  [561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_index_expression, 3, .production_id = 21),
+  [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_dot_index_expression, 3, .production_id = 20),
   [565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elseif_statement, 4, .production_id = 36),
   [567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_statement, 4, .production_id = 36),
-  [569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_dot_index_expression, 3, .production_id = 20),
-  [571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_index_expression, 3, .production_id = 21),
-  [573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_varlist_repeat1, 2, .production_id = 23),
-  [575] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__variable_assignment_varlist_repeat1, 2, .production_id = 23), SHIFT_REPEAT(146),
-  [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190),
+  [569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_varlist_repeat1, 2, .production_id = 23),
+  [571] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__variable_assignment_varlist_repeat1, 2, .production_id = 23), SHIFT_REPEAT(149),
+  [574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 28),
+  [576] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 28),
+  [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191),
   [580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 1, .production_id = 4),
-  [582] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_varlist, 2, .production_id = 11),
-  [584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 28),
-  [586] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 28),
-  [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
-  [590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189),
-  [592] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 2, .production_id = 11),
-  [594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_prefix_expression, 1, .production_id = 7),
-  [596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_prefix_expression, 1),
-  [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208),
-  [600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
-  [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212),
-  [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233),
-  [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218),
-  [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
-  [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99),
-  [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220),
-  [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210),
-  [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172),
-  [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62),
-  [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118),
-  [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
+  [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
+  [584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_varlist, 2, .production_id = 11),
+  [586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190),
+  [588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 2, .production_id = 11),
+  [590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230),
+  [592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228),
+  [594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name, 1),
+  [596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_prefix_expression, 1, .production_id = 7),
+  [598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_prefix_expression, 1),
+  [600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211),
+  [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
+  [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194),
+  [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233),
+  [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223),
+  [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
+  [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101),
+  [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220),
+  [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210),
+  [618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name, 1, .production_id = 8),
+  [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
+  [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234),
   [624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
-  [626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
-  [628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63),
-  [630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_statement, 2, .production_id = 16),
-  [632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132),
-  [634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name, 1, .production_id = 8),
-  [636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130),
-  [638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
-  [640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115),
-  [642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175),
-  [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
-  [646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
-  [648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143),
-  [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
-  [652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 1),
-  [654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 3, .production_id = 4),
-  [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231),
-  [658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(214),
-  [660] = {.entry = {.count = 1, .reusable = false}}, SHIFT(232),
-  [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124),
-  [664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 3),
-  [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123),
-  [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
-  [670] = {.entry = {.count = 1, .reusable = true}},  ACCEPT_INPUT(),
-  [672] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 4, .production_id = 11),
-  [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119),
-  [676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_method_index_expression, 3, .production_id = 21),
-  [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
-  [680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_generic_clause, 3, .production_id = 30),
-  [682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222),
-  [684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121),
-  [686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174),
-  [688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221),
-  [690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139),
-  [692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 3, .production_id = 12),
+  [626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133),
+  [628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69),
+  [630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
+  [632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63),
+  [634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_statement, 2, .production_id = 16),
+  [636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136),
+  [638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124),
+  [640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134),
+  [642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173),
+  [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
+  [646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174),
+  [648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
+  [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
+  [652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 3, .production_id = 4),
+  [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
+  [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145),
+  [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119),
+  [660] = {.entry = {.count = 1, .reusable = false}}, SHIFT(215),
+  [662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(232),
+  [664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 1),
+  [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116),
+  [668] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 3),
+  [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 4, .production_id = 11),
+  [672] = {.entry = {.count = 1, .reusable = true}},  ACCEPT_INPUT(),
+  [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125),
+  [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
+  [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
+  [680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_method_index_expression, 3, .production_id = 21),
+  [682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_generic_clause, 3, .production_id = 30),
+  [684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122),
+  [686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225),
+  [688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202),
+  [690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175),
+  [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142),
   [694] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2, .production_id = 6),
   [696] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2, .production_id = 5),
+  [698] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 3, .production_id = 12),
 };
 
 #ifdef __cplusplus
diff --git a/src/tree_sitter/parser.h b/src/tree_sitter/parser.h
index 2b14ac1..cbbc7b4 100644
--- a/src/tree_sitter/parser.h
+++ b/src/tree_sitter/parser.h
@@ -123,7 +123,6 @@ struct TSLanguage {
     unsigned (*serialize)(void *, char *);
     void (*deserialize)(void *, const char *, unsigned);
   } external_scanner;
-  const TSStateId *primary_state_ids;
 };
 
 /*


Test patch:
diff --git a/test/corpus/expressions.txt b/test/corpus/expressions.txt
index 606510b..f3748f1 100644
--- a/test/corpus/expressions.txt
+++ b/test/corpus/expressions.txt
@@ -235,6 +235,10 @@ v1 = n1
 
 v2, v3 = n2, n3
 
+পাই = π
+
+🙂 = 🙃
+
 --------------------------------------------------------------------------------
 
 (chunk
@@ -249,6 +253,16 @@ v2, v3 = n2, n3
       name: (identifier))
     (expression_list
       value: (identifier)
+      value: (identifier)))
+  (assignment_statement
+    (variable_list
+      name: (identifier))
+    (expression_list
+      value: (identifier)))
+  (assignment_statement
+    (variable_list
+      name: (identifier))
+    (expression_list
       value: (identifier))))
 
 ================================================================================