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

Issue:
Comment nodes substituted by string literals by mistake
![Screenshot from 2023-07-19 23-03-23](https://github.com/MunifTanjim/tree-sitter-lua/assets/14666676/6f8a7a83-d174-477c-a4c1-8a8227a23b72)

On the left side it's shown how comment nodes look in this grammar implementation, it would be better to represent them by simple non literal nodes like:
```js
    // comment
    comment: ($) =>
      choice(
        seq(
          field('start', '--'), // I removed alias at all, because it's a bad practice to hide actual string literal tokens
          field('content', alias(/[^\r\n]*/, $.comment_content))
        ),
        seq(
          field('start', alias($._block_comment_start, $.comment_start)),
          field(
            'content',
            optional(alias($._block_comment_content, $.comment_content))
          ),
          field('end', alias($._block_comment_end, $.comment_end))
        )
      ),
  },
```


Discussion / hints:
Just curious, does having named node provide any additional benefits here?

You've provided example from https://github.com/tjdevries/tree-sitter-lua, but I see that both parser do the same thing here.

Fix patch:
diff --git a/grammar.js b/grammar.js
index 218c588..51fc227 100644
--- a/grammar.js
+++ b/grammar.js
@@ -553,16 +553,13 @@ module.exports = grammar({
     comment: ($) =>
       choice(
         seq(
-          field('start', alias('--', 'comment_start')),
-          field('content', alias(/[^\r\n]*/, 'comment_content'))
+          field('start', '--'),
+          field('content', alias(/[^\r\n]*/, $.comment_content))
         ),
         seq(
-          field('start', alias($._block_comment_start, 'comment_start')),
-          field(
-            'content',
-            optional(alias($._block_comment_content, 'comment_content'))
-          ),
-          field('end', alias($._block_comment_end, 'comment_end'))
+          field('start', alias($._block_comment_start, '[[')),
+          field('content', alias($._block_comment_content, $.comment_content)),
+          field('end', alias($._block_comment_end, ']]'))
         )
       ),
   },
diff --git a/src/grammar.json b/src/grammar.json
index c85d4e5..f88415d 100644
--- a/src/grammar.json
+++ b/src/grammar.json
@@ -2982,13 +2982,8 @@
               "type": "FIELD",
               "name": "start",
               "content": {
-                "type": "ALIAS",
-                "content": {
-                  "type": "STRING",
-                  "value": "--"
-                },
-                "named": false,
-                "value": "comment_start"
+                "type": "STRING",
+                "value": "--"
               }
             },
             {
@@ -3000,7 +2995,7 @@
                   "type": "PATTERN",
                   "value": "[^\\r\\n]*"
                 },
-                "named": false,
+                "named": true,
                 "value": "comment_content"
               }
             }
@@ -3019,28 +3014,20 @@
                   "name": "_block_comment_start"
                 },
                 "named": false,
-                "value": "comment_start"
+                "value": "[["
               }
             },
             {
               "type": "FIELD",
               "name": "content",
               "content": {
-                "type": "CHOICE",
-                "members": [
-                  {
-                    "type": "ALIAS",
-                    "content": {
-                      "type": "SYMBOL",
-                      "name": "_block_comment_content"
-                    },
-                    "named": false,
-                    "value": "comment_content"
-                  },
-                  {
-                    "type": "BLANK"
-                  }
-                ]
+                "type": "ALIAS",
+                "content": {
+                  "type": "SYMBOL",
+                  "name": "_block_comment_content"
+                },
+                "named": true,
+                "value": "comment_content"
               }
             },
             {
@@ -3053,7 +3040,7 @@
                   "name": "_block_comment_end"
                 },
                 "named": false,
-                "value": "comment_end"
+                "value": "]]"
               }
             }
           ]
diff --git a/src/node-types.json b/src/node-types.json
index 6ea7a88..bfe4438 100644
--- a/src/node-types.json
+++ b/src/node-types.json
@@ -300,11 +300,11 @@
     "fields": {
       "content": {
         "multiple": false,
-        "required": false,
+        "required": true,
         "types": [
           {
             "type": "comment_content",
-            "named": false
+            "named": true
           }
         ]
       },
@@ -313,7 +313,7 @@
         "required": false,
         "types": [
           {
-            "type": "comment_end",
+            "type": "]]",
             "named": false
           }
         ]
@@ -323,7 +323,11 @@
         "required": true,
         "types": [
           {
-            "type": "comment_start",
+            "type": "--",
+            "named": false
+          },
+          {
+            "type": "[[",
             "named": false
           }
         ]
@@ -1085,6 +1089,10 @@
     "type": "-",
     "named": false
   },
+  {
+    "type": "--",
+    "named": false
+  },
   {
     "type": ".",
     "named": false
@@ -1175,15 +1183,7 @@
   },
   {
     "type": "comment_content",
-    "named": false
-  },
-  {
-    "type": "comment_end",
-    "named": false
-  },
-  {
-    "type": "comment_start",
-    "named": false
+    "named": true
   },
   {
     "type": "do",
diff --git a/src/parser.c b/src/parser.c
index 576a264..c9207e0 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -6,7 +6,7 @@
 #endif
 
 #define LANGUAGE_VERSION 14
-#define STATE_COUNT 263
+#define STATE_COUNT 262
 #define LARGE_STATE_COUNT 2
 #define SYMBOL_COUNT 137
 #define ALIAS_COUNT 0
@@ -220,11 +220,11 @@ static const char * const ts_symbol_names[] = {
   [anon_sym_CARET] = "^",
   [anon_sym_not] = "not",
   [anon_sym_POUND] = "#",
-  [anon_sym_DASH_DASH] = "comment_start",
+  [anon_sym_DASH_DASH] = "--",
   [aux_sym_comment_token1] = "comment_content",
-  [sym__block_comment_start] = "comment_start",
+  [sym__block_comment_start] = "[[",
   [sym__block_comment_content] = "comment_content",
-  [sym__block_comment_end] = "comment_end",
+  [sym__block_comment_end] = "]]",
   [sym__block_string_start] = "[[",
   [sym__block_string_content] = "string_content",
   [sym__block_string_end] = "]]",
@@ -360,14 +360,14 @@ static const TSSymbol ts_symbol_map[] = {
   [anon_sym_CARET] = anon_sym_CARET,
   [anon_sym_not] = anon_sym_not,
   [anon_sym_POUND] = anon_sym_POUND,
-  [anon_sym_DASH_DASH] = sym__block_comment_start,
+  [anon_sym_DASH_DASH] = anon_sym_DASH_DASH,
   [aux_sym_comment_token1] = sym__block_comment_content,
   [sym__block_comment_start] = sym__block_comment_start,
   [sym__block_comment_content] = sym__block_comment_content,
   [sym__block_comment_end] = sym__block_comment_end,
-  [sym__block_string_start] = sym__block_string_start,
+  [sym__block_string_start] = sym__block_comment_start,
   [sym__block_string_content] = sym__block_string_content,
-  [sym__block_string_end] = sym__block_string_end,
+  [sym__block_string_end] = sym__block_comment_end,
   [sym_chunk] = sym_chunk,
   [sym__block] = sym__block,
   [sym_statement] = sym_statement,
@@ -698,7 +698,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
   },
   [aux_sym_comment_token1] = {
     .visible = true,
-    .named = false,
+    .named = true,
   },
   [sym__block_comment_start] = {
     .visible = true,
@@ -706,7 +706,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
   },
   [sym__block_comment_content] = {
     .visible = true,
-    .named = false,
+    .named = true,
   },
   [sym__block_comment_end] = {
     .visible = true,
@@ -1045,14 +1045,14 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
   [3] = {.index = 5, .length = 1},
   [4] = {.index = 6, .length = 1},
   [5] = {.index = 7, .length = 2},
-  [6] = {.index = 9, .length = 2},
-  [7] = {.index = 11, .length = 3},
+  [6] = {.index = 9, .length = 3},
+  [7] = {.index = 12, .length = 2},
   [8] = {.index = 14, .length = 2},
   [9] = {.index = 16, .length = 2},
   [10] = {.index = 18, .length = 2},
   [11] = {.index = 20, .length = 2},
-  [12] = {.index = 22, .length = 2},
-  [13] = {.index = 24, .length = 3},
+  [12] = {.index = 22, .length = 3},
+  [13] = {.index = 25, .length = 2},
   [14] = {.index = 27, .length = 2},
   [15] = {.index = 29, .length = 1},
   [16] = {.index = 30, .length = 1},
@@ -1067,7 +1067,7 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
   [25] = {.index = 47, .length = 1},
   [26] = {.index = 48, .length = 2},
   [27] = {.index = 50, .length = 1},
-  [28] = {.index = 24, .length = 3},
+  [28] = {.index = 22, .length = 3},
   [29] = {.index = 51, .length = 2},
   [30] = {.index = 53, .length = 1},
   [31] = {.index = 54, .length = 2},
@@ -1113,37 +1113,37 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
   [6] =
     {field_name, 0},
   [7] =
-    {field_end, 1},
-    {field_start, 0},
-  [9] =
     {field_content, 1},
     {field_start, 0},
-  [11] =
+  [9] =
     {field_content, 0, .inherited = true},
     {field_end, 0, .inherited = true},
     {field_start, 0, .inherited = true},
-  [14] =
+  [12] =
     {field_field, 0, .inherited = true},
     {field_table, 0, .inherited = true},
-  [16] =
+  [14] =
     {field_method, 0, .inherited = true},
     {field_table, 0, .inherited = true},
-  [18] =
+  [16] =
     {field_attribute, 1, .inherited = true},
     {field_name, 1, .inherited = true},
-  [20] =
+  [18] =
     {field_arguments, 1},
     {field_name, 0},
-  [22] =
+  [20] =
     {field_name, 0},
     {field_name, 1, .inherited = true},
-  [24] =
+  [22] =
     {field_content, 1},
     {field_end, 2},
     {field_start, 0},
-  [27] =
+  [25] =
     {field_body, 1, .inherited = true},
     {field_parameters, 1, .inherited = true},
+  [27] =
+    {field_end, 1},
+    {field_start, 0},
   [29] =
     {field_value, 0},
   [30] =
@@ -1324,21 +1324,21 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [24] = 24,
   [25] = 25,
   [26] = 26,
-  [27] = 13,
-  [28] = 5,
+  [27] = 27,
+  [28] = 28,
   [29] = 18,
-  [30] = 30,
+  [30] = 5,
   [31] = 31,
   [32] = 32,
-  [33] = 33,
+  [33] = 16,
   [34] = 34,
   [35] = 35,
-  [36] = 36,
-  [37] = 16,
+  [36] = 15,
+  [37] = 37,
   [38] = 38,
-  [39] = 15,
+  [39] = 14,
   [40] = 40,
-  [41] = 14,
+  [41] = 12,
   [42] = 42,
   [43] = 43,
   [44] = 44,
@@ -1476,20 +1476,20 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [176] = 176,
   [177] = 177,
   [178] = 178,
-  [179] = 176,
+  [179] = 179,
   [180] = 180,
-  [181] = 181,
+  [181] = 180,
   [182] = 182,
   [183] = 183,
   [184] = 184,
-  [185] = 184,
-  [186] = 186,
+  [185] = 185,
+  [186] = 182,
   [187] = 187,
-  [188] = 187,
+  [188] = 179,
   [189] = 189,
   [190] = 190,
-  [191] = 191,
-  [192] = 183,
+  [191] = 176,
+  [192] = 192,
   [193] = 193,
   [194] = 194,
   [195] = 195,
@@ -1554,12 +1554,11 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [254] = 254,
   [255] = 255,
   [256] = 256,
-  [257] = 257,
-  [258] = 227,
+  [257] = 227,
+  [258] = 258,
   [259] = 259,
   [260] = 260,
   [261] = 261,
-  [262] = 262,
 };
 
 static inline bool sym_escape_sequence_character_set_1(int32_t c) {
@@ -2544,9 +2543,9 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [155] = {.lex_state = 0, .external_lex_state = 2},
   [156] = {.lex_state = 19, .external_lex_state = 3},
   [157] = {.lex_state = 19, .external_lex_state = 3},
-  [158] = {.lex_state = 0, .external_lex_state = 2},
+  [158] = {.lex_state = 19, .external_lex_state = 3},
   [159] = {.lex_state = 0, .external_lex_state = 3},
-  [160] = {.lex_state = 19, .external_lex_state = 3},
+  [160] = {.lex_state = 0, .external_lex_state = 2},
   [161] = {.lex_state = 0, .external_lex_state = 2},
   [162] = {.lex_state = 0, .external_lex_state = 2},
   [163] = {.lex_state = 19, .external_lex_state = 3},
@@ -2562,50 +2561,50 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [173] = {.lex_state = 0, .external_lex_state = 2},
   [174] = {.lex_state = 0, .external_lex_state = 2},
   [175] = {.lex_state = 0, .external_lex_state = 2},
-  [176] = {.lex_state = 2, .external_lex_state = 2},
-  [177] = {.lex_state = 18, .external_lex_state = 2},
-  [178] = {.lex_state = 0, .external_lex_state = 2},
-  [179] = {.lex_state = 2, .external_lex_state = 2},
+  [176] = {.lex_state = 1, .external_lex_state = 2},
+  [177] = {.lex_state = 0, .external_lex_state = 2},
+  [178] = {.lex_state = 18, .external_lex_state = 2},
+  [179] = {.lex_state = 1, .external_lex_state = 2},
   [180] = {.lex_state = 2, .external_lex_state = 2},
-  [181] = {.lex_state = 1, .external_lex_state = 2},
-  [182] = {.lex_state = 0, .external_lex_state = 2},
-  [183] = {.lex_state = 1, .external_lex_state = 2},
-  [184] = {.lex_state = 1, .external_lex_state = 2},
-  [185] = {.lex_state = 1, .external_lex_state = 2},
-  [186] = {.lex_state = 0, .external_lex_state = 2},
-  [187] = {.lex_state = 2, .external_lex_state = 2},
-  [188] = {.lex_state = 2, .external_lex_state = 2},
-  [189] = {.lex_state = 0, .external_lex_state = 2},
+  [181] = {.lex_state = 2, .external_lex_state = 2},
+  [182] = {.lex_state = 2, .external_lex_state = 2},
+  [183] = {.lex_state = 0, .external_lex_state = 2},
+  [184] = {.lex_state = 0, .external_lex_state = 2},
+  [185] = {.lex_state = 0, .external_lex_state = 2},
+  [186] = {.lex_state = 2, .external_lex_state = 2},
+  [187] = {.lex_state = 0, .external_lex_state = 2},
+  [188] = {.lex_state = 1, .external_lex_state = 2},
+  [189] = {.lex_state = 1, .external_lex_state = 2},
   [190] = {.lex_state = 0, .external_lex_state = 2},
-  [191] = {.lex_state = 0, .external_lex_state = 2},
-  [192] = {.lex_state = 1, .external_lex_state = 2},
-  [193] = {.lex_state = 0, .external_lex_state = 2},
-  [194] = {.lex_state = 1, .external_lex_state = 2},
+  [191] = {.lex_state = 1, .external_lex_state = 2},
+  [192] = {.lex_state = 2, .external_lex_state = 2},
+  [193] = {.lex_state = 19, .external_lex_state = 2},
+  [194] = {.lex_state = 0, .external_lex_state = 2},
   [195] = {.lex_state = 0, .external_lex_state = 2},
   [196] = {.lex_state = 0, .external_lex_state = 2},
   [197] = {.lex_state = 0, .external_lex_state = 2},
   [198] = {.lex_state = 0, .external_lex_state = 2},
-  [199] = {.lex_state = 19, .external_lex_state = 2},
-  [200] = {.lex_state = 19, .external_lex_state = 2},
+  [199] = {.lex_state = 0, .external_lex_state = 2},
+  [200] = {.lex_state = 0, .external_lex_state = 2},
   [201] = {.lex_state = 19, .external_lex_state = 2},
   [202] = {.lex_state = 0, .external_lex_state = 2},
-  [203] = {.lex_state = 0, .external_lex_state = 2},
+  [203] = {.lex_state = 19, .external_lex_state = 2},
   [204] = {.lex_state = 0, .external_lex_state = 2},
-  [205] = {.lex_state = 19, .external_lex_state = 2},
-  [206] = {.lex_state = 0, .external_lex_state = 2},
-  [207] = {.lex_state = 0, .external_lex_state = 2},
+  [205] = {.lex_state = 0, .external_lex_state = 2},
+  [206] = {.lex_state = 1, .external_lex_state = 2},
+  [207] = {.lex_state = 2, .external_lex_state = 2},
   [208] = {.lex_state = 0, .external_lex_state = 2},
-  [209] = {.lex_state = 0, .external_lex_state = 2},
-  [210] = {.lex_state = 2, .external_lex_state = 2},
+  [209] = {.lex_state = 19, .external_lex_state = 2},
+  [210] = {.lex_state = 0, .external_lex_state = 2},
   [211] = {.lex_state = 0, .external_lex_state = 2},
   [212] = {.lex_state = 18, .external_lex_state = 2},
-  [213] = {.lex_state = 0, .external_lex_state = 4},
-  [214] = {.lex_state = 18, .external_lex_state = 2},
+  [213] = {.lex_state = 18, .external_lex_state = 2},
+  [214] = {.lex_state = 0, .external_lex_state = 2},
   [215] = {.lex_state = 0, .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 = 2},
-  [219] = {.lex_state = 0, .external_lex_state = 2},
+  [219] = {.lex_state = 0, .external_lex_state = 4},
   [220] = {.lex_state = 0, .external_lex_state = 2},
   [221] = {.lex_state = 0, .external_lex_state = 2},
   [222] = {.lex_state = 0, .external_lex_state = 2},
@@ -2638,17 +2637,16 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [249] = {.lex_state = 0, .external_lex_state = 6},
   [250] = {.lex_state = 0, .external_lex_state = 2},
   [251] = {.lex_state = 0, .external_lex_state = 2},
-  [252] = {.lex_state = 80, .external_lex_state = 2},
-  [253] = {.lex_state = 0, .external_lex_state = 7},
+  [252] = {.lex_state = 0, .external_lex_state = 7},
+  [253] = {.lex_state = 0, .external_lex_state = 2},
   [254] = {.lex_state = 0, .external_lex_state = 2},
   [255] = {.lex_state = 0, .external_lex_state = 2},
   [256] = {.lex_state = 0, .external_lex_state = 2},
-  [257] = {.lex_state = 0, .external_lex_state = 2},
-  [258] = {.lex_state = 0, .external_lex_state = 5},
-  [259] = {.lex_state = 0, .external_lex_state = 2},
+  [257] = {.lex_state = 0, .external_lex_state = 5},
+  [258] = {.lex_state = 0, .external_lex_state = 2},
+  [259] = {.lex_state = 80, .external_lex_state = 2},
   [260] = {(TSStateId)(-1)},
   [261] = {(TSStateId)(-1)},
-  [262] = {(TSStateId)(-1)},
 };
 
 enum {
@@ -2688,7 +2686,6 @@ static const bool ts_external_scanner_states[8][EXTERNAL_TOKEN_COUNT] = {
   [4] = {
     [ts_external_token__block_comment_start] = true,
     [ts_external_token__block_comment_content] = true,
-    [ts_external_token__block_comment_end] = true,
   },
   [5] = {
     [ts_external_token__block_comment_start] = true,
@@ -2776,23 +2773,23 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym__block_string_end] = ACTIONS(1),
   },
   [1] = {
-    [sym_chunk] = STATE(256),
-    [sym_statement] = STATE(134),
-    [sym_return_statement] = STATE(255),
-    [sym_empty_statement] = STATE(136),
-    [sym_assignment_statement] = STATE(136),
-    [sym__variable_assignment_varlist] = STATE(254),
-    [sym_label_statement] = STATE(136),
-    [sym_goto_statement] = STATE(136),
-    [sym_do_statement] = STATE(136),
-    [sym_while_statement] = STATE(136),
-    [sym_repeat_statement] = STATE(136),
-    [sym_if_statement] = STATE(136),
-    [sym_for_statement] = STATE(136),
-    [sym_declaration] = STATE(142),
-    [sym_function_declaration] = STATE(144),
-    [sym__local_function_declaration] = STATE(146),
-    [sym_variable_declaration] = STATE(147),
+    [sym_chunk] = STATE(255),
+    [sym_statement] = STATE(148),
+    [sym_return_statement] = STATE(254),
+    [sym_empty_statement] = STATE(131),
+    [sym_assignment_statement] = STATE(131),
+    [sym__variable_assignment_varlist] = STATE(253),
+    [sym_label_statement] = STATE(131),
+    [sym_goto_statement] = STATE(131),
+    [sym_do_statement] = STATE(131),
+    [sym_while_statement] = STATE(131),
+    [sym_repeat_statement] = STATE(131),
+    [sym_if_statement] = STATE(131),
+    [sym_for_statement] = STATE(131),
+    [sym_declaration] = STATE(149),
+    [sym_function_declaration] = STATE(150),
+    [sym__local_function_declaration] = STATE(126),
+    [sym_variable_declaration] = STATE(152),
     [sym__prefix_expression] = STATE(156),
     [sym_variable] = STATE(157),
     [sym_bracket_index_expression] = STATE(4),
@@ -3568,7 +3565,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_comment_start,
     STATE(14), 1,
       sym_comment,
-    ACTIONS(89), 25,
+    ACTIONS(85), 25,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3594,7 +3591,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-    ACTIONS(87), 27,
+    ACTIONS(83), 27,
       sym__block_string_start,
       ts_builtin_sym_end,
       anon_sym_SEMI,
@@ -3920,14 +3917,16 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [1188] = 5,
+  [1188] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
     STATE(20), 1,
       sym_comment,
-    ACTIONS(67), 22,
+    ACTIONS(107), 21,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -3949,8 +3948,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
-      anon_sym_CARET,
-    ACTIONS(69), 23,
+    ACTIONS(109), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -3974,31 +3972,28 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [1247] = 12,
+  [1249] = 11,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
+      anon_sym_DASH,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(121), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(123), 1,
-      anon_sym_CARET,
     STATE(21), 1,
       sym_comment,
-    ACTIONS(111), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(107), 14,
+    ACTIONS(113), 16,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4013,7 +4008,9 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_EQ,
       anon_sym_PIPE,
       anon_sym_AMP,
-    ACTIONS(109), 21,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(115), 21,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4035,33 +4032,31 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_and,
       anon_sym_TILDE,
       sym_identifier,
-  [1320] = 13,
+  [1320] = 12,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
-      anon_sym_AMP,
+      anon_sym_DOT_DOT,
     STATE(22), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(107), 13,
+    ACTIONS(113), 14,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4075,7 +4070,8 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
       anon_sym_PIPE,
-    ACTIONS(109), 21,
+      anon_sym_AMP,
+    ACTIONS(115), 21,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4097,35 +4093,33 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_and,
       anon_sym_TILDE,
       sym_identifier,
-  [1395] = 14,
+  [1393] = 13,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
-      anon_sym_TILDE,
     STATE(23), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(107), 13,
+    ACTIONS(113), 13,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4139,7 +4133,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
       anon_sym_PIPE,
-    ACTIONS(109), 20,
+    ACTIONS(115), 21,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4159,46 +4153,110 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT,
       anon_sym_or,
       anon_sym_and,
+      anon_sym_TILDE,
       sym_identifier,
-  [1472] = 17,
+  [1468] = 14,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
+      anon_sym_DASH,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(121), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(123), 1,
+    ACTIONS(129), 1,
+      anon_sym_AMP,
+    ACTIONS(131), 1,
+      anon_sym_TILDE,
+    STATE(24), 1,
+      sym_comment,
+    ACTIONS(127), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(121), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(113), 13,
+      ts_builtin_sym_end,
+      anon_sym_SEMI,
+      anon_sym_COMMA,
+      anon_sym_COLON_COLON,
+      anon_sym_LPAREN,
+      anon_sym_RPAREN,
+      anon_sym_RBRACK,
+      anon_sym_RBRACE,
+      anon_sym_LT_EQ,
+      anon_sym_EQ_EQ,
+      anon_sym_TILDE_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_PIPE,
+    ACTIONS(115), 20,
+      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_then,
+      anon_sym_elseif,
+      anon_sym_else,
+      anon_sym_for,
+      anon_sym_function,
+      anon_sym_local,
+      anon_sym_LT,
+      anon_sym_GT,
+      anon_sym_or,
+      anon_sym_and,
+      sym_identifier,
+  [1545] = 17,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(111), 1,
       anon_sym_CARET,
+    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(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    STATE(24), 1,
+    STATE(25), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-    ACTIONS(107), 8,
+    ACTIONS(113), 8,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4207,7 +4265,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_RPAREN,
       anon_sym_RBRACK,
       anon_sym_RBRACE,
-    ACTIONS(109), 18,
+    ACTIONS(115), 18,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4226,47 +4284,47 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_or,
       anon_sym_and,
       sym_identifier,
-  [1555] = 18,
+  [1628] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(135), 1,
+    ACTIONS(139), 1,
       anon_sym_and,
-    STATE(25), 1,
+    STATE(26), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-    ACTIONS(107), 8,
+    ACTIONS(113), 8,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4275,7 +4333,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_RPAREN,
       anon_sym_RBRACK,
       anon_sym_RBRACE,
-    ACTIONS(109), 17,
+    ACTIONS(115), 17,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4293,37 +4351,37 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
       anon_sym_or,
       sym_identifier,
-  [1640] = 15,
+  [1713] = 15,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    STATE(26), 1,
+    STATE(27), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(107), 12,
+    ACTIONS(113), 12,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4336,7 +4394,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-    ACTIONS(109), 20,
+    ACTIONS(115), 20,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4357,14 +4415,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_or,
       anon_sym_and,
       sym_identifier,
-  [1719] = 5,
+  [1792] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(27), 1,
+    STATE(28), 1,
       sym_comment,
-    ACTIONS(87), 22,
+    ACTIONS(141), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4387,7 +4445,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(89), 23,
+    ACTIONS(143), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4411,14 +4469,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [1778] = 5,
+  [1851] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(28), 1,
+    STATE(29), 1,
       sym_comment,
-    ACTIONS(51), 22,
+    ACTIONS(103), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4441,7 +4499,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(53), 23,
+    ACTIONS(105), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4465,14 +4523,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [1837] = 5,
+  [1910] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(29), 1,
+    STATE(30), 1,
       sym_comment,
-    ACTIONS(103), 22,
+    ACTIONS(51), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4495,7 +4553,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(105), 23,
+    ACTIONS(53), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4519,14 +4577,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [1896] = 5,
+  [1969] = 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(145), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4549,7 +4607,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(139), 23,
+    ACTIONS(147), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4573,95 +4631,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [1955] = 39,
-    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(141), 1,
-      anon_sym_return,
-    ACTIONS(143), 1,
-      anon_sym_end,
-    ACTIONS(145), 1,
-      anon_sym_elseif,
-    ACTIONS(147), 1,
-      anon_sym_else,
-    STATE(31), 1,
-      sym_comment,
-    STATE(44), 1,
-      aux_sym_chunk_repeat1,
-    STATE(100), 1,
-      sym_function_call,
-    STATE(134), 1,
-      sym_statement,
-    STATE(142), 1,
-      sym_declaration,
-    STATE(144), 1,
-      sym_function_declaration,
-    STATE(146), 1,
-      sym__local_function_declaration,
-    STATE(147), 1,
-      sym_variable_declaration,
-    STATE(156), 1,
-      sym__prefix_expression,
-    STATE(157), 1,
-      sym_variable,
-    STATE(159), 1,
-      sym_method_index_expression,
-    STATE(163), 1,
-      sym_parenthesized_expression,
-    STATE(164), 1,
-      sym__block,
-    STATE(165), 1,
-      aux_sym_if_statement_repeat1,
-    STATE(191), 1,
-      sym_return_statement,
-    STATE(198), 1,
-      sym_elseif_statement,
-    STATE(243), 1,
-      sym_else_statement,
-    STATE(254), 1,
-      sym__variable_assignment_varlist,
-    STATE(4), 2,
-      sym_bracket_index_expression,
-      sym_dot_index_expression,
-    STATE(136), 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,
-  [2082] = 5,
+  [2028] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -4715,22 +4685,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [2141] = 8,
+  [2087] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(123), 1,
-      anon_sym_CARET,
     STATE(33), 1,
       sym_comment,
-    ACTIONS(117), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(107), 18,
+    ACTIONS(95), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4748,8 +4710,12 @@ 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(109), 22,
+      anon_sym_CARET,
+    ACTIONS(97), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4771,17 +4737,18 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_and,
       anon_sym_TILDE,
       anon_sym_DASH,
+      anon_sym_SLASH,
       sym_identifier,
-  [2206] = 6,
+  [2146] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(123), 1,
+    ACTIONS(111), 1,
       anon_sym_CARET,
     STATE(34), 1,
       sym_comment,
-    ACTIONS(107), 21,
+    ACTIONS(113), 21,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4803,7 +4770,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
-    ACTIONS(109), 23,
+    ACTIONS(115), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4827,28 +4794,28 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [2267] = 11,
+  [2207] = 11,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
+      anon_sym_DASH,
+    ACTIONS(123), 1,
       anon_sym_SLASH,
-    ACTIONS(121), 1,
+    ACTIONS(125), 1,
       anon_sym_DOT_DOT,
-    ACTIONS(123), 1,
-      anon_sym_CARET,
     STATE(35), 1,
       sym_comment,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(107), 16,
+    ACTIONS(113), 16,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4865,7 +4832,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(109), 21,
+    ACTIONS(115), 21,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4887,16 +4854,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_and,
       anon_sym_TILDE,
       sym_identifier,
-  [2338] = 6,
+  [2278] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(123), 1,
-      anon_sym_CARET,
     STATE(36), 1,
       sym_comment,
-    ACTIONS(107), 21,
+    ACTIONS(91), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4918,7 +4883,8 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
-    ACTIONS(109), 23,
+      anon_sym_CARET,
+    ACTIONS(93), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4942,14 +4908,16 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [2399] = 5,
+  [2337] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
     STATE(37), 1,
       sym_comment,
-    ACTIONS(95), 22,
+    ACTIONS(113), 21,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -4971,8 +4939,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
-      anon_sym_CARET,
-    ACTIONS(97), 23,
+    ACTIONS(115), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -4996,14 +4963,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [2458] = 5,
+  [2398] = 8,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(123), 1,
+      anon_sym_SLASH,
     STATE(38), 1,
       sym_comment,
-    ACTIONS(153), 22,
+    ACTIONS(121), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(113), 18,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -5021,12 +4996,8 @@ 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,
-      anon_sym_CARET,
-    ACTIONS(155), 23,
+    ACTIONS(115), 22,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -5048,16 +5019,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_and,
       anon_sym_TILDE,
       anon_sym_DASH,
-      anon_sym_SLASH,
       sym_identifier,
-  [2517] = 5,
+  [2463] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(39), 1,
       sym_comment,
-    ACTIONS(91), 22,
+    ACTIONS(83), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -5080,7 +5050,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(93), 23,
+    ACTIONS(85), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -5104,16 +5074,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [2576] = 6,
+  [2522] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(123), 1,
-      anon_sym_CARET,
     STATE(40), 1,
       sym_comment,
-    ACTIONS(157), 21,
+    ACTIONS(67), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -5135,7 +5103,8 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
-    ACTIONS(159), 23,
+      anon_sym_CARET,
+    ACTIONS(69), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -5159,14 +5128,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH,
       anon_sym_SLASH,
       sym_identifier,
-  [2637] = 5,
+  [2581] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(41), 1,
       sym_comment,
-    ACTIONS(87), 22,
+    ACTIONS(83), 22,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COMMA,
@@ -5189,69 +5158,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PERCENT,
       anon_sym_DOT_DOT,
       anon_sym_CARET,
-    ACTIONS(89), 23,
-      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_then,
-      anon_sym_elseif,
-      anon_sym_else,
-      anon_sym_for,
-      anon_sym_function,
-      anon_sym_local,
-      anon_sym_LT,
-      anon_sym_GT,
-      anon_sym_or,
-      anon_sym_and,
-      anon_sym_TILDE,
-      anon_sym_DASH,
-      anon_sym_SLASH,
-      sym_identifier,
-  [2696] = 11,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(113), 1,
-      anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
-    ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
-    ACTIONS(123), 1,
-      anon_sym_CARET,
-    STATE(42), 1,
-      sym_comment,
-    ACTIONS(117), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(107), 16,
-      ts_builtin_sym_end,
-      anon_sym_SEMI,
-      anon_sym_COMMA,
-      anon_sym_COLON_COLON,
-      anon_sym_LPAREN,
-      anon_sym_RPAREN,
-      anon_sym_RBRACK,
-      anon_sym_RBRACE,
-      anon_sym_LT_EQ,
-      anon_sym_EQ_EQ,
-      anon_sym_TILDE_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(109), 21,
+    ACTIONS(85), 23,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -5272,75 +5179,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_or,
       anon_sym_and,
       anon_sym_TILDE,
-      sym_identifier,
-  [2767] = 21,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(113), 1,
-      anon_sym_PLUS,
-    ACTIONS(115), 1,
       anon_sym_DASH,
-    ACTIONS(119), 1,
       anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
-    ACTIONS(123), 1,
-      anon_sym_CARET,
-    ACTIONS(125), 1,
-      anon_sym_AMP,
-    ACTIONS(127), 1,
-      anon_sym_TILDE,
-    ACTIONS(133), 1,
-      anon_sym_PIPE,
-    ACTIONS(135), 1,
-      anon_sym_and,
-    ACTIONS(165), 1,
-      anon_sym_COMMA,
-    ACTIONS(167), 1,
-      anon_sym_or,
-    STATE(43), 1,
-      sym_comment,
-    STATE(122), 1,
-      aux_sym__variable_assignment_explist_repeat1,
-    ACTIONS(111), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(129), 2,
-      anon_sym_LT,
-      anon_sym_GT,
-    ACTIONS(117), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(131), 4,
-      anon_sym_LT_EQ,
-      anon_sym_EQ_EQ,
-      anon_sym_TILDE_EQ,
-      anon_sym_GT_EQ,
-    ACTIONS(161), 4,
-      ts_builtin_sym_end,
-      anon_sym_SEMI,
-      anon_sym_COLON_COLON,
-      anon_sym_LPAREN,
-    ACTIONS(163), 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,
-  [2855] = 33,
+  [2640] = 39,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -5371,23 +5213,29 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(141), 1,
+    ACTIONS(153), 1,
       anon_sym_return,
-    STATE(44), 1,
+    ACTIONS(155), 1,
+      anon_sym_end,
+    ACTIONS(157), 1,
+      anon_sym_elseif,
+    ACTIONS(159), 1,
+      anon_sym_else,
+    STATE(42), 1,
       sym_comment,
-    STATE(46), 1,
+    STATE(43), 1,
       aux_sym_chunk_repeat1,
     STATE(100), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(126), 1,
+      sym__local_function_declaration,
+    STATE(148), 1,
       sym_statement,
-    STATE(142), 1,
+    STATE(149), 1,
       sym_declaration,
-    STATE(144), 1,
+    STATE(150), 1,
       sym_function_declaration,
-    STATE(146), 1,
-      sym__local_function_declaration,
-    STATE(147), 1,
+    STATE(152), 1,
       sym_variable_declaration,
     STATE(156), 1,
       sym__prefix_expression,
@@ -5397,19 +5245,22 @@ static const uint16_t ts_small_parse_table[] = {
       sym_method_index_expression,
     STATE(163), 1,
       sym_parenthesized_expression,
+    STATE(164), 1,
+      aux_sym_if_statement_repeat1,
+    STATE(165), 1,
+      sym__block,
     STATE(190), 1,
       sym_return_statement,
-    STATE(254), 1,
+    STATE(195), 1,
+      sym_elseif_statement,
+    STATE(242), 1,
+      sym_else_statement,
+    STATE(253), 1,
       sym__variable_assignment_varlist,
     STATE(4), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    ACTIONS(169), 4,
-      anon_sym_end,
-      anon_sym_until,
-      anon_sym_elseif,
-      anon_sym_else,
-    STATE(136), 9,
+    STATE(131), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -5419,7 +5270,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_repeat_statement,
       sym_if_statement,
       sym_for_statement,
-  [2967] = 34,
+  [2767] = 33,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -5450,23 +5301,23 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(141), 1,
+    ACTIONS(153), 1,
       anon_sym_return,
+    STATE(43), 1,
+      sym_comment,
     STATE(44), 1,
       aux_sym_chunk_repeat1,
-    STATE(45), 1,
-      sym_comment,
     STATE(100), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(126), 1,
+      sym__local_function_declaration,
+    STATE(148), 1,
       sym_statement,
-    STATE(142), 1,
+    STATE(149), 1,
       sym_declaration,
-    STATE(144), 1,
+    STATE(150), 1,
       sym_function_declaration,
-    STATE(146), 1,
-      sym__local_function_declaration,
-    STATE(147), 1,
+    STATE(152), 1,
       sym_variable_declaration,
     STATE(156), 1,
       sym__prefix_expression,
@@ -5476,20 +5327,19 @@ static const uint16_t ts_small_parse_table[] = {
       sym_method_index_expression,
     STATE(163), 1,
       sym_parenthesized_expression,
-    STATE(191), 1,
+    STATE(183), 1,
       sym_return_statement,
-    STATE(197), 1,
-      sym__block,
-    STATE(254), 1,
+    STATE(253), 1,
       sym__variable_assignment_varlist,
     STATE(4), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    ACTIONS(171), 3,
+    ACTIONS(161), 4,
       anon_sym_end,
+      anon_sym_until,
       anon_sym_elseif,
       anon_sym_else,
-    STATE(136), 9,
+    STATE(131), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -5499,50 +5349,50 @@ static const uint16_t ts_small_parse_table[] = {
       sym_repeat_statement,
       sym_if_statement,
       sym_for_statement,
-  [3081] = 31,
+  [2879] = 31,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(173), 1,
+    ACTIONS(163), 1,
       ts_builtin_sym_end,
-    ACTIONS(175), 1,
+    ACTIONS(165), 1,
       sym_identifier,
-    ACTIONS(180), 1,
+    ACTIONS(170), 1,
       anon_sym_SEMI,
-    ACTIONS(183), 1,
+    ACTIONS(173), 1,
       anon_sym_COLON_COLON,
-    ACTIONS(186), 1,
+    ACTIONS(176), 1,
       sym_break_statement,
-    ACTIONS(189), 1,
+    ACTIONS(179), 1,
       anon_sym_goto,
-    ACTIONS(192), 1,
+    ACTIONS(182), 1,
       anon_sym_do,
-    ACTIONS(195), 1,
+    ACTIONS(185), 1,
       anon_sym_while,
-    ACTIONS(198), 1,
+    ACTIONS(188), 1,
       anon_sym_repeat,
-    ACTIONS(201), 1,
+    ACTIONS(191), 1,
       anon_sym_if,
-    ACTIONS(204), 1,
+    ACTIONS(194), 1,
       anon_sym_for,
-    ACTIONS(207), 1,
+    ACTIONS(197), 1,
       anon_sym_function,
-    ACTIONS(210), 1,
+    ACTIONS(200), 1,
       anon_sym_local,
-    ACTIONS(213), 1,
+    ACTIONS(203), 1,
       anon_sym_LPAREN,
     STATE(100), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(126), 1,
+      sym__local_function_declaration,
+    STATE(148), 1,
       sym_statement,
-    STATE(142), 1,
+    STATE(149), 1,
       sym_declaration,
-    STATE(144), 1,
+    STATE(150), 1,
       sym_function_declaration,
-    STATE(146), 1,
-      sym__local_function_declaration,
-    STATE(147), 1,
+    STATE(152), 1,
       sym_variable_declaration,
     STATE(156), 1,
       sym__prefix_expression,
@@ -5552,21 +5402,21 @@ static const uint16_t ts_small_parse_table[] = {
       sym_method_index_expression,
     STATE(163), 1,
       sym_parenthesized_expression,
-    STATE(254), 1,
+    STATE(253), 1,
       sym__variable_assignment_varlist,
     STATE(4), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(46), 2,
+    STATE(44), 2,
       sym_comment,
       aux_sym_chunk_repeat1,
-    ACTIONS(178), 5,
+    ACTIONS(168), 5,
       anon_sym_return,
       anon_sym_end,
       anon_sym_until,
       anon_sym_elseif,
       anon_sym_else,
-    STATE(136), 9,
+    STATE(131), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -5576,55 +5426,58 @@ static const uint16_t ts_small_parse_table[] = {
       sym_repeat_statement,
       sym_if_statement,
       sym_for_statement,
-  [3189] = 19,
+  [2987] = 21,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(135), 1,
+    ACTIONS(139), 1,
       anon_sym_and,
-    ACTIONS(167), 1,
+    ACTIONS(210), 1,
+      anon_sym_COMMA,
+    ACTIONS(212), 1,
       anon_sym_or,
-    STATE(47), 1,
+    STATE(45), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    STATE(122), 1,
+      aux_sym__variable_assignment_explist_repeat1,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-    ACTIONS(216), 5,
+    ACTIONS(206), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
-      anon_sym_COMMA,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(218), 15,
+    ACTIONS(208), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -5640,7 +5493,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [3272] = 34,
+  [3075] = 34,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -5671,25 +5524,23 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(141), 1,
+    ACTIONS(153), 1,
       anon_sym_return,
-    ACTIONS(220), 1,
-      anon_sym_end,
-    STATE(44), 1,
+    STATE(43), 1,
       aux_sym_chunk_repeat1,
-    STATE(48), 1,
+    STATE(46), 1,
       sym_comment,
     STATE(100), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(126), 1,
+      sym__local_function_declaration,
+    STATE(148), 1,
       sym_statement,
-    STATE(142), 1,
+    STATE(149), 1,
       sym_declaration,
-    STATE(144), 1,
+    STATE(150), 1,
       sym_function_declaration,
-    STATE(146), 1,
-      sym__local_function_declaration,
-    STATE(147), 1,
+    STATE(152), 1,
       sym_variable_declaration,
     STATE(156), 1,
       sym__prefix_expression,
@@ -5699,16 +5550,20 @@ static const uint16_t ts_small_parse_table[] = {
       sym_method_index_expression,
     STATE(163), 1,
       sym_parenthesized_expression,
-    STATE(191), 1,
+    STATE(190), 1,
       sym_return_statement,
-    STATE(246), 1,
+    STATE(200), 1,
       sym__block,
-    STATE(254), 1,
+    STATE(253), 1,
       sym__variable_assignment_varlist,
     STATE(4), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(136), 9,
+    ACTIONS(214), 3,
+      anon_sym_end,
+      anon_sym_elseif,
+      anon_sym_else,
+    STATE(131), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -5718,7 +5573,71 @@ static const uint16_t ts_small_parse_table[] = {
       sym_repeat_statement,
       sym_if_statement,
       sym_for_statement,
-  [3384] = 34,
+  [3189] = 19,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    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(129), 1,
+      anon_sym_AMP,
+    ACTIONS(131), 1,
+      anon_sym_TILDE,
+    ACTIONS(137), 1,
+      anon_sym_PIPE,
+    ACTIONS(139), 1,
+      anon_sym_and,
+    ACTIONS(212), 1,
+      anon_sym_or,
+    STATE(47), 1,
+      sym_comment,
+    ACTIONS(127), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(133), 2,
+      anon_sym_LT,
+      anon_sym_GT,
+    ACTIONS(121), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(135), 4,
+      anon_sym_LT_EQ,
+      anon_sym_EQ_EQ,
+      anon_sym_TILDE_EQ,
+      anon_sym_GT_EQ,
+    ACTIONS(216), 5,
+      ts_builtin_sym_end,
+      anon_sym_SEMI,
+      anon_sym_COMMA,
+      anon_sym_COLON_COLON,
+      anon_sym_LPAREN,
+    ACTIONS(218), 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,
+  [3272] = 34,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -5749,25 +5668,25 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(141), 1,
+    ACTIONS(153), 1,
       anon_sym_return,
-    ACTIONS(222), 1,
-      anon_sym_end,
-    STATE(44), 1,
+    ACTIONS(220), 1,
+      anon_sym_until,
+    STATE(43), 1,
       aux_sym_chunk_repeat1,
-    STATE(49), 1,
+    STATE(48), 1,
       sym_comment,
     STATE(100), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(126), 1,
+      sym__local_function_declaration,
+    STATE(148), 1,
       sym_statement,
-    STATE(142), 1,
+    STATE(149), 1,
       sym_declaration,
-    STATE(144), 1,
+    STATE(150), 1,
       sym_function_declaration,
-    STATE(146), 1,
-      sym__local_function_declaration,
-    STATE(147), 1,
+    STATE(152), 1,
       sym_variable_declaration,
     STATE(156), 1,
       sym__prefix_expression,
@@ -5777,16 +5696,16 @@ static const uint16_t ts_small_parse_table[] = {
       sym_method_index_expression,
     STATE(163), 1,
       sym_parenthesized_expression,
-    STATE(191), 1,
+    STATE(190), 1,
       sym_return_statement,
-    STATE(230), 1,
+    STATE(245), 1,
       sym__block,
-    STATE(254), 1,
+    STATE(253), 1,
       sym__variable_assignment_varlist,
     STATE(4), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(136), 9,
+    STATE(131), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -5796,54 +5715,54 @@ static const uint16_t ts_small_parse_table[] = {
       sym_repeat_statement,
       sym_if_statement,
       sym_for_statement,
-  [3496] = 19,
+  [3384] = 19,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(135), 1,
+    ACTIONS(139), 1,
       anon_sym_and,
-    ACTIONS(167), 1,
+    ACTIONS(212), 1,
       anon_sym_or,
-    STATE(50), 1,
+    STATE(49), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-    ACTIONS(224), 4,
+    ACTIONS(222), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(226), 15,
+    ACTIONS(224), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -5859,7 +5778,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [3578] = 34,
+  [3466] = 34,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -5890,25 +5809,25 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(141), 1,
+    ACTIONS(153), 1,
       anon_sym_return,
-    ACTIONS(228), 1,
+    ACTIONS(226), 1,
       anon_sym_end,
-    STATE(44), 1,
+    STATE(43), 1,
       aux_sym_chunk_repeat1,
-    STATE(51), 1,
+    STATE(50), 1,
       sym_comment,
     STATE(100), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(126), 1,
+      sym__local_function_declaration,
+    STATE(148), 1,
       sym_statement,
-    STATE(142), 1,
+    STATE(149), 1,
       sym_declaration,
-    STATE(144), 1,
+    STATE(150), 1,
       sym_function_declaration,
-    STATE(146), 1,
-      sym__local_function_declaration,
-    STATE(147), 1,
+    STATE(152), 1,
       sym_variable_declaration,
     STATE(156), 1,
       sym__prefix_expression,
@@ -5918,16 +5837,16 @@ static const uint16_t ts_small_parse_table[] = {
       sym_method_index_expression,
     STATE(163), 1,
       sym_parenthesized_expression,
-    STATE(191), 1,
+    STATE(190), 1,
       sym_return_statement,
     STATE(239), 1,
       sym__block,
-    STATE(254), 1,
+    STATE(253), 1,
       sym__variable_assignment_varlist,
     STATE(4), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(136), 9,
+    STATE(131), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -5937,7 +5856,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_repeat_statement,
       sym_if_statement,
       sym_for_statement,
-  [3690] = 34,
+  [3578] = 34,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -5968,103 +5887,25 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(141), 1,
+    ACTIONS(153), 1,
       anon_sym_return,
-    ACTIONS(230), 1,
+    ACTIONS(228), 1,
       anon_sym_end,
-    STATE(44), 1,
+    STATE(43), 1,
       aux_sym_chunk_repeat1,
-    STATE(52), 1,
+    STATE(51), 1,
       sym_comment,
     STATE(100), 1,
       sym_function_call,
-    STATE(134), 1,
-      sym_statement,
-    STATE(142), 1,
-      sym_declaration,
-    STATE(144), 1,
-      sym_function_declaration,
-    STATE(146), 1,
+    STATE(126), 1,
       sym__local_function_declaration,
-    STATE(147), 1,
-      sym_variable_declaration,
-    STATE(156), 1,
-      sym__prefix_expression,
-    STATE(157), 1,
-      sym_variable,
-    STATE(159), 1,
-      sym_method_index_expression,
-    STATE(163), 1,
-      sym_parenthesized_expression,
-    STATE(191), 1,
-      sym_return_statement,
-    STATE(237), 1,
-      sym__block,
-    STATE(254), 1,
-      sym__variable_assignment_varlist,
-    STATE(4), 2,
-      sym_bracket_index_expression,
-      sym_dot_index_expression,
-    STATE(136), 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,
-  [3802] = 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(141), 1,
-      anon_sym_return,
-    ACTIONS(232), 1,
-      anon_sym_end,
-    STATE(44), 1,
-      aux_sym_chunk_repeat1,
-    STATE(53), 1,
-      sym_comment,
-    STATE(100), 1,
-      sym_function_call,
-    STATE(134), 1,
+    STATE(148), 1,
       sym_statement,
-    STATE(142), 1,
+    STATE(149), 1,
       sym_declaration,
-    STATE(144), 1,
+    STATE(150), 1,
       sym_function_declaration,
-    STATE(146), 1,
-      sym__local_function_declaration,
-    STATE(147), 1,
+    STATE(152), 1,
       sym_variable_declaration,
     STATE(156), 1,
       sym__prefix_expression,
@@ -6074,16 +5915,16 @@ static const uint16_t ts_small_parse_table[] = {
       sym_method_index_expression,
     STATE(163), 1,
       sym_parenthesized_expression,
-    STATE(191), 1,
+    STATE(190), 1,
       sym_return_statement,
-    STATE(219), 1,
+    STATE(216), 1,
       sym__block,
-    STATE(254), 1,
+    STATE(253), 1,
       sym__variable_assignment_varlist,
     STATE(4), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(136), 9,
+    STATE(131), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -6093,54 +5934,54 @@ static const uint16_t ts_small_parse_table[] = {
       sym_repeat_statement,
       sym_if_statement,
       sym_for_statement,
-  [3914] = 19,
+  [3690] = 19,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(135), 1,
+    ACTIONS(139), 1,
       anon_sym_and,
-    ACTIONS(167), 1,
+    ACTIONS(212), 1,
       anon_sym_or,
-    STATE(54), 1,
+    STATE(52), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-    ACTIONS(234), 4,
+    ACTIONS(230), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(236), 15,
+    ACTIONS(232), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -6156,7 +5997,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [3996] = 34,
+  [3772] = 34,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -6187,25 +6028,25 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(141), 1,
+    ACTIONS(153), 1,
       anon_sym_return,
-    ACTIONS(238), 1,
-      anon_sym_until,
-    STATE(44), 1,
+    ACTIONS(234), 1,
+      anon_sym_end,
+    STATE(43), 1,
       aux_sym_chunk_repeat1,
-    STATE(55), 1,
+    STATE(53), 1,
       sym_comment,
     STATE(100), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(126), 1,
+      sym__local_function_declaration,
+    STATE(148), 1,
       sym_statement,
-    STATE(142), 1,
+    STATE(149), 1,
       sym_declaration,
-    STATE(144), 1,
+    STATE(150), 1,
       sym_function_declaration,
-    STATE(146), 1,
-      sym__local_function_declaration,
-    STATE(147), 1,
+    STATE(152), 1,
       sym_variable_declaration,
     STATE(156), 1,
       sym__prefix_expression,
@@ -6215,16 +6056,16 @@ static const uint16_t ts_small_parse_table[] = {
       sym_method_index_expression,
     STATE(163), 1,
       sym_parenthesized_expression,
-    STATE(191), 1,
+    STATE(190), 1,
       sym_return_statement,
-    STATE(245), 1,
+    STATE(246), 1,
       sym__block,
-    STATE(254), 1,
+    STATE(253), 1,
       sym__variable_assignment_varlist,
     STATE(4), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(136), 9,
+    STATE(131), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -6234,14 +6075,170 @@ static const uint16_t ts_small_parse_table[] = {
       sym_repeat_statement,
       sym_if_statement,
       sym_for_statement,
-  [4108] = 33,
+  [3884] = 34,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(9), 1,
       sym_identifier,
-    ACTIONS(13), 1,
+    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(153), 1,
+      anon_sym_return,
+    ACTIONS(236), 1,
+      anon_sym_end,
+    STATE(43), 1,
+      aux_sym_chunk_repeat1,
+    STATE(54), 1,
+      sym_comment,
+    STATE(100), 1,
+      sym_function_call,
+    STATE(126), 1,
+      sym__local_function_declaration,
+    STATE(148), 1,
+      sym_statement,
+    STATE(149), 1,
+      sym_declaration,
+    STATE(150), 1,
+      sym_function_declaration,
+    STATE(152), 1,
+      sym_variable_declaration,
+    STATE(156), 1,
+      sym__prefix_expression,
+    STATE(157), 1,
+      sym_variable,
+    STATE(159), 1,
+      sym_method_index_expression,
+    STATE(163), 1,
+      sym_parenthesized_expression,
+    STATE(190), 1,
+      sym_return_statement,
+    STATE(238), 1,
+      sym__block,
+    STATE(253), 1,
+      sym__variable_assignment_varlist,
+    STATE(4), 2,
+      sym_bracket_index_expression,
+      sym_dot_index_expression,
+    STATE(131), 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,
+  [3996] = 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(153), 1,
+      anon_sym_return,
+    ACTIONS(238), 1,
+      anon_sym_end,
+    STATE(43), 1,
+      aux_sym_chunk_repeat1,
+    STATE(55), 1,
+      sym_comment,
+    STATE(100), 1,
+      sym_function_call,
+    STATE(126), 1,
+      sym__local_function_declaration,
+    STATE(148), 1,
+      sym_statement,
+    STATE(149), 1,
+      sym_declaration,
+    STATE(150), 1,
+      sym_function_declaration,
+    STATE(152), 1,
+      sym_variable_declaration,
+    STATE(156), 1,
+      sym__prefix_expression,
+    STATE(157), 1,
+      sym_variable,
+    STATE(159), 1,
+      sym_method_index_expression,
+    STATE(163), 1,
+      sym_parenthesized_expression,
+    STATE(190), 1,
+      sym_return_statement,
+    STATE(231), 1,
+      sym__block,
+    STATE(253), 1,
+      sym__variable_assignment_varlist,
+    STATE(4), 2,
+      sym_bracket_index_expression,
+      sym_dot_index_expression,
+    STATE(131), 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,
+  [4108] = 33,
+    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,
@@ -6269,21 +6266,21 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LPAREN,
     ACTIONS(240), 1,
       ts_builtin_sym_end,
+    STATE(44), 1,
+      aux_sym_chunk_repeat1,
     STATE(56), 1,
       sym_comment,
-    STATE(57), 1,
-      aux_sym_chunk_repeat1,
     STATE(100), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(126), 1,
+      sym__local_function_declaration,
+    STATE(148), 1,
       sym_statement,
-    STATE(142), 1,
+    STATE(149), 1,
       sym_declaration,
-    STATE(144), 1,
+    STATE(150), 1,
       sym_function_declaration,
-    STATE(146), 1,
-      sym__local_function_declaration,
-    STATE(147), 1,
+    STATE(152), 1,
       sym_variable_declaration,
     STATE(156), 1,
       sym__prefix_expression,
@@ -6293,14 +6290,14 @@ static const uint16_t ts_small_parse_table[] = {
       sym_method_index_expression,
     STATE(163), 1,
       sym_parenthesized_expression,
-    STATE(250), 1,
+    STATE(214), 1,
       sym_return_statement,
-    STATE(254), 1,
+    STATE(253), 1,
       sym__variable_assignment_varlist,
     STATE(4), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(136), 9,
+    STATE(131), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -6345,21 +6342,21 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LPAREN,
     ACTIONS(242), 1,
       ts_builtin_sym_end,
-    STATE(46), 1,
+    STATE(56), 1,
       aux_sym_chunk_repeat1,
     STATE(57), 1,
       sym_comment,
     STATE(100), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(126), 1,
+      sym__local_function_declaration,
+    STATE(148), 1,
       sym_statement,
-    STATE(142), 1,
+    STATE(149), 1,
       sym_declaration,
-    STATE(144), 1,
+    STATE(150), 1,
       sym_function_declaration,
-    STATE(146), 1,
-      sym__local_function_declaration,
-    STATE(147), 1,
+    STATE(152), 1,
       sym_variable_declaration,
     STATE(156), 1,
       sym__prefix_expression,
@@ -6369,14 +6366,14 @@ static const uint16_t ts_small_parse_table[] = {
       sym_method_index_expression,
     STATE(163), 1,
       sym_parenthesized_expression,
-    STATE(215), 1,
+    STATE(250), 1,
       sym_return_statement,
-    STATE(254), 1,
+    STATE(253), 1,
       sym__variable_assignment_varlist,
     STATE(4), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(136), 9,
+    STATE(131), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -6419,23 +6416,23 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_local,
     ACTIONS(37), 1,
       anon_sym_LPAREN,
-    ACTIONS(240), 1,
+    ACTIONS(242), 1,
       ts_builtin_sym_end,
-    STATE(46), 1,
+    STATE(44), 1,
       aux_sym_chunk_repeat1,
     STATE(58), 1,
       sym_comment,
     STATE(100), 1,
       sym_function_call,
-    STATE(134), 1,
+    STATE(126), 1,
+      sym__local_function_declaration,
+    STATE(148), 1,
       sym_statement,
-    STATE(142), 1,
+    STATE(149), 1,
       sym_declaration,
-    STATE(144), 1,
+    STATE(150), 1,
       sym_function_declaration,
-    STATE(146), 1,
-      sym__local_function_declaration,
-    STATE(147), 1,
+    STATE(152), 1,
       sym_variable_declaration,
     STATE(156), 1,
       sym__prefix_expression,
@@ -6447,12 +6444,12 @@ static const uint16_t ts_small_parse_table[] = {
       sym_parenthesized_expression,
     STATE(250), 1,
       sym_return_statement,
-    STATE(254), 1,
+    STATE(253), 1,
       sym__variable_assignment_varlist,
     STATE(4), 2,
       sym_bracket_index_expression,
       sym_dot_index_expression,
-    STATE(136), 9,
+    STATE(131), 9,
       sym_empty_statement,
       sym_assignment_statement,
       sym_label_statement,
@@ -6483,19 +6480,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(59), 1,
       sym_comment,
-    STATE(99), 1,
+    STATE(98), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
       sym_method_index_expression,
-    STATE(166), 1,
+    STATE(167), 1,
       sym__expression_list,
     ACTIONS(252), 2,
       sym_number,
@@ -6522,7 +6519,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_until,
       anon_sym_elseif,
       anon_sym_else,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -6551,19 +6548,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACK,
     ACTIONS(270), 1,
       anon_sym_RBRACE,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(60), 1,
       sym_comment,
-    STATE(104), 1,
+    STATE(102), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
       sym_method_index_expression,
-    STATE(174), 1,
+    STATE(175), 1,
       sym_field,
     STATE(251), 1,
       sym__field_list,
@@ -6587,7 +6584,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -6616,19 +6613,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACK,
     ACTIONS(272), 1,
       anon_sym_RBRACE,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(61), 1,
       sym_comment,
-    STATE(104), 1,
+    STATE(102), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
       sym_method_index_expression,
-    STATE(174), 1,
+    STATE(175), 1,
       sym_field,
     STATE(224), 1,
       sym__field_list,
@@ -6652,7 +6649,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -6681,19 +6678,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACK,
     ACTIONS(274), 1,
       anon_sym_RBRACE,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(62), 1,
       sym_comment,
-    STATE(104), 1,
+    STATE(102), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
       sym_method_index_expression,
-    STATE(211), 1,
+    STATE(208), 1,
       sym_field,
     ACTIONS(252), 2,
       sym_number,
@@ -6715,7 +6712,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -6744,19 +6741,19 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_string_start,
     ACTIONS(276), 1,
       ts_builtin_sym_end,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(63), 1,
       sym_comment,
-    STATE(99), 1,
+    STATE(98), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
       sym_method_index_expression,
-    STATE(166), 1,
+    STATE(167), 1,
       sym__expression_list,
     ACTIONS(252), 2,
       sym_number,
@@ -6778,7 +6775,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -6807,19 +6804,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACK,
     ACTIONS(278), 1,
       anon_sym_RBRACE,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(64), 1,
       sym_comment,
-    STATE(104), 1,
+    STATE(102), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
       sym_method_index_expression,
-    STATE(211), 1,
+    STATE(208), 1,
       sym_field,
     ACTIONS(252), 2,
       sym_number,
@@ -6841,7 +6838,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -6911,19 +6908,19 @@ static const uint16_t ts_small_parse_table[] = {
       sym_identifier,
     ACTIONS(268), 1,
       anon_sym_LBRACK,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(66), 1,
       sym_comment,
-    STATE(104), 1,
+    STATE(102), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
       sym_method_index_expression,
-    STATE(211), 1,
+    STATE(208), 1,
       sym_field,
     ACTIONS(252), 2,
       sym_number,
@@ -6945,7 +6942,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -6970,20 +6967,20 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    ACTIONS(282), 1,
-      anon_sym_RPAREN,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(67), 1,
       sym_comment,
-    STATE(103), 1,
+    STATE(98), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
       sym_method_index_expression,
+    STATE(226), 1,
+      sym__expression_list,
     ACTIONS(252), 2,
       sym_number,
       sym_vararg_expression,
@@ -7004,7 +7001,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7029,20 +7026,20 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
+    STATE(45), 1,
+      sym_expression,
     STATE(68), 1,
       sym_comment,
-    STATE(99), 1,
-      sym_expression,
+    STATE(137), 1,
+      sym__variable_assignment_explist,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
       sym_method_index_expression,
-    STATE(226), 1,
-      sym__expression_list,
     ACTIONS(252), 2,
       sym_number,
       sym_vararg_expression,
@@ -7063,7 +7060,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7088,16 +7085,16 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    ACTIONS(282), 1,
+      anon_sym_RPAREN,
+    STATE(39), 1,
       sym__block_string,
-    STATE(43), 1,
-      sym_expression,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(69), 1,
       sym_comment,
-    STATE(140), 1,
-      sym__variable_assignment_explist,
+    STATE(103), 1,
+      sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
@@ -7122,7 +7119,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7147,15 +7144,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
-    STATE(43), 1,
+    STATE(41), 1,
+      sym__quote_string,
+    STATE(45), 1,
       sym_expression,
     STATE(70), 1,
       sym_comment,
-    STATE(137), 1,
+    STATE(136), 1,
       sym__variable_assignment_explist,
     STATE(156), 1,
       sym__prefix_expression,
@@ -7181,7 +7178,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7208,10 +7205,10 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_string_start,
     STATE(22), 1,
       sym_expression,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(71), 1,
       sym_comment,
     STATE(156), 1,
@@ -7238,7 +7235,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7263,12 +7260,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(36), 1,
+    STATE(21), 1,
       sym_expression,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(72), 1,
       sym_comment,
     STATE(156), 1,
@@ -7295,7 +7292,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7320,14 +7317,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
+    STATE(49), 1,
+      sym_expression,
     STATE(73), 1,
       sym_comment,
-    STATE(108), 1,
-      sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
@@ -7352,7 +7349,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7377,14 +7374,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
-    STATE(54), 1,
-      sym_expression,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(74), 1,
       sym_comment,
+    STATE(108), 1,
+      sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
@@ -7409,7 +7406,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7434,12 +7431,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
-      sym__block_string,
-    STATE(47), 1,
+    STATE(20), 1,
       sym_expression,
+    STATE(39), 1,
+      sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(75), 1,
       sym_comment,
     STATE(156), 1,
@@ -7466,7 +7463,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7491,12 +7488,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(40), 1,
+    STATE(37), 1,
       sym_expression,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(76), 1,
       sym_comment,
     STATE(156), 1,
@@ -7523,7 +7520,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7548,14 +7545,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(35), 1,
+      sym_expression,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(77), 1,
       sym_comment,
-    STATE(101), 1,
-      sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
@@ -7580,7 +7577,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7605,12 +7602,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
+    STATE(39), 1,
+      sym__block_string,
+    STATE(41), 1,
       sym__quote_string,
-    STATE(35), 1,
+    STATE(47), 1,
       sym_expression,
-    STATE(41), 1,
-      sym__block_string,
     STATE(78), 1,
       sym_comment,
     STATE(156), 1,
@@ -7637,7 +7634,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7662,12 +7659,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
     STATE(34), 1,
       sym_expression,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(79), 1,
       sym_comment,
     STATE(156), 1,
@@ -7694,7 +7691,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7719,12 +7716,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(33), 1,
+    STATE(38), 1,
       sym_expression,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(80), 1,
       sym_comment,
     STATE(156), 1,
@@ -7751,7 +7748,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7776,14 +7773,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
-    STATE(42), 1,
-      sym_expression,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(81), 1,
       sym_comment,
+    STATE(106), 1,
+      sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
@@ -7808,7 +7805,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7833,14 +7830,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(23), 1,
+      sym_expression,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(82), 1,
       sym_comment,
-    STATE(109), 1,
-      sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
@@ -7865,7 +7862,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7890,12 +7887,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(23), 1,
+    STATE(24), 1,
       sym_expression,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(83), 1,
       sym_comment,
     STATE(156), 1,
@@ -7922,7 +7919,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -7947,12 +7944,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(24), 1,
+    STATE(25), 1,
       sym_expression,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(84), 1,
       sym_comment,
     STATE(156), 1,
@@ -7979,7 +7976,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -8004,13 +8001,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(85), 1,
       sym_comment,
-    STATE(102), 1,
+    STATE(104), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
@@ -8036,7 +8033,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -8061,13 +8058,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(86), 1,
       sym_comment,
-    STATE(116), 1,
+    STATE(110), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
@@ -8093,7 +8090,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -8118,14 +8115,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(26), 1,
+      sym_expression,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(87), 1,
       sym_comment,
-    STATE(115), 1,
-      sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
@@ -8150,7 +8147,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -8175,12 +8172,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(25), 1,
-      sym_expression,
     STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+      sym_expression,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(88), 1,
       sym_comment,
     STATE(156), 1,
@@ -8207,7 +8204,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -8232,14 +8229,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(26), 1,
-      sym_expression,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(89), 1,
       sym_comment,
+    STATE(99), 1,
+      sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
@@ -8264,7 +8261,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -8289,13 +8286,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(90), 1,
       sym_comment,
-    STATE(98), 1,
+    STATE(113), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
@@ -8321,7 +8318,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -8346,13 +8343,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(91), 1,
       sym_comment,
-    STATE(119), 1,
+    STATE(105), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
@@ -8378,7 +8375,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -8403,13 +8400,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(92), 1,
       sym_comment,
-    STATE(110), 1,
+    STATE(118), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
@@ -8435,7 +8432,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -8460,13 +8457,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(93), 1,
       sym_comment,
-    STATE(114), 1,
+    STATE(119), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
@@ -8492,7 +8489,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -8517,13 +8514,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(94), 1,
       sym_comment,
-    STATE(106), 1,
+    STATE(111), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
@@ -8549,7 +8546,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -8574,14 +8571,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
-    STATE(50), 1,
-      sym_expression,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(95), 1,
       sym_comment,
+    STATE(116), 1,
+      sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
     STATE(159), 1,
@@ -8606,7 +8603,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -8631,13 +8628,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
     STATE(96), 1,
       sym_comment,
-    STATE(111), 1,
+    STATE(114), 1,
       sym_expression,
     STATE(156), 1,
       sym__prefix_expression,
@@ -8663,7 +8660,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
@@ -8688,12 +8685,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(264), 1,
       sym__block_string_start,
-    STATE(21), 1,
-      sym_expression,
-    STATE(27), 1,
-      sym__quote_string,
-    STATE(41), 1,
+    STATE(39), 1,
       sym__block_string,
+    STATE(41), 1,
+      sym__quote_string,
+    STATE(52), 1,
+      sym_expression,
     STATE(97), 1,
       sym_comment,
     STATE(156), 1,
@@ -8720,120 +8717,120 @@ static const uint16_t ts_small_parse_table[] = {
       sym_variable,
       sym_function_call,
       sym_parenthesized_expression,
-    STATE(20), 5,
+    STATE(40), 5,
       sym_string,
       sym_function_definition,
       sym_table_constructor,
       sym_binary_expression,
       sym_unary_expression,
-  [7567] = 19,
+  [7567] = 21,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
     ACTIONS(286), 1,
-      anon_sym_else,
+      anon_sym_COMMA,
     ACTIONS(288), 1,
-      anon_sym_or,
+      anon_sym_else,
     ACTIONS(290), 1,
+      anon_sym_or,
+    ACTIONS(292), 1,
       anon_sym_and,
     STATE(98), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    STATE(162), 1,
+      aux_sym__expression_list_repeat1,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-    ACTIONS(284), 8,
+    ACTIONS(284), 6,
       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,
-  [7639] = 21,
+  [7643] = 19,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(288), 1,
-      anon_sym_or,
     ACTIONS(290), 1,
+      anon_sym_or,
+    ACTIONS(292), 1,
       anon_sym_and,
-    ACTIONS(294), 1,
-      anon_sym_COMMA,
     ACTIONS(296), 1,
       anon_sym_else,
     STATE(99), 1,
       sym_comment,
-    STATE(162), 1,
-      aux_sym__expression_list_repeat1,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-    ACTIONS(292), 6,
+    ACTIONS(294), 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,
   [7715] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
@@ -8871,253 +8868,253 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [7759] = 18,
+  [7759] = 9,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(306), 1,
+      anon_sym_COMMA,
+    ACTIONS(308), 1,
+      anon_sym_LT,
+    STATE(101), 1,
+      sym_comment,
+    STATE(115), 1,
+      aux_sym__att_name_list_repeat1,
+    STATE(117), 1,
+      sym__attrib,
+    ACTIONS(302), 5,
+      ts_builtin_sym_end,
+      anon_sym_SEMI,
+      anon_sym_EQ,
+      anon_sym_COLON_COLON,
+      anon_sym_LPAREN,
+    ACTIONS(304), 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,
+  [7805] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(288), 1,
-      anon_sym_or,
     ACTIONS(290), 1,
+      anon_sym_or,
+    ACTIONS(292), 1,
       anon_sym_and,
-    STATE(101), 1,
+    STATE(102), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(302), 3,
+    ACTIONS(310), 3,
       anon_sym_SEMI,
       anon_sym_COMMA,
       anon_sym_RBRACE,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [7823] = 18,
+  [7869] = 20,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(288), 1,
-      anon_sym_or,
+    ACTIONS(286), 1,
+      anon_sym_COMMA,
     ACTIONS(290), 1,
+      anon_sym_or,
+    ACTIONS(292), 1,
       anon_sym_and,
-    STATE(102), 1,
+    ACTIONS(312), 1,
+      anon_sym_RPAREN,
+    STATE(103), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    STATE(197), 1,
+      aux_sym__expression_list_repeat1,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(304), 3,
-      anon_sym_SEMI,
-      anon_sym_COMMA,
-      anon_sym_RBRACE,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [7887] = 20,
+  [7937] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(288), 1,
-      anon_sym_or,
     ACTIONS(290), 1,
+      anon_sym_or,
+    ACTIONS(292), 1,
       anon_sym_and,
-    ACTIONS(294), 1,
-      anon_sym_COMMA,
-    ACTIONS(306), 1,
-      anon_sym_RPAREN,
-    STATE(103), 1,
+    STATE(104), 1,
       sym_comment,
-    STATE(203), 1,
-      aux_sym__expression_list_repeat1,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(314), 3,
+      anon_sym_SEMI,
+      anon_sym_COMMA,
+      anon_sym_RBRACE,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [7955] = 18,
+  [8001] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(288), 1,
-      anon_sym_or,
     ACTIONS(290), 1,
+      anon_sym_or,
+    ACTIONS(292), 1,
       anon_sym_and,
-    STATE(104), 1,
+    STATE(105), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(308), 3,
+    ACTIONS(316), 3,
       anon_sym_SEMI,
       anon_sym_COMMA,
       anon_sym_RBRACE,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [8019] = 9,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(314), 1,
-      anon_sym_COMMA,
-    ACTIONS(316), 1,
-      anon_sym_LT,
-    STATE(105), 1,
-      sym_comment,
-    STATE(117), 1,
-      aux_sym__att_name_list_repeat1,
-    STATE(118), 1,
-      sym__attrib,
-    ACTIONS(310), 5,
-      ts_builtin_sym_end,
-      anon_sym_SEMI,
-      anon_sym_EQ,
-      anon_sym_COLON_COLON,
-      anon_sym_LPAREN,
-    ACTIONS(312), 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,
   [8065] = 19,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(288), 1,
-      anon_sym_or,
     ACTIONS(290), 1,
+      anon_sym_or,
+    ACTIONS(292), 1,
       anon_sym_and,
     ACTIONS(318), 1,
       anon_sym_COMMA,
@@ -9125,17 +9122,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_do,
     STATE(106), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
@@ -9145,11 +9142,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(316), 1,
+    ACTIONS(308), 1,
       anon_sym_LT,
     STATE(107), 1,
       sym_comment,
-    STATE(121), 1,
+    STATE(123), 1,
       sym__attrib,
     ACTIONS(322), 6,
       ts_builtin_sym_end,
@@ -9179,227 +9176,183 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(288), 1,
-      anon_sym_or,
     ACTIONS(290), 1,
+      anon_sym_or,
+    ACTIONS(292), 1,
       anon_sym_and,
     ACTIONS(326), 1,
       anon_sym_COMMA,
     STATE(108), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [8233] = 18,
+  [8233] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
-      anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
-    ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
-    ACTIONS(123), 1,
-      anon_sym_CARET,
-    ACTIONS(125), 1,
-      anon_sym_AMP,
-    ACTIONS(127), 1,
-      anon_sym_TILDE,
-    ACTIONS(133), 1,
-      anon_sym_PIPE,
-    ACTIONS(288), 1,
-      anon_sym_or,
-    ACTIONS(290), 1,
-      anon_sym_and,
-    ACTIONS(328), 1,
-      anon_sym_do,
+    ACTIONS(306), 1,
+      anon_sym_COMMA,
     STATE(109), 1,
       sym_comment,
-    ACTIONS(111), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(129), 2,
-      anon_sym_LT,
-      anon_sym_GT,
-    ACTIONS(117), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(131), 4,
-      anon_sym_LT_EQ,
-      anon_sym_EQ_EQ,
-      anon_sym_TILDE_EQ,
-      anon_sym_GT_EQ,
-  [8295] = 18,
+    STATE(112), 1,
+      aux_sym__att_name_list_repeat1,
+    ACTIONS(328), 5,
+      ts_builtin_sym_end,
+      anon_sym_SEMI,
+      anon_sym_EQ,
+      anon_sym_COLON_COLON,
+      anon_sym_LPAREN,
+    ACTIONS(330), 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,
+  [8273] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(288), 1,
-      anon_sym_or,
     ACTIONS(290), 1,
+      anon_sym_or,
+    ACTIONS(292), 1,
       anon_sym_and,
-    ACTIONS(330), 1,
-      anon_sym_then,
+    ACTIONS(332), 1,
+      anon_sym_RBRACK,
     STATE(110), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [8357] = 18,
+  [8335] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(288), 1,
-      anon_sym_or,
     ACTIONS(290), 1,
+      anon_sym_or,
+    ACTIONS(292), 1,
       anon_sym_and,
-    ACTIONS(332), 1,
-      anon_sym_RBRACK,
+    ACTIONS(334), 1,
+      anon_sym_RPAREN,
     STATE(111), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [8419] = 7,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(314), 1,
-      anon_sym_COMMA,
-    STATE(112), 1,
-      sym_comment,
-    STATE(113), 1,
-      aux_sym__att_name_list_repeat1,
-    ACTIONS(334), 5,
-      ts_builtin_sym_end,
-      anon_sym_SEMI,
-      anon_sym_EQ,
-      anon_sym_COLON_COLON,
-      anon_sym_LPAREN,
-    ACTIONS(336), 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,
-  [8459] = 6,
+  [8397] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(342), 1,
+    ACTIONS(340), 1,
       anon_sym_COMMA,
-    STATE(113), 2,
+    STATE(112), 2,
       sym_comment,
       aux_sym__att_name_list_repeat1,
-    ACTIONS(338), 5,
+    ACTIONS(336), 5,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_EQ,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(340), 15,
+    ACTIONS(338), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -9415,156 +9368,189 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8497] = 18,
+  [8435] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(288), 1,
-      anon_sym_or,
     ACTIONS(290), 1,
+      anon_sym_or,
+    ACTIONS(292), 1,
       anon_sym_and,
-    ACTIONS(345), 1,
-      anon_sym_RPAREN,
-    STATE(114), 1,
+    ACTIONS(343), 1,
+      anon_sym_do,
+    STATE(113), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [8559] = 18,
+  [8497] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(288), 1,
-      anon_sym_or,
     ACTIONS(290), 1,
+      anon_sym_or,
+    ACTIONS(292), 1,
       anon_sym_and,
-    ACTIONS(347), 1,
+    ACTIONS(345), 1,
       anon_sym_do,
-    STATE(115), 1,
+    STATE(114), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [8621] = 18,
+  [8559] = 7,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(306), 1,
+      anon_sym_COMMA,
+    STATE(112), 1,
+      aux_sym__att_name_list_repeat1,
+    STATE(115), 1,
+      sym_comment,
+    ACTIONS(347), 5,
+      ts_builtin_sym_end,
+      anon_sym_SEMI,
+      anon_sym_EQ,
+      anon_sym_COLON_COLON,
+      anon_sym_LPAREN,
+    ACTIONS(349), 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,
+  [8599] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(288), 1,
-      anon_sym_or,
     ACTIONS(290), 1,
+      anon_sym_or,
+    ACTIONS(292), 1,
       anon_sym_and,
-    ACTIONS(349), 1,
+    ACTIONS(351), 1,
       anon_sym_RBRACK,
     STATE(116), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [8683] = 7,
+  [8661] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(314), 1,
+    ACTIONS(306), 1,
       anon_sym_COMMA,
-    STATE(113), 1,
+    STATE(109), 1,
       aux_sym__att_name_list_repeat1,
     STATE(117), 1,
       sym_comment,
-    ACTIONS(351), 5,
+    ACTIONS(353), 5,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_EQ,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(353), 15,
+    ACTIONS(355), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -9580,95 +9566,107 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8723] = 7,
+  [8701] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(314), 1,
-      anon_sym_COMMA,
-    STATE(112), 1,
-      aux_sym__att_name_list_repeat1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    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(129), 1,
+      anon_sym_AMP,
+    ACTIONS(131), 1,
+      anon_sym_TILDE,
+    ACTIONS(137), 1,
+      anon_sym_PIPE,
+    ACTIONS(290), 1,
+      anon_sym_or,
+    ACTIONS(292), 1,
+      anon_sym_and,
+    ACTIONS(357), 1,
+      anon_sym_then,
     STATE(118), 1,
       sym_comment,
-    ACTIONS(355), 5,
-      ts_builtin_sym_end,
-      anon_sym_SEMI,
-      anon_sym_EQ,
-      anon_sym_COLON_COLON,
-      anon_sym_LPAREN,
-    ACTIONS(357), 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,
+    ACTIONS(127), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(133), 2,
+      anon_sym_LT,
+      anon_sym_GT,
+    ACTIONS(121), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(135), 4,
+      anon_sym_LT_EQ,
+      anon_sym_EQ_EQ,
+      anon_sym_TILDE_EQ,
+      anon_sym_GT_EQ,
   [8763] = 18,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(113), 1,
+    ACTIONS(111), 1,
+      anon_sym_CARET,
+    ACTIONS(117), 1,
       anon_sym_PLUS,
-    ACTIONS(115), 1,
-      anon_sym_DASH,
     ACTIONS(119), 1,
-      anon_sym_SLASH,
-    ACTIONS(121), 1,
-      anon_sym_DOT_DOT,
+      anon_sym_DASH,
     ACTIONS(123), 1,
-      anon_sym_CARET,
+      anon_sym_SLASH,
     ACTIONS(125), 1,
+      anon_sym_DOT_DOT,
+    ACTIONS(129), 1,
       anon_sym_AMP,
-    ACTIONS(127), 1,
+    ACTIONS(131), 1,
       anon_sym_TILDE,
-    ACTIONS(133), 1,
+    ACTIONS(137), 1,
       anon_sym_PIPE,
-    ACTIONS(288), 1,
-      anon_sym_or,
     ACTIONS(290), 1,
+      anon_sym_or,
+    ACTIONS(292), 1,
       anon_sym_and,
     ACTIONS(359), 1,
       anon_sym_then,
     STATE(119), 1,
       sym_comment,
-    ACTIONS(111), 2,
+    ACTIONS(127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(129), 2,
+    ACTIONS(133), 2,
       anon_sym_LT,
       anon_sym_GT,
-    ACTIONS(117), 3,
+    ACTIONS(121), 3,
       anon_sym_STAR,
       anon_sym_SLASH_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(131), 4,
+    ACTIONS(135), 4,
       anon_sym_LT_EQ,
       anon_sym_EQ_EQ,
       anon_sym_TILDE_EQ,
       anon_sym_GT_EQ,
-  [8825] = 5,
+  [8825] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(120), 1,
+    ACTIONS(365), 1,
+      anon_sym_COMMA,
+    STATE(120), 2,
       sym_comment,
-    ACTIONS(361), 6,
+      aux_sym__variable_assignment_explist_repeat1,
+    ACTIONS(361), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
-      anon_sym_EQ,
-      anon_sym_COMMA,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
     ACTIONS(363), 15,
@@ -9687,21 +9685,21 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8860] = 5,
+  [8862] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(121), 1,
       sym_comment,
-    ACTIONS(365), 6,
+    ACTIONS(368), 6,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_EQ,
       anon_sym_COMMA,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(367), 15,
+    ACTIONS(370), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -9717,23 +9715,23 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8895] = 7,
+  [8897] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(165), 1,
+    ACTIONS(210), 1,
       anon_sym_COMMA,
+    STATE(120), 1,
+      aux_sym__variable_assignment_explist_repeat1,
     STATE(122), 1,
       sym_comment,
-    STATE(123), 1,
-      aux_sym__variable_assignment_explist_repeat1,
-    ACTIONS(369), 4,
+    ACTIONS(372), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(371), 15,
+    ACTIONS(374), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -9749,22 +9747,21 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
       anon_sym_local,
       sym_identifier,
-  [8934] = 6,
+  [8936] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(377), 1,
-      anon_sym_COMMA,
-    STATE(123), 2,
+    STATE(123), 1,
       sym_comment,
-      aux_sym__variable_assignment_explist_repeat1,
-    ACTIONS(373), 4,
+    ACTIONS(376), 6,
       ts_builtin_sym_end,
       anon_sym_SEMI,
+      anon_sym_EQ,
+      anon_sym_COMMA,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(375), 15,
+    ACTIONS(378), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -9985,12 +9982,12 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_comment_start,
     STATE(131), 1,
       sym_comment,
-    ACTIONS(410), 4,
+    ACTIONS(298), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(412), 15,
+    ACTIONS(300), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -10013,12 +10010,12 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_comment_start,
     STATE(132), 1,
       sym_comment,
-    ACTIONS(414), 4,
+    ACTIONS(410), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(416), 15,
+    ACTIONS(412), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -10041,12 +10038,12 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_comment_start,
     STATE(133), 1,
       sym_comment,
-    ACTIONS(418), 4,
+    ACTIONS(414), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(420), 15,
+    ACTIONS(416), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -10069,12 +10066,12 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_comment_start,
     STATE(134), 1,
       sym_comment,
-    ACTIONS(422), 4,
+    ACTIONS(418), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(424), 15,
+    ACTIONS(420), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -10097,12 +10094,12 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_comment_start,
     STATE(135), 1,
       sym_comment,
-    ACTIONS(426), 4,
+    ACTIONS(422), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(428), 15,
+    ACTIONS(424), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -10125,12 +10122,12 @@ static const uint16_t ts_small_parse_table[] = {
       sym__block_comment_start,
     STATE(136), 1,
       sym_comment,
-    ACTIONS(298), 4,
+    ACTIONS(426), 4,
       ts_builtin_sym_end,
       anon_sym_SEMI,
       anon_sym_COLON_COLON,
       anon_sym_LPAREN,
-    ACTIONS(300), 15,
+    ACTIONS(428), 15,
       anon_sym_return,
       sym_break_statement,
       anon_sym_goto,
@@ -10690,15 +10687,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(520), 1,
       sym__block_string_start,
-    STATE(6), 1,
+    STATE(7), 1,
       sym_arguments,
-    STATE(13), 1,
+    STATE(12), 1,
       sym__quote_string,
     STATE(14), 1,
       sym__block_string,
     STATE(156), 1,
       sym_comment,
-    STATE(7), 2,
+    STATE(8), 2,
       sym_string,
       sym_table_constructor,
   [10068] = 7,
@@ -10712,7 +10709,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_COMMA,
     STATE(157), 1,
       sym_comment,
-    STATE(207), 1,
+    STATE(204), 1,
       aux_sym__variable_assignment_varlist_repeat1,
     ACTIONS(73), 8,
       sym__block_string_start,
@@ -10723,27 +10720,26 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LPAREN,
       anon_sym_LBRACK,
       anon_sym_LBRACE,
-  [10097] = 6,
+  [10097] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(286), 1,
-      anon_sym_else,
-    ACTIONS(526), 1,
-      anon_sym_COMMA,
-    STATE(158), 2,
+    STATE(158), 1,
       sym_comment,
-      aux_sym__expression_list_repeat1,
-    ACTIONS(284), 7,
-      ts_builtin_sym_end,
-      anon_sym_SEMI,
-      anon_sym_do,
-      anon_sym_end,
-      anon_sym_until,
-      anon_sym_elseif,
-      anon_sym_RPAREN,
-  [10123] = 12,
+    ACTIONS(526), 2,
+      anon_sym_EQ,
+      anon_sym_COMMA,
+    ACTIONS(73), 8,
+      sym__block_string_start,
+      anon_sym_DOT,
+      anon_sym_COLON,
+      anon_sym_DQUOTE,
+      anon_sym_SQUOTE,
+      anon_sym_LPAREN,
+      anon_sym_LBRACK,
+      anon_sym_LBRACE,
+  [10121] = 12,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -10758,36 +10754,37 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
     ACTIONS(520), 1,
       sym__block_string_start,
-    STATE(6), 1,
+    STATE(7), 1,
       sym_arguments,
-    STATE(13), 1,
+    STATE(12), 1,
       sym__quote_string,
     STATE(14), 1,
       sym__block_string,
     STATE(159), 1,
       sym_comment,
-    STATE(7), 2,
+    STATE(8), 2,
       sym_string,
       sym_table_constructor,
-  [10161] = 5,
+  [10159] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(160), 1,
-      sym_comment,
-    ACTIONS(529), 2,
-      anon_sym_EQ,
+    ACTIONS(296), 1,
+      anon_sym_else,
+    ACTIONS(528), 1,
       anon_sym_COMMA,
-    ACTIONS(73), 8,
-      sym__block_string_start,
-      anon_sym_DOT,
-      anon_sym_COLON,
-      anon_sym_DQUOTE,
-      anon_sym_SQUOTE,
-      anon_sym_LPAREN,
-      anon_sym_LBRACK,
-      anon_sym_LBRACE,
+    STATE(160), 2,
+      sym_comment,
+      aux_sym__expression_list_repeat1,
+    ACTIONS(294), 7,
+      ts_builtin_sym_end,
+      anon_sym_SEMI,
+      anon_sym_do,
+      anon_sym_end,
+      anon_sym_until,
+      anon_sym_elseif,
+      anon_sym_RPAREN,
   [10185] = 10,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
@@ -10799,10 +10796,10 @@ static const uint16_t ts_small_parse_table[] = {
       sym_identifier,
     STATE(156), 1,
       sym__prefix_expression,
+    STATE(158), 1,
+      sym_variable,
     STATE(159), 1,
       sym_method_index_expression,
-    STATE(160), 1,
-      sym_variable,
     STATE(161), 1,
       sym_comment,
     STATE(4), 2,
@@ -10816,11 +10813,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(294), 1,
+    ACTIONS(286), 1,
       anon_sym_COMMA,
     ACTIONS(535), 1,
       anon_sym_else,
-    STATE(158), 1,
+    STATE(160), 1,
       aux_sym__expression_list_repeat1,
     STATE(162), 1,
       sym_comment,
@@ -10852,7 +10849,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(147), 1,
+    ACTIONS(159), 1,
       anon_sym_else,
     ACTIONS(537), 1,
       anon_sym_end,
@@ -10860,18 +10857,18 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_elseif,
     STATE(164), 1,
       sym_comment,
-    STATE(167), 1,
+    STATE(173), 1,
       aux_sym_if_statement_repeat1,
-    STATE(198), 1,
+    STATE(195), 1,
       sym_elseif_statement,
-    STATE(220), 1,
+    STATE(222), 1,
       sym_else_statement,
   [10293] = 9,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(147), 1,
+    ACTIONS(159), 1,
       anon_sym_else,
     ACTIONS(539), 1,
       anon_sym_elseif,
@@ -10879,251 +10876,294 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_end,
     STATE(165), 1,
       sym_comment,
-    STATE(175), 1,
+    STATE(166), 1,
       aux_sym_if_statement_repeat1,
-    STATE(198), 1,
+    STATE(195), 1,
       sym_elseif_statement,
-    STATE(222), 1,
+    STATE(218), 1,
       sym_else_statement,
-  [10321] = 6,
+  [10321] = 9,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(545), 1,
-      anon_sym_SEMI,
-    ACTIONS(547), 1,
+    ACTIONS(159), 1,
       anon_sym_else,
+    ACTIONS(539), 1,
+      anon_sym_elseif,
+    ACTIONS(543), 1,
+      anon_sym_end,
     STATE(166), 1,
       sym_comment,
-    ACTIONS(543), 4,
-      ts_builtin_sym_end,
-      anon_sym_end,
-      anon_sym_until,
-      anon_sym_elseif,
-  [10343] = 9,
+    STATE(173), 1,
+      aux_sym_if_statement_repeat1,
+    STATE(195), 1,
+      sym_elseif_statement,
+    STATE(215), 1,
+      sym_else_statement,
+  [10349] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(147), 1,
-      anon_sym_else,
-    ACTIONS(539), 1,
-      anon_sym_elseif,
+    ACTIONS(547), 1,
+      anon_sym_SEMI,
     ACTIONS(549), 1,
-      anon_sym_end,
+      anon_sym_else,
     STATE(167), 1,
       sym_comment,
-    STATE(175), 1,
-      aux_sym_if_statement_repeat1,
-    STATE(198), 1,
-      sym_elseif_statement,
-    STATE(216), 1,
-      sym_else_statement,
-  [10371] = 8,
+    ACTIONS(545), 4,
+      ts_builtin_sym_end,
+      anon_sym_end,
+      anon_sym_until,
+      anon_sym_elseif,
+  [10371] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(551), 1,
-      sym_identifier,
-    STATE(168), 1,
+    ACTIONS(554), 1,
+      anon_sym_RBRACE,
+    STATE(66), 1,
+      sym__field_sep,
+    ACTIONS(551), 2,
+      anon_sym_SEMI,
+      anon_sym_COMMA,
+    STATE(168), 2,
       sym_comment,
-    STATE(193), 1,
-      sym__function_name,
-    STATE(200), 1,
-      sym__function_name_prefix_expression,
-    STATE(201), 1,
-      sym__function_name_dot_index_expression,
-    STATE(236), 1,
-      sym__function_name_method_index_expression,
-  [10396] = 4,
+      aux_sym__field_list_repeat1,
+  [10392] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(169), 1,
       sym_comment,
-    ACTIONS(553), 5,
+    ACTIONS(556), 5,
       sym__block_string_start,
       anon_sym_DQUOTE,
       anon_sym_SQUOTE,
       anon_sym_LPAREN,
       anon_sym_LBRACE,
-  [10413] = 5,
+  [10409] = 8,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(557), 1,
-      anon_sym_else,
+    ACTIONS(558), 1,
+      sym_identifier,
     STATE(170), 1,
       sym_comment,
-    ACTIONS(555), 4,
-      ts_builtin_sym_end,
-      anon_sym_end,
-      anon_sym_until,
-      anon_sym_elseif,
-  [10432] = 5,
+    STATE(193), 1,
+      sym__function_name_prefix_expression,
+    STATE(202), 1,
+      sym__function_name,
+    STATE(203), 1,
+      sym__function_name_dot_index_expression,
+    STATE(236), 1,
+      sym__function_name_method_index_expression,
+  [10434] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(547), 1,
-      anon_sym_else,
+    ACTIONS(278), 1,
+      anon_sym_RBRACE,
+    STATE(62), 1,
+      sym__field_sep,
+    STATE(168), 1,
+      aux_sym__field_list_repeat1,
     STATE(171), 1,
       sym_comment,
-    ACTIONS(543), 4,
+    ACTIONS(560), 2,
+      anon_sym_SEMI,
+      anon_sym_COMMA,
+  [10457] = 5,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(549), 1,
+      anon_sym_else,
+    STATE(172), 1,
+      sym_comment,
+    ACTIONS(545), 4,
       ts_builtin_sym_end,
       anon_sym_end,
       anon_sym_until,
       anon_sym_elseif,
-  [10451] = 6,
+  [10476] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(562), 1,
-      anon_sym_RBRACE,
-    STATE(66), 1,
-      sym__field_sep,
-    ACTIONS(559), 2,
-      anon_sym_SEMI,
-      anon_sym_COMMA,
-    STATE(172), 2,
+      anon_sym_end,
+    ACTIONS(564), 1,
+      anon_sym_elseif,
+    ACTIONS(567), 1,
+      anon_sym_else,
+    STATE(195), 1,
+      sym_elseif_statement,
+    STATE(173), 2,
       sym_comment,
-      aux_sym__field_list_repeat1,
-  [10472] = 7,
+      aux_sym_if_statement_repeat1,
+  [10499] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(274), 1,
-      anon_sym_RBRACE,
-    STATE(64), 1,
-      sym__field_sep,
-    STATE(172), 1,
-      aux_sym__field_list_repeat1,
-    STATE(173), 1,
+    ACTIONS(571), 1,
+      anon_sym_else,
+    STATE(174), 1,
       sym_comment,
-    ACTIONS(564), 2,
-      anon_sym_SEMI,
-      anon_sym_COMMA,
-  [10495] = 7,
+    ACTIONS(569), 4,
+      ts_builtin_sym_end,
+      anon_sym_end,
+      anon_sym_until,
+      anon_sym_elseif,
+  [10518] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(566), 1,
+    ACTIONS(573), 1,
       anon_sym_RBRACE,
-    STATE(62), 1,
+    STATE(64), 1,
       sym__field_sep,
-    STATE(173), 1,
+    STATE(171), 1,
       aux_sym__field_list_repeat1,
-    STATE(174), 1,
+    STATE(175), 1,
       sym_comment,
-    ACTIONS(564), 2,
+    ACTIONS(560), 2,
       anon_sym_SEMI,
       anon_sym_COMMA,
-  [10518] = 7,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(568), 1,
-      anon_sym_end,
-    ACTIONS(570), 1,
-      anon_sym_elseif,
-    ACTIONS(573), 1,
-      anon_sym_else,
-    STATE(198), 1,
-      sym_elseif_statement,
-    STATE(175), 2,
-      sym_comment,
-      aux_sym_if_statement_repeat1,
   [10541] = 6,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(575), 1,
-      anon_sym_SQUOTE,
+      anon_sym_DQUOTE,
     ACTIONS(579), 1,
       anon_sym_DASH_DASH,
     STATE(176), 1,
       sym_comment,
-    STATE(180), 1,
-      aux_sym__singlequote_string_content,
+    STATE(189), 1,
+      aux_sym__doublequote_string_content,
     ACTIONS(577), 2,
-      aux_sym__singlequote_string_content_token1,
+      aux_sym__doublequote_string_content_token1,
       sym_escape_sequence,
-  [10561] = 7,
+  [10561] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(581), 1,
-      sym_identifier,
-    ACTIONS(583), 1,
-      sym_vararg_expression,
-    ACTIONS(585), 1,
+      anon_sym_COMMA,
+    ACTIONS(584), 2,
+      anon_sym_in,
       anon_sym_RPAREN,
-    STATE(177), 1,
+    STATE(177), 2,
       sym_comment,
-    STATE(248), 1,
-      sym__parameter_list,
-  [10583] = 5,
+      aux_sym__name_list_repeat1,
+  [10579] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(587), 1,
-      anon_sym_COMMA,
-    ACTIONS(590), 2,
-      anon_sym_in,
+    ACTIONS(586), 1,
+      sym_identifier,
+    ACTIONS(588), 1,
+      sym_vararg_expression,
+    ACTIONS(590), 1,
       anon_sym_RPAREN,
-    STATE(178), 2,
+    STATE(178), 1,
       sym_comment,
-      aux_sym__name_list_repeat1,
+    STATE(248), 1,
+      sym__parameter_list,
   [10601] = 6,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(579), 1,
       anon_sym_DASH_DASH,
     ACTIONS(592), 1,
-      anon_sym_SQUOTE,
+      anon_sym_DQUOTE,
+    STATE(176), 1,
+      aux_sym__doublequote_string_content,
     STATE(179), 1,
       sym_comment,
-    STATE(180), 1,
-      aux_sym__singlequote_string_content,
     ACTIONS(577), 2,
-      aux_sym__singlequote_string_content_token1,
+      aux_sym__doublequote_string_content_token1,
       sym_escape_sequence,
-  [10621] = 5,
+  [10621] = 6,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(579), 1,
       anon_sym_DASH_DASH,
     ACTIONS(594), 1,
       anon_sym_SQUOTE,
+    STATE(180), 1,
+      sym_comment,
+    STATE(192), 1,
+      aux_sym__singlequote_string_content,
     ACTIONS(596), 2,
       aux_sym__singlequote_string_content_token1,
       sym_escape_sequence,
-    STATE(180), 2,
-      aux_sym__singlequote_string_content,
+  [10641] = 6,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(575), 1,
+      anon_sym_SQUOTE,
+    ACTIONS(579), 1,
+      anon_sym_DASH_DASH,
+    STATE(181), 1,
       sym_comment,
-  [10639] = 5,
+    STATE(192), 1,
+      aux_sym__singlequote_string_content,
+    ACTIONS(596), 2,
+      aux_sym__singlequote_string_content_token1,
+      sym_escape_sequence,
+  [10661] = 6,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(579), 1,
       anon_sym_DASH_DASH,
-    ACTIONS(599), 1,
-      anon_sym_DQUOTE,
-    ACTIONS(601), 2,
-      aux_sym__doublequote_string_content_token1,
+    ACTIONS(592), 1,
+      anon_sym_SQUOTE,
+    STATE(181), 1,
+      aux_sym__singlequote_string_content,
+    STATE(182), 1,
+      sym_comment,
+    ACTIONS(596), 2,
+      aux_sym__singlequote_string_content_token1,
       sym_escape_sequence,
-    STATE(181), 2,
-      aux_sym__doublequote_string_content,
+  [10681] = 5,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(600), 1,
+      anon_sym_else,
+    STATE(183), 1,
+      sym_comment,
+    ACTIONS(598), 3,
+      anon_sym_end,
+      anon_sym_until,
+      anon_sym_elseif,
+  [10699] = 6,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(5), 1,
+      sym__block_comment_start,
+    ACTIONS(602), 1,
+      sym_identifier,
+    STATE(184), 1,
       sym_comment,
-  [10657] = 7,
+    STATE(243), 1,
+      sym__name_list,
+    STATE(244), 2,
+      sym_for_generic_clause,
+      sym_for_numeric_clause,
+  [10719] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -11134,381 +11174,338 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_function,
     STATE(124), 1,
       sym__att_name_list,
-    STATE(145), 1,
+    STATE(139), 1,
       sym__local_variable_assignment,
-    STATE(182), 1,
-      sym_comment,
-  [10679] = 6,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(579), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(592), 1,
-      anon_sym_DQUOTE,
-    STATE(181), 1,
-      aux_sym__doublequote_string_content,
-    STATE(183), 1,
-      sym_comment,
-    ACTIONS(608), 2,
-      aux_sym__doublequote_string_content_token1,
-      sym_escape_sequence,
-  [10699] = 6,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(579), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(610), 1,
-      anon_sym_DQUOTE,
-    STATE(183), 1,
-      aux_sym__doublequote_string_content,
-    STATE(184), 1,
+    STATE(185), 1,
       sym_comment,
-    ACTIONS(608), 2,
-      aux_sym__doublequote_string_content_token1,
-      sym_escape_sequence,
-  [10719] = 6,
+  [10741] = 6,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(579), 1,
       anon_sym_DASH_DASH,
-    ACTIONS(612), 1,
-      anon_sym_DQUOTE,
-    STATE(185), 1,
+    ACTIONS(608), 1,
+      anon_sym_SQUOTE,
+    STATE(180), 1,
+      aux_sym__singlequote_string_content,
+    STATE(186), 1,
       sym_comment,
-    STATE(192), 1,
-      aux_sym__doublequote_string_content,
-    ACTIONS(608), 2,
-      aux_sym__doublequote_string_content_token1,
+    ACTIONS(596), 2,
+      aux_sym__singlequote_string_content_token1,
       sym_escape_sequence,
-  [10739] = 7,
+  [10761] = 7,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(614), 1,
+    ACTIONS(610), 1,
       anon_sym_EQ,
-    ACTIONS(616), 1,
+    ACTIONS(612), 1,
       anon_sym_COMMA,
-    ACTIONS(618), 1,
+    ACTIONS(614), 1,
       anon_sym_in,
-    STATE(186), 1,
+    STATE(187), 1,
       sym_comment,
-    STATE(209), 1,
+    STATE(210), 1,
       aux_sym__name_list_repeat1,
-  [10761] = 6,
+  [10783] = 6,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(579), 1,
       anon_sym_DASH_DASH,
-    ACTIONS(612), 1,
-      anon_sym_SQUOTE,
-    STATE(176), 1,
-      aux_sym__singlequote_string_content,
-    STATE(187), 1,
+    ACTIONS(608), 1,
+      anon_sym_DQUOTE,
+    STATE(188), 1,
       sym_comment,
+    STATE(191), 1,
+      aux_sym__doublequote_string_content,
     ACTIONS(577), 2,
-      aux_sym__singlequote_string_content_token1,
+      aux_sym__doublequote_string_content_token1,
       sym_escape_sequence,
-  [10781] = 6,
+  [10803] = 5,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(579), 1,
       anon_sym_DASH_DASH,
-    ACTIONS(610), 1,
-      anon_sym_SQUOTE,
-    STATE(179), 1,
-      aux_sym__singlequote_string_content,
-    STATE(188), 1,
-      sym_comment,
-    ACTIONS(577), 2,
-      aux_sym__singlequote_string_content_token1,
+    ACTIONS(616), 1,
+      anon_sym_DQUOTE,
+    ACTIONS(618), 2,
+      aux_sym__doublequote_string_content_token1,
       sym_escape_sequence,
-  [10801] = 6,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(5), 1,
-      sym__block_comment_start,
-    ACTIONS(620), 1,
-      sym_identifier,
-    STATE(189), 1,
+    STATE(189), 2,
+      aux_sym__doublequote_string_content,
       sym_comment,
-    STATE(242), 1,
-      sym__name_list,
-    STATE(244), 2,
-      sym_for_generic_clause,
-      sym_for_numeric_clause,
   [10821] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(624), 1,
+    ACTIONS(161), 1,
       anon_sym_else,
     STATE(190), 1,
       sym_comment,
-    ACTIONS(622), 3,
+    ACTIONS(621), 3,
       anon_sym_end,
       anon_sym_until,
       anon_sym_elseif,
-  [10839] = 5,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
+  [10839] = 6,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(169), 1,
-      anon_sym_else,
+    ACTIONS(579), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(594), 1,
+      anon_sym_DQUOTE,
+    STATE(189), 1,
+      aux_sym__doublequote_string_content,
     STATE(191), 1,
       sym_comment,
-    ACTIONS(626), 3,
-      anon_sym_end,
-      anon_sym_until,
-      anon_sym_elseif,
-  [10857] = 6,
+    ACTIONS(577), 2,
+      aux_sym__doublequote_string_content_token1,
+      sym_escape_sequence,
+  [10859] = 5,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(575), 1,
-      anon_sym_DQUOTE,
     ACTIONS(579), 1,
       anon_sym_DASH_DASH,
-    STATE(181), 1,
-      aux_sym__doublequote_string_content,
-    STATE(192), 1,
-      sym_comment,
-    ACTIONS(608), 2,
-      aux_sym__doublequote_string_content_token1,
+    ACTIONS(623), 1,
+      anon_sym_SQUOTE,
+    ACTIONS(625), 2,
+      aux_sym__singlequote_string_content_token1,
       sym_escape_sequence,
+    STATE(192), 2,
+      aux_sym__singlequote_string_content,
+      sym_comment,
   [10877] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(628), 1,
+      anon_sym_DOT,
+    ACTIONS(630), 1,
+      anon_sym_COLON,
+    ACTIONS(632), 1,
       anon_sym_LPAREN,
-    STATE(52), 1,
-      sym_parameters,
-    STATE(125), 1,
-      sym__function_body,
     STATE(193), 1,
       sym_comment,
-  [10896] = 5,
+  [10896] = 6,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(579), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(630), 1,
-      anon_sym_DQUOTE,
+    ACTIONS(634), 1,
+      anon_sym_LPAREN,
+    STATE(54), 1,
+      sym_parameters,
+    STATE(140), 1,
+      sym__function_body,
     STATE(194), 1,
       sym_comment,
-    ACTIONS(632), 2,
-      aux_sym__doublequote_string_content_token1,
-      sym_escape_sequence,
-  [10913] = 6,
+  [10915] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(634), 1,
-      anon_sym_COMMA,
-    ACTIONS(636), 1,
-      anon_sym_RPAREN,
+    ACTIONS(638), 1,
+      anon_sym_else,
     STATE(195), 1,
       sym_comment,
-    STATE(206), 1,
-      aux_sym__name_list_repeat1,
-  [10932] = 6,
+    ACTIONS(636), 2,
+      anon_sym_end,
+      anon_sym_elseif,
+  [10932] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(628), 1,
-      anon_sym_LPAREN,
-    STATE(32), 1,
-      sym__function_body,
-    STATE(52), 1,
-      sym_parameters,
     STATE(196), 1,
       sym_comment,
-  [10951] = 5,
+    ACTIONS(640), 3,
+      anon_sym_COMMA,
+      anon_sym_in,
+      anon_sym_RPAREN,
+  [10947] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(640), 1,
-      anon_sym_else,
+    ACTIONS(286), 1,
+      anon_sym_COMMA,
+    ACTIONS(642), 1,
+      anon_sym_RPAREN,
+    STATE(160), 1,
+      aux_sym__expression_list_repeat1,
     STATE(197), 1,
       sym_comment,
-    ACTIONS(638), 2,
-      anon_sym_end,
-      anon_sym_elseif,
-  [10968] = 5,
+  [10966] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     ACTIONS(644), 1,
-      anon_sym_else,
+      anon_sym_COMMA,
+    ACTIONS(646), 1,
+      anon_sym_RPAREN,
+    STATE(177), 1,
+      aux_sym__name_list_repeat1,
     STATE(198), 1,
       sym_comment,
-    ACTIONS(642), 2,
-      anon_sym_end,
-      anon_sym_elseif,
-  [10985] = 4,
+  [10985] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(634), 1,
+      anon_sym_LPAREN,
+    STATE(32), 1,
+      sym__function_body,
+    STATE(54), 1,
+      sym_parameters,
     STATE(199), 1,
       sym_comment,
-    ACTIONS(646), 3,
-      anon_sym_DOT,
-      anon_sym_COLON,
-      anon_sym_LPAREN,
-  [11000] = 6,
+  [11004] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(648), 1,
-      anon_sym_DOT,
     ACTIONS(650), 1,
-      anon_sym_COLON,
-    ACTIONS(652), 1,
-      anon_sym_LPAREN,
+      anon_sym_else,
     STATE(200), 1,
       sym_comment,
-  [11019] = 4,
+    ACTIONS(648), 2,
+      anon_sym_end,
+      anon_sym_elseif,
+  [11021] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
     STATE(201), 1,
       sym_comment,
-    ACTIONS(654), 3,
+    ACTIONS(652), 3,
       anon_sym_DOT,
       anon_sym_COLON,
       anon_sym_LPAREN,
-  [11034] = 4,
+  [11036] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(634), 1,
+      anon_sym_LPAREN,
+    STATE(54), 1,
+      sym_parameters,
+    STATE(127), 1,
+      sym__function_body,
     STATE(202), 1,
       sym_comment,
-    ACTIONS(656), 3,
-      anon_sym_COMMA,
-      anon_sym_in,
-      anon_sym_RPAREN,
-  [11049] = 6,
+  [11055] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(294), 1,
-      anon_sym_COMMA,
-    ACTIONS(658), 1,
-      anon_sym_RPAREN,
-    STATE(158), 1,
-      aux_sym__expression_list_repeat1,
     STATE(203), 1,
       sym_comment,
-  [11068] = 6,
+    ACTIONS(654), 3,
+      anon_sym_DOT,
+      anon_sym_COLON,
+      anon_sym_LPAREN,
+  [11070] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(628), 1,
-      anon_sym_LPAREN,
-    STATE(52), 1,
-      sym_parameters,
-    STATE(149), 1,
-      sym__function_body,
+    ACTIONS(524), 1,
+      anon_sym_COMMA,
+    ACTIONS(656), 1,
+      anon_sym_EQ,
     STATE(204), 1,
       sym_comment,
-  [11087] = 4,
+    STATE(211), 1,
+      aux_sym__variable_assignment_varlist_repeat1,
+  [11089] = 6,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(658), 1,
+      anon_sym_COMMA,
+    ACTIONS(660), 1,
+      anon_sym_RPAREN,
+    STATE(198), 1,
+      aux_sym__name_list_repeat1,
     STATE(205), 1,
       sym_comment,
-    ACTIONS(660), 3,
-      anon_sym_DOT,
-      anon_sym_COLON,
-      anon_sym_LPAREN,
-  [11102] = 6,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
+  [11108] = 5,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(579), 1,
+      anon_sym_DASH_DASH,
     ACTIONS(662), 1,
-      anon_sym_COMMA,
-    ACTIONS(664), 1,
-      anon_sym_RPAREN,
-    STATE(178), 1,
-      aux_sym__name_list_repeat1,
+      anon_sym_DQUOTE,
     STATE(206), 1,
       sym_comment,
-  [11121] = 6,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
+    ACTIONS(664), 2,
+      aux_sym__doublequote_string_content_token1,
+      sym_escape_sequence,
+  [11125] = 5,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(524), 1,
-      anon_sym_COMMA,
+    ACTIONS(579), 1,
+      anon_sym_DASH_DASH,
     ACTIONS(666), 1,
-      anon_sym_EQ,
+      anon_sym_SQUOTE,
     STATE(207), 1,
       sym_comment,
-    STATE(208), 1,
-      aux_sym__variable_assignment_varlist_repeat1,
-  [11140] = 5,
+    ACTIONS(668), 2,
+      aux_sym__singlequote_string_content_token1,
+      sym_escape_sequence,
+  [11142] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(668), 1,
-      anon_sym_EQ,
-    ACTIONS(670), 1,
-      anon_sym_COMMA,
-    STATE(208), 2,
+    STATE(208), 1,
       sym_comment,
-      aux_sym__variable_assignment_varlist_repeat1,
-  [11157] = 6,
+    ACTIONS(554), 3,
+      anon_sym_SEMI,
+      anon_sym_COMMA,
+      anon_sym_RBRACE,
+  [11157] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(616), 1,
-      anon_sym_COMMA,
-    ACTIONS(673), 1,
-      anon_sym_in,
-    STATE(178), 1,
-      aux_sym__name_list_repeat1,
     STATE(209), 1,
       sym_comment,
-  [11176] = 5,
+    ACTIONS(670), 3,
+      anon_sym_DOT,
+      anon_sym_COLON,
+      anon_sym_LPAREN,
+  [11172] = 6,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(579), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(675), 1,
-      anon_sym_SQUOTE,
+    ACTIONS(612), 1,
+      anon_sym_COMMA,
+    ACTIONS(672), 1,
+      anon_sym_in,
+    STATE(177), 1,
+      aux_sym__name_list_repeat1,
     STATE(210), 1,
       sym_comment,
-    ACTIONS(677), 2,
-      aux_sym__singlequote_string_content_token1,
-      sym_escape_sequence,
-  [11193] = 4,
+  [11191] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    STATE(211), 1,
-      sym_comment,
-    ACTIONS(562), 3,
-      anon_sym_SEMI,
+    ACTIONS(674), 1,
+      anon_sym_EQ,
+    ACTIONS(676), 1,
       anon_sym_COMMA,
-      anon_sym_RBRACE,
+    STATE(211), 2,
+      sym_comment,
+      aux_sym__variable_assignment_varlist_repeat1,
   [11208] = 5,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
@@ -11525,96 +11522,94 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
+    ACTIONS(679), 1,
+      sym_identifier,
     ACTIONS(683), 1,
-      sym__block_comment_content,
-    ACTIONS(685), 1,
-      sym__block_comment_end,
+      sym_vararg_expression,
     STATE(213), 1,
       sym_comment,
-  [11240] = 5,
+  [11240] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(679), 1,
-      sym_identifier,
-    ACTIONS(687), 1,
-      sym_vararg_expression,
+    ACTIONS(685), 1,
+      ts_builtin_sym_end,
     STATE(214), 1,
       sym_comment,
-  [11256] = 4,
+  [11253] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(689), 1,
-      ts_builtin_sym_end,
+    ACTIONS(687), 1,
+      anon_sym_end,
     STATE(215), 1,
       sym_comment,
-  [11269] = 4,
+  [11266] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(691), 1,
+    ACTIONS(689), 1,
       anon_sym_end,
     STATE(216), 1,
       sym_comment,
-  [11282] = 4,
+  [11279] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(693), 1,
+    ACTIONS(691), 1,
       sym_identifier,
     STATE(217), 1,
       sym_comment,
-  [11295] = 4,
+  [11292] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(695), 1,
-      sym_identifier,
+    ACTIONS(693), 1,
+      anon_sym_end,
     STATE(218), 1,
       sym_comment,
-  [11308] = 4,
+  [11305] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(697), 1,
-      anon_sym_end,
+    ACTIONS(695), 1,
+      sym__block_comment_content,
     STATE(219), 1,
       sym_comment,
-  [11321] = 4,
+  [11318] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(699), 1,
-      anon_sym_end,
+    ACTIONS(697), 1,
+      sym_identifier,
     STATE(220), 1,
       sym_comment,
-  [11334] = 4,
+  [11331] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(701), 1,
+    ACTIONS(699), 1,
       sym_identifier,
     STATE(221), 1,
       sym_comment,
-  [11347] = 4,
+  [11344] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(703), 1,
+    ACTIONS(701), 1,
       anon_sym_end,
     STATE(222), 1,
       sym_comment,
-  [11360] = 4,
+  [11357] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
@@ -11623,338 +11618,335 @@ static const uint16_t ts_small_parse_table[] = {
       sym_identifier,
     STATE(223), 1,
       sym_comment,
-  [11373] = 4,
+  [11370] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(705), 1,
+    ACTIONS(703), 1,
       anon_sym_RBRACE,
     STATE(224), 1,
       sym_comment,
-  [11386] = 4,
+  [11383] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(707), 1,
+    ACTIONS(705), 1,
       anon_sym_GT,
     STATE(225), 1,
       sym_comment,
-  [11399] = 4,
+  [11396] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(709), 1,
+    ACTIONS(707), 1,
       anon_sym_do,
     STATE(226), 1,
       sym_comment,
-  [11412] = 4,
+  [11409] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(711), 1,
+    ACTIONS(709), 1,
       sym__block_string_end,
     STATE(227), 1,
       sym_comment,
-  [11425] = 4,
+  [11422] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(713), 1,
+    ACTIONS(711), 1,
       anon_sym_EQ,
     STATE(228), 1,
       sym_comment,
-  [11438] = 4,
+  [11435] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(715), 1,
+    ACTIONS(713), 1,
       sym__block_string_content,
     STATE(229), 1,
       sym_comment,
-  [11451] = 4,
+  [11448] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(717), 1,
-      anon_sym_end,
+    ACTIONS(715), 1,
+      anon_sym_RPAREN,
     STATE(230), 1,
       sym_comment,
-  [11464] = 4,
+  [11461] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(719), 1,
-      anon_sym_RPAREN,
+    ACTIONS(717), 1,
+      anon_sym_end,
     STATE(231), 1,
       sym_comment,
-  [11477] = 4,
+  [11474] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(721), 1,
+    ACTIONS(719), 1,
       anon_sym_RPAREN,
     STATE(232), 1,
       sym_comment,
-  [11490] = 4,
+  [11487] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(723), 1,
+    ACTIONS(721), 1,
       sym_identifier,
     STATE(233), 1,
       sym_comment,
-  [11503] = 4,
+  [11500] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(725), 1,
+    ACTIONS(723), 1,
       sym_identifier,
     STATE(234), 1,
       sym_comment,
-  [11516] = 4,
+  [11513] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(727), 1,
+    ACTIONS(725), 1,
       sym_identifier,
     STATE(235), 1,
       sym_comment,
-  [11529] = 4,
+  [11526] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(729), 1,
+    ACTIONS(727), 1,
       anon_sym_LPAREN,
     STATE(236), 1,
       sym_comment,
-  [11542] = 4,
+  [11539] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(731), 1,
-      anon_sym_end,
+    ACTIONS(729), 1,
+      anon_sym_LPAREN,
     STATE(237), 1,
       sym_comment,
-  [11555] = 4,
+  [11552] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(733), 1,
-      anon_sym_LPAREN,
+    ACTIONS(731), 1,
+      anon_sym_end,
     STATE(238), 1,
       sym_comment,
-  [11568] = 4,
+  [11565] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(735), 1,
+    ACTIONS(733), 1,
       anon_sym_end,
     STATE(239), 1,
       sym_comment,
-  [11581] = 4,
+  [11578] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(737), 1,
-      sym_identifier,
+    ACTIONS(735), 1,
+      anon_sym_RPAREN,
     STATE(240), 1,
       sym_comment,
-  [11594] = 4,
+  [11591] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(739), 1,
-      anon_sym_RPAREN,
+    ACTIONS(737), 1,
+      sym_identifier,
     STATE(241), 1,
       sym_comment,
-  [11607] = 4,
+  [11604] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(741), 1,
-      anon_sym_in,
+    ACTIONS(739), 1,
+      anon_sym_end,
     STATE(242), 1,
       sym_comment,
-  [11620] = 4,
+  [11617] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(743), 1,
-      anon_sym_end,
+    ACTIONS(741), 1,
+      anon_sym_in,
     STATE(243), 1,
       sym_comment,
-  [11633] = 4,
+  [11630] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(745), 1,
+    ACTIONS(743), 1,
       anon_sym_do,
     STATE(244), 1,
       sym_comment,
-  [11646] = 4,
+  [11643] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(747), 1,
+    ACTIONS(745), 1,
       anon_sym_until,
     STATE(245), 1,
       sym_comment,
-  [11659] = 4,
+  [11656] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(749), 1,
+    ACTIONS(747), 1,
       anon_sym_end,
     STATE(246), 1,
       sym_comment,
-  [11672] = 4,
+  [11669] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(751), 1,
+    ACTIONS(749), 1,
       anon_sym_COLON_COLON,
     STATE(247), 1,
       sym_comment,
-  [11685] = 4,
+  [11682] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(753), 1,
+    ACTIONS(751), 1,
       anon_sym_RPAREN,
     STATE(248), 1,
       sym_comment,
-  [11698] = 4,
+  [11695] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(755), 1,
+    ACTIONS(753), 1,
       sym__block_string_content,
     STATE(249), 1,
       sym_comment,
-  [11711] = 4,
+  [11708] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(242), 1,
+    ACTIONS(240), 1,
       ts_builtin_sym_end,
     STATE(250), 1,
       sym_comment,
-  [11724] = 4,
+  [11721] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(757), 1,
+    ACTIONS(755), 1,
       anon_sym_RBRACE,
     STATE(251), 1,
       sym_comment,
-  [11737] = 4,
+  [11734] = 4,
+    ACTIONS(3), 1,
+      anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(579), 1,
-      anon_sym_DASH_DASH,
-    ACTIONS(759), 1,
-      aux_sym_comment_token1,
+    ACTIONS(757), 1,
+      sym__block_comment_end,
     STATE(252), 1,
       sym_comment,
-  [11750] = 4,
+  [11747] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(761), 1,
-      sym__block_comment_end,
+    ACTIONS(759), 1,
+      anon_sym_EQ,
     STATE(253), 1,
       sym_comment,
-  [11763] = 4,
+  [11760] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(763), 1,
-      anon_sym_EQ,
+    ACTIONS(242), 1,
+      ts_builtin_sym_end,
     STATE(254), 1,
       sym_comment,
-  [11776] = 4,
+  [11773] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(240), 1,
+    ACTIONS(761), 1,
       ts_builtin_sym_end,
     STATE(255), 1,
       sym_comment,
-  [11789] = 4,
+  [11786] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(765), 1,
-      ts_builtin_sym_end,
+    ACTIONS(763), 1,
+      sym_identifier,
     STATE(256), 1,
       sym_comment,
-  [11802] = 4,
+  [11799] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(767), 1,
-      sym_identifier,
+    ACTIONS(765), 1,
+      sym__block_string_end,
     STATE(257), 1,
       sym_comment,
-  [11815] = 4,
+  [11812] = 4,
     ACTIONS(3), 1,
       anon_sym_DASH_DASH,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(769), 1,
-      sym__block_string_end,
+    ACTIONS(767), 1,
+      sym_identifier,
     STATE(258), 1,
       sym_comment,
-  [11828] = 4,
-    ACTIONS(3), 1,
-      anon_sym_DASH_DASH,
+  [11825] = 4,
     ACTIONS(5), 1,
       sym__block_comment_start,
-    ACTIONS(771), 1,
-      sym_identifier,
+    ACTIONS(579), 1,
+      anon_sym_DASH_DASH,
+    ACTIONS(769), 1,
+      aux_sym_comment_token1,
     STATE(259), 1,
       sym_comment,
-  [11841] = 1,
-    ACTIONS(773), 1,
-      ts_builtin_sym_end,
-  [11845] = 1,
-    ACTIONS(775), 1,
+  [11838] = 1,
+    ACTIONS(771), 1,
       ts_builtin_sym_end,
-  [11849] = 1,
-    ACTIONS(777), 1,
+  [11842] = 1,
+    ACTIONS(773), 1,
       ts_builtin_sym_end,
 };
 
@@ -11978,40 +11970,40 @@ static const uint32_t ts_small_parse_table_map[] = {
   [SMALL_STATE(18)] = 1063,
   [SMALL_STATE(19)] = 1129,
   [SMALL_STATE(20)] = 1188,
-  [SMALL_STATE(21)] = 1247,
+  [SMALL_STATE(21)] = 1249,
   [SMALL_STATE(22)] = 1320,
-  [SMALL_STATE(23)] = 1395,
-  [SMALL_STATE(24)] = 1472,
-  [SMALL_STATE(25)] = 1555,
-  [SMALL_STATE(26)] = 1640,
-  [SMALL_STATE(27)] = 1719,
-  [SMALL_STATE(28)] = 1778,
-  [SMALL_STATE(29)] = 1837,
-  [SMALL_STATE(30)] = 1896,
-  [SMALL_STATE(31)] = 1955,
-  [SMALL_STATE(32)] = 2082,
-  [SMALL_STATE(33)] = 2141,
-  [SMALL_STATE(34)] = 2206,
-  [SMALL_STATE(35)] = 2267,
-  [SMALL_STATE(36)] = 2338,
-  [SMALL_STATE(37)] = 2399,
-  [SMALL_STATE(38)] = 2458,
-  [SMALL_STATE(39)] = 2517,
-  [SMALL_STATE(40)] = 2576,
-  [SMALL_STATE(41)] = 2637,
-  [SMALL_STATE(42)] = 2696,
+  [SMALL_STATE(23)] = 1393,
+  [SMALL_STATE(24)] = 1468,
+  [SMALL_STATE(25)] = 1545,
+  [SMALL_STATE(26)] = 1628,
+  [SMALL_STATE(27)] = 1713,
+  [SMALL_STATE(28)] = 1792,
+  [SMALL_STATE(29)] = 1851,
+  [SMALL_STATE(30)] = 1910,
+  [SMALL_STATE(31)] = 1969,
+  [SMALL_STATE(32)] = 2028,
+  [SMALL_STATE(33)] = 2087,
+  [SMALL_STATE(34)] = 2146,
+  [SMALL_STATE(35)] = 2207,
+  [SMALL_STATE(36)] = 2278,
+  [SMALL_STATE(37)] = 2337,
+  [SMALL_STATE(38)] = 2398,
+  [SMALL_STATE(39)] = 2463,
+  [SMALL_STATE(40)] = 2522,
+  [SMALL_STATE(41)] = 2581,
+  [SMALL_STATE(42)] = 2640,
   [SMALL_STATE(43)] = 2767,
-  [SMALL_STATE(44)] = 2855,
-  [SMALL_STATE(45)] = 2967,
-  [SMALL_STATE(46)] = 3081,
+  [SMALL_STATE(44)] = 2879,
+  [SMALL_STATE(45)] = 2987,
+  [SMALL_STATE(46)] = 3075,
   [SMALL_STATE(47)] = 3189,
   [SMALL_STATE(48)] = 3272,
   [SMALL_STATE(49)] = 3384,
-  [SMALL_STATE(50)] = 3496,
+  [SMALL_STATE(50)] = 3466,
   [SMALL_STATE(51)] = 3578,
   [SMALL_STATE(52)] = 3690,
-  [SMALL_STATE(53)] = 3802,
-  [SMALL_STATE(54)] = 3914,
+  [SMALL_STATE(53)] = 3772,
+  [SMALL_STATE(54)] = 3884,
   [SMALL_STATE(55)] = 3996,
   [SMALL_STATE(56)] = 4108,
   [SMALL_STATE(57)] = 4217,
@@ -12056,31 +12048,31 @@ static const uint32_t ts_small_parse_table_map[] = {
   [SMALL_STATE(96)] = 7409,
   [SMALL_STATE(97)] = 7488,
   [SMALL_STATE(98)] = 7567,
-  [SMALL_STATE(99)] = 7639,
+  [SMALL_STATE(99)] = 7643,
   [SMALL_STATE(100)] = 7715,
   [SMALL_STATE(101)] = 7759,
-  [SMALL_STATE(102)] = 7823,
-  [SMALL_STATE(103)] = 7887,
-  [SMALL_STATE(104)] = 7955,
-  [SMALL_STATE(105)] = 8019,
+  [SMALL_STATE(102)] = 7805,
+  [SMALL_STATE(103)] = 7869,
+  [SMALL_STATE(104)] = 7937,
+  [SMALL_STATE(105)] = 8001,
   [SMALL_STATE(106)] = 8065,
   [SMALL_STATE(107)] = 8130,
   [SMALL_STATE(108)] = 8171,
   [SMALL_STATE(109)] = 8233,
-  [SMALL_STATE(110)] = 8295,
-  [SMALL_STATE(111)] = 8357,
-  [SMALL_STATE(112)] = 8419,
-  [SMALL_STATE(113)] = 8459,
+  [SMALL_STATE(110)] = 8273,
+  [SMALL_STATE(111)] = 8335,
+  [SMALL_STATE(112)] = 8397,
+  [SMALL_STATE(113)] = 8435,
   [SMALL_STATE(114)] = 8497,
   [SMALL_STATE(115)] = 8559,
-  [SMALL_STATE(116)] = 8621,
-  [SMALL_STATE(117)] = 8683,
-  [SMALL_STATE(118)] = 8723,
+  [SMALL_STATE(116)] = 8599,
+  [SMALL_STATE(117)] = 8661,
+  [SMALL_STATE(118)] = 8701,
   [SMALL_STATE(119)] = 8763,
   [SMALL_STATE(120)] = 8825,
-  [SMALL_STATE(121)] = 8860,
-  [SMALL_STATE(122)] = 8895,
-  [SMALL_STATE(123)] = 8934,
+  [SMALL_STATE(121)] = 8862,
+  [SMALL_STATE(122)] = 8897,
+  [SMALL_STATE(123)] = 8936,
   [SMALL_STATE(124)] = 8971,
   [SMALL_STATE(125)] = 9007,
   [SMALL_STATE(126)] = 9040,
@@ -12116,147 +12108,146 @@ static const uint32_t ts_small_parse_table_map[] = {
   [SMALL_STATE(156)] = 10021,
   [SMALL_STATE(157)] = 10068,
   [SMALL_STATE(158)] = 10097,
-  [SMALL_STATE(159)] = 10123,
-  [SMALL_STATE(160)] = 10161,
+  [SMALL_STATE(159)] = 10121,
+  [SMALL_STATE(160)] = 10159,
   [SMALL_STATE(161)] = 10185,
   [SMALL_STATE(162)] = 10218,
   [SMALL_STATE(163)] = 10245,
   [SMALL_STATE(164)] = 10265,
   [SMALL_STATE(165)] = 10293,
   [SMALL_STATE(166)] = 10321,
-  [SMALL_STATE(167)] = 10343,
+  [SMALL_STATE(167)] = 10349,
   [SMALL_STATE(168)] = 10371,
-  [SMALL_STATE(169)] = 10396,
-  [SMALL_STATE(170)] = 10413,
-  [SMALL_STATE(171)] = 10432,
-  [SMALL_STATE(172)] = 10451,
-  [SMALL_STATE(173)] = 10472,
-  [SMALL_STATE(174)] = 10495,
+  [SMALL_STATE(169)] = 10392,
+  [SMALL_STATE(170)] = 10409,
+  [SMALL_STATE(171)] = 10434,
+  [SMALL_STATE(172)] = 10457,
+  [SMALL_STATE(173)] = 10476,
+  [SMALL_STATE(174)] = 10499,
   [SMALL_STATE(175)] = 10518,
   [SMALL_STATE(176)] = 10541,
   [SMALL_STATE(177)] = 10561,
-  [SMALL_STATE(178)] = 10583,
+  [SMALL_STATE(178)] = 10579,
   [SMALL_STATE(179)] = 10601,
   [SMALL_STATE(180)] = 10621,
-  [SMALL_STATE(181)] = 10639,
-  [SMALL_STATE(182)] = 10657,
-  [SMALL_STATE(183)] = 10679,
+  [SMALL_STATE(181)] = 10641,
+  [SMALL_STATE(182)] = 10661,
+  [SMALL_STATE(183)] = 10681,
   [SMALL_STATE(184)] = 10699,
   [SMALL_STATE(185)] = 10719,
-  [SMALL_STATE(186)] = 10739,
+  [SMALL_STATE(186)] = 10741,
   [SMALL_STATE(187)] = 10761,
-  [SMALL_STATE(188)] = 10781,
-  [SMALL_STATE(189)] = 10801,
+  [SMALL_STATE(188)] = 10783,
+  [SMALL_STATE(189)] = 10803,
   [SMALL_STATE(190)] = 10821,
   [SMALL_STATE(191)] = 10839,
-  [SMALL_STATE(192)] = 10857,
+  [SMALL_STATE(192)] = 10859,
   [SMALL_STATE(193)] = 10877,
   [SMALL_STATE(194)] = 10896,
-  [SMALL_STATE(195)] = 10913,
+  [SMALL_STATE(195)] = 10915,
   [SMALL_STATE(196)] = 10932,
-  [SMALL_STATE(197)] = 10951,
-  [SMALL_STATE(198)] = 10968,
+  [SMALL_STATE(197)] = 10947,
+  [SMALL_STATE(198)] = 10966,
   [SMALL_STATE(199)] = 10985,
-  [SMALL_STATE(200)] = 11000,
-  [SMALL_STATE(201)] = 11019,
-  [SMALL_STATE(202)] = 11034,
-  [SMALL_STATE(203)] = 11049,
-  [SMALL_STATE(204)] = 11068,
-  [SMALL_STATE(205)] = 11087,
-  [SMALL_STATE(206)] = 11102,
-  [SMALL_STATE(207)] = 11121,
-  [SMALL_STATE(208)] = 11140,
+  [SMALL_STATE(200)] = 11004,
+  [SMALL_STATE(201)] = 11021,
+  [SMALL_STATE(202)] = 11036,
+  [SMALL_STATE(203)] = 11055,
+  [SMALL_STATE(204)] = 11070,
+  [SMALL_STATE(205)] = 11089,
+  [SMALL_STATE(206)] = 11108,
+  [SMALL_STATE(207)] = 11125,
+  [SMALL_STATE(208)] = 11142,
   [SMALL_STATE(209)] = 11157,
-  [SMALL_STATE(210)] = 11176,
-  [SMALL_STATE(211)] = 11193,
+  [SMALL_STATE(210)] = 11172,
+  [SMALL_STATE(211)] = 11191,
   [SMALL_STATE(212)] = 11208,
   [SMALL_STATE(213)] = 11224,
   [SMALL_STATE(214)] = 11240,
-  [SMALL_STATE(215)] = 11256,
-  [SMALL_STATE(216)] = 11269,
-  [SMALL_STATE(217)] = 11282,
-  [SMALL_STATE(218)] = 11295,
-  [SMALL_STATE(219)] = 11308,
-  [SMALL_STATE(220)] = 11321,
-  [SMALL_STATE(221)] = 11334,
-  [SMALL_STATE(222)] = 11347,
-  [SMALL_STATE(223)] = 11360,
-  [SMALL_STATE(224)] = 11373,
-  [SMALL_STATE(225)] = 11386,
-  [SMALL_STATE(226)] = 11399,
-  [SMALL_STATE(227)] = 11412,
-  [SMALL_STATE(228)] = 11425,
-  [SMALL_STATE(229)] = 11438,
-  [SMALL_STATE(230)] = 11451,
-  [SMALL_STATE(231)] = 11464,
-  [SMALL_STATE(232)] = 11477,
-  [SMALL_STATE(233)] = 11490,
-  [SMALL_STATE(234)] = 11503,
-  [SMALL_STATE(235)] = 11516,
-  [SMALL_STATE(236)] = 11529,
-  [SMALL_STATE(237)] = 11542,
-  [SMALL_STATE(238)] = 11555,
-  [SMALL_STATE(239)] = 11568,
-  [SMALL_STATE(240)] = 11581,
-  [SMALL_STATE(241)] = 11594,
-  [SMALL_STATE(242)] = 11607,
-  [SMALL_STATE(243)] = 11620,
-  [SMALL_STATE(244)] = 11633,
-  [SMALL_STATE(245)] = 11646,
-  [SMALL_STATE(246)] = 11659,
-  [SMALL_STATE(247)] = 11672,
-  [SMALL_STATE(248)] = 11685,
-  [SMALL_STATE(249)] = 11698,
-  [SMALL_STATE(250)] = 11711,
-  [SMALL_STATE(251)] = 11724,
-  [SMALL_STATE(252)] = 11737,
-  [SMALL_STATE(253)] = 11750,
-  [SMALL_STATE(254)] = 11763,
-  [SMALL_STATE(255)] = 11776,
-  [SMALL_STATE(256)] = 11789,
-  [SMALL_STATE(257)] = 11802,
-  [SMALL_STATE(258)] = 11815,
-  [SMALL_STATE(259)] = 11828,
-  [SMALL_STATE(260)] = 11841,
-  [SMALL_STATE(261)] = 11845,
-  [SMALL_STATE(262)] = 11849,
+  [SMALL_STATE(215)] = 11253,
+  [SMALL_STATE(216)] = 11266,
+  [SMALL_STATE(217)] = 11279,
+  [SMALL_STATE(218)] = 11292,
+  [SMALL_STATE(219)] = 11305,
+  [SMALL_STATE(220)] = 11318,
+  [SMALL_STATE(221)] = 11331,
+  [SMALL_STATE(222)] = 11344,
+  [SMALL_STATE(223)] = 11357,
+  [SMALL_STATE(224)] = 11370,
+  [SMALL_STATE(225)] = 11383,
+  [SMALL_STATE(226)] = 11396,
+  [SMALL_STATE(227)] = 11409,
+  [SMALL_STATE(228)] = 11422,
+  [SMALL_STATE(229)] = 11435,
+  [SMALL_STATE(230)] = 11448,
+  [SMALL_STATE(231)] = 11461,
+  [SMALL_STATE(232)] = 11474,
+  [SMALL_STATE(233)] = 11487,
+  [SMALL_STATE(234)] = 11500,
+  [SMALL_STATE(235)] = 11513,
+  [SMALL_STATE(236)] = 11526,
+  [SMALL_STATE(237)] = 11539,
+  [SMALL_STATE(238)] = 11552,
+  [SMALL_STATE(239)] = 11565,
+  [SMALL_STATE(240)] = 11578,
+  [SMALL_STATE(241)] = 11591,
+  [SMALL_STATE(242)] = 11604,
+  [SMALL_STATE(243)] = 11617,
+  [SMALL_STATE(244)] = 11630,
+  [SMALL_STATE(245)] = 11643,
+  [SMALL_STATE(246)] = 11656,
+  [SMALL_STATE(247)] = 11669,
+  [SMALL_STATE(248)] = 11682,
+  [SMALL_STATE(249)] = 11695,
+  [SMALL_STATE(250)] = 11708,
+  [SMALL_STATE(251)] = 11721,
+  [SMALL_STATE(252)] = 11734,
+  [SMALL_STATE(253)] = 11747,
+  [SMALL_STATE(254)] = 11760,
+  [SMALL_STATE(255)] = 11773,
+  [SMALL_STATE(256)] = 11786,
+  [SMALL_STATE(257)] = 11799,
+  [SMALL_STATE(258)] = 11812,
+  [SMALL_STATE(259)] = 11825,
+  [SMALL_STATE(260)] = 11838,
+  [SMALL_STATE(261)] = 11842,
 };
 
 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(252),
-  [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213),
+  [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259),
+  [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219),
   [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 0),
   [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4),
-  [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56),
+  [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
   [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63),
-  [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131),
-  [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259),
-  [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136),
-  [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(257),
-  [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48),
-  [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87),
-  [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55),
-  [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92),
-  [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189),
-  [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168),
-  [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(182),
-  [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93),
+  [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129),
+  [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258),
+  [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131),
+  [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(256),
+  [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53),
+  [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90),
+  [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48),
+  [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93),
+  [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(184),
+  [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170),
+  [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(185),
+  [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94),
   [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bracket_index_expression, 4, .production_id = 23),
   [41] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bracket_index_expression, 4, .production_id = 23),
   [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dot_index_expression, 3, .production_id = 23),
   [45] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dot_index_expression, 3, .production_id = 23),
   [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_table_constructor, 3),
-  [53] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_constructor, 3),
-  [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 2, .production_id = 11),
-  [57] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 2, .production_id = 11),
-  [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 1),
-  [61] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 1),
-  [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 4),
-  [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 4),
+  [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__quote_string, 3, .production_id = 28),
+  [53] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__quote_string, 3, .production_id = 28),
+  [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 4),
+  [57] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 4),
+  [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 2, .production_id = 10),
+  [61] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 2, .production_id = 10),
+  [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 1),
+  [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 1),
   [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1),
   [69] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1),
   [71] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__prefix_expression, 1),
@@ -12265,343 +12256,341 @@ static const TSParseActionEntry ts_parse_actions[] = {
   [77] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3),
   [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 3),
   [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 3),
-  [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 2),
-  [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 2),
-  [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1, .production_id = 7),
-  [89] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 1, .production_id = 7),
-  [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__quote_string, 2, .production_id = 5),
-  [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__quote_string, 2, .production_id = 5),
+  [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1, .production_id = 6),
+  [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 1, .production_id = 6),
+  [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 2),
+  [89] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 2),
+  [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__quote_string, 2, .production_id = 14),
+  [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__quote_string, 2, .production_id = 14),
   [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constructor, 2),
   [97] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_constructor, 2),
-  [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block_string, 3, .production_id = 13),
-  [101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block_string, 3, .production_id = 13),
-  [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__quote_string, 3, .production_id = 28),
-  [105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__quote_string, 3, .production_id = 28),
-  [107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 29),
-  [109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 29),
-  [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
-  [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
-  [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80),
-  [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
-  [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79),
-  [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
-  [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72),
-  [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97),
-  [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71),
-  [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89),
-  [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89),
-  [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83),
-  [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84),
-  [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 2, .production_id = 27),
-  [139] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 2, .production_id = 27),
-  [141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59),
-  [143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151),
-  [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91),
-  [147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53),
-  [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 2, .production_id = 14),
-  [151] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 2, .production_id = 14),
-  [153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 3, .production_id = 41),
-  [155] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 3, .production_id = 41),
-  [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 16),
-  [159] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 16),
-  [161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_explist, 1, .production_id = 15),
-  [163] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__variable_assignment_explist, 1, .production_id = 15),
-  [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
-  [167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88),
-  [169] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block, 1),
-  [171] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_statement, 3, .production_id = 30),
-  [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2),
-  [175] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(4),
-  [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2),
-  [180] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(131),
-  [183] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(259),
-  [186] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(136),
-  [189] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(257),
-  [192] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(48),
-  [195] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(87),
-  [198] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(55),
-  [201] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(92),
-  [204] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(189),
-  [207] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(168),
-  [210] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(182),
-  [213] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(93),
+  [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block_string, 3, .production_id = 12),
+  [101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block_string, 3, .production_id = 12),
+  [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constructor, 3),
+  [105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_constructor, 3),
+  [107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 16),
+  [109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 16),
+  [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
+  [113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 29),
+  [115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 29),
+  [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
+  [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80),
+  [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(72),
+  [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
+  [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82),
+  [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88),
+  [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
+  [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83),
+  [139] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84),
+  [141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 3, .production_id = 41),
+  [143] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 3, .production_id = 41),
+  [145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 2, .production_id = 27),
+  [147] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 2, .production_id = 27),
+  [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 2, .production_id = 13),
+  [151] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 2, .production_id = 13),
+  [153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59),
+  [155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145),
+  [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92),
+  [159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51),
+  [161] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block, 1),
+  [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2),
+  [165] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(4),
+  [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2),
+  [170] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(129),
+  [173] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(258),
+  [176] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(131),
+  [179] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(256),
+  [182] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(53),
+  [185] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(90),
+  [188] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(48),
+  [191] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(93),
+  [194] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(184),
+  [197] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(170),
+  [200] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(185),
+  [203] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2), SHIFT_REPEAT(94),
+  [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_explist, 1, .production_id = 15),
+  [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__variable_assignment_explist, 1, .production_id = 15),
+  [210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
+  [212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87),
+  [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_statement, 3, .production_id = 30),
   [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 50),
   [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 50),
-  [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133),
-  [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150),
-  [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 3, .production_id = 18),
-  [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 3, .production_id = 18),
-  [228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148),
-  [230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30),
-  [232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_statement, 1),
-  [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 4, .production_id = 31),
-  [236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 4, .production_id = 31),
-  [238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95),
-  [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 1),
-  [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 2),
-  [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171),
+  [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73),
+  [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 3, .production_id = 18),
+  [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 3, .production_id = 18),
+  [226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146),
+  [228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_statement, 1),
+  [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 4, .production_id = 31),
+  [232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 4, .production_id = 31),
+  [234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134),
+  [236] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31),
+  [238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(143),
+  [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 2),
+  [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 1),
+  [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172),
   [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 1),
-  [248] = {.entry = {.count = 1, .reusable = false}}, SHIFT(196),
-  [250] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20),
-  [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
-  [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184),
-  [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188),
+  [248] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199),
+  [250] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40),
+  [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
+  [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179),
+  [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182),
   [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
-  [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
-  [262] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76),
+  [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
+  [262] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75),
   [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249),
   [266] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65),
-  [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96),
+  [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
   [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
-  [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
-  [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_list, 2),
+  [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
+  [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_list, 3),
   [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 1),
-  [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_list, 3),
-  [280] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77),
-  [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
-  [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list_repeat1, 2),
-  [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list_repeat1, 2),
-  [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
-  [290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
-  [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_list, 1),
-  [294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90),
-  [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_list, 1),
+  [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_list, 2),
+  [280] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91),
+  [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
+  [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_list, 1),
+  [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89),
+  [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_list, 1),
+  [290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87),
+  [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
+  [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list_repeat1, 2),
+  [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list_repeat1, 2),
   [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1),
   [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1),
-  [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 3, .production_id = 42),
-  [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 5, .production_id = 56),
-  [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
-  [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 1, .production_id = 15),
-  [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__att_name_list, 1, .production_id = 4),
-  [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__att_name_list, 1, .production_id = 4),
-  [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218),
-  [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240),
-  [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
+  [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__att_name_list, 1, .production_id = 4),
+  [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__att_name_list, 1, .production_id = 4),
+  [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217),
+  [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241),
+  [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 1, .production_id = 15),
+  [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
+  [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 5, .production_id = 56),
+  [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 3, .production_id = 42),
+  [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96),
   [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_numeric_clause, 5, .production_id = 55),
   [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__att_name_list_repeat1, 2, .production_id = 25),
   [324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__att_name_list_repeat1, 2, .production_id = 25),
-  [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94),
-  [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_numeric_clause, 7, .production_id = 58),
-  [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
-  [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228),
-  [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__att_name_list, 3, .production_id = 36),
-  [336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__att_name_list, 3, .production_id = 36),
-  [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__att_name_list_repeat1, 2, .production_id = 37),
-  [340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__att_name_list_repeat1, 2, .production_id = 37),
-  [342] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__att_name_list_repeat1, 2, .production_id = 37), SHIFT_REPEAT(218),
-  [345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
-  [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51),
-  [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
-  [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__att_name_list, 2, .production_id = 21),
-  [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__att_name_list, 2, .production_id = 21),
-  [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__att_name_list, 2, .production_id = 20),
-  [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__att_name_list, 2, .production_id = 20),
-  [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
-  [361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attrib, 3),
-  [363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attrib, 3),
-  [365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__att_name_list_repeat1, 3, .production_id = 49),
-  [367] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__att_name_list_repeat1, 3, .production_id = 49),
-  [369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_explist, 2, .production_id = 39),
-  [371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__variable_assignment_explist, 2, .production_id = 39),
-  [373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 51),
-  [375] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 51),
-  [377] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 51), SHIFT_REPEAT(75),
-  [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2, .production_id = 10),
-  [382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 2, .production_id = 10),
-  [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69),
-  [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 3, .production_id = 19),
-  [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 3, .production_id = 19),
-  [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, .production_id = 48),
-  [392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, .production_id = 48),
-  [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 46),
-  [396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 46),
-  [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 45),
-  [400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 45),
-  [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, .production_id = 57),
-  [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, .production_id = 57),
+  [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
+  [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__att_name_list, 3, .production_id = 36),
+  [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__att_name_list, 3, .production_id = 36),
+  [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
+  [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
+  [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__att_name_list_repeat1, 2, .production_id = 37),
+  [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__att_name_list_repeat1, 2, .production_id = 37),
+  [340] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__att_name_list_repeat1, 2, .production_id = 37), SHIFT_REPEAT(217),
+  [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
+  [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_numeric_clause, 7, .production_id = 58),
+  [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__att_name_list, 2, .production_id = 21),
+  [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__att_name_list, 2, .production_id = 21),
+  [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228),
+  [353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__att_name_list, 2, .production_id = 20),
+  [355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__att_name_list, 2, .production_id = 20),
+  [357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
+  [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
+  [361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 51),
+  [363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 51),
+  [365] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, .production_id = 51), SHIFT_REPEAT(78),
+  [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attrib, 3),
+  [370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attrib, 3),
+  [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_explist, 2, .production_id = 39),
+  [374] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__variable_assignment_explist, 2, .production_id = 39),
+  [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__att_name_list_repeat1, 3, .production_id = 49),
+  [378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__att_name_list_repeat1, 3, .production_id = 49),
+  [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2, .production_id = 9),
+  [382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 2, .production_id = 9),
+  [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
+  [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 45),
+  [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 45),
+  [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1, .production_id = 2),
+  [392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1, .production_id = 2),
+  [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 3, .production_id = 19),
+  [396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 3, .production_id = 19),
+  [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, .production_id = 57),
+  [400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, .production_id = 57),
+  [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_empty_statement, 1),
+  [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_empty_statement, 1),
   [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 44),
   [408] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 44),
-  [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_empty_statement, 1),
-  [412] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_empty_statement, 1),
-  [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, .production_id = 43),
-  [416] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, .production_id = 43),
+  [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 54),
+  [412] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 54),
+  [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 2),
+  [416] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 2),
   [418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 2),
   [420] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 2),
-  [422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 1),
-  [424] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 1),
-  [426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 3, .production_id = 17),
-  [428] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 3, .production_id = 17),
-  [430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 3, .production_id = 22),
-  [432] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_statement, 3, .production_id = 22),
-  [434] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label_statement, 3),
-  [436] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_label_statement, 3),
-  [438] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 54),
-  [440] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 54),
-  [442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_variable_assignment, 3, .production_id = 38),
-  [444] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_variable_assignment, 3, .production_id = 38),
-  [446] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 53),
-  [448] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 53),
-  [450] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, .production_id = 1),
-  [452] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, .production_id = 1),
-  [454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 52),
-  [456] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 52),
-  [458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1),
-  [460] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1),
-  [462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2),
-  [464] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 2),
-  [466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1, .production_id = 2),
-  [468] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1, .production_id = 2),
-  [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1, .production_id = 3),
-  [472] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1, .production_id = 3),
-  [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 4, .production_id = 30),
-  [476] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 4, .production_id = 30),
-  [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_function_declaration, 4, .production_id = 35),
-  [480] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_function_declaration, 4, .production_id = 35),
-  [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 4, .production_id = 33),
-  [484] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 4, .production_id = 33),
-  [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, .production_id = 30),
-  [488] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, .production_id = 30),
-  [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 2),
-  [492] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 2),
+  [422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 53),
+  [424] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 53),
+  [426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 3, .production_id = 22),
+  [428] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_statement, 3, .production_id = 22),
+  [430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_variable_assignment, 3, .production_id = 38),
+  [432] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_variable_assignment, 3, .production_id = 38),
+  [434] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 52),
+  [436] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 52),
+  [438] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2),
+  [440] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 2),
+  [442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_function_declaration, 4, .production_id = 35),
+  [444] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_function_declaration, 4, .production_id = 35),
+  [446] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 3, .production_id = 17),
+  [448] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 3, .production_id = 17),
+  [450] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label_statement, 3),
+  [452] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_label_statement, 3),
+  [454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 4, .production_id = 33),
+  [456] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 4, .production_id = 33),
+  [458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, .production_id = 48),
+  [460] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, .production_id = 48),
+  [462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, .production_id = 30),
+  [464] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, .production_id = 30),
+  [466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 4, .production_id = 30),
+  [468] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 4, .production_id = 30),
+  [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, .production_id = 43),
+  [472] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, .production_id = 43),
+  [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 1),
+  [476] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 1),
+  [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, .production_id = 1),
+  [480] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, .production_id = 1),
+  [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1),
+  [484] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1),
+  [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 46),
+  [488] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 46),
+  [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1, .production_id = 3),
+  [492] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1, .production_id = 3),
   [494] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_sep, 1),
   [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_sep, 1),
-  [498] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 2),
-  [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2),
-  [502] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 3, .production_id = 40),
-  [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3, .production_id = 40),
+  [498] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 3, .production_id = 40),
+  [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3, .production_id = 40),
+  [502] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 2),
+  [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2),
   [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234),
   [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233),
-  [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185),
-  [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187),
-  [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67),
+  [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188),
+  [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186),
+  [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69),
   [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
   [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60),
   [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229),
   [522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_varlist, 1, .production_id = 4),
   [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161),
-  [526] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list_repeat1, 2), SHIFT_REPEAT(90),
-  [529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_varlist_repeat1, 2, .production_id = 25),
+  [526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_varlist_repeat1, 2, .production_id = 25),
+  [528] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list_repeat1, 2), SHIFT_REPEAT(89),
   [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
   [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_list, 2),
   [535] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_list, 2),
-  [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130),
-  [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
-  [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127),
-  [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2),
-  [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170),
-  [547] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2),
-  [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141),
-  [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199),
-  [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_index_expression, 3, .production_id = 24),
-  [555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3),
-  [557] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3),
-  [559] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__field_list_repeat1, 2), SHIFT_REPEAT(153),
-  [562] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_list_repeat1, 2),
-  [564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153),
-  [566] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_list, 1),
-  [568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 47),
-  [570] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 47), SHIFT_REPEAT(91),
-  [573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 47),
-  [575] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18),
-  [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210),
-  [579] = {.entry = {.count = 1, .reusable = false}}, SHIFT(252),
-  [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195),
-  [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232),
-  [585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154),
-  [587] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 26), SHIFT_REPEAT(223),
-  [590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 26),
-  [592] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29),
-  [594] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__singlequote_string_content, 2),
-  [596] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__singlequote_string_content, 2), SHIFT_REPEAT(210),
-  [599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__doublequote_string_content, 2),
-  [601] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__doublequote_string_content, 2), SHIFT_REPEAT(194),
-  [604] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105),
+  [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151),
+  [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92),
+  [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130),
+  [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135),
+  [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2),
+  [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174),
+  [549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2),
+  [551] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__field_list_repeat1, 2), SHIFT_REPEAT(153),
+  [554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_list_repeat1, 2),
+  [556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_index_expression, 3, .production_id = 24),
+  [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201),
+  [560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153),
+  [562] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 47),
+  [564] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 47), SHIFT_REPEAT(92),
+  [567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 47),
+  [569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3),
+  [571] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3),
+  [573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_list, 1),
+  [575] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30),
+  [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206),
+  [579] = {.entry = {.count = 1, .reusable = false}}, SHIFT(259),
+  [581] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 26), SHIFT_REPEAT(223),
+  [584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 26),
+  [586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205),
+  [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232),
+  [590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155),
+  [592] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36),
+  [594] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5),
+  [596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207),
+  [598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 2),
+  [600] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block, 2),
+  [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187),
+  [604] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101),
   [606] = {.entry = {.count = 1, .reusable = false}}, SHIFT(235),
-  [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194),
-  [610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39),
-  [612] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15),
-  [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
-  [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223),
-  [618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name_list, 1, .production_id = 4),
-  [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186),
-  [622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 2),
-  [624] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block, 2),
-  [626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 1),
-  [628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177),
-  [630] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__doublequote_string_content, 1),
-  [632] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__doublequote_string_content, 1),
-  [634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212),
-  [636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 1, .production_id = 4),
-  [638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elseif_statement, 4, .production_id = 44),
-  [640] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_statement, 4, .production_id = 44),
-  [642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 32),
-  [644] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 32),
-  [646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_prefix_expression, 1),
-  [648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221),
-  [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217),
-  [652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name, 1),
-  [654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_prefix_expression, 1, .production_id = 8),
-  [656] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 25),
-  [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
-  [660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_dot_index_expression, 3, .production_id = 23),
-  [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214),
-  [664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 2, .production_id = 12),
-  [666] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_varlist, 2, .production_id = 12),
-  [668] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_varlist_repeat1, 2, .production_id = 26),
-  [670] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__variable_assignment_varlist_repeat1, 2, .production_id = 26), SHIFT_REPEAT(161),
-  [673] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name_list, 2, .production_id = 12),
-  [675] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__singlequote_string_content, 1),
-  [677] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__singlequote_string_content, 1),
-  [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202),
-  [681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231),
-  [683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253),
-  [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260),
-  [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241),
-  [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 3),
-  [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129),
-  [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238),
-  [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107),
-  [697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_statement, 2, .production_id = 17),
-  [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143),
-  [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205),
-  [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139),
-  [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
-  [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120),
-  [709] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_generic_clause, 3, .production_id = 34),
-  [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
-  [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
-  [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258),
-  [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126),
-  [719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 3, .production_id = 4),
-  [721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 1),
-  [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169),
-  [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
-  [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204),
-  [729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name, 1, .production_id = 9),
-  [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38),
-  [733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_method_index_expression, 3, .production_id = 24),
-  [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132),
+  [608] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15),
+  [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
+  [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223),
+  [614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name_list, 1, .production_id = 4),
+  [616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__doublequote_string_content, 2),
+  [618] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__doublequote_string_content, 2), SHIFT_REPEAT(206),
+  [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 1),
+  [623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__singlequote_string_content, 2),
+  [625] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__singlequote_string_content, 2), SHIFT_REPEAT(207),
+  [628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221),
+  [630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220),
+  [632] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name, 1),
+  [634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178),
+  [636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 32),
+  [638] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 32),
+  [640] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__name_list_repeat1, 2, .production_id = 25),
+  [642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
+  [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213),
+  [646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 2, .production_id = 11),
+  [648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elseif_statement, 4, .production_id = 44),
+  [650] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_statement, 4, .production_id = 44),
+  [652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_prefix_expression, 1),
+  [654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_prefix_expression, 1, .production_id = 7),
+  [656] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_varlist, 2, .production_id = 11),
+  [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212),
+  [660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 1, .production_id = 4),
+  [662] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__doublequote_string_content, 1),
+  [664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__doublequote_string_content, 1),
+  [666] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__singlequote_string_content, 1),
+  [668] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__singlequote_string_content, 1),
+  [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_dot_index_expression, 3, .production_id = 23),
+  [672] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name_list, 2, .production_id = 11),
+  [674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_varlist_repeat1, 2, .production_id = 26),
+  [676] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__variable_assignment_varlist_repeat1, 2, .production_id = 26), SHIFT_REPEAT(161),
+  [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196),
+  [681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230),
+  [683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240),
+  [685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 3),
+  [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128),
+  [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_statement, 2, .production_id = 17),
+  [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107),
+  [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138),
+  [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252),
+  [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237),
+  [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209),
+  [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132),
+  [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
+  [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121),
+  [707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_generic_clause, 3, .production_id = 34),
+  [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
+  [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
+  [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257),
+  [715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 3, .production_id = 4),
+  [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144),
+  [719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 1),
+  [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169),
+  [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
+  [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194),
+  [727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name, 1, .production_id = 8),
+  [729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_method_index_expression, 3, .production_id = 24),
+  [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
+  [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147),
+  [735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 4, .production_id = 11),
   [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225),
-  [739] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 4, .production_id = 12),
-  [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
-  [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128),
-  [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
-  [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
-  [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135),
-  [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138),
-  [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155),
-  [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227),
-  [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
-  [759] = {.entry = {.count = 1, .reusable = false}}, SHIFT(261),
-  [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262),
-  [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70),
-  [765] = {.entry = {.count = 1, .reusable = true}},  ACCEPT_INPUT(),
-  [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152),
-  [769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
-  [771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247),
-  [773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2, .production_id = 5),
-  [775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2, .production_id = 6),
-  [777] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 3, .production_id = 13),
+  [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125),
+  [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67),
+  [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
+  [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97),
+  [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141),
+  [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142),
+  [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154),
+  [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227),
+  [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
+  [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261),
+  [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70),
+  [761] = {.entry = {.count = 1, .reusable = true}},  ACCEPT_INPUT(),
+  [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133),
+  [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
+  [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247),
+  [769] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260),
+  [771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2, .production_id = 5),
+  [773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 3, .production_id = 12),
 };
 
 #ifdef __cplusplus


Test patch:
diff --git a/test/corpus/comments.txt b/test/corpus/comments.txt
index f38a17f..ba51866 100644
--- a/test/corpus/comments.txt
+++ b/test/corpus/comments.txt
@@ -5,6 +5,8 @@ comment
 --
 -- single-line comment, below an empty single-line comment
 
+--[[]]
+
 --[[
 print("block comment")
 --]]
@@ -54,29 +56,47 @@ print("not level 2 block comment")
 --------------------------------------------------------------------------------
 
 (chunk
-  (comment)
-  (comment)
-  (comment)
-  (comment)
-  (comment)
+  (comment
+    content: (comment_content))
+  (comment
+    content: (comment_content))
+  (comment
+    content: (comment_content))
+  (comment
+    content: (comment_content))
+  (comment
+    content: (comment_content))
+  (comment
+    content: (comment_content))
   (function_call
     name: (identifier)
     arguments: (arguments
       (string
         content: (string_content))))
-  (comment)
-  (comment)
-  (comment)
-  (comment)
-  (comment)
-  (comment)
-  (comment)
-  (comment)
-  (comment)
-  (comment)
+  (comment
+    content: (comment_content))
+  (comment
+    content: (comment_content))
+  (comment
+    content: (comment_content))
+  (comment
+    content: (comment_content))
+  (comment
+    content: (comment_content))
+  (comment
+    content: (comment_content))
+  (comment
+    content: (comment_content))
+  (comment
+    content: (comment_content))
+  (comment
+    content: (comment_content))
+  (comment
+    content: (comment_content))
   (function_call
     name: (identifier)
     arguments: (arguments
       (string
         content: (string_content))))
-  (comment))
+  (comment
+    content: (comment_content)))