summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2026-01-22 11:19:54 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2026-01-22 11:19:54 +0100
commit19dadd080226d2e7c6dc44a53eb0ee3ee2afcbae (patch)
tree97f0b4b584b33bc11da1edac1ab9b7eea3413888
parent5ed59329be62c0b3a59fb47a89fd8c00a74bed5d (diff)
downloadcrep-19dadd080226d2e7c6dc44a53eb0ee3ee2afcbae.tar.gz
Add Lua grammar
-rw-r--r--Makefile3
-rw-r--r--README.md4
-rw-r--r--main.c6
-rw-r--r--queries/lua.h23
-rw-r--r--queries/lua.scm2
-rw-r--r--tests.sh7
-rw-r--r--tests/test.lua34
-rw-r--r--vendor/tree-sitter-lua/LICENSE.md21
-rw-r--r--vendor/tree-sitter-lua/Makefile109
-rw-r--r--vendor/tree-sitter-lua/src/grammar.json3098
-rw-r--r--vendor/tree-sitter-lua/src/node-types.json1308
-rw-r--r--vendor/tree-sitter-lua/src/parser.c12646
-rw-r--r--vendor/tree-sitter-lua/src/scanner.c194
-rw-r--r--vendor/tree-sitter-lua/src/tree_sitter/alloc.h54
-rw-r--r--vendor/tree-sitter-lua/src/tree_sitter/array.h290
-rw-r--r--vendor/tree-sitter-lua/src/tree_sitter/parser.h266
16 files changed, 18064 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index ae798c2..002a0b2 100644
--- a/Makefile
+++ b/Makefile
@@ -26,6 +26,7 @@ queries:
xxd -i -n query_go queries/go.scm > queries/go.h
xxd -i -n query_rust queries/rust.scm > queries/rust.h
xxd -i -n query_javascript queries/javascript.scm > queries/javascript.h
+ xxd -i -n query_lua queries/lua.scm > queries/lua.h
tsbuild:
-$(MAKE) -C vendor/tree-sitter -B
@@ -36,6 +37,7 @@ tsbuild:
-$(MAKE) -C vendor/tree-sitter-go -B
-$(MAKE) -C vendor/tree-sitter-rust -B
-$(MAKE) -C vendor/tree-sitter-javascript -B
+ -$(MAKE) -C vendor/tree-sitter-lua -B
valgrind:
valgrind -s --leak-check=full ./$(TARGET)
@@ -56,3 +58,4 @@ clean:
$(MAKE) -C vendor/tree-sitter-go -B clean
$(MAKE) -C vendor/tree-sitter-rust -B clean
$(MAKE) -C vendor/tree-sitter-javascript -B clean
+ $(MAKE) -C vendor/tree-sitter-lua -B clean
diff --git a/README.md b/README.md
index c001382..e6967d6 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@ structure of your code, allowing for more precise semantic searching.
- **Semantic Search**: Uses Tree-sitter to parse code into Concrete Syntax Trees
(CSTs) and execute queries against them.
- **Broad Language Support**: Supports multiple languages including C, C++, Go,
- Python, PHP, Rust, and JavaScript.
+ Python, PHP, Rust, JavaScript and Lua.
- **Multi-threaded**: Utilizes a custom thread pool for efficient scanning of
large codebases.
- **Structural Matching**: Reports file path, line number, return type, function
@@ -94,6 +94,7 @@ Search for "main" allowing for 2 typos (e.g. "mian"):
| PHP | `.php` |
| Rust | `.rs` |
| JavaScript | `.js` |
+| Lua | `.lua` |
## Additional resources
@@ -104,3 +105,4 @@ Search for "main" allowing for 2 typos (e.g. "mian"):
- https://github.com/tree-sitter/tree-sitter
- https://tree-sitter.github.io/tree-sitter/playground
- https://dreampuf.github.io/GraphvizOnline/
+- https://github.com/tree-sitter-grammars
diff --git a/main.c b/main.c
index 5c0fae6..b923cdc 100644
--- a/main.c
+++ b/main.c
@@ -23,6 +23,7 @@
#include "queries/php.h"
#include "queries/python.h"
#include "queries/rust.h"
+#include "queries/lua.h"
int debug_enabled = 0;
@@ -33,6 +34,7 @@ TSLanguage *tree_sitter_python(void);
TSLanguage *tree_sitter_php(void);
TSLanguage *tree_sitter_rust(void);
TSLanguage *tree_sitter_javascript(void);
+TSLanguage *tree_sitter_lua(void);
#define MIN(a, b) ((a) < (b) ? (a) : (b))
@@ -339,6 +341,10 @@ int main(int argc, char *argv[]) {
lang = tree_sitter_javascript();
query_string = (const char *)query_javascript;
query_len = query_javascript_len;
+ } else if (strcmp(extension, "lua") == 0) {
+ lang = tree_sitter_lua();
+ query_string = (const char *)query_lua;
+ query_len = query_lua_len;
}
}
diff --git a/queries/lua.h b/queries/lua.h
new file mode 100644
index 0000000..e2089c7
--- /dev/null
+++ b/queries/lua.h
@@ -0,0 +1,23 @@
+unsigned char query_lua[] = {
+ 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65,
+ 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x22, 0x66,
+ 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x40, 0x66, 0x74,
+ 0x79, 0x70, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x28, 0x5f,
+ 0x29, 0x20, 0x40, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x70, 0x61, 0x72,
+ 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x20, 0x28, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x29, 0x20, 0x40, 0x66,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x0a, 0x28, 0x61, 0x73, 0x73,
+ 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x28, 0x76, 0x61, 0x72, 0x69, 0x61,
+ 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6e, 0x61, 0x6d,
+ 0x65, 0x3a, 0x20, 0x28, 0x5f, 0x29, 0x20, 0x40, 0x66, 0x6e, 0x61, 0x6d,
+ 0x65, 0x29, 0x20, 0x28, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x28, 0x66, 0x75, 0x6e,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x22, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x22, 0x20, 0x40, 0x66, 0x74, 0x79, 0x70, 0x65, 0x20, 0x70,
+ 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x20, 0x28,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x29, 0x20,
+ 0x40, 0x66, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x29, 0x29, 0x29, 0x0a
+};
+unsigned int query_lua_len = 240;
diff --git a/queries/lua.scm b/queries/lua.scm
new file mode 100644
index 0000000..f708a7c
--- /dev/null
+++ b/queries/lua.scm
@@ -0,0 +1,2 @@
+(function_declaration "function" @ftype name: (_) @fname parameters: (parameters) @fparams)
+(assignment_statement (variable_list name: (_) @fname) (expression_list (function_definition "function" @ftype parameters: (parameters) @fparams)))
diff --git a/tests.sh b/tests.sh
index 9ed8e9e..2e19325 100644
--- a/tests.sh
+++ b/tests.sh
@@ -97,6 +97,13 @@ run_test "C++ Class" "MyClass" "$TEST_DIR/test.cpp" "class MyClass"
run_test "C++ Struct" "MyStruct" "$TEST_DIR/test.cpp" "struct MyStruct"
run_test "C++ Method" "myMethod" "$TEST_DIR/test.cpp" "void myMethod ()"
+# Lua Tests
+run_test "Lua Func" "hello" "$TEST_DIR/test.lua" "function hello"
+run_test "Lua Local Func" "secret_formula" "$TEST_DIR/test.lua" "function secret_formula"
+run_test "Lua Assignment" "myfunc" "$TEST_DIR/test.lua" "function myfunc"
+run_test "Lua Method" "greet" "$TEST_DIR/test.lua" "function MyTable:greet"
+run_test "Lua Nested" "inner" "$TEST_DIR/test.lua" "function inner"
+
# Case Sensitivity Tests
run_test "Default Case Insensitive" "foo" "tests/test.c" "void FooBar"
run_test_with_flags "Case Sensitive -c" "-c" "foobar" "tests/test.c" "void foobar"
diff --git a/tests/test.lua b/tests/test.lua
new file mode 100644
index 0000000..32e18c7
--- /dev/null
+++ b/tests/test.lua
@@ -0,0 +1,34 @@
+-- Standard function declaration
+function hello(name)
+ print("Hello, " .. name)
+end
+
+-- Local function declaration
+local function secret_formula(x, y)
+ return x * y + 42
+end
+
+-- Function assigned to a variable
+myfunc = function(a, b)
+ return a - b
+end
+
+-- Method-like function
+local MyTable = {}
+function MyTable:greet()
+ print("Greetings!")
+end
+
+-- Nested function
+function outer()
+ local function inner()
+ print("I am inside")
+ end
+ inner()
+end
+
+hello("User")
+secret_formula(1, 2)
+myfunc(10, 5)
+MyTable:greet()
+outer()
diff --git a/vendor/tree-sitter-lua/LICENSE.md b/vendor/tree-sitter-lua/LICENSE.md
new file mode 100644
index 0000000..ff0407e
--- /dev/null
+++ b/vendor/tree-sitter-lua/LICENSE.md
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2021 Munif Tanjim
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/vendor/tree-sitter-lua/Makefile b/vendor/tree-sitter-lua/Makefile
new file mode 100644
index 0000000..cbf60e0
--- /dev/null
+++ b/vendor/tree-sitter-lua/Makefile
@@ -0,0 +1,109 @@
+VERSION := 0.19.0
+
+# Repository
+SRC_DIR := src
+
+PARSER_REPO_URL := $(shell git -C $(SRC_DIR) remote get-url origin )
+PARSER_NAME := lua
+
+ifeq (, $(PARSER_URL))
+ PARSER_URL := $(subst :,/,$(PARSER_REPO_URL))
+ PARSER_URL := $(subst git@,https://,$(PARSER_URL))
+ PARSER_URL := $(subst .git,,$(PARSER_URL))
+endif
+
+UPPER_PARSER_NAME := $(shell echo $(PARSER_NAME) | tr a-z A-Z )
+
+# install directory layout
+PREFIX ?= /usr/local
+INCLUDEDIR ?= $(PREFIX)/include
+LIBDIR ?= $(PREFIX)/lib
+PCLIBDIR ?= $(LIBDIR)/pkgconfig
+
+# collect C++ sources, and link if necessary
+CPPSRC := $(wildcard $(SRC_DIR)/*.cc)
+
+ifeq (, $(CPPSRC))
+ ADDITIONALLIBS :=
+else
+ ADDITIONALLIBS := -lc++
+endif
+
+# collect sources
+SRC := $(wildcard $(SRC_DIR)/*.c)
+SRC += $(CPPSRC)
+OBJ := $(addsuffix .o,$(basename $(SRC)))
+
+# ABI versioning
+SONAME_MAJOR := 0
+SONAME_MINOR := 0
+
+CFLAGS ?= -O3 -Wall -Wextra -I$(SRC_DIR)
+CXXFLAGS ?= -O3 -Wall -Wextra -I$(SRC_DIR)
+override CFLAGS += -std=gnu99 -fPIC
+override CXXFLAGS += -fPIC
+
+# OS-specific bits
+ifeq ($(shell uname),Darwin)
+ SOEXT = dylib
+ SOEXTVER_MAJOR = $(SONAME_MAJOR).dylib
+ SOEXTVER = $(SONAME_MAJOR).$(SONAME_MINOR).dylib
+ LINKSHARED := $(LINKSHARED)-dynamiclib -Wl,
+ ifneq ($(ADDITIONALLIBS),)
+ LINKSHARED := $(LINKSHARED)$(ADDITIONALLIBS),
+ endif
+ LINKSHARED := $(LINKSHARED)-install_name,$(LIBDIR)/libtree-sitter-$(PARSER_NAME).$(SONAME_MAJOR).dylib,-rpath,@executable_path/../Frameworks
+else
+ SOEXT = so
+ SOEXTVER_MAJOR = so.$(SONAME_MAJOR)
+ SOEXTVER = so.$(SONAME_MAJOR).$(SONAME_MINOR)
+ LINKSHARED := $(LINKSHARED)-shared -Wl,
+ ifneq ($(ADDITIONALLIBS),)
+ LINKSHARED := $(LINKSHARED)$(ADDITIONALLIBS),
+ endif
+ LINKSHARED := $(LINKSHARED)-soname,libtree-sitter-$(PARSER_NAME).so.$(SONAME_MAJOR)
+endif
+ifneq (,$(filter $(shell uname),FreeBSD NetBSD DragonFly))
+ PCLIBDIR := $(PREFIX)/libdata/pkgconfig
+endif
+
+all: libtree-sitter-$(PARSER_NAME).a libtree-sitter-$(PARSER_NAME).$(SOEXTVER) bindings/c/$(PARSER_NAME).h bindings/c/tree-sitter-$(PARSER_NAME).pc
+
+libtree-sitter-$(PARSER_NAME).a: $(OBJ)
+ $(AR) rcs $@ $^
+
+libtree-sitter-$(PARSER_NAME).$(SOEXTVER): $(OBJ)
+ $(CC) $(LDFLAGS) $(LINKSHARED) $^ $(LDLIBS) -o $@
+ ln -sf $@ libtree-sitter-$(PARSER_NAME).$(SOEXT)
+ ln -sf $@ libtree-sitter-$(PARSER_NAME).$(SOEXTVER_MAJOR)
+
+bindings/c/$(PARSER_NAME).h:
+ sed -e 's|@UPPER_PARSERNAME@|$(UPPER_PARSER_NAME)|' \
+ -e 's|@PARSERNAME@|$(PARSER_NAME)|' \
+ bindings/c/tree-sitter.h.in > $@
+
+bindings/c/tree-sitter-$(PARSER_NAME).pc:
+ sed -e 's|@LIBDIR@|$(LIBDIR)|;s|@INCLUDEDIR@|$(INCLUDEDIR)|;s|@VERSION@|$(VERSION)|' \
+ -e 's|=$(PREFIX)|=$${prefix}|' \
+ -e 's|@PREFIX@|$(PREFIX)|' \
+ -e 's|@ADDITIONALLIBS@|$(ADDITIONALLIBS)|' \
+ -e 's|@PARSERNAME@|$(PARSER_NAME)|' \
+ -e 's|@PARSERURL@|$(PARSER_URL)|' \
+ bindings/c/tree-sitter.pc.in > $@
+
+install: all
+ install -d '$(DESTDIR)$(LIBDIR)'
+ install -m755 libtree-sitter-$(PARSER_NAME).a '$(DESTDIR)$(LIBDIR)'/libtree-sitter-$(PARSER_NAME).a
+ install -m755 libtree-sitter-$(PARSER_NAME).$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter-$(PARSER_NAME).$(SOEXTVER)
+ ln -sf libtree-sitter-$(PARSER_NAME).$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter-$(PARSER_NAME).$(SOEXTVER_MAJOR)
+ ln -sf libtree-sitter-$(PARSER_NAME).$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter-$(PARSER_NAME).$(SOEXT)
+ install -d '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter
+ install -m644 bindings/c/$(PARSER_NAME).h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/
+ install -d '$(DESTDIR)$(PCLIBDIR)'
+ install -m644 bindings/c/tree-sitter-$(PARSER_NAME).pc '$(DESTDIR)$(PCLIBDIR)'/
+
+clean:
+ rm -f $(OBJ) libtree-sitter-$(PARSER_NAME).a libtree-sitter-$(PARSER_NAME).$(SOEXT) libtree-sitter-$(PARSER_NAME).$(SOEXTVER_MAJOR) libtree-sitter-$(PARSER_NAME).$(SOEXTVER)
+ rm -f bindings/c/$(PARSER_NAME).h bindings/c/tree-sitter-$(PARSER_NAME).pc
+
+.PHONY: all install clean
diff --git a/vendor/tree-sitter-lua/src/grammar.json b/vendor/tree-sitter-lua/src/grammar.json
new file mode 100644
index 0000000..1bae017
--- /dev/null
+++ b/vendor/tree-sitter-lua/src/grammar.json
@@ -0,0 +1,3098 @@
+{
+ "name": "lua",
+ "word": "identifier",
+ "rules": {
+ "chunk": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "hash_bang_line"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SYMBOL",
+ "name": "statement"
+ }
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "return_statement"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ },
+ "hash_bang_line": {
+ "type": "PATTERN",
+ "value": "#.*"
+ },
+ "_block": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "REPEAT1",
+ "content": {
+ "type": "SYMBOL",
+ "name": "statement"
+ }
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "return_statement"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SYMBOL",
+ "name": "statement"
+ }
+ },
+ {
+ "type": "SYMBOL",
+ "name": "return_statement"
+ }
+ ]
+ }
+ ]
+ },
+ "statement": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "empty_statement"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "assignment_statement"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "function_call"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "label_statement"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "break_statement"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "goto_statement"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "do_statement"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "while_statement"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "repeat_statement"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "if_statement"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "for_statement"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "declaration"
+ }
+ ]
+ },
+ "return_statement": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "return"
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_expression_list"
+ },
+ "named": true,
+ "value": "expression_list"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ";"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ },
+ "empty_statement": {
+ "type": "STRING",
+ "value": ";"
+ },
+ "assignment_statement": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_variable_assignment_varlist"
+ },
+ "named": true,
+ "value": "variable_list"
+ },
+ {
+ "type": "STRING",
+ "value": "="
+ },
+ {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_variable_assignment_explist"
+ },
+ "named": true,
+ "value": "expression_list"
+ }
+ ]
+ },
+ "_variable_assignment_varlist": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "variable"
+ }
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "variable"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "_variable_assignment_explist": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "value",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "FIELD",
+ "name": "value",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "label_statement": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "::"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "identifier"
+ },
+ {
+ "type": "STRING",
+ "value": "::"
+ }
+ ]
+ },
+ "break_statement": {
+ "type": "STRING",
+ "value": "break"
+ },
+ "goto_statement": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "goto"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ ]
+ },
+ "do_statement": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "do"
+ },
+ {
+ "type": "FIELD",
+ "name": "body",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_block"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ "named": true,
+ "value": "block"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "end"
+ }
+ ]
+ },
+ "while_statement": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "while"
+ },
+ {
+ "type": "FIELD",
+ "name": "condition",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "do"
+ },
+ {
+ "type": "FIELD",
+ "name": "body",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_block"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ "named": true,
+ "value": "block"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "end"
+ }
+ ]
+ },
+ "repeat_statement": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "repeat"
+ },
+ {
+ "type": "FIELD",
+ "name": "body",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_block"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ "named": true,
+ "value": "block"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "until"
+ },
+ {
+ "type": "FIELD",
+ "name": "condition",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ },
+ "if_statement": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "if"
+ },
+ {
+ "type": "FIELD",
+ "name": "condition",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "then"
+ },
+ {
+ "type": "FIELD",
+ "name": "consequence",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_block"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ "named": true,
+ "value": "block"
+ }
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "FIELD",
+ "name": "alternative",
+ "content": {
+ "type": "SYMBOL",
+ "name": "elseif_statement"
+ }
+ }
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "alternative",
+ "content": {
+ "type": "SYMBOL",
+ "name": "else_statement"
+ }
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "STRING",
+ "value": "end"
+ }
+ ]
+ },
+ "elseif_statement": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "elseif"
+ },
+ {
+ "type": "FIELD",
+ "name": "condition",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "then"
+ },
+ {
+ "type": "FIELD",
+ "name": "consequence",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_block"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ "named": true,
+ "value": "block"
+ }
+ }
+ ]
+ },
+ "else_statement": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "else"
+ },
+ {
+ "type": "FIELD",
+ "name": "body",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_block"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ "named": true,
+ "value": "block"
+ }
+ }
+ ]
+ },
+ "for_statement": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "for"
+ },
+ {
+ "type": "FIELD",
+ "name": "clause",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "for_generic_clause"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "for_numeric_clause"
+ }
+ ]
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "do"
+ },
+ {
+ "type": "FIELD",
+ "name": "body",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_block"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ "named": true,
+ "value": "block"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "end"
+ }
+ ]
+ },
+ "for_generic_clause": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_name_list"
+ },
+ "named": true,
+ "value": "variable_list"
+ },
+ {
+ "type": "STRING",
+ "value": "in"
+ },
+ {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_expression_list"
+ },
+ "named": true,
+ "value": "expression_list"
+ }
+ ]
+ },
+ "for_numeric_clause": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "="
+ },
+ {
+ "type": "FIELD",
+ "name": "start",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "FIELD",
+ "name": "end",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "FIELD",
+ "name": "step",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ },
+ "declaration": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "function_declaration"
+ },
+ {
+ "type": "FIELD",
+ "name": "local_declaration",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_local_function_declaration"
+ },
+ "named": true,
+ "value": "function_declaration"
+ }
+ },
+ {
+ "type": "FIELD",
+ "name": "local_declaration",
+ "content": {
+ "type": "SYMBOL",
+ "name": "variable_declaration"
+ }
+ }
+ ]
+ },
+ "function_declaration": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "function"
+ },
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_function_name"
+ }
+ },
+ {
+ "type": "SYMBOL",
+ "name": "_function_body"
+ }
+ ]
+ },
+ "_local_function_declaration": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "local"
+ },
+ {
+ "type": "STRING",
+ "value": "function"
+ },
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ },
+ {
+ "type": "SYMBOL",
+ "name": "_function_body"
+ }
+ ]
+ },
+ "_function_name": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_function_name_prefix_expression"
+ },
+ {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_function_name_method_index_expression"
+ },
+ "named": true,
+ "value": "method_index_expression"
+ }
+ ]
+ },
+ "_function_name_prefix_expression": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "identifier"
+ },
+ {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_function_name_dot_index_expression"
+ },
+ "named": true,
+ "value": "dot_index_expression"
+ }
+ ]
+ },
+ "_function_name_dot_index_expression": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "table",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_function_name_prefix_expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "."
+ },
+ {
+ "type": "FIELD",
+ "name": "field",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ }
+ ]
+ },
+ "_function_name_method_index_expression": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "table",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_function_name_prefix_expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": ":"
+ },
+ {
+ "type": "FIELD",
+ "name": "method",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ }
+ ]
+ },
+ "variable_declaration": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "local"
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_att_name_list"
+ },
+ "named": true,
+ "value": "variable_list"
+ },
+ {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_local_variable_assignment"
+ },
+ "named": true,
+ "value": "assignment_statement"
+ }
+ ]
+ }
+ ]
+ },
+ "_local_variable_assignment": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_att_name_list"
+ },
+ "named": true,
+ "value": "variable_list"
+ },
+ {
+ "type": "STRING",
+ "value": "="
+ },
+ {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_variable_assignment_explist"
+ },
+ "named": true,
+ "value": "expression_list"
+ }
+ ]
+ },
+ "_name_list": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "_att_name_list": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "attribute",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_attrib"
+ },
+ "named": true,
+ "value": "attribute"
+ }
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "attribute",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_attrib"
+ },
+ "named": true,
+ "value": "attribute"
+ }
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "_attrib": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "<"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "identifier"
+ },
+ {
+ "type": "STRING",
+ "value": ">"
+ }
+ ]
+ },
+ "_expression_list": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "expression"
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "expression": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "nil"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "false"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "true"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "number"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "string"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "vararg_expression"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "function_definition"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "variable"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "function_call"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "parenthesized_expression"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "table_constructor"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "binary_expression"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "unary_expression"
+ }
+ ]
+ },
+ "nil": {
+ "type": "STRING",
+ "value": "nil"
+ },
+ "false": {
+ "type": "STRING",
+ "value": "false"
+ },
+ "true": {
+ "type": "STRING",
+ "value": "true"
+ },
+ "number": {
+ "type": "TOKEN",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "PATTERN",
+ "value": "[0-9]+"
+ },
+ {
+ "type": "PATTERN",
+ "value": "U?LL",
+ "flags": "i"
+ }
+ ]
+ },
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "PATTERN",
+ "value": "[0-9]+"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "."
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "PATTERN",
+ "value": "[0-9]+"
+ }
+ ]
+ },
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "PATTERN",
+ "value": "[0-9]+"
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "."
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "PATTERN",
+ "value": "[0-9]+"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "e"
+ },
+ {
+ "type": "STRING",
+ "value": "E"
+ }
+ ]
+ },
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "-"
+ },
+ {
+ "type": "STRING",
+ "value": "+"
+ }
+ ]
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "PATTERN",
+ "value": "[0-9]+"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "i"
+ },
+ {
+ "type": "STRING",
+ "value": "I"
+ }
+ ]
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "0x"
+ },
+ {
+ "type": "STRING",
+ "value": "0X"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "PATTERN",
+ "value": "[a-fA-F0-9]+"
+ },
+ {
+ "type": "PATTERN",
+ "value": "U?LL",
+ "flags": "i"
+ }
+ ]
+ },
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "PATTERN",
+ "value": "[a-fA-F0-9]+"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "."
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "PATTERN",
+ "value": "[a-fA-F0-9]+"
+ }
+ ]
+ },
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "PATTERN",
+ "value": "[a-fA-F0-9]+"
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "."
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "PATTERN",
+ "value": "[a-fA-F0-9]+"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "p"
+ },
+ {
+ "type": "STRING",
+ "value": "P"
+ }
+ ]
+ },
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "-"
+ },
+ {
+ "type": "STRING",
+ "value": "+"
+ }
+ ]
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "PATTERN",
+ "value": "[0-9]+"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "i"
+ },
+ {
+ "type": "STRING",
+ "value": "I"
+ }
+ ]
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "string": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_quote_string"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "_block_string"
+ }
+ ]
+ },
+ "_quote_string": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "start",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "STRING",
+ "value": "\""
+ },
+ "named": false,
+ "value": "\""
+ }
+ },
+ {
+ "type": "FIELD",
+ "name": "content",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_doublequote_string_content"
+ },
+ "named": true,
+ "value": "string_content"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ },
+ {
+ "type": "FIELD",
+ "name": "end",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "STRING",
+ "value": "\""
+ },
+ "named": false,
+ "value": "\""
+ }
+ }
+ ]
+ },
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "start",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "STRING",
+ "value": "'"
+ },
+ "named": false,
+ "value": "'"
+ }
+ },
+ {
+ "type": "FIELD",
+ "name": "content",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_singlequote_string_content"
+ },
+ "named": true,
+ "value": "string_content"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ },
+ {
+ "type": "FIELD",
+ "name": "end",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "STRING",
+ "value": "'"
+ },
+ "named": false,
+ "value": "'"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "_doublequote_string_content": {
+ "type": "REPEAT1",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "IMMEDIATE_TOKEN",
+ "content": {
+ "type": "PREC",
+ "value": 1,
+ "content": {
+ "type": "PATTERN",
+ "value": "[^\"\\\\]+"
+ }
+ }
+ },
+ {
+ "type": "SYMBOL",
+ "name": "escape_sequence"
+ }
+ ]
+ }
+ },
+ "_singlequote_string_content": {
+ "type": "REPEAT1",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "IMMEDIATE_TOKEN",
+ "content": {
+ "type": "PREC",
+ "value": 1,
+ "content": {
+ "type": "PATTERN",
+ "value": "[^'\\\\]+"
+ }
+ }
+ },
+ {
+ "type": "SYMBOL",
+ "name": "escape_sequence"
+ }
+ ]
+ }
+ },
+ "_block_string": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "start",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_block_string_start"
+ },
+ "named": false,
+ "value": "[["
+ }
+ },
+ {
+ "type": "FIELD",
+ "name": "content",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_block_string_content"
+ },
+ "named": true,
+ "value": "string_content"
+ }
+ },
+ {
+ "type": "FIELD",
+ "name": "end",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_block_string_end"
+ },
+ "named": false,
+ "value": "]]"
+ }
+ }
+ ]
+ },
+ "escape_sequence": {
+ "type": "IMMEDIATE_TOKEN",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "\\"
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "PATTERN",
+ "value": "[\\nabfnrtv\\\\'\"]"
+ },
+ {
+ "type": "PATTERN",
+ "value": "z\\s*"
+ },
+ {
+ "type": "PATTERN",
+ "value": "[0-9]{1,3}"
+ },
+ {
+ "type": "PATTERN",
+ "value": "x[0-9a-fA-F]{2}"
+ },
+ {
+ "type": "PATTERN",
+ "value": "u\\{[0-9a-fA-F]+\\}"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "vararg_expression": {
+ "type": "STRING",
+ "value": "..."
+ },
+ "function_definition": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "function"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "_function_body"
+ }
+ ]
+ },
+ "_function_body": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "parameters",
+ "content": {
+ "type": "SYMBOL",
+ "name": "parameters"
+ }
+ },
+ {
+ "type": "FIELD",
+ "name": "body",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_block"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ "named": true,
+ "value": "block"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "end"
+ }
+ ]
+ },
+ "parameters": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "("
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_parameter_list"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "STRING",
+ "value": ")"
+ }
+ ]
+ },
+ "_parameter_list": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "SYMBOL",
+ "name": "vararg_expression"
+ }
+ ]
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "SYMBOL",
+ "name": "vararg_expression"
+ }
+ ]
+ },
+ "_prefix_expression": {
+ "type": "PREC",
+ "value": 1,
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "variable"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "function_call"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "parenthesized_expression"
+ }
+ ]
+ }
+ },
+ "variable": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "identifier"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "bracket_index_expression"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "dot_index_expression"
+ }
+ ]
+ },
+ "bracket_index_expression": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "table",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_prefix_expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "["
+ },
+ {
+ "type": "FIELD",
+ "name": "field",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "]"
+ }
+ ]
+ },
+ "dot_index_expression": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "table",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_prefix_expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "."
+ },
+ {
+ "type": "FIELD",
+ "name": "field",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ }
+ ]
+ },
+ "function_call": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_prefix_expression"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "method_index_expression"
+ }
+ ]
+ }
+ },
+ {
+ "type": "FIELD",
+ "name": "arguments",
+ "content": {
+ "type": "SYMBOL",
+ "name": "arguments"
+ }
+ }
+ ]
+ },
+ "method_index_expression": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "table",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_prefix_expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": ":"
+ },
+ {
+ "type": "FIELD",
+ "name": "method",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ }
+ ]
+ },
+ "arguments": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "("
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "expression"
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "STRING",
+ "value": ")"
+ }
+ ]
+ },
+ {
+ "type": "SYMBOL",
+ "name": "table_constructor"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "string"
+ }
+ ]
+ },
+ "parenthesized_expression": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "("
+ },
+ {
+ "type": "SYMBOL",
+ "name": "expression"
+ },
+ {
+ "type": "STRING",
+ "value": ")"
+ }
+ ]
+ },
+ "table_constructor": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "{"
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_field_list"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "STRING",
+ "value": "}"
+ }
+ ]
+ },
+ "_field_list": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "field"
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_field_sep"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "field"
+ }
+ ]
+ }
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_field_sep"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ },
+ "_field_sep": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "STRING",
+ "value": ";"
+ }
+ ]
+ },
+ "field": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "["
+ },
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "]"
+ },
+ {
+ "type": "STRING",
+ "value": "="
+ },
+ {
+ "type": "FIELD",
+ "name": "value",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ },
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "="
+ },
+ {
+ "type": "FIELD",
+ "name": "value",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ },
+ {
+ "type": "FIELD",
+ "name": "value",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ },
+ "binary_expression": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "PREC_LEFT",
+ "value": 1,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "or"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 2,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "and"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 3,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "<"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 3,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "<="
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 3,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "=="
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 3,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "~="
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 3,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": ">="
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 3,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": ">"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 4,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "|"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 5,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "~"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 6,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "&"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 7,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "<<"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 7,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": ">>"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 9,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "+"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 9,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "-"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 10,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "*"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 10,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "/"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 10,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "//"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_LEFT",
+ "value": 10,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "%"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_RIGHT",
+ "value": 8,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": ".."
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "PREC_RIGHT",
+ "value": 12,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "left",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "^"
+ },
+ {
+ "type": "FIELD",
+ "name": "right",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "unary_expression": {
+ "type": "PREC_LEFT",
+ "value": 11,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "not"
+ },
+ {
+ "type": "STRING",
+ "value": "#"
+ },
+ {
+ "type": "STRING",
+ "value": "-"
+ },
+ {
+ "type": "STRING",
+ "value": "~"
+ }
+ ]
+ },
+ {
+ "type": "FIELD",
+ "name": "operand",
+ "content": {
+ "type": "SYMBOL",
+ "name": "expression"
+ }
+ }
+ ]
+ }
+ },
+ "identifier": {
+ "type": "TOKEN",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "PATTERN",
+ "value": "[^\\p{Control}\\s+\\-*/%^#&~|<>=(){}\\[\\];:,.\\\\'\"\\d]"
+ },
+ {
+ "type": "PATTERN",
+ "value": "[^\\p{Control}\\s+\\-*/%^#&~|<>=(){}\\[\\];:,.\\\\'\"]*"
+ }
+ ]
+ }
+ },
+ "comment": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "start",
+ "content": {
+ "type": "STRING",
+ "value": "--"
+ }
+ },
+ {
+ "type": "FIELD",
+ "name": "content",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "PATTERN",
+ "value": "[^\\r\\n]*"
+ },
+ "named": true,
+ "value": "comment_content"
+ }
+ }
+ ]
+ },
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "start",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_block_comment_start"
+ },
+ "named": false,
+ "value": "[["
+ }
+ },
+ {
+ "type": "FIELD",
+ "name": "content",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_block_comment_content"
+ },
+ "named": true,
+ "value": "comment_content"
+ }
+ },
+ {
+ "type": "FIELD",
+ "name": "end",
+ "content": {
+ "type": "ALIAS",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_block_comment_end"
+ },
+ "named": false,
+ "value": "]]"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "extras": [
+ {
+ "type": "SYMBOL",
+ "name": "comment"
+ },
+ {
+ "type": "PATTERN",
+ "value": "\\s"
+ }
+ ],
+ "conflicts": [],
+ "precedences": [],
+ "externals": [
+ {
+ "type": "SYMBOL",
+ "name": "_block_comment_start"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "_block_comment_content"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "_block_comment_end"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "_block_string_start"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "_block_string_content"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "_block_string_end"
+ }
+ ],
+ "inline": [],
+ "supertypes": [
+ "statement",
+ "expression",
+ "declaration",
+ "variable"
+ ]
+}
diff --git a/vendor/tree-sitter-lua/src/node-types.json b/vendor/tree-sitter-lua/src/node-types.json
new file mode 100644
index 0000000..bfe4438
--- /dev/null
+++ b/vendor/tree-sitter-lua/src/node-types.json
@@ -0,0 +1,1308 @@
+[
+ {
+ "type": "declaration",
+ "named": true,
+ "subtypes": [
+ {
+ "type": "function_declaration",
+ "named": true
+ },
+ {
+ "type": "variable_declaration",
+ "named": true
+ }
+ ]
+ },
+ {
+ "type": "expression",
+ "named": true,
+ "subtypes": [
+ {
+ "type": "binary_expression",
+ "named": true
+ },
+ {
+ "type": "false",
+ "named": true
+ },
+ {
+ "type": "function_call",
+ "named": true
+ },
+ {
+ "type": "function_definition",
+ "named": true
+ },
+ {
+ "type": "nil",
+ "named": true
+ },
+ {
+ "type": "number",
+ "named": true
+ },
+ {
+ "type": "parenthesized_expression",
+ "named": true
+ },
+ {
+ "type": "string",
+ "named": true
+ },
+ {
+ "type": "table_constructor",
+ "named": true
+ },
+ {
+ "type": "true",
+ "named": true
+ },
+ {
+ "type": "unary_expression",
+ "named": true
+ },
+ {
+ "type": "vararg_expression",
+ "named": true
+ },
+ {
+ "type": "variable",
+ "named": true
+ }
+ ]
+ },
+ {
+ "type": "statement",
+ "named": true,
+ "subtypes": [
+ {
+ "type": "assignment_statement",
+ "named": true
+ },
+ {
+ "type": "break_statement",
+ "named": true
+ },
+ {
+ "type": "declaration",
+ "named": true
+ },
+ {
+ "type": "do_statement",
+ "named": true
+ },
+ {
+ "type": "empty_statement",
+ "named": true
+ },
+ {
+ "type": "for_statement",
+ "named": true
+ },
+ {
+ "type": "function_call",
+ "named": true
+ },
+ {
+ "type": "goto_statement",
+ "named": true
+ },
+ {
+ "type": "if_statement",
+ "named": true
+ },
+ {
+ "type": "label_statement",
+ "named": true
+ },
+ {
+ "type": "repeat_statement",
+ "named": true
+ },
+ {
+ "type": "while_statement",
+ "named": true
+ }
+ ]
+ },
+ {
+ "type": "variable",
+ "named": true,
+ "subtypes": [
+ {
+ "type": "bracket_index_expression",
+ "named": true
+ },
+ {
+ "type": "dot_index_expression",
+ "named": true
+ },
+ {
+ "type": "identifier",
+ "named": true
+ }
+ ]
+ },
+ {
+ "type": "arguments",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "assignment_statement",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": true,
+ "types": [
+ {
+ "type": "expression_list",
+ "named": true
+ },
+ {
+ "type": "variable_list",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "attribute",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "identifier",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "binary_expression",
+ "named": true,
+ "fields": {
+ "left": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ },
+ "right": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "block",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": true,
+ "types": [
+ {
+ "type": "return_statement",
+ "named": true
+ },
+ {
+ "type": "statement",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "bracket_index_expression",
+ "named": true,
+ "fields": {
+ "field": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ },
+ "table": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "function_call",
+ "named": true
+ },
+ {
+ "type": "parenthesized_expression",
+ "named": true
+ },
+ {
+ "type": "variable",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "chunk",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": "hash_bang_line",
+ "named": true
+ },
+ {
+ "type": "return_statement",
+ "named": true
+ },
+ {
+ "type": "statement",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "comment",
+ "named": true,
+ "fields": {
+ "content": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "comment_content",
+ "named": true
+ }
+ ]
+ },
+ "end": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "]]",
+ "named": false
+ }
+ ]
+ },
+ "start": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "--",
+ "named": false
+ },
+ {
+ "type": "[[",
+ "named": false
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "do_statement",
+ "named": true,
+ "fields": {
+ "body": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "block",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "dot_index_expression",
+ "named": true,
+ "fields": {
+ "field": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "identifier",
+ "named": true
+ }
+ ]
+ },
+ "table": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "function_call",
+ "named": true
+ },
+ {
+ "type": "parenthesized_expression",
+ "named": true
+ },
+ {
+ "type": "variable",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "else_statement",
+ "named": true,
+ "fields": {
+ "body": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "block",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "elseif_statement",
+ "named": true,
+ "fields": {
+ "condition": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ },
+ "consequence": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "block",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "empty_statement",
+ "named": true,
+ "fields": {}
+ },
+ {
+ "type": "expression_list",
+ "named": true,
+ "fields": {
+ "value": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ }
+ },
+ "children": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "field",
+ "named": true,
+ "fields": {
+ "name": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ },
+ {
+ "type": "identifier",
+ "named": true
+ }
+ ]
+ },
+ "value": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "for_generic_clause",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": true,
+ "types": [
+ {
+ "type": "expression_list",
+ "named": true
+ },
+ {
+ "type": "variable_list",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "for_numeric_clause",
+ "named": true,
+ "fields": {
+ "end": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ },
+ "name": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "identifier",
+ "named": true
+ }
+ ]
+ },
+ "start": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ },
+ "step": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "for_statement",
+ "named": true,
+ "fields": {
+ "body": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "block",
+ "named": true
+ }
+ ]
+ },
+ "clause": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "for_generic_clause",
+ "named": true
+ },
+ {
+ "type": "for_numeric_clause",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "function_call",
+ "named": true,
+ "fields": {
+ "arguments": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "arguments",
+ "named": true
+ }
+ ]
+ },
+ "name": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "function_call",
+ "named": true
+ },
+ {
+ "type": "method_index_expression",
+ "named": true
+ },
+ {
+ "type": "parenthesized_expression",
+ "named": true
+ },
+ {
+ "type": "variable",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "function_declaration",
+ "named": true,
+ "fields": {
+ "body": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "block",
+ "named": true
+ }
+ ]
+ },
+ "name": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "dot_index_expression",
+ "named": true
+ },
+ {
+ "type": "identifier",
+ "named": true
+ },
+ {
+ "type": "method_index_expression",
+ "named": true
+ }
+ ]
+ },
+ "parameters": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "parameters",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "function_definition",
+ "named": true,
+ "fields": {
+ "body": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "block",
+ "named": true
+ }
+ ]
+ },
+ "parameters": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "parameters",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "goto_statement",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "identifier",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "if_statement",
+ "named": true,
+ "fields": {
+ "alternative": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": "else_statement",
+ "named": true
+ },
+ {
+ "type": "elseif_statement",
+ "named": true
+ }
+ ]
+ },
+ "condition": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ },
+ "consequence": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "block",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "label_statement",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "identifier",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "method_index_expression",
+ "named": true,
+ "fields": {
+ "method": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "identifier",
+ "named": true
+ }
+ ]
+ },
+ "table": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "function_call",
+ "named": true
+ },
+ {
+ "type": "parenthesized_expression",
+ "named": true
+ },
+ {
+ "type": "variable",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "parameters",
+ "named": true,
+ "fields": {
+ "name": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": "identifier",
+ "named": true
+ }
+ ]
+ }
+ },
+ "children": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "vararg_expression",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "parenthesized_expression",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "repeat_statement",
+ "named": true,
+ "fields": {
+ "body": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "block",
+ "named": true
+ }
+ ]
+ },
+ "condition": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "return_statement",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "expression_list",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "string",
+ "named": true,
+ "fields": {
+ "content": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "string_content",
+ "named": true
+ }
+ ]
+ },
+ "end": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "\"",
+ "named": false
+ },
+ {
+ "type": "'",
+ "named": false
+ },
+ {
+ "type": "]]",
+ "named": false
+ }
+ ]
+ },
+ "start": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "\"",
+ "named": false
+ },
+ {
+ "type": "'",
+ "named": false
+ },
+ {
+ "type": "[[",
+ "named": false
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "string_content",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": "escape_sequence",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "table_constructor",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": "field",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "unary_expression",
+ "named": true,
+ "fields": {
+ "operand": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "variable_declaration",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "assignment_statement",
+ "named": true
+ },
+ {
+ "type": "variable_list",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "variable_list",
+ "named": true,
+ "fields": {
+ "attribute": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": "attribute",
+ "named": true
+ }
+ ]
+ },
+ "name": {
+ "multiple": true,
+ "required": true,
+ "types": [
+ {
+ "type": "variable",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "while_statement",
+ "named": true,
+ "fields": {
+ "body": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "block",
+ "named": true
+ }
+ ]
+ },
+ "condition": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "expression",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "\"",
+ "named": false
+ },
+ {
+ "type": "#",
+ "named": false
+ },
+ {
+ "type": "%",
+ "named": false
+ },
+ {
+ "type": "&",
+ "named": false
+ },
+ {
+ "type": "'",
+ "named": false
+ },
+ {
+ "type": "(",
+ "named": false
+ },
+ {
+ "type": ")",
+ "named": false
+ },
+ {
+ "type": "*",
+ "named": false
+ },
+ {
+ "type": "+",
+ "named": false
+ },
+ {
+ "type": ",",
+ "named": false
+ },
+ {
+ "type": "-",
+ "named": false
+ },
+ {
+ "type": "--",
+ "named": false
+ },
+ {
+ "type": ".",
+ "named": false
+ },
+ {
+ "type": "..",
+ "named": false
+ },
+ {
+ "type": "/",
+ "named": false
+ },
+ {
+ "type": "//",
+ "named": false
+ },
+ {
+ "type": ":",
+ "named": false
+ },
+ {
+ "type": "::",
+ "named": false
+ },
+ {
+ "type": ";",
+ "named": false
+ },
+ {
+ "type": "<",
+ "named": false
+ },
+ {
+ "type": "<<",
+ "named": false
+ },
+ {
+ "type": "<=",
+ "named": false
+ },
+ {
+ "type": "=",
+ "named": false
+ },
+ {
+ "type": "==",
+ "named": false
+ },
+ {
+ "type": ">",
+ "named": false
+ },
+ {
+ "type": ">=",
+ "named": false
+ },
+ {
+ "type": ">>",
+ "named": false
+ },
+ {
+ "type": "[",
+ "named": false
+ },
+ {
+ "type": "[[",
+ "named": false
+ },
+ {
+ "type": "]",
+ "named": false
+ },
+ {
+ "type": "]]",
+ "named": false
+ },
+ {
+ "type": "^",
+ "named": false
+ },
+ {
+ "type": "and",
+ "named": false
+ },
+ {
+ "type": "break_statement",
+ "named": true
+ },
+ {
+ "type": "comment_content",
+ "named": true
+ },
+ {
+ "type": "do",
+ "named": false
+ },
+ {
+ "type": "else",
+ "named": false
+ },
+ {
+ "type": "elseif",
+ "named": false
+ },
+ {
+ "type": "end",
+ "named": false
+ },
+ {
+ "type": "escape_sequence",
+ "named": true
+ },
+ {
+ "type": "false",
+ "named": true
+ },
+ {
+ "type": "for",
+ "named": false
+ },
+ {
+ "type": "function",
+ "named": false
+ },
+ {
+ "type": "goto",
+ "named": false
+ },
+ {
+ "type": "hash_bang_line",
+ "named": true
+ },
+ {
+ "type": "identifier",
+ "named": true
+ },
+ {
+ "type": "if",
+ "named": false
+ },
+ {
+ "type": "in",
+ "named": false
+ },
+ {
+ "type": "local",
+ "named": false
+ },
+ {
+ "type": "nil",
+ "named": true
+ },
+ {
+ "type": "not",
+ "named": false
+ },
+ {
+ "type": "number",
+ "named": true
+ },
+ {
+ "type": "or",
+ "named": false
+ },
+ {
+ "type": "repeat",
+ "named": false
+ },
+ {
+ "type": "return",
+ "named": false
+ },
+ {
+ "type": "then",
+ "named": false
+ },
+ {
+ "type": "true",
+ "named": true
+ },
+ {
+ "type": "until",
+ "named": false
+ },
+ {
+ "type": "vararg_expression",
+ "named": true
+ },
+ {
+ "type": "while",
+ "named": false
+ },
+ {
+ "type": "{",
+ "named": false
+ },
+ {
+ "type": "|",
+ "named": false
+ },
+ {
+ "type": "}",
+ "named": false
+ },
+ {
+ "type": "~",
+ "named": false
+ },
+ {
+ "type": "~=",
+ "named": false
+ }
+] \ No newline at end of file
diff --git a/vendor/tree-sitter-lua/src/parser.c b/vendor/tree-sitter-lua/src/parser.c
new file mode 100644
index 0000000..a9aefd9
--- /dev/null
+++ b/vendor/tree-sitter-lua/src/parser.c
@@ -0,0 +1,12646 @@
+#include "tree_sitter/parser.h"
+
+#if defined(__GNUC__) || defined(__clang__)
+#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
+#endif
+
+#define LANGUAGE_VERSION 14
+#define STATE_COUNT 262
+#define LARGE_STATE_COUNT 2
+#define SYMBOL_COUNT 137
+#define ALIAS_COUNT 0
+#define TOKEN_COUNT 72
+#define EXTERNAL_TOKEN_COUNT 6
+#define FIELD_COUNT 21
+#define MAX_ALIAS_SEQUENCE_LENGTH 7
+#define PRODUCTION_ID_COUNT 59
+
+enum ts_symbol_identifiers {
+ sym_identifier = 1,
+ sym_hash_bang_line = 2,
+ anon_sym_return = 3,
+ anon_sym_SEMI = 4,
+ anon_sym_EQ = 5,
+ anon_sym_COMMA = 6,
+ anon_sym_COLON_COLON = 7,
+ sym_break_statement = 8,
+ anon_sym_goto = 9,
+ anon_sym_do = 10,
+ anon_sym_end = 11,
+ anon_sym_while = 12,
+ anon_sym_repeat = 13,
+ anon_sym_until = 14,
+ anon_sym_if = 15,
+ anon_sym_then = 16,
+ anon_sym_elseif = 17,
+ anon_sym_else = 18,
+ anon_sym_for = 19,
+ anon_sym_in = 20,
+ anon_sym_function = 21,
+ anon_sym_local = 22,
+ anon_sym_DOT = 23,
+ anon_sym_COLON = 24,
+ anon_sym_LT = 25,
+ anon_sym_GT = 26,
+ sym_nil = 27,
+ sym_false = 28,
+ sym_true = 29,
+ sym_number = 30,
+ anon_sym_DQUOTE = 31,
+ anon_sym_SQUOTE = 32,
+ aux_sym__doublequote_string_content_token1 = 33,
+ aux_sym__singlequote_string_content_token1 = 34,
+ sym_escape_sequence = 35,
+ sym_vararg_expression = 36,
+ anon_sym_LPAREN = 37,
+ anon_sym_RPAREN = 38,
+ anon_sym_LBRACK = 39,
+ anon_sym_RBRACK = 40,
+ anon_sym_LBRACE = 41,
+ anon_sym_RBRACE = 42,
+ anon_sym_or = 43,
+ anon_sym_and = 44,
+ anon_sym_LT_EQ = 45,
+ anon_sym_EQ_EQ = 46,
+ anon_sym_TILDE_EQ = 47,
+ anon_sym_GT_EQ = 48,
+ anon_sym_PIPE = 49,
+ anon_sym_TILDE = 50,
+ anon_sym_AMP = 51,
+ anon_sym_LT_LT = 52,
+ anon_sym_GT_GT = 53,
+ anon_sym_PLUS = 54,
+ anon_sym_DASH = 55,
+ anon_sym_STAR = 56,
+ anon_sym_SLASH = 57,
+ anon_sym_SLASH_SLASH = 58,
+ anon_sym_PERCENT = 59,
+ anon_sym_DOT_DOT = 60,
+ anon_sym_CARET = 61,
+ anon_sym_not = 62,
+ anon_sym_POUND = 63,
+ anon_sym_DASH_DASH = 64,
+ aux_sym_comment_token1 = 65,
+ sym__block_comment_start = 66,
+ sym__block_comment_content = 67,
+ sym__block_comment_end = 68,
+ sym__block_string_start = 69,
+ sym__block_string_content = 70,
+ sym__block_string_end = 71,
+ sym_chunk = 72,
+ sym__block = 73,
+ sym_statement = 74,
+ sym_return_statement = 75,
+ sym_empty_statement = 76,
+ sym_assignment_statement = 77,
+ sym__variable_assignment_varlist = 78,
+ sym__variable_assignment_explist = 79,
+ sym_label_statement = 80,
+ sym_goto_statement = 81,
+ sym_do_statement = 82,
+ sym_while_statement = 83,
+ sym_repeat_statement = 84,
+ sym_if_statement = 85,
+ sym_elseif_statement = 86,
+ sym_else_statement = 87,
+ sym_for_statement = 88,
+ sym_for_generic_clause = 89,
+ sym_for_numeric_clause = 90,
+ sym_declaration = 91,
+ sym_function_declaration = 92,
+ sym__local_function_declaration = 93,
+ sym__function_name = 94,
+ sym__function_name_prefix_expression = 95,
+ sym__function_name_dot_index_expression = 96,
+ sym__function_name_method_index_expression = 97,
+ sym_variable_declaration = 98,
+ sym__local_variable_assignment = 99,
+ sym__name_list = 100,
+ sym__att_name_list = 101,
+ sym__attrib = 102,
+ sym__expression_list = 103,
+ sym_expression = 104,
+ sym_string = 105,
+ sym__quote_string = 106,
+ aux_sym__doublequote_string_content = 107,
+ aux_sym__singlequote_string_content = 108,
+ sym__block_string = 109,
+ sym_function_definition = 110,
+ sym__function_body = 111,
+ sym_parameters = 112,
+ sym__parameter_list = 113,
+ sym__prefix_expression = 114,
+ sym_variable = 115,
+ sym_bracket_index_expression = 116,
+ sym_dot_index_expression = 117,
+ sym_function_call = 118,
+ sym_method_index_expression = 119,
+ sym_arguments = 120,
+ sym_parenthesized_expression = 121,
+ sym_table_constructor = 122,
+ sym__field_list = 123,
+ sym__field_sep = 124,
+ sym_field = 125,
+ sym_binary_expression = 126,
+ sym_unary_expression = 127,
+ sym_comment = 128,
+ aux_sym_chunk_repeat1 = 129,
+ aux_sym__variable_assignment_varlist_repeat1 = 130,
+ aux_sym__variable_assignment_explist_repeat1 = 131,
+ aux_sym_if_statement_repeat1 = 132,
+ aux_sym__name_list_repeat1 = 133,
+ aux_sym__att_name_list_repeat1 = 134,
+ aux_sym__expression_list_repeat1 = 135,
+ aux_sym__field_list_repeat1 = 136,
+};
+
+static const char * const ts_symbol_names[] = {
+ [ts_builtin_sym_end] = "end",
+ [sym_identifier] = "identifier",
+ [sym_hash_bang_line] = "hash_bang_line",
+ [anon_sym_return] = "return",
+ [anon_sym_SEMI] = ";",
+ [anon_sym_EQ] = "=",
+ [anon_sym_COMMA] = ",",
+ [anon_sym_COLON_COLON] = "::",
+ [sym_break_statement] = "break_statement",
+ [anon_sym_goto] = "goto",
+ [anon_sym_do] = "do",
+ [anon_sym_end] = "end",
+ [anon_sym_while] = "while",
+ [anon_sym_repeat] = "repeat",
+ [anon_sym_until] = "until",
+ [anon_sym_if] = "if",
+ [anon_sym_then] = "then",
+ [anon_sym_elseif] = "elseif",
+ [anon_sym_else] = "else",
+ [anon_sym_for] = "for",
+ [anon_sym_in] = "in",
+ [anon_sym_function] = "function",
+ [anon_sym_local] = "local",
+ [anon_sym_DOT] = ".",
+ [anon_sym_COLON] = ":",
+ [anon_sym_LT] = "<",
+ [anon_sym_GT] = ">",
+ [sym_nil] = "nil",
+ [sym_false] = "false",
+ [sym_true] = "true",
+ [sym_number] = "number",
+ [anon_sym_DQUOTE] = "\"",
+ [anon_sym_SQUOTE] = "'",
+ [aux_sym__doublequote_string_content_token1] = "_doublequote_string_content_token1",
+ [aux_sym__singlequote_string_content_token1] = "_singlequote_string_content_token1",
+ [sym_escape_sequence] = "escape_sequence",
+ [sym_vararg_expression] = "vararg_expression",
+ [anon_sym_LPAREN] = "(",
+ [anon_sym_RPAREN] = ")",
+ [anon_sym_LBRACK] = "[",
+ [anon_sym_RBRACK] = "]",
+ [anon_sym_LBRACE] = "{",
+ [anon_sym_RBRACE] = "}",
+ [anon_sym_or] = "or",
+ [anon_sym_and] = "and",
+ [anon_sym_LT_EQ] = "<=",
+ [anon_sym_EQ_EQ] = "==",
+ [anon_sym_TILDE_EQ] = "~=",
+ [anon_sym_GT_EQ] = ">=",
+ [anon_sym_PIPE] = "|",
+ [anon_sym_TILDE] = "~",
+ [anon_sym_AMP] = "&",
+ [anon_sym_LT_LT] = "<<",
+ [anon_sym_GT_GT] = ">>",
+ [anon_sym_PLUS] = "+",
+ [anon_sym_DASH] = "-",
+ [anon_sym_STAR] = "*",
+ [anon_sym_SLASH] = "/",
+ [anon_sym_SLASH_SLASH] = "//",
+ [anon_sym_PERCENT] = "%",
+ [anon_sym_DOT_DOT] = "..",
+ [anon_sym_CARET] = "^",
+ [anon_sym_not] = "not",
+ [anon_sym_POUND] = "#",
+ [anon_sym_DASH_DASH] = "--",
+ [aux_sym_comment_token1] = "comment_content",
+ [sym__block_comment_start] = "[[",
+ [sym__block_comment_content] = "comment_content",
+ [sym__block_comment_end] = "]]",
+ [sym__block_string_start] = "[[",
+ [sym__block_string_content] = "string_content",
+ [sym__block_string_end] = "]]",
+ [sym_chunk] = "chunk",
+ [sym__block] = "block",
+ [sym_statement] = "statement",
+ [sym_return_statement] = "return_statement",
+ [sym_empty_statement] = "empty_statement",
+ [sym_assignment_statement] = "assignment_statement",
+ [sym__variable_assignment_varlist] = "variable_list",
+ [sym__variable_assignment_explist] = "expression_list",
+ [sym_label_statement] = "label_statement",
+ [sym_goto_statement] = "goto_statement",
+ [sym_do_statement] = "do_statement",
+ [sym_while_statement] = "while_statement",
+ [sym_repeat_statement] = "repeat_statement",
+ [sym_if_statement] = "if_statement",
+ [sym_elseif_statement] = "elseif_statement",
+ [sym_else_statement] = "else_statement",
+ [sym_for_statement] = "for_statement",
+ [sym_for_generic_clause] = "for_generic_clause",
+ [sym_for_numeric_clause] = "for_numeric_clause",
+ [sym_declaration] = "declaration",
+ [sym_function_declaration] = "function_declaration",
+ [sym__local_function_declaration] = "function_declaration",
+ [sym__function_name] = "_function_name",
+ [sym__function_name_prefix_expression] = "_function_name_prefix_expression",
+ [sym__function_name_dot_index_expression] = "dot_index_expression",
+ [sym__function_name_method_index_expression] = "method_index_expression",
+ [sym_variable_declaration] = "variable_declaration",
+ [sym__local_variable_assignment] = "assignment_statement",
+ [sym__name_list] = "variable_list",
+ [sym__att_name_list] = "variable_list",
+ [sym__attrib] = "attribute",
+ [sym__expression_list] = "expression_list",
+ [sym_expression] = "expression",
+ [sym_string] = "string",
+ [sym__quote_string] = "_quote_string",
+ [aux_sym__doublequote_string_content] = "_doublequote_string_content",
+ [aux_sym__singlequote_string_content] = "_singlequote_string_content",
+ [sym__block_string] = "_block_string",
+ [sym_function_definition] = "function_definition",
+ [sym__function_body] = "_function_body",
+ [sym_parameters] = "parameters",
+ [sym__parameter_list] = "_parameter_list",
+ [sym__prefix_expression] = "_prefix_expression",
+ [sym_variable] = "variable",
+ [sym_bracket_index_expression] = "bracket_index_expression",
+ [sym_dot_index_expression] = "dot_index_expression",
+ [sym_function_call] = "function_call",
+ [sym_method_index_expression] = "method_index_expression",
+ [sym_arguments] = "arguments",
+ [sym_parenthesized_expression] = "parenthesized_expression",
+ [sym_table_constructor] = "table_constructor",
+ [sym__field_list] = "_field_list",
+ [sym__field_sep] = "_field_sep",
+ [sym_field] = "field",
+ [sym_binary_expression] = "binary_expression",
+ [sym_unary_expression] = "unary_expression",
+ [sym_comment] = "comment",
+ [aux_sym_chunk_repeat1] = "chunk_repeat1",
+ [aux_sym__variable_assignment_varlist_repeat1] = "_variable_assignment_varlist_repeat1",
+ [aux_sym__variable_assignment_explist_repeat1] = "_variable_assignment_explist_repeat1",
+ [aux_sym_if_statement_repeat1] = "if_statement_repeat1",
+ [aux_sym__name_list_repeat1] = "_name_list_repeat1",
+ [aux_sym__att_name_list_repeat1] = "_att_name_list_repeat1",
+ [aux_sym__expression_list_repeat1] = "_expression_list_repeat1",
+ [aux_sym__field_list_repeat1] = "_field_list_repeat1",
+};
+
+static const TSSymbol ts_symbol_map[] = {
+ [ts_builtin_sym_end] = ts_builtin_sym_end,
+ [sym_identifier] = sym_identifier,
+ [sym_hash_bang_line] = sym_hash_bang_line,
+ [anon_sym_return] = anon_sym_return,
+ [anon_sym_SEMI] = anon_sym_SEMI,
+ [anon_sym_EQ] = anon_sym_EQ,
+ [anon_sym_COMMA] = anon_sym_COMMA,
+ [anon_sym_COLON_COLON] = anon_sym_COLON_COLON,
+ [sym_break_statement] = sym_break_statement,
+ [anon_sym_goto] = anon_sym_goto,
+ [anon_sym_do] = anon_sym_do,
+ [anon_sym_end] = anon_sym_end,
+ [anon_sym_while] = anon_sym_while,
+ [anon_sym_repeat] = anon_sym_repeat,
+ [anon_sym_until] = anon_sym_until,
+ [anon_sym_if] = anon_sym_if,
+ [anon_sym_then] = anon_sym_then,
+ [anon_sym_elseif] = anon_sym_elseif,
+ [anon_sym_else] = anon_sym_else,
+ [anon_sym_for] = anon_sym_for,
+ [anon_sym_in] = anon_sym_in,
+ [anon_sym_function] = anon_sym_function,
+ [anon_sym_local] = anon_sym_local,
+ [anon_sym_DOT] = anon_sym_DOT,
+ [anon_sym_COLON] = anon_sym_COLON,
+ [anon_sym_LT] = anon_sym_LT,
+ [anon_sym_GT] = anon_sym_GT,
+ [sym_nil] = sym_nil,
+ [sym_false] = sym_false,
+ [sym_true] = sym_true,
+ [sym_number] = sym_number,
+ [anon_sym_DQUOTE] = anon_sym_DQUOTE,
+ [anon_sym_SQUOTE] = anon_sym_SQUOTE,
+ [aux_sym__doublequote_string_content_token1] = aux_sym__doublequote_string_content_token1,
+ [aux_sym__singlequote_string_content_token1] = aux_sym__singlequote_string_content_token1,
+ [sym_escape_sequence] = sym_escape_sequence,
+ [sym_vararg_expression] = sym_vararg_expression,
+ [anon_sym_LPAREN] = anon_sym_LPAREN,
+ [anon_sym_RPAREN] = anon_sym_RPAREN,
+ [anon_sym_LBRACK] = anon_sym_LBRACK,
+ [anon_sym_RBRACK] = anon_sym_RBRACK,
+ [anon_sym_LBRACE] = anon_sym_LBRACE,
+ [anon_sym_RBRACE] = anon_sym_RBRACE,
+ [anon_sym_or] = anon_sym_or,
+ [anon_sym_and] = anon_sym_and,
+ [anon_sym_LT_EQ] = anon_sym_LT_EQ,
+ [anon_sym_EQ_EQ] = anon_sym_EQ_EQ,
+ [anon_sym_TILDE_EQ] = anon_sym_TILDE_EQ,
+ [anon_sym_GT_EQ] = anon_sym_GT_EQ,
+ [anon_sym_PIPE] = anon_sym_PIPE,
+ [anon_sym_TILDE] = anon_sym_TILDE,
+ [anon_sym_AMP] = anon_sym_AMP,
+ [anon_sym_LT_LT] = anon_sym_LT_LT,
+ [anon_sym_GT_GT] = anon_sym_GT_GT,
+ [anon_sym_PLUS] = anon_sym_PLUS,
+ [anon_sym_DASH] = anon_sym_DASH,
+ [anon_sym_STAR] = anon_sym_STAR,
+ [anon_sym_SLASH] = anon_sym_SLASH,
+ [anon_sym_SLASH_SLASH] = anon_sym_SLASH_SLASH,
+ [anon_sym_PERCENT] = anon_sym_PERCENT,
+ [anon_sym_DOT_DOT] = anon_sym_DOT_DOT,
+ [anon_sym_CARET] = anon_sym_CARET,
+ [anon_sym_not] = anon_sym_not,
+ [anon_sym_POUND] = anon_sym_POUND,
+ [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_comment_start,
+ [sym__block_string_content] = sym__block_string_content,
+ [sym__block_string_end] = sym__block_comment_end,
+ [sym_chunk] = sym_chunk,
+ [sym__block] = sym__block,
+ [sym_statement] = sym_statement,
+ [sym_return_statement] = sym_return_statement,
+ [sym_empty_statement] = sym_empty_statement,
+ [sym_assignment_statement] = sym_assignment_statement,
+ [sym__variable_assignment_varlist] = sym__variable_assignment_varlist,
+ [sym__variable_assignment_explist] = sym__variable_assignment_explist,
+ [sym_label_statement] = sym_label_statement,
+ [sym_goto_statement] = sym_goto_statement,
+ [sym_do_statement] = sym_do_statement,
+ [sym_while_statement] = sym_while_statement,
+ [sym_repeat_statement] = sym_repeat_statement,
+ [sym_if_statement] = sym_if_statement,
+ [sym_elseif_statement] = sym_elseif_statement,
+ [sym_else_statement] = sym_else_statement,
+ [sym_for_statement] = sym_for_statement,
+ [sym_for_generic_clause] = sym_for_generic_clause,
+ [sym_for_numeric_clause] = sym_for_numeric_clause,
+ [sym_declaration] = sym_declaration,
+ [sym_function_declaration] = sym_function_declaration,
+ [sym__local_function_declaration] = sym_function_declaration,
+ [sym__function_name] = sym__function_name,
+ [sym__function_name_prefix_expression] = sym__function_name_prefix_expression,
+ [sym__function_name_dot_index_expression] = sym_dot_index_expression,
+ [sym__function_name_method_index_expression] = sym_method_index_expression,
+ [sym_variable_declaration] = sym_variable_declaration,
+ [sym__local_variable_assignment] = sym_assignment_statement,
+ [sym__name_list] = sym__variable_assignment_varlist,
+ [sym__att_name_list] = sym__variable_assignment_varlist,
+ [sym__attrib] = sym__attrib,
+ [sym__expression_list] = sym__variable_assignment_explist,
+ [sym_expression] = sym_expression,
+ [sym_string] = sym_string,
+ [sym__quote_string] = sym__quote_string,
+ [aux_sym__doublequote_string_content] = aux_sym__doublequote_string_content,
+ [aux_sym__singlequote_string_content] = aux_sym__singlequote_string_content,
+ [sym__block_string] = sym__block_string,
+ [sym_function_definition] = sym_function_definition,
+ [sym__function_body] = sym__function_body,
+ [sym_parameters] = sym_parameters,
+ [sym__parameter_list] = sym__parameter_list,
+ [sym__prefix_expression] = sym__prefix_expression,
+ [sym_variable] = sym_variable,
+ [sym_bracket_index_expression] = sym_bracket_index_expression,
+ [sym_dot_index_expression] = sym_dot_index_expression,
+ [sym_function_call] = sym_function_call,
+ [sym_method_index_expression] = sym_method_index_expression,
+ [sym_arguments] = sym_arguments,
+ [sym_parenthesized_expression] = sym_parenthesized_expression,
+ [sym_table_constructor] = sym_table_constructor,
+ [sym__field_list] = sym__field_list,
+ [sym__field_sep] = sym__field_sep,
+ [sym_field] = sym_field,
+ [sym_binary_expression] = sym_binary_expression,
+ [sym_unary_expression] = sym_unary_expression,
+ [sym_comment] = sym_comment,
+ [aux_sym_chunk_repeat1] = aux_sym_chunk_repeat1,
+ [aux_sym__variable_assignment_varlist_repeat1] = aux_sym__variable_assignment_varlist_repeat1,
+ [aux_sym__variable_assignment_explist_repeat1] = aux_sym__variable_assignment_explist_repeat1,
+ [aux_sym_if_statement_repeat1] = aux_sym_if_statement_repeat1,
+ [aux_sym__name_list_repeat1] = aux_sym__name_list_repeat1,
+ [aux_sym__att_name_list_repeat1] = aux_sym__att_name_list_repeat1,
+ [aux_sym__expression_list_repeat1] = aux_sym__expression_list_repeat1,
+ [aux_sym__field_list_repeat1] = aux_sym__field_list_repeat1,
+};
+
+static const TSSymbolMetadata ts_symbol_metadata[] = {
+ [ts_builtin_sym_end] = {
+ .visible = false,
+ .named = true,
+ },
+ [sym_identifier] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_hash_bang_line] = {
+ .visible = true,
+ .named = true,
+ },
+ [anon_sym_return] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_SEMI] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_EQ] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_COMMA] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_COLON_COLON] = {
+ .visible = true,
+ .named = false,
+ },
+ [sym_break_statement] = {
+ .visible = true,
+ .named = true,
+ },
+ [anon_sym_goto] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_do] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_end] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_while] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_repeat] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_until] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_if] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_then] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_elseif] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_else] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_for] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_in] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_function] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_local] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_DOT] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_COLON] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_LT] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_GT] = {
+ .visible = true,
+ .named = false,
+ },
+ [sym_nil] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_false] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_true] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_number] = {
+ .visible = true,
+ .named = true,
+ },
+ [anon_sym_DQUOTE] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_SQUOTE] = {
+ .visible = true,
+ .named = false,
+ },
+ [aux_sym__doublequote_string_content_token1] = {
+ .visible = false,
+ .named = false,
+ },
+ [aux_sym__singlequote_string_content_token1] = {
+ .visible = false,
+ .named = false,
+ },
+ [sym_escape_sequence] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_vararg_expression] = {
+ .visible = true,
+ .named = true,
+ },
+ [anon_sym_LPAREN] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_RPAREN] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_LBRACK] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_RBRACK] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_LBRACE] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_RBRACE] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_or] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_and] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_LT_EQ] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_EQ_EQ] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_TILDE_EQ] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_GT_EQ] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_PIPE] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_TILDE] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_AMP] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_LT_LT] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_GT_GT] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_PLUS] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_DASH] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_STAR] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_SLASH] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_SLASH_SLASH] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_PERCENT] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_DOT_DOT] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_CARET] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_not] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_POUND] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_DASH_DASH] = {
+ .visible = true,
+ .named = false,
+ },
+ [aux_sym_comment_token1] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__block_comment_start] = {
+ .visible = true,
+ .named = false,
+ },
+ [sym__block_comment_content] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__block_comment_end] = {
+ .visible = true,
+ .named = false,
+ },
+ [sym__block_string_start] = {
+ .visible = true,
+ .named = false,
+ },
+ [sym__block_string_content] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__block_string_end] = {
+ .visible = true,
+ .named = false,
+ },
+ [sym_chunk] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__block] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_statement] = {
+ .visible = false,
+ .named = true,
+ .supertype = true,
+ },
+ [sym_return_statement] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_empty_statement] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_assignment_statement] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__variable_assignment_varlist] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__variable_assignment_explist] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_label_statement] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_goto_statement] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_do_statement] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_while_statement] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_repeat_statement] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_if_statement] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_elseif_statement] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_else_statement] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_for_statement] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_for_generic_clause] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_for_numeric_clause] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_declaration] = {
+ .visible = false,
+ .named = true,
+ .supertype = true,
+ },
+ [sym_function_declaration] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__local_function_declaration] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__function_name] = {
+ .visible = false,
+ .named = true,
+ },
+ [sym__function_name_prefix_expression] = {
+ .visible = false,
+ .named = true,
+ },
+ [sym__function_name_dot_index_expression] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__function_name_method_index_expression] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_variable_declaration] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__local_variable_assignment] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__name_list] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__att_name_list] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__attrib] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__expression_list] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_expression] = {
+ .visible = false,
+ .named = true,
+ .supertype = true,
+ },
+ [sym_string] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__quote_string] = {
+ .visible = false,
+ .named = true,
+ },
+ [aux_sym__doublequote_string_content] = {
+ .visible = false,
+ .named = false,
+ },
+ [aux_sym__singlequote_string_content] = {
+ .visible = false,
+ .named = false,
+ },
+ [sym__block_string] = {
+ .visible = false,
+ .named = true,
+ },
+ [sym_function_definition] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__function_body] = {
+ .visible = false,
+ .named = true,
+ },
+ [sym_parameters] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__parameter_list] = {
+ .visible = false,
+ .named = true,
+ },
+ [sym__prefix_expression] = {
+ .visible = false,
+ .named = true,
+ },
+ [sym_variable] = {
+ .visible = false,
+ .named = true,
+ .supertype = true,
+ },
+ [sym_bracket_index_expression] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_dot_index_expression] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_function_call] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_method_index_expression] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_arguments] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_parenthesized_expression] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_table_constructor] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__field_list] = {
+ .visible = false,
+ .named = true,
+ },
+ [sym__field_sep] = {
+ .visible = false,
+ .named = true,
+ },
+ [sym_field] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_binary_expression] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_unary_expression] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_comment] = {
+ .visible = true,
+ .named = true,
+ },
+ [aux_sym_chunk_repeat1] = {
+ .visible = false,
+ .named = false,
+ },
+ [aux_sym__variable_assignment_varlist_repeat1] = {
+ .visible = false,
+ .named = false,
+ },
+ [aux_sym__variable_assignment_explist_repeat1] = {
+ .visible = false,
+ .named = false,
+ },
+ [aux_sym_if_statement_repeat1] = {
+ .visible = false,
+ .named = false,
+ },
+ [aux_sym__name_list_repeat1] = {
+ .visible = false,
+ .named = false,
+ },
+ [aux_sym__att_name_list_repeat1] = {
+ .visible = false,
+ .named = false,
+ },
+ [aux_sym__expression_list_repeat1] = {
+ .visible = false,
+ .named = false,
+ },
+ [aux_sym__field_list_repeat1] = {
+ .visible = false,
+ .named = false,
+ },
+};
+
+enum ts_field_identifiers {
+ field_alternative = 1,
+ field_arguments = 2,
+ field_attribute = 3,
+ field_body = 4,
+ field_clause = 5,
+ field_condition = 6,
+ field_consequence = 7,
+ field_content = 8,
+ field_end = 9,
+ field_field = 10,
+ field_left = 11,
+ field_local_declaration = 12,
+ field_method = 13,
+ field_name = 14,
+ field_operand = 15,
+ field_parameters = 16,
+ field_right = 17,
+ field_start = 18,
+ field_step = 19,
+ field_table = 20,
+ field_value = 21,
+};
+
+static const char * const ts_field_names[] = {
+ [0] = NULL,
+ [field_alternative] = "alternative",
+ [field_arguments] = "arguments",
+ [field_attribute] = "attribute",
+ [field_body] = "body",
+ [field_clause] = "clause",
+ [field_condition] = "condition",
+ [field_consequence] = "consequence",
+ [field_content] = "content",
+ [field_end] = "end",
+ [field_field] = "field",
+ [field_left] = "left",
+ [field_local_declaration] = "local_declaration",
+ [field_method] = "method",
+ [field_name] = "name",
+ [field_operand] = "operand",
+ [field_parameters] = "parameters",
+ [field_right] = "right",
+ [field_start] = "start",
+ [field_step] = "step",
+ [field_table] = "table",
+ [field_value] = "value",
+};
+
+static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
+ [1] = {.index = 0, .length = 1},
+ [2] = {.index = 1, .length = 4},
+ [3] = {.index = 5, .length = 1},
+ [4] = {.index = 6, .length = 1},
+ [5] = {.index = 7, .length = 2},
+ [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 = 3},
+ [13] = {.index = 25, .length = 2},
+ [14] = {.index = 27, .length = 2},
+ [15] = {.index = 29, .length = 1},
+ [16] = {.index = 30, .length = 1},
+ [17] = {.index = 31, .length = 1},
+ [18] = {.index = 32, .length = 1},
+ [19] = {.index = 33, .length = 3},
+ [20] = {.index = 36, .length = 2},
+ [21] = {.index = 38, .length = 3},
+ [22] = {.index = 41, .length = 2},
+ [23] = {.index = 43, .length = 2},
+ [24] = {.index = 45, .length = 2},
+ [25] = {.index = 47, .length = 1},
+ [26] = {.index = 48, .length = 2},
+ [27] = {.index = 50, .length = 1},
+ [28] = {.index = 22, .length = 3},
+ [29] = {.index = 51, .length = 2},
+ [30] = {.index = 53, .length = 1},
+ [31] = {.index = 54, .length = 2},
+ [32] = {.index = 56, .length = 1},
+ [33] = {.index = 57, .length = 1},
+ [34] = {.index = 58, .length = 1},
+ [35] = {.index = 59, .length = 3},
+ [36] = {.index = 62, .length = 4},
+ [37] = {.index = 66, .length = 4},
+ [38] = {.index = 70, .length = 3},
+ [39] = {.index = 73, .length = 2},
+ [40] = {.index = 75, .length = 1},
+ [41] = {.index = 76, .length = 2},
+ [42] = {.index = 78, .length = 2},
+ [43] = {.index = 80, .length = 2},
+ [44] = {.index = 82, .length = 2},
+ [45] = {.index = 84, .length = 2},
+ [46] = {.index = 86, .length = 2},
+ [47] = {.index = 88, .length = 2},
+ [48] = {.index = 90, .length = 2},
+ [49] = {.index = 92, .length = 2},
+ [50] = {.index = 94, .length = 1},
+ [51] = {.index = 95, .length = 2},
+ [52] = {.index = 97, .length = 3},
+ [53] = {.index = 100, .length = 3},
+ [54] = {.index = 103, .length = 3},
+ [55] = {.index = 106, .length = 3},
+ [56] = {.index = 109, .length = 2},
+ [57] = {.index = 111, .length = 4},
+ [58] = {.index = 115, .length = 4},
+};
+
+static const TSFieldMapEntry ts_field_map_entries[] = {
+ [0] =
+ {field_local_declaration, 0, .inherited = true},
+ [1] =
+ {field_body, 0, .inherited = true},
+ {field_local_declaration, 0},
+ {field_name, 0, .inherited = true},
+ {field_parameters, 0, .inherited = true},
+ [5] =
+ {field_local_declaration, 0},
+ [6] =
+ {field_name, 0},
+ [7] =
+ {field_content, 1},
+ {field_start, 0},
+ [9] =
+ {field_content, 0, .inherited = true},
+ {field_end, 0, .inherited = true},
+ {field_start, 0, .inherited = true},
+ [12] =
+ {field_field, 0, .inherited = true},
+ {field_table, 0, .inherited = true},
+ [14] =
+ {field_method, 0, .inherited = true},
+ {field_table, 0, .inherited = true},
+ [16] =
+ {field_attribute, 1, .inherited = true},
+ {field_name, 1, .inherited = true},
+ [18] =
+ {field_arguments, 1},
+ {field_name, 0},
+ [20] =
+ {field_name, 0},
+ {field_name, 1, .inherited = true},
+ [22] =
+ {field_content, 1},
+ {field_end, 2},
+ {field_start, 0},
+ [25] =
+ {field_body, 1, .inherited = true},
+ {field_parameters, 1, .inherited = true},
+ [27] =
+ {field_end, 1},
+ {field_start, 0},
+ [29] =
+ {field_value, 0},
+ [30] =
+ {field_operand, 1},
+ [31] =
+ {field_body, 1},
+ [32] =
+ {field_condition, 2},
+ [33] =
+ {field_body, 2, .inherited = true},
+ {field_name, 1},
+ {field_parameters, 2, .inherited = true},
+ [36] =
+ {field_attribute, 1},
+ {field_name, 0},
+ [38] =
+ {field_attribute, 1, .inherited = true},
+ {field_name, 0},
+ {field_name, 1, .inherited = true},
+ [41] =
+ {field_name, 0, .inherited = true},
+ {field_value, 2, .inherited = true},
+ [43] =
+ {field_field, 2},
+ {field_table, 0},
+ [45] =
+ {field_method, 2},
+ {field_table, 0},
+ [47] =
+ {field_name, 1},
+ [48] =
+ {field_name, 0, .inherited = true},
+ {field_name, 1, .inherited = true},
+ [50] =
+ {field_parameters, 0},
+ [51] =
+ {field_left, 0},
+ {field_right, 2},
+ [53] =
+ {field_condition, 1},
+ [54] =
+ {field_body, 1},
+ {field_condition, 3},
+ [56] =
+ {field_alternative, 0},
+ [57] =
+ {field_clause, 1},
+ [58] =
+ {field_name, 0, .inherited = true},
+ [59] =
+ {field_body, 3, .inherited = true},
+ {field_name, 2},
+ {field_parameters, 3, .inherited = true},
+ [62] =
+ {field_attribute, 1},
+ {field_attribute, 2, .inherited = true},
+ {field_name, 0},
+ {field_name, 2, .inherited = true},
+ [66] =
+ {field_attribute, 0, .inherited = true},
+ {field_attribute, 1, .inherited = true},
+ {field_name, 0, .inherited = true},
+ {field_name, 1, .inherited = true},
+ [70] =
+ {field_attribute, 0, .inherited = true},
+ {field_name, 0, .inherited = true},
+ {field_value, 2, .inherited = true},
+ [73] =
+ {field_value, 0},
+ {field_value, 1, .inherited = true},
+ [75] =
+ {field_name, 1, .inherited = true},
+ [76] =
+ {field_body, 1},
+ {field_parameters, 0},
+ [78] =
+ {field_name, 0},
+ {field_value, 2},
+ [80] =
+ {field_body, 3},
+ {field_condition, 1},
+ [82] =
+ {field_condition, 1},
+ {field_consequence, 3},
+ [84] =
+ {field_alternative, 3},
+ {field_condition, 1},
+ [86] =
+ {field_alternative, 3, .inherited = true},
+ {field_condition, 1},
+ [88] =
+ {field_alternative, 0, .inherited = true},
+ {field_alternative, 1, .inherited = true},
+ [90] =
+ {field_body, 3},
+ {field_clause, 1},
+ [92] =
+ {field_attribute, 2},
+ {field_name, 1},
+ [94] =
+ {field_value, 1},
+ [95] =
+ {field_value, 0, .inherited = true},
+ {field_value, 1, .inherited = true},
+ [97] =
+ {field_alternative, 4},
+ {field_condition, 1},
+ {field_consequence, 3},
+ [100] =
+ {field_alternative, 4, .inherited = true},
+ {field_condition, 1},
+ {field_consequence, 3},
+ [103] =
+ {field_alternative, 3, .inherited = true},
+ {field_alternative, 4},
+ {field_condition, 1},
+ [106] =
+ {field_end, 4},
+ {field_name, 0},
+ {field_start, 2},
+ [109] =
+ {field_name, 1},
+ {field_value, 4},
+ [111] =
+ {field_alternative, 4, .inherited = true},
+ {field_alternative, 5},
+ {field_condition, 1},
+ {field_consequence, 3},
+ [115] =
+ {field_end, 4},
+ {field_name, 0},
+ {field_start, 2},
+ {field_step, 6},
+};
+
+static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
+ [0] = {0},
+ [28] = {
+ [1] = sym__block_string_content,
+ },
+};
+
+static const uint16_t ts_non_terminal_alias_map[] = {
+ aux_sym__doublequote_string_content, 2,
+ aux_sym__doublequote_string_content,
+ sym__block_string_content,
+ aux_sym__singlequote_string_content, 2,
+ aux_sym__singlequote_string_content,
+ sym__block_string_content,
+ 0,
+};
+
+static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
+ [0] = 0,
+ [1] = 1,
+ [2] = 2,
+ [3] = 3,
+ [4] = 4,
+ [5] = 5,
+ [6] = 6,
+ [7] = 7,
+ [8] = 8,
+ [9] = 9,
+ [10] = 10,
+ [11] = 11,
+ [12] = 12,
+ [13] = 13,
+ [14] = 14,
+ [15] = 15,
+ [16] = 16,
+ [17] = 17,
+ [18] = 18,
+ [19] = 17,
+ [20] = 20,
+ [21] = 21,
+ [22] = 22,
+ [23] = 23,
+ [24] = 24,
+ [25] = 25,
+ [26] = 26,
+ [27] = 27,
+ [28] = 28,
+ [29] = 18,
+ [30] = 5,
+ [31] = 31,
+ [32] = 32,
+ [33] = 16,
+ [34] = 34,
+ [35] = 35,
+ [36] = 15,
+ [37] = 37,
+ [38] = 38,
+ [39] = 14,
+ [40] = 40,
+ [41] = 12,
+ [42] = 42,
+ [43] = 43,
+ [44] = 44,
+ [45] = 45,
+ [46] = 46,
+ [47] = 47,
+ [48] = 48,
+ [49] = 49,
+ [50] = 50,
+ [51] = 51,
+ [52] = 52,
+ [53] = 53,
+ [54] = 54,
+ [55] = 55,
+ [56] = 56,
+ [57] = 57,
+ [58] = 58,
+ [59] = 59,
+ [60] = 60,
+ [61] = 60,
+ [62] = 62,
+ [63] = 59,
+ [64] = 64,
+ [65] = 65,
+ [66] = 66,
+ [67] = 67,
+ [68] = 68,
+ [69] = 69,
+ [70] = 70,
+ [71] = 71,
+ [72] = 72,
+ [73] = 73,
+ [74] = 74,
+ [75] = 75,
+ [76] = 76,
+ [77] = 77,
+ [78] = 78,
+ [79] = 79,
+ [80] = 80,
+ [81] = 81,
+ [82] = 82,
+ [83] = 83,
+ [84] = 84,
+ [85] = 85,
+ [86] = 86,
+ [87] = 87,
+ [88] = 88,
+ [89] = 89,
+ [90] = 90,
+ [91] = 91,
+ [92] = 92,
+ [93] = 93,
+ [94] = 94,
+ [95] = 95,
+ [96] = 96,
+ [97] = 97,
+ [98] = 98,
+ [99] = 99,
+ [100] = 100,
+ [101] = 101,
+ [102] = 102,
+ [103] = 103,
+ [104] = 104,
+ [105] = 105,
+ [106] = 106,
+ [107] = 107,
+ [108] = 108,
+ [109] = 109,
+ [110] = 110,
+ [111] = 111,
+ [112] = 112,
+ [113] = 113,
+ [114] = 114,
+ [115] = 115,
+ [116] = 116,
+ [117] = 117,
+ [118] = 118,
+ [119] = 119,
+ [120] = 120,
+ [121] = 121,
+ [122] = 122,
+ [123] = 123,
+ [124] = 124,
+ [125] = 125,
+ [126] = 126,
+ [127] = 127,
+ [128] = 128,
+ [129] = 129,
+ [130] = 130,
+ [131] = 131,
+ [132] = 132,
+ [133] = 133,
+ [134] = 134,
+ [135] = 135,
+ [136] = 136,
+ [137] = 137,
+ [138] = 138,
+ [139] = 139,
+ [140] = 140,
+ [141] = 141,
+ [142] = 142,
+ [143] = 143,
+ [144] = 144,
+ [145] = 145,
+ [146] = 146,
+ [147] = 147,
+ [148] = 148,
+ [149] = 149,
+ [150] = 150,
+ [151] = 151,
+ [152] = 152,
+ [153] = 153,
+ [154] = 154,
+ [155] = 155,
+ [156] = 156,
+ [157] = 157,
+ [158] = 158,
+ [159] = 159,
+ [160] = 160,
+ [161] = 161,
+ [162] = 162,
+ [163] = 163,
+ [164] = 164,
+ [165] = 165,
+ [166] = 166,
+ [167] = 167,
+ [168] = 168,
+ [169] = 169,
+ [170] = 170,
+ [171] = 171,
+ [172] = 172,
+ [173] = 173,
+ [174] = 174,
+ [175] = 175,
+ [176] = 176,
+ [177] = 177,
+ [178] = 178,
+ [179] = 179,
+ [180] = 180,
+ [181] = 180,
+ [182] = 182,
+ [183] = 183,
+ [184] = 184,
+ [185] = 185,
+ [186] = 182,
+ [187] = 187,
+ [188] = 179,
+ [189] = 189,
+ [190] = 190,
+ [191] = 176,
+ [192] = 192,
+ [193] = 193,
+ [194] = 194,
+ [195] = 195,
+ [196] = 196,
+ [197] = 197,
+ [198] = 198,
+ [199] = 199,
+ [200] = 200,
+ [201] = 201,
+ [202] = 202,
+ [203] = 203,
+ [204] = 204,
+ [205] = 205,
+ [206] = 206,
+ [207] = 207,
+ [208] = 208,
+ [209] = 209,
+ [210] = 210,
+ [211] = 211,
+ [212] = 212,
+ [213] = 213,
+ [214] = 214,
+ [215] = 215,
+ [216] = 216,
+ [217] = 217,
+ [218] = 218,
+ [219] = 219,
+ [220] = 220,
+ [221] = 221,
+ [222] = 222,
+ [223] = 223,
+ [224] = 224,
+ [225] = 225,
+ [226] = 226,
+ [227] = 227,
+ [228] = 228,
+ [229] = 229,
+ [230] = 230,
+ [231] = 231,
+ [232] = 232,
+ [233] = 233,
+ [234] = 234,
+ [235] = 235,
+ [236] = 236,
+ [237] = 237,
+ [238] = 238,
+ [239] = 239,
+ [240] = 240,
+ [241] = 241,
+ [242] = 242,
+ [243] = 243,
+ [244] = 244,
+ [245] = 245,
+ [246] = 246,
+ [247] = 247,
+ [248] = 248,
+ [249] = 229,
+ [250] = 250,
+ [251] = 224,
+ [252] = 252,
+ [253] = 253,
+ [254] = 254,
+ [255] = 255,
+ [256] = 256,
+ [257] = 227,
+ [258] = 258,
+ [259] = 259,
+ [260] = 260,
+ [261] = 261,
+};
+
+static TSCharacterRange sym_escape_sequence_character_set_1[] = {
+ {'\n', '\n'}, {'"', '"'}, {'\'', '\''}, {'0', '9'}, {'\\', '\\'}, {'a', 'b'}, {'f', 'f'}, {'n', 'n'},
+ {'r', 'r'}, {'t', 'v'}, {'x', 'x'}, {'z', 'z'},
+};
+
+static bool ts_lex(TSLexer *lexer, TSStateId state) {
+ START_LEXER();
+ eof = lexer->eof(lexer);
+ switch (state) {
+ case 0:
+ if (eof) ADVANCE(20);
+ ADVANCE_MAP(
+ '"', 39,
+ '#', 76,
+ '%', 73,
+ '&', 65,
+ '\'', 40,
+ '(', 52,
+ ')', 53,
+ '*', 70,
+ '+', 68,
+ ',', 24,
+ '-', 69,
+ '.', 27,
+ '/', 71,
+ '0', 33,
+ ':', 28,
+ ';', 22,
+ '<', 29,
+ '=', 23,
+ '>', 31,
+ '[', 54,
+ '\\', 6,
+ ']', 55,
+ '^', 75,
+ '{', 56,
+ '|', 62,
+ '}', 57,
+ '~', 64,
+ );
+ if (('\t' <= lookahead && lookahead <= '\r') ||
+ lookahead == ' ') SKIP(17);
+ if (('1' <= lookahead && lookahead <= '9')) ADVANCE(34);
+ if (lookahead > ' ' &&
+ (lookahead < '{' || 0x9f < lookahead)) ADVANCE(77);
+ END_STATE();
+ case 1:
+ if (lookahead == '"') ADVANCE(39);
+ if (lookahead == '-') ADVANCE(42);
+ if (lookahead == '\\') ADVANCE(6);
+ if (('\t' <= lookahead && lookahead <= '\r') ||
+ lookahead == ' ') ADVANCE(41);
+ if (lookahead != 0) ADVANCE(43);
+ END_STATE();
+ case 2:
+ if (lookahead == '\'') ADVANCE(40);
+ if (lookahead == '-') ADVANCE(45);
+ if (lookahead == '\\') ADVANCE(6);
+ if (('\t' <= lookahead && lookahead <= '\r') ||
+ lookahead == ' ') ADVANCE(44);
+ if (lookahead != 0) ADVANCE(46);
+ END_STATE();
+ case 3:
+ if (lookahead == '.') ADVANCE(4);
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(36);
+ END_STATE();
+ case 4:
+ if (lookahead == '.') ADVANCE(51);
+ END_STATE();
+ case 5:
+ if (lookahead == '.') ADVANCE(14);
+ if (('0' <= lookahead && lookahead <= '9') ||
+ ('A' <= lookahead && lookahead <= 'F') ||
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(35);
+ END_STATE();
+ case 6:
+ if (lookahead == 'u') ADVANCE(7);
+ if (lookahead == 'x') ADVANCE(16);
+ if (lookahead == 'z') ADVANCE(48);
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(50);
+ if (set_contains(sym_escape_sequence_character_set_1, 12, lookahead)) ADVANCE(47);
+ END_STATE();
+ case 7:
+ if (lookahead == '{') ADVANCE(15);
+ END_STATE();
+ case 8:
+ if (lookahead == '}') ADVANCE(47);
+ if (('0' <= lookahead && lookahead <= '9') ||
+ ('A' <= lookahead && lookahead <= 'F') ||
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(8);
+ END_STATE();
+ case 9:
+ if (lookahead == '+' ||
+ lookahead == '-') ADVANCE(12);
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(38);
+ END_STATE();
+ case 10:
+ if (lookahead == 'L' ||
+ lookahead == 'l') ADVANCE(32);
+ END_STATE();
+ case 11:
+ if (lookahead == 'L' ||
+ lookahead == 'l') ADVANCE(10);
+ END_STATE();
+ case 12:
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(38);
+ END_STATE();
+ case 13:
+ if (('0' <= lookahead && lookahead <= '9') ||
+ ('A' <= lookahead && lookahead <= 'F') ||
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(47);
+ END_STATE();
+ case 14:
+ if (('0' <= lookahead && lookahead <= '9') ||
+ ('A' <= lookahead && lookahead <= 'F') ||
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(37);
+ END_STATE();
+ case 15:
+ if (('0' <= lookahead && lookahead <= '9') ||
+ ('A' <= lookahead && lookahead <= 'F') ||
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(8);
+ END_STATE();
+ case 16:
+ if (('0' <= lookahead && lookahead <= '9') ||
+ ('A' <= lookahead && lookahead <= 'F') ||
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(13);
+ END_STATE();
+ case 17:
+ if (eof) ADVANCE(20);
+ ADVANCE_MAP(
+ '"', 39,
+ '#', 76,
+ '%', 73,
+ '&', 65,
+ '\'', 40,
+ '(', 52,
+ ')', 53,
+ '*', 70,
+ '+', 68,
+ ',', 24,
+ '-', 69,
+ '.', 27,
+ '/', 71,
+ '0', 33,
+ ':', 28,
+ ';', 22,
+ '<', 29,
+ '=', 23,
+ '>', 31,
+ '[', 54,
+ ']', 55,
+ '^', 75,
+ '{', 56,
+ '|', 62,
+ '}', 57,
+ '~', 64,
+ );
+ if (('\t' <= lookahead && lookahead <= '\r') ||
+ lookahead == ' ') SKIP(17);
+ if (('1' <= lookahead && lookahead <= '9')) ADVANCE(34);
+ if (lookahead > ' ' &&
+ (lookahead < '[' || '^' < lookahead) &&
+ (lookahead < '{' || 0x9f < lookahead)) ADVANCE(77);
+ END_STATE();
+ case 18:
+ if (eof) ADVANCE(20);
+ ADVANCE_MAP(
+ '"', 39,
+ '#', 76,
+ '\'', 40,
+ '(', 52,
+ ')', 53,
+ '-', 69,
+ '.', 3,
+ '0', 33,
+ ';', 22,
+ '>', 30,
+ '[', 54,
+ '{', 56,
+ '}', 57,
+ '~', 63,
+ );
+ if (('\t' <= lookahead && lookahead <= '\r') ||
+ lookahead == ' ') SKIP(18);
+ if (('1' <= lookahead && lookahead <= '9')) ADVANCE(34);
+ if (lookahead > ' ' &&
+ (lookahead < '%' || '>' < lookahead) &&
+ (lookahead < '[' || '^' < lookahead) &&
+ (lookahead < '{' || 0x9f < lookahead)) ADVANCE(77);
+ END_STATE();
+ case 19:
+ if (eof) ADVANCE(20);
+ ADVANCE_MAP(
+ '"', 39,
+ '#', 21,
+ '%', 73,
+ '&', 65,
+ '\'', 40,
+ '(', 52,
+ ')', 53,
+ '*', 70,
+ '+', 68,
+ ',', 24,
+ '-', 69,
+ '.', 26,
+ '/', 71,
+ ':', 28,
+ ';', 22,
+ '<', 29,
+ '=', 23,
+ '>', 31,
+ '[', 54,
+ ']', 55,
+ '^', 75,
+ '{', 56,
+ '|', 62,
+ '}', 57,
+ '~', 64,
+ );
+ if (('\t' <= lookahead && lookahead <= '\r') ||
+ lookahead == ' ') SKIP(19);
+ if (lookahead > ' ' &&
+ (lookahead < '%' || '>' < lookahead) &&
+ (lookahead < '[' || '^' < lookahead) &&
+ (lookahead < '{' || 0x9f < lookahead)) ADVANCE(77);
+ END_STATE();
+ case 20:
+ ACCEPT_TOKEN(ts_builtin_sym_end);
+ END_STATE();
+ case 21:
+ ACCEPT_TOKEN(sym_hash_bang_line);
+ if (lookahead != 0 &&
+ lookahead != '\n') ADVANCE(21);
+ END_STATE();
+ case 22:
+ ACCEPT_TOKEN(anon_sym_SEMI);
+ END_STATE();
+ case 23:
+ ACCEPT_TOKEN(anon_sym_EQ);
+ if (lookahead == '=') ADVANCE(59);
+ END_STATE();
+ case 24:
+ ACCEPT_TOKEN(anon_sym_COMMA);
+ END_STATE();
+ case 25:
+ ACCEPT_TOKEN(anon_sym_COLON_COLON);
+ END_STATE();
+ case 26:
+ ACCEPT_TOKEN(anon_sym_DOT);
+ if (lookahead == '.') ADVANCE(74);
+ END_STATE();
+ case 27:
+ ACCEPT_TOKEN(anon_sym_DOT);
+ if (lookahead == '.') ADVANCE(74);
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(36);
+ END_STATE();
+ case 28:
+ ACCEPT_TOKEN(anon_sym_COLON);
+ if (lookahead == ':') ADVANCE(25);
+ END_STATE();
+ case 29:
+ ACCEPT_TOKEN(anon_sym_LT);
+ if (lookahead == '<') ADVANCE(66);
+ if (lookahead == '=') ADVANCE(58);
+ END_STATE();
+ case 30:
+ ACCEPT_TOKEN(anon_sym_GT);
+ END_STATE();
+ case 31:
+ ACCEPT_TOKEN(anon_sym_GT);
+ if (lookahead == '=') ADVANCE(61);
+ if (lookahead == '>') ADVANCE(67);
+ END_STATE();
+ case 32:
+ ACCEPT_TOKEN(sym_number);
+ END_STATE();
+ case 33:
+ ACCEPT_TOKEN(sym_number);
+ ADVANCE_MAP(
+ '.', 36,
+ 'E', 9,
+ 'e', 9,
+ 'I', 32,
+ 'i', 32,
+ 'L', 10,
+ 'l', 10,
+ 'U', 11,
+ 'u', 11,
+ 'X', 5,
+ 'x', 5,
+ );
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(34);
+ END_STATE();
+ case 34:
+ ACCEPT_TOKEN(sym_number);
+ ADVANCE_MAP(
+ '.', 36,
+ 'E', 9,
+ 'e', 9,
+ 'I', 32,
+ 'i', 32,
+ 'L', 10,
+ 'l', 10,
+ 'U', 11,
+ 'u', 11,
+ );
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(34);
+ END_STATE();
+ case 35:
+ ACCEPT_TOKEN(sym_number);
+ ADVANCE_MAP(
+ '.', 37,
+ 'I', 32,
+ 'i', 32,
+ 'L', 10,
+ 'l', 10,
+ 'P', 9,
+ 'p', 9,
+ 'U', 11,
+ 'u', 11,
+ );
+ if (('0' <= lookahead && lookahead <= '9') ||
+ ('A' <= lookahead && lookahead <= 'F') ||
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(35);
+ END_STATE();
+ case 36:
+ ACCEPT_TOKEN(sym_number);
+ if (lookahead == 'E' ||
+ lookahead == 'e') ADVANCE(9);
+ if (lookahead == 'I' ||
+ lookahead == 'i') ADVANCE(32);
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(36);
+ END_STATE();
+ case 37:
+ ACCEPT_TOKEN(sym_number);
+ if (lookahead == 'I' ||
+ lookahead == 'i') ADVANCE(32);
+ if (lookahead == 'P' ||
+ lookahead == 'p') ADVANCE(9);
+ if (('0' <= lookahead && lookahead <= '9') ||
+ ('A' <= lookahead && lookahead <= 'F') ||
+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(37);
+ END_STATE();
+ case 38:
+ ACCEPT_TOKEN(sym_number);
+ if (lookahead == 'I' ||
+ lookahead == 'i') ADVANCE(32);
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(38);
+ END_STATE();
+ case 39:
+ ACCEPT_TOKEN(anon_sym_DQUOTE);
+ END_STATE();
+ case 40:
+ ACCEPT_TOKEN(anon_sym_SQUOTE);
+ END_STATE();
+ case 41:
+ ACCEPT_TOKEN(aux_sym__doublequote_string_content_token1);
+ if (lookahead == '-') ADVANCE(42);
+ if (('\t' <= lookahead && lookahead <= '\r') ||
+ lookahead == ' ') ADVANCE(41);
+ if (lookahead != 0 &&
+ lookahead != '"' &&
+ lookahead != '\\') ADVANCE(43);
+ END_STATE();
+ case 42:
+ ACCEPT_TOKEN(aux_sym__doublequote_string_content_token1);
+ if (lookahead == '-') ADVANCE(43);
+ if (lookahead != 0 &&
+ lookahead != '"' &&
+ lookahead != '\\') ADVANCE(43);
+ END_STATE();
+ case 43:
+ ACCEPT_TOKEN(aux_sym__doublequote_string_content_token1);
+ if (lookahead != 0 &&
+ lookahead != '"' &&
+ lookahead != '\\') ADVANCE(43);
+ END_STATE();
+ case 44:
+ ACCEPT_TOKEN(aux_sym__singlequote_string_content_token1);
+ if (lookahead == '-') ADVANCE(45);
+ if (('\t' <= lookahead && lookahead <= '\r') ||
+ lookahead == ' ') ADVANCE(44);
+ if (lookahead != 0 &&
+ lookahead != '\'' &&
+ lookahead != '\\') ADVANCE(46);
+ END_STATE();
+ case 45:
+ ACCEPT_TOKEN(aux_sym__singlequote_string_content_token1);
+ if (lookahead == '-') ADVANCE(46);
+ if (lookahead != 0 &&
+ lookahead != '\'' &&
+ lookahead != '\\') ADVANCE(46);
+ END_STATE();
+ case 46:
+ ACCEPT_TOKEN(aux_sym__singlequote_string_content_token1);
+ if (lookahead != 0 &&
+ lookahead != '\'' &&
+ lookahead != '\\') ADVANCE(46);
+ END_STATE();
+ case 47:
+ ACCEPT_TOKEN(sym_escape_sequence);
+ END_STATE();
+ case 48:
+ ACCEPT_TOKEN(sym_escape_sequence);
+ if (('\t' <= lookahead && lookahead <= '\r') ||
+ lookahead == ' ') ADVANCE(48);
+ END_STATE();
+ case 49:
+ ACCEPT_TOKEN(sym_escape_sequence);
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47);
+ END_STATE();
+ case 50:
+ ACCEPT_TOKEN(sym_escape_sequence);
+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49);
+ END_STATE();
+ case 51:
+ ACCEPT_TOKEN(sym_vararg_expression);
+ END_STATE();
+ case 52:
+ ACCEPT_TOKEN(anon_sym_LPAREN);
+ END_STATE();
+ case 53:
+ ACCEPT_TOKEN(anon_sym_RPAREN);
+ END_STATE();
+ case 54:
+ ACCEPT_TOKEN(anon_sym_LBRACK);
+ END_STATE();
+ case 55:
+ ACCEPT_TOKEN(anon_sym_RBRACK);
+ END_STATE();
+ case 56:
+ ACCEPT_TOKEN(anon_sym_LBRACE);
+ END_STATE();
+ case 57:
+ ACCEPT_TOKEN(anon_sym_RBRACE);
+ END_STATE();
+ case 58:
+ ACCEPT_TOKEN(anon_sym_LT_EQ);
+ END_STATE();
+ case 59:
+ ACCEPT_TOKEN(anon_sym_EQ_EQ);
+ END_STATE();
+ case 60:
+ ACCEPT_TOKEN(anon_sym_TILDE_EQ);
+ END_STATE();
+ case 61:
+ ACCEPT_TOKEN(anon_sym_GT_EQ);
+ END_STATE();
+ case 62:
+ ACCEPT_TOKEN(anon_sym_PIPE);
+ END_STATE();
+ case 63:
+ ACCEPT_TOKEN(anon_sym_TILDE);
+ END_STATE();
+ case 64:
+ ACCEPT_TOKEN(anon_sym_TILDE);
+ if (lookahead == '=') ADVANCE(60);
+ END_STATE();
+ case 65:
+ ACCEPT_TOKEN(anon_sym_AMP);
+ END_STATE();
+ case 66:
+ ACCEPT_TOKEN(anon_sym_LT_LT);
+ END_STATE();
+ case 67:
+ ACCEPT_TOKEN(anon_sym_GT_GT);
+ END_STATE();
+ case 68:
+ ACCEPT_TOKEN(anon_sym_PLUS);
+ END_STATE();
+ case 69:
+ ACCEPT_TOKEN(anon_sym_DASH);
+ if (lookahead == '-') ADVANCE(78);
+ END_STATE();
+ case 70:
+ ACCEPT_TOKEN(anon_sym_STAR);
+ END_STATE();
+ case 71:
+ ACCEPT_TOKEN(anon_sym_SLASH);
+ if (lookahead == '/') ADVANCE(72);
+ END_STATE();
+ case 72:
+ ACCEPT_TOKEN(anon_sym_SLASH_SLASH);
+ END_STATE();
+ case 73:
+ ACCEPT_TOKEN(anon_sym_PERCENT);
+ END_STATE();
+ case 74:
+ ACCEPT_TOKEN(anon_sym_DOT_DOT);
+ END_STATE();
+ case 75:
+ ACCEPT_TOKEN(anon_sym_CARET);
+ END_STATE();
+ case 76:
+ ACCEPT_TOKEN(anon_sym_POUND);
+ END_STATE();
+ case 77:
+ ACCEPT_TOKEN(sym_identifier);
+ if (lookahead > ' ' &&
+ lookahead != '"' &&
+ lookahead != '#' &&
+ (lookahead < '%' || '/' < lookahead) &&
+ (lookahead < ':' || '>' < lookahead) &&
+ (lookahead < '[' || '^' < lookahead) &&
+ (lookahead < '{' || 0x9f < lookahead)) ADVANCE(77);
+ END_STATE();
+ case 78:
+ ACCEPT_TOKEN(anon_sym_DASH_DASH);
+ END_STATE();
+ case 79:
+ ACCEPT_TOKEN(anon_sym_DASH_DASH);
+ if (lookahead != 0 &&
+ lookahead != '\n' &&
+ lookahead != '\r') ADVANCE(82);
+ END_STATE();
+ case 80:
+ ACCEPT_TOKEN(aux_sym_comment_token1);
+ if (lookahead == '-') ADVANCE(81);
+ if (lookahead == '\t' ||
+ lookahead == 0x0b ||
+ lookahead == '\f' ||
+ lookahead == ' ') ADVANCE(80);
+ if (lookahead != 0 &&
+ (lookahead < '\t' || '\r' < lookahead)) ADVANCE(82);
+ END_STATE();
+ case 81:
+ ACCEPT_TOKEN(aux_sym_comment_token1);
+ if (lookahead == '-') ADVANCE(79);
+ if (lookahead != 0 &&
+ lookahead != '\n' &&
+ lookahead != '\r') ADVANCE(82);
+ END_STATE();
+ case 82:
+ ACCEPT_TOKEN(aux_sym_comment_token1);
+ if (lookahead != 0 &&
+ lookahead != '\n' &&
+ lookahead != '\r') ADVANCE(82);
+ END_STATE();
+ default:
+ return false;
+ }
+}
+
+static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) {
+ START_LEXER();
+ eof = lexer->eof(lexer);
+ switch (state) {
+ case 0:
+ ADVANCE_MAP(
+ 'a', 1,
+ 'b', 2,
+ 'd', 3,
+ 'e', 4,
+ 'f', 5,
+ 'g', 6,
+ 'i', 7,
+ 'l', 8,
+ 'n', 9,
+ 'o', 10,
+ 'r', 11,
+ 't', 12,
+ 'u', 13,
+ 'w', 14,
+ );
+ if (('\t' <= lookahead && lookahead <= '\r') ||
+ lookahead == ' ') SKIP(0);
+ END_STATE();
+ case 1:
+ if (lookahead == 'n') ADVANCE(15);
+ END_STATE();
+ case 2:
+ if (lookahead == 'r') ADVANCE(16);
+ END_STATE();
+ case 3:
+ if (lookahead == 'o') ADVANCE(17);
+ END_STATE();
+ case 4:
+ if (lookahead == 'l') ADVANCE(18);
+ if (lookahead == 'n') ADVANCE(19);
+ END_STATE();
+ case 5:
+ if (lookahead == 'a') ADVANCE(20);
+ if (lookahead == 'o') ADVANCE(21);
+ if (lookahead == 'u') ADVANCE(22);
+ END_STATE();
+ case 6:
+ if (lookahead == 'o') ADVANCE(23);
+ END_STATE();
+ case 7:
+ if (lookahead == 'f') ADVANCE(24);
+ if (lookahead == 'n') ADVANCE(25);
+ END_STATE();
+ case 8:
+ if (lookahead == 'o') ADVANCE(26);
+ END_STATE();
+ case 9:
+ if (lookahead == 'i') ADVANCE(27);
+ if (lookahead == 'o') ADVANCE(28);
+ END_STATE();
+ case 10:
+ if (lookahead == 'r') ADVANCE(29);
+ END_STATE();
+ case 11:
+ if (lookahead == 'e') ADVANCE(30);
+ END_STATE();
+ case 12:
+ if (lookahead == 'h') ADVANCE(31);
+ if (lookahead == 'r') ADVANCE(32);
+ END_STATE();
+ case 13:
+ if (lookahead == 'n') ADVANCE(33);
+ END_STATE();
+ case 14:
+ if (lookahead == 'h') ADVANCE(34);
+ END_STATE();
+ case 15:
+ if (lookahead == 'd') ADVANCE(35);
+ END_STATE();
+ case 16:
+ if (lookahead == 'e') ADVANCE(36);
+ END_STATE();
+ case 17:
+ ACCEPT_TOKEN(anon_sym_do);
+ END_STATE();
+ case 18:
+ if (lookahead == 's') ADVANCE(37);
+ END_STATE();
+ case 19:
+ if (lookahead == 'd') ADVANCE(38);
+ END_STATE();
+ case 20:
+ if (lookahead == 'l') ADVANCE(39);
+ END_STATE();
+ case 21:
+ if (lookahead == 'r') ADVANCE(40);
+ END_STATE();
+ case 22:
+ if (lookahead == 'n') ADVANCE(41);
+ END_STATE();
+ case 23:
+ if (lookahead == 't') ADVANCE(42);
+ END_STATE();
+ case 24:
+ ACCEPT_TOKEN(anon_sym_if);
+ END_STATE();
+ case 25:
+ ACCEPT_TOKEN(anon_sym_in);
+ END_STATE();
+ case 26:
+ if (lookahead == 'c') ADVANCE(43);
+ END_STATE();
+ case 27:
+ if (lookahead == 'l') ADVANCE(44);
+ END_STATE();
+ case 28:
+ if (lookahead == 't') ADVANCE(45);
+ END_STATE();
+ case 29:
+ ACCEPT_TOKEN(anon_sym_or);
+ END_STATE();
+ case 30:
+ if (lookahead == 'p') ADVANCE(46);
+ if (lookahead == 't') ADVANCE(47);
+ END_STATE();
+ case 31:
+ if (lookahead == 'e') ADVANCE(48);
+ END_STATE();
+ case 32:
+ if (lookahead == 'u') ADVANCE(49);
+ END_STATE();
+ case 33:
+ if (lookahead == 't') ADVANCE(50);
+ END_STATE();
+ case 34:
+ if (lookahead == 'i') ADVANCE(51);
+ END_STATE();
+ case 35:
+ ACCEPT_TOKEN(anon_sym_and);
+ END_STATE();
+ case 36:
+ if (lookahead == 'a') ADVANCE(52);
+ END_STATE();
+ case 37:
+ if (lookahead == 'e') ADVANCE(53);
+ END_STATE();
+ case 38:
+ ACCEPT_TOKEN(anon_sym_end);
+ END_STATE();
+ case 39:
+ if (lookahead == 's') ADVANCE(54);
+ END_STATE();
+ case 40:
+ ACCEPT_TOKEN(anon_sym_for);
+ END_STATE();
+ case 41:
+ if (lookahead == 'c') ADVANCE(55);
+ END_STATE();
+ case 42:
+ if (lookahead == 'o') ADVANCE(56);
+ END_STATE();
+ case 43:
+ if (lookahead == 'a') ADVANCE(57);
+ END_STATE();
+ case 44:
+ ACCEPT_TOKEN(sym_nil);
+ END_STATE();
+ case 45:
+ ACCEPT_TOKEN(anon_sym_not);
+ END_STATE();
+ case 46:
+ if (lookahead == 'e') ADVANCE(58);
+ END_STATE();
+ case 47:
+ if (lookahead == 'u') ADVANCE(59);
+ END_STATE();
+ case 48:
+ if (lookahead == 'n') ADVANCE(60);
+ END_STATE();
+ case 49:
+ if (lookahead == 'e') ADVANCE(61);
+ END_STATE();
+ case 50:
+ if (lookahead == 'i') ADVANCE(62);
+ END_STATE();
+ case 51:
+ if (lookahead == 'l') ADVANCE(63);
+ END_STATE();
+ case 52:
+ if (lookahead == 'k') ADVANCE(64);
+ END_STATE();
+ case 53:
+ ACCEPT_TOKEN(anon_sym_else);
+ if (lookahead == 'i') ADVANCE(65);
+ END_STATE();
+ case 54:
+ if (lookahead == 'e') ADVANCE(66);
+ END_STATE();
+ case 55:
+ if (lookahead == 't') ADVANCE(67);
+ END_STATE();
+ case 56:
+ ACCEPT_TOKEN(anon_sym_goto);
+ END_STATE();
+ case 57:
+ if (lookahead == 'l') ADVANCE(68);
+ END_STATE();
+ case 58:
+ if (lookahead == 'a') ADVANCE(69);
+ END_STATE();
+ case 59:
+ if (lookahead == 'r') ADVANCE(70);
+ END_STATE();
+ case 60:
+ ACCEPT_TOKEN(anon_sym_then);
+ END_STATE();
+ case 61:
+ ACCEPT_TOKEN(sym_true);
+ END_STATE();
+ case 62:
+ if (lookahead == 'l') ADVANCE(71);
+ END_STATE();
+ case 63:
+ if (lookahead == 'e') ADVANCE(72);
+ END_STATE();
+ case 64:
+ ACCEPT_TOKEN(sym_break_statement);
+ END_STATE();
+ case 65:
+ if (lookahead == 'f') ADVANCE(73);
+ END_STATE();
+ case 66:
+ ACCEPT_TOKEN(sym_false);
+ END_STATE();
+ case 67:
+ if (lookahead == 'i') ADVANCE(74);
+ END_STATE();
+ case 68:
+ ACCEPT_TOKEN(anon_sym_local);
+ END_STATE();
+ case 69:
+ if (lookahead == 't') ADVANCE(75);
+ END_STATE();
+ case 70:
+ if (lookahead == 'n') ADVANCE(76);
+ END_STATE();
+ case 71:
+ ACCEPT_TOKEN(anon_sym_until);
+ END_STATE();
+ case 72:
+ ACCEPT_TOKEN(anon_sym_while);
+ END_STATE();
+ case 73:
+ ACCEPT_TOKEN(anon_sym_elseif);
+ END_STATE();
+ case 74:
+ if (lookahead == 'o') ADVANCE(77);
+ END_STATE();
+ case 75:
+ ACCEPT_TOKEN(anon_sym_repeat);
+ END_STATE();
+ case 76:
+ ACCEPT_TOKEN(anon_sym_return);
+ END_STATE();
+ case 77:
+ if (lookahead == 'n') ADVANCE(78);
+ END_STATE();
+ case 78:
+ ACCEPT_TOKEN(anon_sym_function);
+ END_STATE();
+ default:
+ return false;
+ }
+}
+
+static const TSLexMode ts_lex_modes[STATE_COUNT] = {
+ [0] = {.lex_state = 0, .external_lex_state = 1},
+ [1] = {.lex_state = 19, .external_lex_state = 2},
+ [2] = {.lex_state = 19, .external_lex_state = 3},
+ [3] = {.lex_state = 19, .external_lex_state = 3},
+ [4] = {.lex_state = 19, .external_lex_state = 3},
+ [5] = {.lex_state = 19, .external_lex_state = 3},
+ [6] = {.lex_state = 19, .external_lex_state = 3},
+ [7] = {.lex_state = 19, .external_lex_state = 3},
+ [8] = {.lex_state = 19, .external_lex_state = 3},
+ [9] = {.lex_state = 19, .external_lex_state = 3},
+ [10] = {.lex_state = 19, .external_lex_state = 3},
+ [11] = {.lex_state = 19, .external_lex_state = 3},
+ [12] = {.lex_state = 19, .external_lex_state = 3},
+ [13] = {.lex_state = 19, .external_lex_state = 3},
+ [14] = {.lex_state = 19, .external_lex_state = 3},
+ [15] = {.lex_state = 19, .external_lex_state = 3},
+ [16] = {.lex_state = 19, .external_lex_state = 3},
+ [17] = {.lex_state = 19, .external_lex_state = 3},
+ [18] = {.lex_state = 19, .external_lex_state = 3},
+ [19] = {.lex_state = 0, .external_lex_state = 2},
+ [20] = {.lex_state = 0, .external_lex_state = 2},
+ [21] = {.lex_state = 0, .external_lex_state = 2},
+ [22] = {.lex_state = 0, .external_lex_state = 2},
+ [23] = {.lex_state = 0, .external_lex_state = 2},
+ [24] = {.lex_state = 0, .external_lex_state = 2},
+ [25] = {.lex_state = 0, .external_lex_state = 2},
+ [26] = {.lex_state = 0, .external_lex_state = 2},
+ [27] = {.lex_state = 0, .external_lex_state = 2},
+ [28] = {.lex_state = 0, .external_lex_state = 2},
+ [29] = {.lex_state = 0, .external_lex_state = 2},
+ [30] = {.lex_state = 0, .external_lex_state = 2},
+ [31] = {.lex_state = 0, .external_lex_state = 2},
+ [32] = {.lex_state = 0, .external_lex_state = 2},
+ [33] = {.lex_state = 0, .external_lex_state = 2},
+ [34] = {.lex_state = 0, .external_lex_state = 2},
+ [35] = {.lex_state = 0, .external_lex_state = 2},
+ [36] = {.lex_state = 0, .external_lex_state = 2},
+ [37] = {.lex_state = 0, .external_lex_state = 2},
+ [38] = {.lex_state = 0, .external_lex_state = 2},
+ [39] = {.lex_state = 0, .external_lex_state = 2},
+ [40] = {.lex_state = 0, .external_lex_state = 2},
+ [41] = {.lex_state = 0, .external_lex_state = 2},
+ [42] = {.lex_state = 0, .external_lex_state = 2},
+ [43] = {.lex_state = 0, .external_lex_state = 2},
+ [44] = {.lex_state = 0, .external_lex_state = 2},
+ [45] = {.lex_state = 0, .external_lex_state = 2},
+ [46] = {.lex_state = 0, .external_lex_state = 2},
+ [47] = {.lex_state = 0, .external_lex_state = 2},
+ [48] = {.lex_state = 0, .external_lex_state = 2},
+ [49] = {.lex_state = 0, .external_lex_state = 2},
+ [50] = {.lex_state = 0, .external_lex_state = 2},
+ [51] = {.lex_state = 0, .external_lex_state = 2},
+ [52] = {.lex_state = 0, .external_lex_state = 2},
+ [53] = {.lex_state = 0, .external_lex_state = 2},
+ [54] = {.lex_state = 0, .external_lex_state = 2},
+ [55] = {.lex_state = 0, .external_lex_state = 2},
+ [56] = {.lex_state = 0, .external_lex_state = 2},
+ [57] = {.lex_state = 0, .external_lex_state = 2},
+ [58] = {.lex_state = 0, .external_lex_state = 2},
+ [59] = {.lex_state = 18, .external_lex_state = 3},
+ [60] = {.lex_state = 18, .external_lex_state = 3},
+ [61] = {.lex_state = 18, .external_lex_state = 3},
+ [62] = {.lex_state = 18, .external_lex_state = 3},
+ [63] = {.lex_state = 18, .external_lex_state = 3},
+ [64] = {.lex_state = 18, .external_lex_state = 3},
+ [65] = {.lex_state = 19, .external_lex_state = 3},
+ [66] = {.lex_state = 18, .external_lex_state = 3},
+ [67] = {.lex_state = 18, .external_lex_state = 3},
+ [68] = {.lex_state = 18, .external_lex_state = 3},
+ [69] = {.lex_state = 18, .external_lex_state = 3},
+ [70] = {.lex_state = 18, .external_lex_state = 3},
+ [71] = {.lex_state = 18, .external_lex_state = 3},
+ [72] = {.lex_state = 18, .external_lex_state = 3},
+ [73] = {.lex_state = 18, .external_lex_state = 3},
+ [74] = {.lex_state = 18, .external_lex_state = 3},
+ [75] = {.lex_state = 18, .external_lex_state = 3},
+ [76] = {.lex_state = 18, .external_lex_state = 3},
+ [77] = {.lex_state = 18, .external_lex_state = 3},
+ [78] = {.lex_state = 18, .external_lex_state = 3},
+ [79] = {.lex_state = 18, .external_lex_state = 3},
+ [80] = {.lex_state = 18, .external_lex_state = 3},
+ [81] = {.lex_state = 18, .external_lex_state = 3},
+ [82] = {.lex_state = 18, .external_lex_state = 3},
+ [83] = {.lex_state = 18, .external_lex_state = 3},
+ [84] = {.lex_state = 18, .external_lex_state = 3},
+ [85] = {.lex_state = 18, .external_lex_state = 3},
+ [86] = {.lex_state = 18, .external_lex_state = 3},
+ [87] = {.lex_state = 18, .external_lex_state = 3},
+ [88] = {.lex_state = 18, .external_lex_state = 3},
+ [89] = {.lex_state = 18, .external_lex_state = 3},
+ [90] = {.lex_state = 18, .external_lex_state = 3},
+ [91] = {.lex_state = 18, .external_lex_state = 3},
+ [92] = {.lex_state = 18, .external_lex_state = 3},
+ [93] = {.lex_state = 18, .external_lex_state = 3},
+ [94] = {.lex_state = 18, .external_lex_state = 3},
+ [95] = {.lex_state = 18, .external_lex_state = 3},
+ [96] = {.lex_state = 18, .external_lex_state = 3},
+ [97] = {.lex_state = 18, .external_lex_state = 3},
+ [98] = {.lex_state = 0, .external_lex_state = 2},
+ [99] = {.lex_state = 0, .external_lex_state = 2},
+ [100] = {.lex_state = 19, .external_lex_state = 3},
+ [101] = {.lex_state = 0, .external_lex_state = 2},
+ [102] = {.lex_state = 0, .external_lex_state = 2},
+ [103] = {.lex_state = 0, .external_lex_state = 2},
+ [104] = {.lex_state = 0, .external_lex_state = 2},
+ [105] = {.lex_state = 0, .external_lex_state = 2},
+ [106] = {.lex_state = 0, .external_lex_state = 2},
+ [107] = {.lex_state = 0, .external_lex_state = 2},
+ [108] = {.lex_state = 0, .external_lex_state = 2},
+ [109] = {.lex_state = 0, .external_lex_state = 2},
+ [110] = {.lex_state = 0, .external_lex_state = 2},
+ [111] = {.lex_state = 0, .external_lex_state = 2},
+ [112] = {.lex_state = 0, .external_lex_state = 2},
+ [113] = {.lex_state = 0, .external_lex_state = 2},
+ [114] = {.lex_state = 0, .external_lex_state = 2},
+ [115] = {.lex_state = 0, .external_lex_state = 2},
+ [116] = {.lex_state = 0, .external_lex_state = 2},
+ [117] = {.lex_state = 0, .external_lex_state = 2},
+ [118] = {.lex_state = 0, .external_lex_state = 2},
+ [119] = {.lex_state = 0, .external_lex_state = 2},
+ [120] = {.lex_state = 0, .external_lex_state = 2},
+ [121] = {.lex_state = 0, .external_lex_state = 2},
+ [122] = {.lex_state = 0, .external_lex_state = 2},
+ [123] = {.lex_state = 0, .external_lex_state = 2},
+ [124] = {.lex_state = 0, .external_lex_state = 2},
+ [125] = {.lex_state = 0, .external_lex_state = 2},
+ [126] = {.lex_state = 0, .external_lex_state = 2},
+ [127] = {.lex_state = 0, .external_lex_state = 2},
+ [128] = {.lex_state = 0, .external_lex_state = 2},
+ [129] = {.lex_state = 0, .external_lex_state = 2},
+ [130] = {.lex_state = 0, .external_lex_state = 2},
+ [131] = {.lex_state = 0, .external_lex_state = 2},
+ [132] = {.lex_state = 0, .external_lex_state = 2},
+ [133] = {.lex_state = 0, .external_lex_state = 2},
+ [134] = {.lex_state = 0, .external_lex_state = 2},
+ [135] = {.lex_state = 0, .external_lex_state = 2},
+ [136] = {.lex_state = 0, .external_lex_state = 2},
+ [137] = {.lex_state = 0, .external_lex_state = 2},
+ [138] = {.lex_state = 0, .external_lex_state = 2},
+ [139] = {.lex_state = 0, .external_lex_state = 2},
+ [140] = {.lex_state = 0, .external_lex_state = 2},
+ [141] = {.lex_state = 0, .external_lex_state = 2},
+ [142] = {.lex_state = 0, .external_lex_state = 2},
+ [143] = {.lex_state = 0, .external_lex_state = 2},
+ [144] = {.lex_state = 0, .external_lex_state = 2},
+ [145] = {.lex_state = 0, .external_lex_state = 2},
+ [146] = {.lex_state = 0, .external_lex_state = 2},
+ [147] = {.lex_state = 0, .external_lex_state = 2},
+ [148] = {.lex_state = 0, .external_lex_state = 2},
+ [149] = {.lex_state = 0, .external_lex_state = 2},
+ [150] = {.lex_state = 0, .external_lex_state = 2},
+ [151] = {.lex_state = 0, .external_lex_state = 2},
+ [152] = {.lex_state = 0, .external_lex_state = 2},
+ [153] = {.lex_state = 18, .external_lex_state = 3},
+ [154] = {.lex_state = 0, .external_lex_state = 2},
+ [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 = 19, .external_lex_state = 3},
+ [159] = {.lex_state = 0, .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},
+ [164] = {.lex_state = 0, .external_lex_state = 2},
+ [165] = {.lex_state = 0, .external_lex_state = 2},
+ [166] = {.lex_state = 0, .external_lex_state = 2},
+ [167] = {.lex_state = 0, .external_lex_state = 2},
+ [168] = {.lex_state = 0, .external_lex_state = 2},
+ [169] = {.lex_state = 0, .external_lex_state = 3},
+ [170] = {.lex_state = 0, .external_lex_state = 2},
+ [171] = {.lex_state = 0, .external_lex_state = 2},
+ [172] = {.lex_state = 0, .external_lex_state = 2},
+ [173] = {.lex_state = 0, .external_lex_state = 2},
+ [174] = {.lex_state = 0, .external_lex_state = 2},
+ [175] = {.lex_state = 0, .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 = 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 = 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 = 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 = 19, .external_lex_state = 2},
+ [204] = {.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 = 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 = 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 = 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},
+ [223] = {.lex_state = 0, .external_lex_state = 2},
+ [224] = {.lex_state = 0, .external_lex_state = 2},
+ [225] = {.lex_state = 18, .external_lex_state = 2},
+ [226] = {.lex_state = 0, .external_lex_state = 2},
+ [227] = {.lex_state = 0, .external_lex_state = 5},
+ [228] = {.lex_state = 0, .external_lex_state = 2},
+ [229] = {.lex_state = 0, .external_lex_state = 6},
+ [230] = {.lex_state = 0, .external_lex_state = 2},
+ [231] = {.lex_state = 0, .external_lex_state = 2},
+ [232] = {.lex_state = 0, .external_lex_state = 2},
+ [233] = {.lex_state = 0, .external_lex_state = 2},
+ [234] = {.lex_state = 0, .external_lex_state = 2},
+ [235] = {.lex_state = 0, .external_lex_state = 2},
+ [236] = {.lex_state = 0, .external_lex_state = 2},
+ [237] = {.lex_state = 0, .external_lex_state = 2},
+ [238] = {.lex_state = 0, .external_lex_state = 2},
+ [239] = {.lex_state = 0, .external_lex_state = 2},
+ [240] = {.lex_state = 0, .external_lex_state = 2},
+ [241] = {.lex_state = 0, .external_lex_state = 2},
+ [242] = {.lex_state = 0, .external_lex_state = 2},
+ [243] = {.lex_state = 0, .external_lex_state = 2},
+ [244] = {.lex_state = 0, .external_lex_state = 2},
+ [245] = {.lex_state = 0, .external_lex_state = 2},
+ [246] = {.lex_state = 0, .external_lex_state = 2},
+ [247] = {.lex_state = 0, .external_lex_state = 2},
+ [248] = {.lex_state = 0, .external_lex_state = 2},
+ [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 = 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 = 5},
+ [258] = {.lex_state = 0, .external_lex_state = 2},
+ [259] = {.lex_state = 80, .external_lex_state = 2},
+ [260] = {(TSStateId)(-1)},
+ [261] = {(TSStateId)(-1)},
+};
+
+static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
+ [0] = {
+ [sym_comment] = STATE(0),
+ [ts_builtin_sym_end] = ACTIONS(1),
+ [sym_identifier] = ACTIONS(1),
+ [anon_sym_return] = ACTIONS(1),
+ [anon_sym_SEMI] = ACTIONS(1),
+ [anon_sym_EQ] = ACTIONS(1),
+ [anon_sym_COMMA] = ACTIONS(1),
+ [anon_sym_COLON_COLON] = ACTIONS(1),
+ [sym_break_statement] = ACTIONS(1),
+ [anon_sym_goto] = ACTIONS(1),
+ [anon_sym_do] = ACTIONS(1),
+ [anon_sym_end] = ACTIONS(1),
+ [anon_sym_while] = ACTIONS(1),
+ [anon_sym_repeat] = ACTIONS(1),
+ [anon_sym_until] = ACTIONS(1),
+ [anon_sym_if] = ACTIONS(1),
+ [anon_sym_then] = ACTIONS(1),
+ [anon_sym_elseif] = ACTIONS(1),
+ [anon_sym_else] = ACTIONS(1),
+ [anon_sym_for] = ACTIONS(1),
+ [anon_sym_in] = ACTIONS(1),
+ [anon_sym_function] = ACTIONS(1),
+ [anon_sym_local] = ACTIONS(1),
+ [anon_sym_DOT] = ACTIONS(1),
+ [anon_sym_COLON] = ACTIONS(1),
+ [anon_sym_LT] = ACTIONS(1),
+ [anon_sym_GT] = ACTIONS(1),
+ [sym_nil] = ACTIONS(1),
+ [sym_false] = ACTIONS(1),
+ [sym_true] = ACTIONS(1),
+ [sym_number] = ACTIONS(1),
+ [anon_sym_DQUOTE] = ACTIONS(1),
+ [anon_sym_SQUOTE] = ACTIONS(1),
+ [sym_escape_sequence] = ACTIONS(1),
+ [anon_sym_LPAREN] = ACTIONS(1),
+ [anon_sym_RPAREN] = ACTIONS(1),
+ [anon_sym_LBRACK] = ACTIONS(1),
+ [anon_sym_RBRACK] = ACTIONS(1),
+ [anon_sym_LBRACE] = ACTIONS(1),
+ [anon_sym_RBRACE] = ACTIONS(1),
+ [anon_sym_or] = ACTIONS(1),
+ [anon_sym_and] = ACTIONS(1),
+ [anon_sym_LT_EQ] = ACTIONS(1),
+ [anon_sym_EQ_EQ] = ACTIONS(1),
+ [anon_sym_TILDE_EQ] = ACTIONS(1),
+ [anon_sym_GT_EQ] = ACTIONS(1),
+ [anon_sym_PIPE] = ACTIONS(1),
+ [anon_sym_TILDE] = ACTIONS(1),
+ [anon_sym_AMP] = ACTIONS(1),
+ [anon_sym_LT_LT] = ACTIONS(1),
+ [anon_sym_GT_GT] = ACTIONS(1),
+ [anon_sym_PLUS] = ACTIONS(1),
+ [anon_sym_DASH] = ACTIONS(1),
+ [anon_sym_STAR] = ACTIONS(1),
+ [anon_sym_SLASH] = ACTIONS(1),
+ [anon_sym_SLASH_SLASH] = ACTIONS(1),
+ [anon_sym_PERCENT] = ACTIONS(1),
+ [anon_sym_DOT_DOT] = ACTIONS(1),
+ [anon_sym_CARET] = ACTIONS(1),
+ [anon_sym_not] = ACTIONS(1),
+ [anon_sym_POUND] = ACTIONS(1),
+ [anon_sym_DASH_DASH] = ACTIONS(3),
+ [sym__block_comment_start] = ACTIONS(5),
+ [sym__block_comment_content] = ACTIONS(1),
+ [sym__block_comment_end] = ACTIONS(1),
+ [sym__block_string_start] = ACTIONS(1),
+ [sym__block_string_content] = ACTIONS(1),
+ [sym__block_string_end] = ACTIONS(1),
+ },
+ [1] = {
+ [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),
+ [sym_dot_index_expression] = STATE(4),
+ [sym_function_call] = STATE(100),
+ [sym_method_index_expression] = STATE(159),
+ [sym_parenthesized_expression] = STATE(163),
+ [sym_comment] = STATE(1),
+ [aux_sym_chunk_repeat1] = STATE(58),
+ [ts_builtin_sym_end] = ACTIONS(7),
+ [sym_identifier] = ACTIONS(9),
+ [sym_hash_bang_line] = ACTIONS(11),
+ [anon_sym_return] = ACTIONS(13),
+ [anon_sym_SEMI] = ACTIONS(15),
+ [anon_sym_COLON_COLON] = ACTIONS(17),
+ [sym_break_statement] = ACTIONS(19),
+ [anon_sym_goto] = ACTIONS(21),
+ [anon_sym_do] = ACTIONS(23),
+ [anon_sym_while] = ACTIONS(25),
+ [anon_sym_repeat] = ACTIONS(27),
+ [anon_sym_if] = ACTIONS(29),
+ [anon_sym_for] = ACTIONS(31),
+ [anon_sym_function] = ACTIONS(33),
+ [anon_sym_local] = ACTIONS(35),
+ [anon_sym_LPAREN] = ACTIONS(37),
+ [anon_sym_DASH_DASH] = ACTIONS(3),
+ [sym__block_comment_start] = ACTIONS(5),
+ },
+};
+
+static const uint16_t ts_small_parse_table[] = {
+ [0] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(2), 1,
+ sym_comment,
+ ACTIONS(41), 26,
+ anon_sym_return,
+ anon_sym_EQ,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(39), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [67] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(3), 1,
+ sym_comment,
+ ACTIONS(45), 26,
+ anon_sym_return,
+ anon_sym_EQ,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(43), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [134] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(4), 1,
+ sym_comment,
+ ACTIONS(49), 26,
+ anon_sym_return,
+ anon_sym_EQ,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(47), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [201] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(5), 1,
+ sym_comment,
+ ACTIONS(53), 25,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(51), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [267] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(6), 1,
+ sym_comment,
+ ACTIONS(57), 25,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(55), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [333] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(7), 1,
+ sym_comment,
+ ACTIONS(61), 25,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(59), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [399] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(8), 1,
+ sym_comment,
+ ACTIONS(65), 25,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(63), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [465] = 7,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(9), 1,
+ sym_comment,
+ ACTIONS(71), 2,
+ anon_sym_DOT,
+ anon_sym_COLON,
+ ACTIONS(73), 6,
+ sym__block_string_start,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_LBRACK,
+ anon_sym_LBRACE,
+ ACTIONS(67), 21,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ ACTIONS(69), 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,
+ [535] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(10), 1,
+ sym_comment,
+ ACTIONS(77), 25,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(75), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [601] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(11), 1,
+ sym_comment,
+ ACTIONS(81), 25,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(79), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [667] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(12), 1,
+ sym_comment,
+ ACTIONS(85), 25,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(83), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [733] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(13), 1,
+ sym_comment,
+ ACTIONS(89), 25,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(87), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [799] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(14), 1,
+ sym_comment,
+ ACTIONS(85), 25,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(83), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [865] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(15), 1,
+ sym_comment,
+ ACTIONS(93), 25,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(91), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [931] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(16), 1,
+ sym_comment,
+ ACTIONS(97), 25,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(95), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [997] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(17), 1,
+ sym_comment,
+ ACTIONS(101), 25,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(99), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [1063] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(18), 1,
+ sym_comment,
+ ACTIONS(105), 25,
+ 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_DOT,
+ anon_sym_COLON,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_or,
+ anon_sym_and,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ sym_identifier,
+ ACTIONS(103), 27,
+ sym__block_string_start,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_LT_EQ,
+ anon_sym_EQ_EQ,
+ anon_sym_TILDE_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_PIPE,
+ anon_sym_AMP,
+ anon_sym_LT_LT,
+ anon_sym_GT_GT,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [1129] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(19), 1,
+ sym_comment,
+ ACTIONS(99), 22,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ ACTIONS(101), 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,
+ [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(107), 21,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ ACTIONS(109), 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,
+ [1249] = 11,
+ 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,
+ STATE(21), 1,
+ sym_comment,
+ ACTIONS(121), 3,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ ACTIONS(113), 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(115), 21,
+ 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,
+ sym_identifier,
+ [1320] = 12,
+ 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,
+ STATE(22), 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), 14,
+ 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,
+ ACTIONS(115), 21,
+ 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,
+ sym_identifier,
+ [1393] = 13,
+ 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,
+ STATE(23), 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), 21,
+ 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,
+ sym_identifier,
+ [1468] = 14,
+ 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,
+ 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(131), 1,
+ anon_sym_TILDE,
+ ACTIONS(137), 1,
+ anon_sym_PIPE,
+ STATE(25), 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(113), 8,
+ 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,
+ ACTIONS(115), 18,
+ 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_or,
+ anon_sym_and,
+ sym_identifier,
+ [1628] = 18,
+ 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,
+ STATE(26), 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(113), 8,
+ 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,
+ ACTIONS(115), 17,
+ 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_or,
+ sym_identifier,
+ [1713] = 15,
+ 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,
+ STATE(27), 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), 12,
+ 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,
+ 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,
+ [1792] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(28), 1,
+ sym_comment,
+ ACTIONS(141), 22,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ ACTIONS(143), 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,
+ [1851] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(29), 1,
+ sym_comment,
+ ACTIONS(103), 22,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ ACTIONS(105), 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,
+ [1910] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(30), 1,
+ sym_comment,
+ ACTIONS(51), 22,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ ACTIONS(53), 23,
+ anon_sym_return,
+ sym_break_statement,
+ anon_sym_goto,
+ 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,
+ [1969] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(31), 1,
+ sym_comment,
+ ACTIONS(145), 22,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ ACTIONS(147), 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,
+ [2028] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(32), 1,
+ sym_comment,
+ ACTIONS(149), 22,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ ACTIONS(151), 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,
+ [2087] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(33), 1,
+ sym_comment,
+ ACTIONS(95), 22,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ ACTIONS(97), 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,
+ [2146] = 6,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(111), 1,
+ anon_sym_CARET,
+ STATE(34), 1,
+ sym_comment,
+ ACTIONS(113), 21,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ ACTIONS(115), 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,
+ [2207] = 11,
+ 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,
+ STATE(35), 1,
+ sym_comment,
+ ACTIONS(121), 3,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ ACTIONS(113), 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(115), 21,
+ 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,
+ sym_identifier,
+ [2278] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(36), 1,
+ sym_comment,
+ ACTIONS(91), 22,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ ACTIONS(93), 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,
+ [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(113), 21,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ ACTIONS(115), 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,
+ [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(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,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_DOT_DOT,
+ ACTIONS(115), 22,
+ 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,
+ sym_identifier,
+ [2463] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(39), 1,
+ sym_comment,
+ ACTIONS(83), 22,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ ACTIONS(85), 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,
+ [2522] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(40), 1,
+ sym_comment,
+ ACTIONS(67), 22,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ ACTIONS(69), 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,
+ [2581] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(41), 1,
+ sym_comment,
+ ACTIONS(83), 22,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ ACTIONS(85), 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,
+ [2640] = 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(153), 1,
+ anon_sym_return,
+ ACTIONS(155), 1,
+ anon_sym_end,
+ ACTIONS(157), 1,
+ anon_sym_elseif,
+ ACTIONS(159), 1,
+ anon_sym_else,
+ STATE(42), 1,
+ sym_comment,
+ STATE(43), 1,
+ aux_sym_chunk_repeat1,
+ 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(164), 1,
+ aux_sym_if_statement_repeat1,
+ STATE(165), 1,
+ sym__block,
+ STATE(190), 1,
+ sym_return_statement,
+ 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,
+ 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,
+ [2767] = 33,
+ 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,
+ STATE(43), 1,
+ sym_comment,
+ STATE(44), 1,
+ aux_sym_chunk_repeat1,
+ 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(183), 1,
+ sym_return_statement,
+ STATE(253), 1,
+ sym__variable_assignment_varlist,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(161), 4,
+ anon_sym_end,
+ anon_sym_until,
+ anon_sym_elseif,
+ anon_sym_else,
+ 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,
+ [2879] = 31,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(163), 1,
+ ts_builtin_sym_end,
+ ACTIONS(165), 1,
+ sym_identifier,
+ ACTIONS(170), 1,
+ anon_sym_SEMI,
+ ACTIONS(173), 1,
+ anon_sym_COLON_COLON,
+ ACTIONS(176), 1,
+ sym_break_statement,
+ ACTIONS(179), 1,
+ anon_sym_goto,
+ ACTIONS(182), 1,
+ anon_sym_do,
+ ACTIONS(185), 1,
+ anon_sym_while,
+ ACTIONS(188), 1,
+ anon_sym_repeat,
+ ACTIONS(191), 1,
+ anon_sym_if,
+ ACTIONS(194), 1,
+ anon_sym_for,
+ ACTIONS(197), 1,
+ anon_sym_function,
+ ACTIONS(200), 1,
+ anon_sym_local,
+ ACTIONS(203), 1,
+ anon_sym_LPAREN,
+ 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(253), 1,
+ sym__variable_assignment_varlist,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ STATE(44), 2,
+ sym_comment,
+ aux_sym_chunk_repeat1,
+ ACTIONS(168), 5,
+ anon_sym_return,
+ anon_sym_end,
+ anon_sym_until,
+ anon_sym_elseif,
+ anon_sym_else,
+ 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,
+ [2987] = 21,
+ 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(210), 1,
+ anon_sym_COMMA,
+ ACTIONS(212), 1,
+ anon_sym_or,
+ STATE(45), 1,
+ sym_comment,
+ STATE(122), 1,
+ aux_sym__variable_assignment_explist_repeat1,
+ 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(206), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(208), 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,
+ [3075] = 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,
+ STATE(43), 1,
+ aux_sym_chunk_repeat1,
+ STATE(46), 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(200), 1,
+ sym__block,
+ STATE(253), 1,
+ sym__variable_assignment_varlist,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(214), 3,
+ anon_sym_end,
+ anon_sym_elseif,
+ anon_sym_else,
+ 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,
+ [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,
+ 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(220), 1,
+ anon_sym_until,
+ STATE(43), 1,
+ aux_sym_chunk_repeat1,
+ STATE(48), 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(245), 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,
+ [3384] = 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(49), 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(222), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(224), 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,
+ [3466] = 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(226), 1,
+ anon_sym_end,
+ STATE(43), 1,
+ aux_sym_chunk_repeat1,
+ STATE(50), 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(239), 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,
+ [3578] = 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(228), 1,
+ anon_sym_end,
+ STATE(43), 1,
+ aux_sym_chunk_repeat1,
+ STATE(51), 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(216), 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,
+ [3690] = 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(52), 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(230), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(232), 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,
+ [3772] = 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(234), 1,
+ anon_sym_end,
+ STATE(43), 1,
+ aux_sym_chunk_repeat1,
+ STATE(53), 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(246), 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,
+ [3884] = 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(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,
+ 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(240), 1,
+ ts_builtin_sym_end,
+ STATE(44), 1,
+ aux_sym_chunk_repeat1,
+ STATE(56), 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(214), 1,
+ sym_return_statement,
+ 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,
+ [4217] = 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,
+ 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(242), 1,
+ ts_builtin_sym_end,
+ STATE(56), 1,
+ aux_sym_chunk_repeat1,
+ STATE(57), 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(250), 1,
+ sym_return_statement,
+ 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,
+ [4326] = 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,
+ 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(242), 1,
+ ts_builtin_sym_end,
+ STATE(44), 1,
+ aux_sym_chunk_repeat1,
+ STATE(58), 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(250), 1,
+ sym_return_statement,
+ 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,
+ [4435] = 25,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(244), 1,
+ anon_sym_SEMI,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(59), 1,
+ sym_comment,
+ STATE(98), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ STATE(167), 1,
+ sym__expression_list,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ ACTIONS(246), 4,
+ anon_sym_end,
+ anon_sym_until,
+ anon_sym_elseif,
+ anon_sym_else,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [4526] = 26,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ ACTIONS(266), 1,
+ sym_identifier,
+ ACTIONS(268), 1,
+ anon_sym_LBRACK,
+ ACTIONS(270), 1,
+ anon_sym_RBRACE,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(60), 1,
+ sym_comment,
+ STATE(102), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ STATE(175), 1,
+ sym_field,
+ STATE(251), 1,
+ sym__field_list,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [4617] = 26,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ ACTIONS(266), 1,
+ sym_identifier,
+ ACTIONS(268), 1,
+ anon_sym_LBRACK,
+ ACTIONS(272), 1,
+ anon_sym_RBRACE,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(61), 1,
+ sym_comment,
+ STATE(102), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ STATE(175), 1,
+ sym_field,
+ STATE(224), 1,
+ sym__field_list,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [4708] = 25,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ ACTIONS(266), 1,
+ sym_identifier,
+ ACTIONS(268), 1,
+ anon_sym_LBRACK,
+ ACTIONS(274), 1,
+ anon_sym_RBRACE,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(62), 1,
+ sym_comment,
+ STATE(102), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ STATE(208), 1,
+ sym_field,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [4796] = 25,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(244), 1,
+ anon_sym_SEMI,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ ACTIONS(276), 1,
+ ts_builtin_sym_end,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(63), 1,
+ sym_comment,
+ STATE(98), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ STATE(167), 1,
+ sym__expression_list,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [4884] = 25,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ ACTIONS(266), 1,
+ sym_identifier,
+ ACTIONS(268), 1,
+ anon_sym_LBRACK,
+ ACTIONS(278), 1,
+ anon_sym_RBRACE,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(64), 1,
+ sym_comment,
+ STATE(102), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ STATE(208), 1,
+ sym_field,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [4972] = 6,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(280), 1,
+ anon_sym_EQ,
+ STATE(65), 1,
+ sym_comment,
+ ACTIONS(49), 6,
+ anon_sym_DOT,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_TILDE,
+ anon_sym_DASH,
+ anon_sym_SLASH,
+ ACTIONS(47), 26,
+ sym__block_string_start,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_LBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_or,
+ anon_sym_and,
+ 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,
+ anon_sym_PLUS,
+ anon_sym_STAR,
+ anon_sym_SLASH_SLASH,
+ anon_sym_PERCENT,
+ anon_sym_DOT_DOT,
+ anon_sym_CARET,
+ [5021] = 24,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ ACTIONS(266), 1,
+ sym_identifier,
+ ACTIONS(268), 1,
+ anon_sym_LBRACK,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(66), 1,
+ sym_comment,
+ STATE(102), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ STATE(208), 1,
+ sym_field,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [5106] = 23,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(67), 1,
+ sym_comment,
+ 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,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [5188] = 23,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(45), 1,
+ sym_expression,
+ STATE(68), 1,
+ sym_comment,
+ STATE(137), 1,
+ sym__variable_assignment_explist,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [5270] = 23,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ ACTIONS(282), 1,
+ anon_sym_RPAREN,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(69), 1,
+ sym_comment,
+ STATE(104), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [5352] = 23,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(45), 1,
+ sym_expression,
+ STATE(70), 1,
+ sym_comment,
+ STATE(136), 1,
+ sym__variable_assignment_explist,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [5434] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(22), 1,
+ sym_expression,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(71), 1,
+ sym_comment,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [5513] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(34), 1,
+ sym_expression,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(72), 1,
+ sym_comment,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [5592] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(49), 1,
+ sym_expression,
+ STATE(73), 1,
+ sym_comment,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [5671] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(74), 1,
+ sym_comment,
+ STATE(116), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [5750] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(52), 1,
+ sym_expression,
+ STATE(75), 1,
+ sym_comment,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [5829] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(76), 1,
+ sym_comment,
+ STATE(106), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [5908] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(20), 1,
+ sym_expression,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(77), 1,
+ sym_comment,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [5987] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(47), 1,
+ sym_expression,
+ STATE(78), 1,
+ sym_comment,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [6066] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(37), 1,
+ sym_expression,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(79), 1,
+ sym_comment,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [6145] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(35), 1,
+ sym_expression,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(80), 1,
+ sym_comment,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [6224] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(38), 1,
+ sym_expression,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(81), 1,
+ sym_comment,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [6303] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(21), 1,
+ sym_expression,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(82), 1,
+ sym_comment,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [6382] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(23), 1,
+ sym_expression,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(83), 1,
+ sym_comment,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [6461] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(24), 1,
+ sym_expression,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(84), 1,
+ sym_comment,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [6540] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(85), 1,
+ sym_comment,
+ STATE(101), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [6619] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(86), 1,
+ sym_comment,
+ STATE(114), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [6698] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(25), 1,
+ sym_expression,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(87), 1,
+ sym_comment,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [6777] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(26), 1,
+ sym_expression,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(88), 1,
+ sym_comment,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [6856] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(27), 1,
+ sym_expression,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(89), 1,
+ sym_comment,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [6935] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(90), 1,
+ sym_comment,
+ STATE(117), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [7014] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(91), 1,
+ sym_comment,
+ STATE(99), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [7093] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(92), 1,
+ sym_comment,
+ STATE(108), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [7172] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(93), 1,
+ sym_comment,
+ STATE(119), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [7251] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(94), 1,
+ sym_comment,
+ STATE(115), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [7330] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(95), 1,
+ sym_comment,
+ STATE(111), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [7409] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(96), 1,
+ sym_comment,
+ STATE(105), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [7488] = 22,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(9), 1,
+ sym_identifier,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(248), 1,
+ anon_sym_function,
+ ACTIONS(254), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(256), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(258), 1,
+ anon_sym_LBRACE,
+ ACTIONS(264), 1,
+ sym__block_string_start,
+ STATE(39), 1,
+ sym__block_string,
+ STATE(41), 1,
+ sym__quote_string,
+ STATE(97), 1,
+ sym_comment,
+ STATE(118), 1,
+ sym_expression,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(159), 1,
+ sym_method_index_expression,
+ ACTIONS(252), 2,
+ sym_number,
+ sym_vararg_expression,
+ ACTIONS(260), 2,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ ACTIONS(262), 2,
+ anon_sym_DASH,
+ anon_sym_not,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ ACTIONS(250), 3,
+ sym_nil,
+ sym_false,
+ sym_true,
+ STATE(9), 3,
+ sym_variable,
+ sym_function_call,
+ sym_parenthesized_expression,
+ STATE(40), 5,
+ sym_string,
+ sym_function_definition,
+ sym_table_constructor,
+ sym_binary_expression,
+ sym_unary_expression,
+ [7567] = 21,
+ 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(286), 1,
+ anon_sym_COMMA,
+ ACTIONS(288), 1,
+ anon_sym_else,
+ ACTIONS(290), 1,
+ anon_sym_or,
+ ACTIONS(292), 1,
+ anon_sym_and,
+ STATE(98), 1,
+ sym_comment,
+ STATE(162), 1,
+ aux_sym__expression_list_repeat1,
+ 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(284), 6,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_do,
+ anon_sym_end,
+ anon_sym_until,
+ anon_sym_elseif,
+ [7643] = 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(290), 1,
+ anon_sym_or,
+ ACTIONS(292), 1,
+ anon_sym_and,
+ ACTIONS(296), 1,
+ anon_sym_else,
+ STATE(99), 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(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,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(71), 1,
+ anon_sym_COLON,
+ STATE(100), 1,
+ sym_comment,
+ ACTIONS(298), 3,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ ACTIONS(73), 7,
+ sym__block_string_start,
+ anon_sym_DOT,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_LBRACK,
+ anon_sym_LBRACE,
+ ACTIONS(300), 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,
+ [7759] = 18,
+ 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(290), 1,
+ anon_sym_or,
+ ACTIONS(292), 1,
+ anon_sym_and,
+ STATE(101), 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(302), 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,
+ [7823] = 18,
+ 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(290), 1,
+ anon_sym_or,
+ ACTIONS(292), 1,
+ anon_sym_and,
+ STATE(102), 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(304), 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,
+ [7887] = 9,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(310), 1,
+ anon_sym_COMMA,
+ ACTIONS(312), 1,
+ anon_sym_LT,
+ STATE(103), 1,
+ sym_comment,
+ STATE(109), 1,
+ aux_sym__att_name_list_repeat1,
+ STATE(110), 1,
+ sym__attrib,
+ ACTIONS(306), 5,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_EQ,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(308), 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,
+ [7933] = 20,
+ 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(286), 1,
+ anon_sym_COMMA,
+ ACTIONS(290), 1,
+ anon_sym_or,
+ ACTIONS(292), 1,
+ anon_sym_and,
+ ACTIONS(314), 1,
+ anon_sym_RPAREN,
+ STATE(104), 1,
+ sym_comment,
+ STATE(197), 1,
+ aux_sym__expression_list_repeat1,
+ 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,
+ [8001] = 18,
+ 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(290), 1,
+ anon_sym_or,
+ ACTIONS(292), 1,
+ anon_sym_and,
+ STATE(105), 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(316), 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,
+ [8065] = 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(290), 1,
+ anon_sym_or,
+ ACTIONS(292), 1,
+ anon_sym_and,
+ ACTIONS(318), 1,
+ anon_sym_COMMA,
+ ACTIONS(320), 1,
+ anon_sym_do,
+ STATE(106), 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,
+ [8130] = 7,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(312), 1,
+ anon_sym_LT,
+ STATE(107), 1,
+ sym_comment,
+ STATE(121), 1,
+ sym__attrib,
+ ACTIONS(322), 6,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_EQ,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(324), 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,
+ [8171] = 18,
+ 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(290), 1,
+ anon_sym_or,
+ ACTIONS(292), 1,
+ anon_sym_and,
+ ACTIONS(326), 1,
+ anon_sym_then,
+ STATE(108), 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,
+ [8233] = 7,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(310), 1,
+ anon_sym_COMMA,
+ STATE(109), 1,
+ sym_comment,
+ STATE(113), 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] = 7,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(310), 1,
+ anon_sym_COMMA,
+ STATE(110), 1,
+ sym_comment,
+ STATE(112), 1,
+ aux_sym__att_name_list_repeat1,
+ ACTIONS(332), 5,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_EQ,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(334), 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,
+ [8313] = 18,
+ 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(290), 1,
+ anon_sym_or,
+ ACTIONS(292), 1,
+ anon_sym_and,
+ ACTIONS(336), 1,
+ anon_sym_RBRACK,
+ STATE(111), 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,
+ [8375] = 7,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(310), 1,
+ anon_sym_COMMA,
+ STATE(112), 1,
+ sym_comment,
+ STATE(113), 1,
+ aux_sym__att_name_list_repeat1,
+ ACTIONS(338), 5,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_EQ,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(340), 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,
+ [8415] = 6,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(346), 1,
+ anon_sym_COMMA,
+ STATE(113), 2,
+ sym_comment,
+ aux_sym__att_name_list_repeat1,
+ ACTIONS(342), 5,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_EQ,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(344), 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,
+ [8453] = 18,
+ 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(290), 1,
+ anon_sym_or,
+ ACTIONS(292), 1,
+ anon_sym_and,
+ ACTIONS(349), 1,
+ anon_sym_RBRACK,
+ STATE(114), 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,
+ [8515] = 18,
+ 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(290), 1,
+ anon_sym_or,
+ ACTIONS(292), 1,
+ anon_sym_and,
+ ACTIONS(351), 1,
+ anon_sym_RPAREN,
+ STATE(115), 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,
+ [8577] = 18,
+ 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(290), 1,
+ anon_sym_or,
+ ACTIONS(292), 1,
+ anon_sym_and,
+ ACTIONS(353), 1,
+ anon_sym_COMMA,
+ STATE(116), 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,
+ [8639] = 18,
+ 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(290), 1,
+ anon_sym_or,
+ ACTIONS(292), 1,
+ anon_sym_and,
+ ACTIONS(355), 1,
+ anon_sym_do,
+ STATE(117), 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,
+ [8701] = 18,
+ 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(290), 1,
+ anon_sym_or,
+ ACTIONS(292), 1,
+ anon_sym_and,
+ ACTIONS(357), 1,
+ anon_sym_do,
+ STATE(118), 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,
+ [8763] = 18,
+ 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(290), 1,
+ anon_sym_or,
+ ACTIONS(292), 1,
+ anon_sym_and,
+ ACTIONS(359), 1,
+ anon_sym_then,
+ STATE(119), 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,
+ [8825] = 6,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(365), 1,
+ anon_sym_COMMA,
+ STATE(120), 2,
+ sym_comment,
+ aux_sym__variable_assignment_explist_repeat1,
+ ACTIONS(361), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(363), 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,
+ [8862] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(121), 1,
+ sym_comment,
+ ACTIONS(368), 6,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_EQ,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(370), 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,
+ [8897] = 7,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(210), 1,
+ anon_sym_COMMA,
+ STATE(120), 1,
+ aux_sym__variable_assignment_explist_repeat1,
+ STATE(122), 1,
+ sym_comment,
+ ACTIONS(372), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(374), 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,
+ [8936] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(123), 1,
+ sym_comment,
+ ACTIONS(376), 6,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_EQ,
+ anon_sym_COMMA,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(378), 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,
+ [8971] = 6,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(384), 1,
+ anon_sym_EQ,
+ STATE(124), 1,
+ sym_comment,
+ ACTIONS(380), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(382), 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,
+ [9007] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(125), 1,
+ sym_comment,
+ ACTIONS(386), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(388), 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,
+ [9040] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(126), 1,
+ sym_comment,
+ ACTIONS(390), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(392), 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,
+ [9073] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(127), 1,
+ sym_comment,
+ ACTIONS(394), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(396), 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,
+ [9106] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(128), 1,
+ sym_comment,
+ ACTIONS(398), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(400), 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,
+ [9139] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(129), 1,
+ sym_comment,
+ ACTIONS(402), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(404), 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,
+ [9172] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(130), 1,
+ sym_comment,
+ ACTIONS(406), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(408), 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,
+ [9205] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(131), 1,
+ sym_comment,
+ ACTIONS(298), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(300), 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,
+ [9238] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(132), 1,
+ sym_comment,
+ ACTIONS(410), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(412), 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,
+ [9271] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(133), 1,
+ sym_comment,
+ ACTIONS(414), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(416), 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,
+ [9304] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(134), 1,
+ sym_comment,
+ ACTIONS(418), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(420), 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,
+ [9337] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(135), 1,
+ sym_comment,
+ ACTIONS(422), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(424), 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,
+ [9370] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(136), 1,
+ sym_comment,
+ ACTIONS(426), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(428), 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,
+ [9403] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(137), 1,
+ sym_comment,
+ ACTIONS(430), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(432), 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,
+ [9436] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(138), 1,
+ sym_comment,
+ ACTIONS(434), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(436), 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,
+ [9469] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(139), 1,
+ sym_comment,
+ ACTIONS(438), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(440), 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,
+ [9502] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(140), 1,
+ sym_comment,
+ ACTIONS(442), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(444), 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,
+ [9535] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(141), 1,
+ sym_comment,
+ ACTIONS(446), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(448), 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,
+ [9568] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(142), 1,
+ sym_comment,
+ ACTIONS(450), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(452), 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,
+ [9601] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(143), 1,
+ sym_comment,
+ ACTIONS(454), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(456), 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,
+ [9634] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(144), 1,
+ sym_comment,
+ ACTIONS(458), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(460), 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,
+ [9667] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(145), 1,
+ sym_comment,
+ ACTIONS(462), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(464), 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,
+ [9700] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(146), 1,
+ sym_comment,
+ ACTIONS(466), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(468), 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,
+ [9733] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(147), 1,
+ sym_comment,
+ ACTIONS(470), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(472), 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,
+ [9766] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(148), 1,
+ sym_comment,
+ ACTIONS(474), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(476), 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,
+ [9799] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(149), 1,
+ sym_comment,
+ ACTIONS(478), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(480), 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,
+ [9832] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(150), 1,
+ sym_comment,
+ ACTIONS(482), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(484), 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,
+ [9865] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(151), 1,
+ sym_comment,
+ ACTIONS(486), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(488), 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,
+ [9898] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(152), 1,
+ sym_comment,
+ ACTIONS(490), 4,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(492), 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,
+ [9931] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(153), 1,
+ sym_comment,
+ ACTIONS(494), 7,
+ anon_sym_function,
+ sym_nil,
+ sym_false,
+ sym_true,
+ anon_sym_DASH,
+ anon_sym_not,
+ sym_identifier,
+ ACTIONS(496), 11,
+ sym__block_string_start,
+ sym_number,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ sym_vararg_expression,
+ anon_sym_LPAREN,
+ anon_sym_LBRACK,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_TILDE,
+ anon_sym_POUND,
+ [9963] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(154), 1,
+ sym_comment,
+ ACTIONS(500), 3,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(498), 12,
+ anon_sym_return,
+ sym_break_statement,
+ anon_sym_goto,
+ anon_sym_do,
+ anon_sym_end,
+ anon_sym_while,
+ anon_sym_repeat,
+ anon_sym_if,
+ anon_sym_for,
+ anon_sym_function,
+ anon_sym_local,
+ sym_identifier,
+ [9992] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(155), 1,
+ sym_comment,
+ ACTIONS(504), 3,
+ anon_sym_SEMI,
+ anon_sym_COLON_COLON,
+ anon_sym_LPAREN,
+ ACTIONS(502), 12,
+ anon_sym_return,
+ sym_break_statement,
+ anon_sym_goto,
+ anon_sym_do,
+ anon_sym_end,
+ anon_sym_while,
+ anon_sym_repeat,
+ anon_sym_if,
+ anon_sym_for,
+ anon_sym_function,
+ anon_sym_local,
+ sym_identifier,
+ [10021] = 15,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(506), 1,
+ anon_sym_DOT,
+ ACTIONS(508), 1,
+ anon_sym_COLON,
+ ACTIONS(510), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(512), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(514), 1,
+ anon_sym_LPAREN,
+ ACTIONS(516), 1,
+ anon_sym_LBRACK,
+ ACTIONS(518), 1,
+ anon_sym_LBRACE,
+ ACTIONS(520), 1,
+ sym__block_string_start,
+ STATE(7), 1,
+ sym_arguments,
+ STATE(12), 1,
+ sym__quote_string,
+ STATE(14), 1,
+ sym__block_string,
+ STATE(156), 1,
+ sym_comment,
+ STATE(8), 2,
+ sym_string,
+ sym_table_constructor,
+ [10068] = 7,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(522), 1,
+ anon_sym_EQ,
+ ACTIONS(524), 1,
+ anon_sym_COMMA,
+ STATE(157), 1,
+ sym_comment,
+ STATE(204), 1,
+ aux_sym__variable_assignment_varlist_repeat1,
+ 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,
+ [10097] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(158), 1,
+ sym_comment,
+ 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,
+ sym__block_comment_start,
+ ACTIONS(510), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(512), 1,
+ anon_sym_SQUOTE,
+ ACTIONS(514), 1,
+ anon_sym_LPAREN,
+ ACTIONS(518), 1,
+ anon_sym_LBRACE,
+ ACTIONS(520), 1,
+ sym__block_string_start,
+ STATE(7), 1,
+ sym_arguments,
+ STATE(12), 1,
+ sym__quote_string,
+ STATE(14), 1,
+ sym__block_string,
+ STATE(159), 1,
+ sym_comment,
+ STATE(8), 2,
+ sym_string,
+ sym_table_constructor,
+ [10159] = 6,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(296), 1,
+ anon_sym_else,
+ ACTIONS(528), 1,
+ anon_sym_COMMA,
+ 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,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(37), 1,
+ anon_sym_LPAREN,
+ ACTIONS(531), 1,
+ sym_identifier,
+ STATE(156), 1,
+ sym__prefix_expression,
+ STATE(158), 1,
+ sym_variable,
+ STATE(159), 1,
+ sym_method_index_expression,
+ STATE(161), 1,
+ sym_comment,
+ STATE(4), 2,
+ sym_bracket_index_expression,
+ sym_dot_index_expression,
+ STATE(163), 2,
+ sym_function_call,
+ sym_parenthesized_expression,
+ [10218] = 7,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(286), 1,
+ anon_sym_COMMA,
+ ACTIONS(535), 1,
+ anon_sym_else,
+ STATE(160), 1,
+ aux_sym__expression_list_repeat1,
+ STATE(162), 1,
+ sym_comment,
+ ACTIONS(533), 6,
+ ts_builtin_sym_end,
+ anon_sym_SEMI,
+ anon_sym_do,
+ anon_sym_end,
+ anon_sym_until,
+ anon_sym_elseif,
+ [10245] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(163), 1,
+ sym_comment,
+ 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,
+ [10265] = 9,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(159), 1,
+ anon_sym_else,
+ ACTIONS(537), 1,
+ anon_sym_end,
+ ACTIONS(539), 1,
+ anon_sym_elseif,
+ STATE(164), 1,
+ sym_comment,
+ STATE(173), 1,
+ aux_sym_if_statement_repeat1,
+ STATE(195), 1,
+ sym_elseif_statement,
+ STATE(222), 1,
+ sym_else_statement,
+ [10293] = 9,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(159), 1,
+ anon_sym_else,
+ ACTIONS(539), 1,
+ anon_sym_elseif,
+ ACTIONS(541), 1,
+ anon_sym_end,
+ STATE(165), 1,
+ sym_comment,
+ STATE(166), 1,
+ aux_sym_if_statement_repeat1,
+ STATE(195), 1,
+ sym_elseif_statement,
+ STATE(218), 1,
+ sym_else_statement,
+ [10321] = 9,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(159), 1,
+ anon_sym_else,
+ ACTIONS(539), 1,
+ anon_sym_elseif,
+ ACTIONS(543), 1,
+ anon_sym_end,
+ STATE(166), 1,
+ sym_comment,
+ 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(547), 1,
+ anon_sym_SEMI,
+ ACTIONS(549), 1,
+ anon_sym_else,
+ STATE(167), 1,
+ sym_comment,
+ 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(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,
+ 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(556), 5,
+ sym__block_string_start,
+ anon_sym_DQUOTE,
+ anon_sym_SQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_LBRACE,
+ [10409] = 8,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(558), 1,
+ sym_identifier,
+ STATE(170), 1,
+ sym_comment,
+ 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(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(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,
+ [10476] = 7,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(562), 1,
+ 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_if_statement_repeat1,
+ [10499] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(571), 1,
+ anon_sym_else,
+ STATE(174), 1,
+ sym_comment,
+ 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(573), 1,
+ anon_sym_RBRACE,
+ STATE(64), 1,
+ sym__field_sep,
+ STATE(171), 1,
+ aux_sym__field_list_repeat1,
+ STATE(175), 1,
+ sym_comment,
+ ACTIONS(560), 2,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ [10541] = 6,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(575), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(579), 1,
+ anon_sym_DASH_DASH,
+ STATE(176), 1,
+ sym_comment,
+ STATE(189), 1,
+ aux_sym__doublequote_string_content,
+ ACTIONS(577), 2,
+ aux_sym__doublequote_string_content_token1,
+ sym_escape_sequence,
+ [10561] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(581), 1,
+ anon_sym_COMMA,
+ ACTIONS(584), 2,
+ anon_sym_in,
+ anon_sym_RPAREN,
+ STATE(177), 2,
+ sym_comment,
+ aux_sym__name_list_repeat1,
+ [10579] = 7,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(586), 1,
+ sym_identifier,
+ ACTIONS(588), 1,
+ sym_vararg_expression,
+ ACTIONS(590), 1,
+ anon_sym_RPAREN,
+ STATE(178), 1,
+ sym_comment,
+ 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_DQUOTE,
+ STATE(176), 1,
+ aux_sym__doublequote_string_content,
+ STATE(179), 1,
+ sym_comment,
+ ACTIONS(577), 2,
+ aux_sym__doublequote_string_content_token1,
+ sym_escape_sequence,
+ [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,
+ [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,
+ 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(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,
+ [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,
+ 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,
+ sym__block_comment_start,
+ ACTIONS(604), 1,
+ sym_identifier,
+ ACTIONS(606), 1,
+ anon_sym_function,
+ STATE(124), 1,
+ sym__att_name_list,
+ STATE(139), 1,
+ sym__local_variable_assignment,
+ STATE(185), 1,
+ sym_comment,
+ [10741] = 6,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(579), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(608), 1,
+ anon_sym_SQUOTE,
+ STATE(180), 1,
+ aux_sym__singlequote_string_content,
+ STATE(186), 1,
+ sym_comment,
+ ACTIONS(596), 2,
+ aux_sym__singlequote_string_content_token1,
+ sym_escape_sequence,
+ [10761] = 7,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(610), 1,
+ anon_sym_EQ,
+ ACTIONS(612), 1,
+ anon_sym_COMMA,
+ ACTIONS(614), 1,
+ anon_sym_in,
+ STATE(187), 1,
+ sym_comment,
+ STATE(210), 1,
+ aux_sym__name_list_repeat1,
+ [10783] = 6,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(579), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(608), 1,
+ anon_sym_DQUOTE,
+ STATE(188), 1,
+ sym_comment,
+ STATE(191), 1,
+ aux_sym__doublequote_string_content,
+ ACTIONS(577), 2,
+ aux_sym__doublequote_string_content_token1,
+ sym_escape_sequence,
+ [10803] = 5,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(579), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(616), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(618), 2,
+ aux_sym__doublequote_string_content_token1,
+ sym_escape_sequence,
+ STATE(189), 2,
+ aux_sym__doublequote_string_content,
+ sym_comment,
+ [10821] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(161), 1,
+ anon_sym_else,
+ STATE(190), 1,
+ sym_comment,
+ ACTIONS(621), 3,
+ anon_sym_end,
+ anon_sym_until,
+ anon_sym_elseif,
+ [10839] = 6,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ 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(577), 2,
+ aux_sym__doublequote_string_content_token1,
+ sym_escape_sequence,
+ [10859] = 5,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(579), 1,
+ anon_sym_DASH_DASH,
+ 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(193), 1,
+ sym_comment,
+ [10896] = 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(140), 1,
+ sym__function_body,
+ STATE(194), 1,
+ sym_comment,
+ [10915] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(638), 1,
+ anon_sym_else,
+ STATE(195), 1,
+ sym_comment,
+ 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,
+ STATE(196), 1,
+ sym_comment,
+ 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(286), 1,
+ anon_sym_COMMA,
+ ACTIONS(642), 1,
+ anon_sym_RPAREN,
+ STATE(160), 1,
+ aux_sym__expression_list_repeat1,
+ STATE(197), 1,
+ sym_comment,
+ [10966] = 6,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(644), 1,
+ anon_sym_COMMA,
+ ACTIONS(646), 1,
+ anon_sym_RPAREN,
+ STATE(177), 1,
+ aux_sym__name_list_repeat1,
+ STATE(198), 1,
+ sym_comment,
+ [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,
+ [11004] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(650), 1,
+ anon_sym_else,
+ STATE(200), 1,
+ sym_comment,
+ 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(652), 3,
+ anon_sym_DOT,
+ anon_sym_COLON,
+ anon_sym_LPAREN,
+ [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,
+ [11055] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ STATE(203), 1,
+ sym_comment,
+ 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(524), 1,
+ anon_sym_COMMA,
+ ACTIONS(656), 1,
+ anon_sym_EQ,
+ STATE(204), 1,
+ sym_comment,
+ 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,
+ [11108] = 5,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(579), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(662), 1,
+ anon_sym_DQUOTE,
+ STATE(206), 1,
+ sym_comment,
+ ACTIONS(664), 2,
+ aux_sym__doublequote_string_content_token1,
+ sym_escape_sequence,
+ [11125] = 5,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(579), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(666), 1,
+ anon_sym_SQUOTE,
+ STATE(207), 1,
+ sym_comment,
+ 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,
+ STATE(208), 1,
+ sym_comment,
+ 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,
+ STATE(209), 1,
+ sym_comment,
+ 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(612), 1,
+ anon_sym_COMMA,
+ ACTIONS(672), 1,
+ anon_sym_in,
+ STATE(177), 1,
+ aux_sym__name_list_repeat1,
+ STATE(210), 1,
+ sym_comment,
+ [11191] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(674), 1,
+ anon_sym_EQ,
+ ACTIONS(676), 1,
+ anon_sym_COMMA,
+ STATE(211), 2,
+ sym_comment,
+ aux_sym__variable_assignment_varlist_repeat1,
+ [11208] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(679), 1,
+ sym_identifier,
+ ACTIONS(681), 1,
+ sym_vararg_expression,
+ STATE(212), 1,
+ sym_comment,
+ [11224] = 5,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(679), 1,
+ sym_identifier,
+ ACTIONS(683), 1,
+ sym_vararg_expression,
+ STATE(213), 1,
+ sym_comment,
+ [11240] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(685), 1,
+ ts_builtin_sym_end,
+ STATE(214), 1,
+ sym_comment,
+ [11253] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(687), 1,
+ anon_sym_end,
+ STATE(215), 1,
+ sym_comment,
+ [11266] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(689), 1,
+ anon_sym_end,
+ STATE(216), 1,
+ sym_comment,
+ [11279] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(691), 1,
+ sym_identifier,
+ STATE(217), 1,
+ sym_comment,
+ [11292] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(693), 1,
+ anon_sym_end,
+ STATE(218), 1,
+ sym_comment,
+ [11305] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(695), 1,
+ sym__block_comment_content,
+ STATE(219), 1,
+ sym_comment,
+ [11318] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(697), 1,
+ sym_identifier,
+ STATE(220), 1,
+ sym_comment,
+ [11331] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(699), 1,
+ sym_identifier,
+ STATE(221), 1,
+ sym_comment,
+ [11344] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(701), 1,
+ anon_sym_end,
+ STATE(222), 1,
+ sym_comment,
+ [11357] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(679), 1,
+ sym_identifier,
+ STATE(223), 1,
+ sym_comment,
+ [11370] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(703), 1,
+ anon_sym_RBRACE,
+ STATE(224), 1,
+ sym_comment,
+ [11383] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(705), 1,
+ anon_sym_GT,
+ STATE(225), 1,
+ sym_comment,
+ [11396] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(707), 1,
+ anon_sym_do,
+ STATE(226), 1,
+ sym_comment,
+ [11409] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(709), 1,
+ sym__block_string_end,
+ STATE(227), 1,
+ sym_comment,
+ [11422] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(711), 1,
+ anon_sym_EQ,
+ STATE(228), 1,
+ sym_comment,
+ [11435] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(713), 1,
+ sym__block_string_content,
+ STATE(229), 1,
+ sym_comment,
+ [11448] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(715), 1,
+ anon_sym_RPAREN,
+ STATE(230), 1,
+ sym_comment,
+ [11461] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(717), 1,
+ anon_sym_end,
+ STATE(231), 1,
+ sym_comment,
+ [11474] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(719), 1,
+ anon_sym_RPAREN,
+ STATE(232), 1,
+ sym_comment,
+ [11487] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(721), 1,
+ sym_identifier,
+ STATE(233), 1,
+ sym_comment,
+ [11500] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(723), 1,
+ sym_identifier,
+ STATE(234), 1,
+ sym_comment,
+ [11513] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(725), 1,
+ sym_identifier,
+ STATE(235), 1,
+ sym_comment,
+ [11526] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(727), 1,
+ anon_sym_LPAREN,
+ STATE(236), 1,
+ sym_comment,
+ [11539] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(729), 1,
+ anon_sym_LPAREN,
+ STATE(237), 1,
+ sym_comment,
+ [11552] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(731), 1,
+ anon_sym_end,
+ STATE(238), 1,
+ sym_comment,
+ [11565] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(733), 1,
+ anon_sym_end,
+ STATE(239), 1,
+ sym_comment,
+ [11578] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(735), 1,
+ anon_sym_RPAREN,
+ STATE(240), 1,
+ sym_comment,
+ [11591] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(737), 1,
+ sym_identifier,
+ STATE(241), 1,
+ sym_comment,
+ [11604] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(739), 1,
+ anon_sym_end,
+ STATE(242), 1,
+ sym_comment,
+ [11617] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(741), 1,
+ anon_sym_in,
+ STATE(243), 1,
+ sym_comment,
+ [11630] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(743), 1,
+ anon_sym_do,
+ STATE(244), 1,
+ sym_comment,
+ [11643] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(745), 1,
+ anon_sym_until,
+ STATE(245), 1,
+ sym_comment,
+ [11656] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(747), 1,
+ anon_sym_end,
+ STATE(246), 1,
+ sym_comment,
+ [11669] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(749), 1,
+ anon_sym_COLON_COLON,
+ STATE(247), 1,
+ sym_comment,
+ [11682] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(751), 1,
+ anon_sym_RPAREN,
+ STATE(248), 1,
+ sym_comment,
+ [11695] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(753), 1,
+ sym__block_string_content,
+ STATE(249), 1,
+ sym_comment,
+ [11708] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(240), 1,
+ ts_builtin_sym_end,
+ STATE(250), 1,
+ sym_comment,
+ [11721] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(755), 1,
+ anon_sym_RBRACE,
+ STATE(251), 1,
+ sym_comment,
+ [11734] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(757), 1,
+ sym__block_comment_end,
+ STATE(252), 1,
+ sym_comment,
+ [11747] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(759), 1,
+ anon_sym_EQ,
+ STATE(253), 1,
+ sym_comment,
+ [11760] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(242), 1,
+ ts_builtin_sym_end,
+ STATE(254), 1,
+ sym_comment,
+ [11773] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(761), 1,
+ ts_builtin_sym_end,
+ STATE(255), 1,
+ sym_comment,
+ [11786] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(763), 1,
+ sym_identifier,
+ STATE(256), 1,
+ sym_comment,
+ [11799] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(765), 1,
+ sym__block_string_end,
+ STATE(257), 1,
+ sym_comment,
+ [11812] = 4,
+ ACTIONS(3), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(767), 1,
+ sym_identifier,
+ STATE(258), 1,
+ sym_comment,
+ [11825] = 4,
+ ACTIONS(5), 1,
+ sym__block_comment_start,
+ ACTIONS(579), 1,
+ anon_sym_DASH_DASH,
+ ACTIONS(769), 1,
+ aux_sym_comment_token1,
+ STATE(259), 1,
+ sym_comment,
+ [11838] = 1,
+ ACTIONS(771), 1,
+ ts_builtin_sym_end,
+ [11842] = 1,
+ ACTIONS(773), 1,
+ ts_builtin_sym_end,
+};
+
+static const uint32_t ts_small_parse_table_map[] = {
+ [SMALL_STATE(2)] = 0,
+ [SMALL_STATE(3)] = 67,
+ [SMALL_STATE(4)] = 134,
+ [SMALL_STATE(5)] = 201,
+ [SMALL_STATE(6)] = 267,
+ [SMALL_STATE(7)] = 333,
+ [SMALL_STATE(8)] = 399,
+ [SMALL_STATE(9)] = 465,
+ [SMALL_STATE(10)] = 535,
+ [SMALL_STATE(11)] = 601,
+ [SMALL_STATE(12)] = 667,
+ [SMALL_STATE(13)] = 733,
+ [SMALL_STATE(14)] = 799,
+ [SMALL_STATE(15)] = 865,
+ [SMALL_STATE(16)] = 931,
+ [SMALL_STATE(17)] = 997,
+ [SMALL_STATE(18)] = 1063,
+ [SMALL_STATE(19)] = 1129,
+ [SMALL_STATE(20)] = 1188,
+ [SMALL_STATE(21)] = 1249,
+ [SMALL_STATE(22)] = 1320,
+ [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)] = 2879,
+ [SMALL_STATE(45)] = 2987,
+ [SMALL_STATE(46)] = 3075,
+ [SMALL_STATE(47)] = 3189,
+ [SMALL_STATE(48)] = 3272,
+ [SMALL_STATE(49)] = 3384,
+ [SMALL_STATE(50)] = 3466,
+ [SMALL_STATE(51)] = 3578,
+ [SMALL_STATE(52)] = 3690,
+ [SMALL_STATE(53)] = 3772,
+ [SMALL_STATE(54)] = 3884,
+ [SMALL_STATE(55)] = 3996,
+ [SMALL_STATE(56)] = 4108,
+ [SMALL_STATE(57)] = 4217,
+ [SMALL_STATE(58)] = 4326,
+ [SMALL_STATE(59)] = 4435,
+ [SMALL_STATE(60)] = 4526,
+ [SMALL_STATE(61)] = 4617,
+ [SMALL_STATE(62)] = 4708,
+ [SMALL_STATE(63)] = 4796,
+ [SMALL_STATE(64)] = 4884,
+ [SMALL_STATE(65)] = 4972,
+ [SMALL_STATE(66)] = 5021,
+ [SMALL_STATE(67)] = 5106,
+ [SMALL_STATE(68)] = 5188,
+ [SMALL_STATE(69)] = 5270,
+ [SMALL_STATE(70)] = 5352,
+ [SMALL_STATE(71)] = 5434,
+ [SMALL_STATE(72)] = 5513,
+ [SMALL_STATE(73)] = 5592,
+ [SMALL_STATE(74)] = 5671,
+ [SMALL_STATE(75)] = 5750,
+ [SMALL_STATE(76)] = 5829,
+ [SMALL_STATE(77)] = 5908,
+ [SMALL_STATE(78)] = 5987,
+ [SMALL_STATE(79)] = 6066,
+ [SMALL_STATE(80)] = 6145,
+ [SMALL_STATE(81)] = 6224,
+ [SMALL_STATE(82)] = 6303,
+ [SMALL_STATE(83)] = 6382,
+ [SMALL_STATE(84)] = 6461,
+ [SMALL_STATE(85)] = 6540,
+ [SMALL_STATE(86)] = 6619,
+ [SMALL_STATE(87)] = 6698,
+ [SMALL_STATE(88)] = 6777,
+ [SMALL_STATE(89)] = 6856,
+ [SMALL_STATE(90)] = 6935,
+ [SMALL_STATE(91)] = 7014,
+ [SMALL_STATE(92)] = 7093,
+ [SMALL_STATE(93)] = 7172,
+ [SMALL_STATE(94)] = 7251,
+ [SMALL_STATE(95)] = 7330,
+ [SMALL_STATE(96)] = 7409,
+ [SMALL_STATE(97)] = 7488,
+ [SMALL_STATE(98)] = 7567,
+ [SMALL_STATE(99)] = 7643,
+ [SMALL_STATE(100)] = 7715,
+ [SMALL_STATE(101)] = 7759,
+ [SMALL_STATE(102)] = 7823,
+ [SMALL_STATE(103)] = 7887,
+ [SMALL_STATE(104)] = 7933,
+ [SMALL_STATE(105)] = 8001,
+ [SMALL_STATE(106)] = 8065,
+ [SMALL_STATE(107)] = 8130,
+ [SMALL_STATE(108)] = 8171,
+ [SMALL_STATE(109)] = 8233,
+ [SMALL_STATE(110)] = 8273,
+ [SMALL_STATE(111)] = 8313,
+ [SMALL_STATE(112)] = 8375,
+ [SMALL_STATE(113)] = 8415,
+ [SMALL_STATE(114)] = 8453,
+ [SMALL_STATE(115)] = 8515,
+ [SMALL_STATE(116)] = 8577,
+ [SMALL_STATE(117)] = 8639,
+ [SMALL_STATE(118)] = 8701,
+ [SMALL_STATE(119)] = 8763,
+ [SMALL_STATE(120)] = 8825,
+ [SMALL_STATE(121)] = 8862,
+ [SMALL_STATE(122)] = 8897,
+ [SMALL_STATE(123)] = 8936,
+ [SMALL_STATE(124)] = 8971,
+ [SMALL_STATE(125)] = 9007,
+ [SMALL_STATE(126)] = 9040,
+ [SMALL_STATE(127)] = 9073,
+ [SMALL_STATE(128)] = 9106,
+ [SMALL_STATE(129)] = 9139,
+ [SMALL_STATE(130)] = 9172,
+ [SMALL_STATE(131)] = 9205,
+ [SMALL_STATE(132)] = 9238,
+ [SMALL_STATE(133)] = 9271,
+ [SMALL_STATE(134)] = 9304,
+ [SMALL_STATE(135)] = 9337,
+ [SMALL_STATE(136)] = 9370,
+ [SMALL_STATE(137)] = 9403,
+ [SMALL_STATE(138)] = 9436,
+ [SMALL_STATE(139)] = 9469,
+ [SMALL_STATE(140)] = 9502,
+ [SMALL_STATE(141)] = 9535,
+ [SMALL_STATE(142)] = 9568,
+ [SMALL_STATE(143)] = 9601,
+ [SMALL_STATE(144)] = 9634,
+ [SMALL_STATE(145)] = 9667,
+ [SMALL_STATE(146)] = 9700,
+ [SMALL_STATE(147)] = 9733,
+ [SMALL_STATE(148)] = 9766,
+ [SMALL_STATE(149)] = 9799,
+ [SMALL_STATE(150)] = 9832,
+ [SMALL_STATE(151)] = 9865,
+ [SMALL_STATE(152)] = 9898,
+ [SMALL_STATE(153)] = 9931,
+ [SMALL_STATE(154)] = 9963,
+ [SMALL_STATE(155)] = 9992,
+ [SMALL_STATE(156)] = 10021,
+ [SMALL_STATE(157)] = 10068,
+ [SMALL_STATE(158)] = 10097,
+ [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)] = 10349,
+ [SMALL_STATE(168)] = 10371,
+ [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)] = 10579,
+ [SMALL_STATE(179)] = 10601,
+ [SMALL_STATE(180)] = 10621,
+ [SMALL_STATE(181)] = 10641,
+ [SMALL_STATE(182)] = 10661,
+ [SMALL_STATE(183)] = 10681,
+ [SMALL_STATE(184)] = 10699,
+ [SMALL_STATE(185)] = 10719,
+ [SMALL_STATE(186)] = 10741,
+ [SMALL_STATE(187)] = 10761,
+ [SMALL_STATE(188)] = 10783,
+ [SMALL_STATE(189)] = 10803,
+ [SMALL_STATE(190)] = 10821,
+ [SMALL_STATE(191)] = 10839,
+ [SMALL_STATE(192)] = 10859,
+ [SMALL_STATE(193)] = 10877,
+ [SMALL_STATE(194)] = 10896,
+ [SMALL_STATE(195)] = 10915,
+ [SMALL_STATE(196)] = 10932,
+ [SMALL_STATE(197)] = 10947,
+ [SMALL_STATE(198)] = 10966,
+ [SMALL_STATE(199)] = 10985,
+ [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)] = 11172,
+ [SMALL_STATE(211)] = 11191,
+ [SMALL_STATE(212)] = 11208,
+ [SMALL_STATE(213)] = 11224,
+ [SMALL_STATE(214)] = 11240,
+ [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(259),
+ [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219),
+ [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 0, 0, 0),
+ [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4),
+ [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
+ [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63),
+ [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, 0, 23),
+ [41] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bracket_index_expression, 4, 0, 23),
+ [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dot_index_expression, 3, 0, 23),
+ [45] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dot_index_expression, 3, 0, 23),
+ [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable, 1, 0, 0),
+ [49] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable, 1, 0, 0),
+ [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__quote_string, 3, 0, 28),
+ [53] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__quote_string, 3, 0, 28),
+ [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 4, 0, 0),
+ [57] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 4, 0, 0),
+ [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 2, 0, 10),
+ [61] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 2, 0, 10),
+ [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 1, 0, 0),
+ [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 1, 0, 0),
+ [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0),
+ [69] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0),
+ [71] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__prefix_expression, 1, 0, 0),
+ [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__prefix_expression, 1, 0, 0),
+ [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0),
+ [77] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0),
+ [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 3, 0, 0),
+ [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 3, 0, 0),
+ [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1, 0, 6),
+ [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 1, 0, 6),
+ [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 2, 0, 0),
+ [89] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 2, 0, 0),
+ [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__quote_string, 2, 0, 14),
+ [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__quote_string, 2, 0, 14),
+ [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constructor, 2, 0, 0),
+ [97] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_constructor, 2, 0, 0),
+ [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block_string, 3, 0, 12),
+ [101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block_string, 3, 0, 12),
+ [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constructor, 3, 0, 0),
+ [105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_constructor, 3, 0, 0),
+ [107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 16),
+ [109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 16),
+ [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
+ [113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 29),
+ [115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 29),
+ [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
+ [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81),
+ [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72),
+ [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72),
+ [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
+ [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
+ [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
+ [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83),
+ [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89),
+ [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89),
+ [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
+ [139] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87),
+ [141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 3, 0, 41),
+ [143] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 3, 0, 41),
+ [145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_body, 2, 0, 27),
+ [147] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_body, 2, 0, 27),
+ [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 2, 0, 13),
+ [151] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 2, 0, 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, 0, 0),
+ [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2, 0, 0),
+ [165] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2, 0, 0), SHIFT_REPEAT(4),
+ [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2, 0, 0),
+ [170] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2, 0, 0), SHIFT_REPEAT(129),
+ [173] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2, 0, 0), SHIFT_REPEAT(258),
+ [176] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2, 0, 0), SHIFT_REPEAT(131),
+ [179] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2, 0, 0), SHIFT_REPEAT(256),
+ [182] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2, 0, 0), SHIFT_REPEAT(53),
+ [185] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2, 0, 0), SHIFT_REPEAT(90),
+ [188] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2, 0, 0), SHIFT_REPEAT(48),
+ [191] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2, 0, 0), SHIFT_REPEAT(93),
+ [194] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2, 0, 0), SHIFT_REPEAT(184),
+ [197] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2, 0, 0), SHIFT_REPEAT(170),
+ [200] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 2, 0, 0), SHIFT_REPEAT(185),
+ [203] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 2, 0, 0), SHIFT_REPEAT(94),
+ [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_explist, 1, 0, 15),
+ [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__variable_assignment_explist, 1, 0, 15),
+ [210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
+ [212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88),
+ [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_statement, 3, 0, 30),
+ [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, 0, 50),
+ [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, 0, 50),
+ [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73),
+ [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 3, 0, 18),
+ [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 3, 0, 18),
+ [226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146),
+ [228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_statement, 1, 0, 0),
+ [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 4, 0, 31),
+ [232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 4, 0, 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, 0, 0),
+ [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 1, 0, 0),
+ [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172),
+ [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 1, 0, 0),
+ [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(77),
+ [262] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77),
+ [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249),
+ [266] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65),
+ [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
+ [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
+ [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
+ [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_list, 3, 0, 0),
+ [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 1, 0, 0),
+ [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_list, 2, 0, 0),
+ [280] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96),
+ [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
+ [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_list, 1, 0, 0),
+ [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
+ [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_list, 1, 0, 0),
+ [290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
+ [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87),
+ [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list_repeat1, 2, 0, 0),
+ [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list_repeat1, 2, 0, 0),
+ [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, 0, 0),
+ [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, 0, 0),
+ [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 5, 0, 56),
+ [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 1, 0, 15),
+ [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__att_name_list, 1, 0, 4),
+ [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__att_name_list, 1, 0, 4),
+ [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217),
+ [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241),
+ [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
+ [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 3, 0, 42),
+ [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97),
+ [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_numeric_clause, 5, 0, 55),
+ [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__att_name_list_repeat1, 2, 0, 25),
+ [324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__att_name_list_repeat1, 2, 0, 25),
+ [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
+ [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__att_name_list, 2, 0, 21),
+ [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__att_name_list, 2, 0, 21),
+ [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__att_name_list, 2, 0, 20),
+ [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__att_name_list, 2, 0, 20),
+ [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228),
+ [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__att_name_list, 3, 0, 36),
+ [340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__att_name_list, 3, 0, 36),
+ [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__att_name_list_repeat1, 2, 0, 37),
+ [344] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__att_name_list_repeat1, 2, 0, 37),
+ [346] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__att_name_list_repeat1, 2, 0, 37), SHIFT_REPEAT(217),
+ [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
+ [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
+ [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
+ [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
+ [357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_numeric_clause, 7, 0, 58),
+ [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
+ [361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, 0, 51),
+ [363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, 0, 51),
+ [365] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__variable_assignment_explist_repeat1, 2, 0, 51), SHIFT_REPEAT(78),
+ [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__att_name_list_repeat1, 3, 0, 49),
+ [370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__att_name_list_repeat1, 3, 0, 49),
+ [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_explist, 2, 0, 39),
+ [374] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__variable_assignment_explist, 2, 0, 39),
+ [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attrib, 3, 0, 0),
+ [378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attrib, 3, 0, 0),
+ [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2, 0, 9),
+ [382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 2, 0, 9),
+ [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
+ [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 45),
+ [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 45),
+ [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1, 0, 2),
+ [392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1, 0, 2),
+ [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 3, 0, 19),
+ [396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 3, 0, 19),
+ [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, 0, 57),
+ [400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, 0, 57),
+ [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_empty_statement, 1, 0, 0),
+ [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_empty_statement, 1, 0, 0),
+ [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 44),
+ [408] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 44),
+ [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, 0, 54),
+ [412] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, 0, 54),
+ [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 2, 0, 0),
+ [416] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 2, 0, 0),
+ [418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 2, 0, 0),
+ [420] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 2, 0, 0),
+ [422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, 0, 53),
+ [424] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, 0, 53),
+ [426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 3, 0, 22),
+ [428] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_statement, 3, 0, 22),
+ [430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_variable_assignment, 3, 0, 38),
+ [432] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_variable_assignment, 3, 0, 38),
+ [434] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, 0, 52),
+ [436] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, 0, 52),
+ [438] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2, 0, 0),
+ [440] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 2, 0, 0),
+ [442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__local_function_declaration, 4, 0, 35),
+ [444] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__local_function_declaration, 4, 0, 35),
+ [446] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 3, 0, 17),
+ [448] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 3, 0, 17),
+ [450] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label_statement, 3, 0, 0),
+ [452] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_label_statement, 3, 0, 0),
+ [454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 4, 0, 33),
+ [456] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 4, 0, 33),
+ [458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, 0, 48),
+ [460] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, 0, 48),
+ [462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 30),
+ [464] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 30),
+ [466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 4, 0, 30),
+ [468] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 4, 0, 30),
+ [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, 0, 43),
+ [472] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, 0, 43),
+ [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_chunk_repeat1, 1, 0, 0),
+ [476] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_chunk_repeat1, 1, 0, 0),
+ [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, 0, 1),
+ [480] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, 0, 1),
+ [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1, 0, 0),
+ [484] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1, 0, 0),
+ [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 46),
+ [488] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 46),
+ [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 1, 0, 3),
+ [492] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 1, 0, 3),
+ [494] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_sep, 1, 0, 0),
+ [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_sep, 1, 0, 0),
+ [498] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 3, 0, 40),
+ [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3, 0, 40),
+ [502] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 2, 0, 0),
+ [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2, 0, 0),
+ [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234),
+ [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233),
+ [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, 0, 4),
+ [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161),
+ [526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_varlist_repeat1, 2, 0, 25),
+ [528] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list_repeat1, 2, 0, 0), SHIFT_REPEAT(91),
+ [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
+ [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_list, 2, 0, 0),
+ [535] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_list, 2, 0, 0),
+ [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, 0, 0),
+ [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174),
+ [549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2, 0, 0),
+ [551] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__field_list_repeat1, 2, 0, 0), SHIFT_REPEAT(153),
+ [554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_list_repeat1, 2, 0, 0),
+ [556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_index_expression, 3, 0, 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, 0, 47),
+ [564] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 47), SHIFT_REPEAT(92),
+ [567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 47),
+ [569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0),
+ [571] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0),
+ [573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_list, 1, 0, 0),
+ [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, 0, 26), SHIFT_REPEAT(223),
+ [584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__name_list_repeat1, 2, 0, 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, 0, 0),
+ [600] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block, 2, 0, 0),
+ [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187),
+ [604] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103),
+ [606] = {.entry = {.count = 1, .reusable = false}}, SHIFT(235),
+ [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, 0, 4),
+ [616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__doublequote_string_content, 2, 0, 0),
+ [618] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__doublequote_string_content, 2, 0, 0), SHIFT_REPEAT(206),
+ [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 1, 0, 0),
+ [623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__singlequote_string_content, 2, 0, 0),
+ [625] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__singlequote_string_content, 2, 0, 0), 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, 0, 0),
+ [634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178),
+ [636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 1, 0, 32),
+ [638] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 1, 0, 32),
+ [640] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__name_list_repeat1, 2, 0, 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, 0, 11),
+ [648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elseif_statement, 4, 0, 44),
+ [650] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_statement, 4, 0, 44),
+ [652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_prefix_expression, 1, 0, 0),
+ [654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_prefix_expression, 1, 0, 7),
+ [656] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variable_assignment_varlist, 2, 0, 11),
+ [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212),
+ [660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 1, 0, 4),
+ [662] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__doublequote_string_content, 1, 0, 0),
+ [664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__doublequote_string_content, 1, 0, 0),
+ [666] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__singlequote_string_content, 1, 0, 0),
+ [668] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__singlequote_string_content, 1, 0, 0),
+ [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_dot_index_expression, 3, 0, 23),
+ [672] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name_list, 2, 0, 11),
+ [674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__variable_assignment_varlist_repeat1, 2, 0, 26),
+ [676] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__variable_assignment_varlist_repeat1, 2, 0, 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, 0, 0),
+ [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128),
+ [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_statement, 2, 0, 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(123),
+ [707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_generic_clause, 3, 0, 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, 0, 4),
+ [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144),
+ [719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter_list, 1, 0, 0),
+ [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, 0, 8),
+ [729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_name_method_index_expression, 3, 0, 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, 0, 11),
+ [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225),
+ [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(75),
+ [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, 0, 5),
+ [773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 3, 0, 12),
+};
+
+enum ts_external_scanner_symbol_identifiers {
+ ts_external_token__block_comment_start = 0,
+ ts_external_token__block_comment_content = 1,
+ ts_external_token__block_comment_end = 2,
+ ts_external_token__block_string_start = 3,
+ ts_external_token__block_string_content = 4,
+ ts_external_token__block_string_end = 5,
+};
+
+static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = {
+ [ts_external_token__block_comment_start] = sym__block_comment_start,
+ [ts_external_token__block_comment_content] = sym__block_comment_content,
+ [ts_external_token__block_comment_end] = sym__block_comment_end,
+ [ts_external_token__block_string_start] = sym__block_string_start,
+ [ts_external_token__block_string_content] = sym__block_string_content,
+ [ts_external_token__block_string_end] = sym__block_string_end,
+};
+
+static const bool ts_external_scanner_states[8][EXTERNAL_TOKEN_COUNT] = {
+ [1] = {
+ [ts_external_token__block_comment_start] = true,
+ [ts_external_token__block_comment_content] = true,
+ [ts_external_token__block_comment_end] = true,
+ [ts_external_token__block_string_start] = true,
+ [ts_external_token__block_string_content] = true,
+ [ts_external_token__block_string_end] = true,
+ },
+ [2] = {
+ [ts_external_token__block_comment_start] = true,
+ },
+ [3] = {
+ [ts_external_token__block_comment_start] = true,
+ [ts_external_token__block_string_start] = true,
+ },
+ [4] = {
+ [ts_external_token__block_comment_start] = true,
+ [ts_external_token__block_comment_content] = true,
+ },
+ [5] = {
+ [ts_external_token__block_comment_start] = true,
+ [ts_external_token__block_string_end] = true,
+ },
+ [6] = {
+ [ts_external_token__block_comment_start] = true,
+ [ts_external_token__block_string_content] = true,
+ },
+ [7] = {
+ [ts_external_token__block_comment_start] = true,
+ [ts_external_token__block_comment_end] = true,
+ },
+};
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+void *tree_sitter_lua_external_scanner_create(void);
+void tree_sitter_lua_external_scanner_destroy(void *);
+bool tree_sitter_lua_external_scanner_scan(void *, TSLexer *, const bool *);
+unsigned tree_sitter_lua_external_scanner_serialize(void *, char *);
+void tree_sitter_lua_external_scanner_deserialize(void *, const char *, unsigned);
+
+#ifdef TREE_SITTER_HIDE_SYMBOLS
+#define TS_PUBLIC
+#elif defined(_WIN32)
+#define TS_PUBLIC __declspec(dllexport)
+#else
+#define TS_PUBLIC __attribute__((visibility("default")))
+#endif
+
+TS_PUBLIC const TSLanguage *tree_sitter_lua(void) {
+ static const TSLanguage language = {
+ .version = LANGUAGE_VERSION,
+ .symbol_count = SYMBOL_COUNT,
+ .alias_count = ALIAS_COUNT,
+ .token_count = TOKEN_COUNT,
+ .external_token_count = EXTERNAL_TOKEN_COUNT,
+ .state_count = STATE_COUNT,
+ .large_state_count = LARGE_STATE_COUNT,
+ .production_id_count = PRODUCTION_ID_COUNT,
+ .field_count = FIELD_COUNT,
+ .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH,
+ .parse_table = &ts_parse_table[0][0],
+ .small_parse_table = ts_small_parse_table,
+ .small_parse_table_map = ts_small_parse_table_map,
+ .parse_actions = ts_parse_actions,
+ .symbol_names = ts_symbol_names,
+ .field_names = ts_field_names,
+ .field_map_slices = ts_field_map_slices,
+ .field_map_entries = ts_field_map_entries,
+ .symbol_metadata = ts_symbol_metadata,
+ .public_symbol_map = ts_symbol_map,
+ .alias_map = ts_non_terminal_alias_map,
+ .alias_sequences = &ts_alias_sequences[0][0],
+ .lex_modes = ts_lex_modes,
+ .lex_fn = ts_lex,
+ .keyword_lex_fn = ts_lex_keywords,
+ .keyword_capture_token = sym_identifier,
+ .external_scanner = {
+ &ts_external_scanner_states[0][0],
+ ts_external_scanner_symbol_map,
+ tree_sitter_lua_external_scanner_create,
+ tree_sitter_lua_external_scanner_destroy,
+ tree_sitter_lua_external_scanner_scan,
+ tree_sitter_lua_external_scanner_serialize,
+ tree_sitter_lua_external_scanner_deserialize,
+ },
+ .primary_state_ids = ts_primary_state_ids,
+ };
+ return &language;
+}
+#ifdef __cplusplus
+}
+#endif
diff --git a/vendor/tree-sitter-lua/src/scanner.c b/vendor/tree-sitter-lua/src/scanner.c
new file mode 100644
index 0000000..58db18b
--- /dev/null
+++ b/vendor/tree-sitter-lua/src/scanner.c
@@ -0,0 +1,194 @@
+#include <stdio.h>
+#include "tree_sitter/parser.h"
+#include <wctype.h>
+
+enum TokenType {
+ BLOCK_COMMENT_START,
+ BLOCK_COMMENT_CONTENT,
+ BLOCK_COMMENT_END,
+
+ BLOCK_STRING_START,
+ BLOCK_STRING_CONTENT,
+ BLOCK_STRING_END,
+};
+
+static inline void consume(TSLexer *lexer) { lexer->advance(lexer, false); }
+
+static inline void skip(TSLexer *lexer) { lexer->advance(lexer, true); }
+
+static inline bool consume_char(char c, TSLexer *lexer) {
+ if (lexer->lookahead != c) {
+ return false;
+ }
+
+ consume(lexer);
+ return true;
+}
+
+static inline uint8_t consume_and_count_char(char c, TSLexer *lexer) {
+ uint8_t count = 0;
+ while (lexer->lookahead == c) {
+ ++count;
+ consume(lexer);
+ }
+ return count;
+}
+
+static inline void skip_whitespaces(TSLexer *lexer) {
+ while (iswspace(lexer->lookahead)) {
+ skip(lexer);
+ }
+}
+
+typedef struct {
+ char ending_char;
+ uint8_t level_count;
+} Scanner;
+
+static inline void reset_state(Scanner *scanner) {
+ scanner->ending_char = 0;
+ scanner->level_count = 0;
+}
+
+void *tree_sitter_lua_external_scanner_create() {
+ Scanner *scanner = calloc(1, sizeof(Scanner));
+ return scanner;
+}
+
+void tree_sitter_lua_external_scanner_destroy(void *payload) {
+ Scanner *scanner = (Scanner *)payload;
+ free(scanner);
+}
+
+unsigned tree_sitter_lua_external_scanner_serialize(void *payload, char *buffer) {
+ Scanner *scanner = (Scanner *)payload;
+ buffer[0] = scanner->ending_char;
+ buffer[1] = (char)scanner->level_count;
+ return 2;
+}
+
+void tree_sitter_lua_external_scanner_deserialize(void *payload, const char *buffer, unsigned length) {
+ Scanner *scanner = (Scanner *)payload;
+ if (length == 0) return;
+ scanner->ending_char = buffer[0];
+ if (length == 1) return;
+ scanner->level_count = buffer[1];
+}
+
+static bool scan_block_start(Scanner *scanner, TSLexer *lexer) {
+ if (consume_char('[', lexer)) {
+ uint8_t level = consume_and_count_char('=', lexer);
+
+ if (consume_char('[', lexer)) {
+ scanner->level_count = level;
+ return true;
+ }
+ }
+
+ return false;
+}
+
+static bool scan_block_end(Scanner *scanner, TSLexer *lexer) {
+ if (consume_char(']', lexer)) {
+ uint8_t level = consume_and_count_char('=', lexer);
+
+ if (scanner->level_count == level && consume_char(']', lexer)) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+static bool scan_block_content(Scanner *scanner, TSLexer *lexer) {
+ while (lexer->lookahead != 0) {
+ if (lexer->lookahead == ']') {
+ lexer->mark_end(lexer);
+
+ if (scan_block_end(scanner, lexer)) {
+ return true;
+ }
+ } else {
+ consume(lexer);
+ }
+ }
+
+ return false;
+}
+
+static bool scan_comment_start(Scanner *scanner, TSLexer *lexer) {
+ if (consume_char('-', lexer) && consume_char('-', lexer)) {
+ lexer->mark_end(lexer);
+
+ if (scan_block_start(scanner, lexer)) {
+ lexer->mark_end(lexer);
+ lexer->result_symbol = BLOCK_COMMENT_START;
+ return true;
+ }
+ }
+
+ return false;
+}
+
+static bool scan_comment_content(Scanner *scanner, TSLexer *lexer) {
+ if (scanner->ending_char == 0) { // block comment
+ if (scan_block_content(scanner, lexer)) {
+ lexer->result_symbol = BLOCK_COMMENT_CONTENT;
+ return true;
+ }
+
+ return false;
+ }
+
+ while (lexer->lookahead != 0) {
+ if (lexer->lookahead == scanner->ending_char) {
+ reset_state(scanner);
+ lexer->result_symbol = BLOCK_COMMENT_CONTENT;
+ return true;
+ }
+
+ consume(lexer);
+ }
+
+ return false;
+}
+
+bool tree_sitter_lua_external_scanner_scan(void *payload, TSLexer *lexer, const bool *valid_symbols) {
+ Scanner *scanner = (Scanner *)payload;
+
+ if (valid_symbols[BLOCK_STRING_END] && scan_block_end(scanner, lexer)) {
+ reset_state(scanner);
+ lexer->result_symbol = BLOCK_STRING_END;
+ return true;
+ }
+
+ if (valid_symbols[BLOCK_STRING_CONTENT] && scan_block_content(scanner, lexer)) {
+ lexer->result_symbol = BLOCK_STRING_CONTENT;
+ return true;
+ }
+
+ if (valid_symbols[BLOCK_COMMENT_END] && scanner->ending_char == 0 && scan_block_end(scanner, lexer)) {
+ reset_state(scanner);
+ lexer->result_symbol = BLOCK_COMMENT_END;
+ return true;
+ }
+
+ if (valid_symbols[BLOCK_COMMENT_CONTENT] && scan_comment_content(scanner, lexer)) {
+ return true;
+ }
+
+ skip_whitespaces(lexer);
+
+ if (valid_symbols[BLOCK_STRING_START] && scan_block_start(scanner, lexer)) {
+ lexer->result_symbol = BLOCK_STRING_START;
+ return true;
+ }
+
+ if (valid_symbols[BLOCK_COMMENT_START]) {
+ if (scan_comment_start(scanner, lexer)) {
+ return true;
+ }
+ }
+
+ return false;
+}
diff --git a/vendor/tree-sitter-lua/src/tree_sitter/alloc.h b/vendor/tree-sitter-lua/src/tree_sitter/alloc.h
new file mode 100644
index 0000000..1f4466d
--- /dev/null
+++ b/vendor/tree-sitter-lua/src/tree_sitter/alloc.h
@@ -0,0 +1,54 @@
+#ifndef TREE_SITTER_ALLOC_H_
+#define TREE_SITTER_ALLOC_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+// Allow clients to override allocation functions
+#ifdef TREE_SITTER_REUSE_ALLOCATOR
+
+extern void *(*ts_current_malloc)(size_t);
+extern void *(*ts_current_calloc)(size_t, size_t);
+extern void *(*ts_current_realloc)(void *, size_t);
+extern void (*ts_current_free)(void *);
+
+#ifndef ts_malloc
+#define ts_malloc ts_current_malloc
+#endif
+#ifndef ts_calloc
+#define ts_calloc ts_current_calloc
+#endif
+#ifndef ts_realloc
+#define ts_realloc ts_current_realloc
+#endif
+#ifndef ts_free
+#define ts_free ts_current_free
+#endif
+
+#else
+
+#ifndef ts_malloc
+#define ts_malloc malloc
+#endif
+#ifndef ts_calloc
+#define ts_calloc calloc
+#endif
+#ifndef ts_realloc
+#define ts_realloc realloc
+#endif
+#ifndef ts_free
+#define ts_free free
+#endif
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // TREE_SITTER_ALLOC_H_
diff --git a/vendor/tree-sitter-lua/src/tree_sitter/array.h b/vendor/tree-sitter-lua/src/tree_sitter/array.h
new file mode 100644
index 0000000..15a3b23
--- /dev/null
+++ b/vendor/tree-sitter-lua/src/tree_sitter/array.h
@@ -0,0 +1,290 @@
+#ifndef TREE_SITTER_ARRAY_H_
+#define TREE_SITTER_ARRAY_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "./alloc.h"
+
+#include <assert.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef _MSC_VER
+#pragma warning(disable : 4101)
+#elif defined(__GNUC__) || defined(__clang__)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-variable"
+#endif
+
+#define Array(T) \
+ struct { \
+ T *contents; \
+ uint32_t size; \
+ uint32_t capacity; \
+ }
+
+/// Initialize an array.
+#define array_init(self) \
+ ((self)->size = 0, (self)->capacity = 0, (self)->contents = NULL)
+
+/// Create an empty array.
+#define array_new() \
+ { NULL, 0, 0 }
+
+/// Get a pointer to the element at a given `index` in the array.
+#define array_get(self, _index) \
+ (assert((uint32_t)(_index) < (self)->size), &(self)->contents[_index])
+
+/// Get a pointer to the first element in the array.
+#define array_front(self) array_get(self, 0)
+
+/// Get a pointer to the last element in the array.
+#define array_back(self) array_get(self, (self)->size - 1)
+
+/// Clear the array, setting its size to zero. Note that this does not free any
+/// memory allocated for the array's contents.
+#define array_clear(self) ((self)->size = 0)
+
+/// Reserve `new_capacity` elements of space in the array. If `new_capacity` is
+/// less than the array's current capacity, this function has no effect.
+#define array_reserve(self, new_capacity) \
+ _array__reserve((Array *)(self), array_elem_size(self), new_capacity)
+
+/// Free any memory allocated for this array. Note that this does not free any
+/// memory allocated for the array's contents.
+#define array_delete(self) _array__delete((Array *)(self))
+
+/// Push a new `element` onto the end of the array.
+#define array_push(self, element) \
+ (_array__grow((Array *)(self), 1, array_elem_size(self)), \
+ (self)->contents[(self)->size++] = (element))
+
+/// Increase the array's size by `count` elements.
+/// New elements are zero-initialized.
+#define array_grow_by(self, count) \
+ do { \
+ if ((count) == 0) break; \
+ _array__grow((Array *)(self), count, array_elem_size(self)); \
+ memset((self)->contents + (self)->size, 0, (count) * array_elem_size(self)); \
+ (self)->size += (count); \
+ } while (0)
+
+/// Append all elements from one array to the end of another.
+#define array_push_all(self, other) \
+ array_extend((self), (other)->size, (other)->contents)
+
+/// Append `count` elements to the end of the array, reading their values from the
+/// `contents` pointer.
+#define array_extend(self, count, contents) \
+ _array__splice( \
+ (Array *)(self), array_elem_size(self), (self)->size, \
+ 0, count, contents \
+ )
+
+/// Remove `old_count` elements from the array starting at the given `index`. At
+/// the same index, insert `new_count` new elements, reading their values from the
+/// `new_contents` pointer.
+#define array_splice(self, _index, old_count, new_count, new_contents) \
+ _array__splice( \
+ (Array *)(self), array_elem_size(self), _index, \
+ old_count, new_count, new_contents \
+ )
+
+/// Insert one `element` into the array at the given `index`.
+#define array_insert(self, _index, element) \
+ _array__splice((Array *)(self), array_elem_size(self), _index, 0, 1, &(element))
+
+/// Remove one element from the array at the given `index`.
+#define array_erase(self, _index) \
+ _array__erase((Array *)(self), array_elem_size(self), _index)
+
+/// Pop the last element off the array, returning the element by value.
+#define array_pop(self) ((self)->contents[--(self)->size])
+
+/// Assign the contents of one array to another, reallocating if necessary.
+#define array_assign(self, other) \
+ _array__assign((Array *)(self), (const Array *)(other), array_elem_size(self))
+
+/// Swap one array with another
+#define array_swap(self, other) \
+ _array__swap((Array *)(self), (Array *)(other))
+
+/// Get the size of the array contents
+#define array_elem_size(self) (sizeof *(self)->contents)
+
+/// Search a sorted array for a given `needle` value, using the given `compare`
+/// callback to determine the order.
+///
+/// If an existing element is found to be equal to `needle`, then the `index`
+/// out-parameter is set to the existing value's index, and the `exists`
+/// out-parameter is set to true. Otherwise, `index` is set to an index where
+/// `needle` should be inserted in order to preserve the sorting, and `exists`
+/// is set to false.
+#define array_search_sorted_with(self, compare, needle, _index, _exists) \
+ _array__search_sorted(self, 0, compare, , needle, _index, _exists)
+
+/// Search a sorted array for a given `needle` value, using integer comparisons
+/// of a given struct field (specified with a leading dot) to determine the order.
+///
+/// See also `array_search_sorted_with`.
+#define array_search_sorted_by(self, field, needle, _index, _exists) \
+ _array__search_sorted(self, 0, _compare_int, field, needle, _index, _exists)
+
+/// Insert a given `value` into a sorted array, using the given `compare`
+/// callback to determine the order.
+#define array_insert_sorted_with(self, compare, value) \
+ do { \
+ unsigned _index, _exists; \
+ array_search_sorted_with(self, compare, &(value), &_index, &_exists); \
+ if (!_exists) array_insert(self, _index, value); \
+ } while (0)
+
+/// Insert a given `value` into a sorted array, using integer comparisons of
+/// a given struct field (specified with a leading dot) to determine the order.
+///
+/// See also `array_search_sorted_by`.
+#define array_insert_sorted_by(self, field, value) \
+ do { \
+ unsigned _index, _exists; \
+ array_search_sorted_by(self, field, (value) field, &_index, &_exists); \
+ if (!_exists) array_insert(self, _index, value); \
+ } while (0)
+
+// Private
+
+typedef Array(void) Array;
+
+/// This is not what you're looking for, see `array_delete`.
+static inline void _array__delete(Array *self) {
+ if (self->contents) {
+ ts_free(self->contents);
+ self->contents = NULL;
+ self->size = 0;
+ self->capacity = 0;
+ }
+}
+
+/// This is not what you're looking for, see `array_erase`.
+static inline void _array__erase(Array *self, size_t element_size,
+ uint32_t index) {
+ assert(index < self->size);
+ char *contents = (char *)self->contents;
+ memmove(contents + index * element_size, contents + (index + 1) * element_size,
+ (self->size - index - 1) * element_size);
+ self->size--;
+}
+
+/// This is not what you're looking for, see `array_reserve`.
+static inline void _array__reserve(Array *self, size_t element_size, uint32_t new_capacity) {
+ if (new_capacity > self->capacity) {
+ if (self->contents) {
+ self->contents = ts_realloc(self->contents, new_capacity * element_size);
+ } else {
+ self->contents = ts_malloc(new_capacity * element_size);
+ }
+ self->capacity = new_capacity;
+ }
+}
+
+/// This is not what you're looking for, see `array_assign`.
+static inline void _array__assign(Array *self, const Array *other, size_t element_size) {
+ _array__reserve(self, element_size, other->size);
+ self->size = other->size;
+ memcpy(self->contents, other->contents, self->size * element_size);
+}
+
+/// This is not what you're looking for, see `array_swap`.
+static inline void _array__swap(Array *self, Array *other) {
+ Array swap = *other;
+ *other = *self;
+ *self = swap;
+}
+
+/// This is not what you're looking for, see `array_push` or `array_grow_by`.
+static inline void _array__grow(Array *self, uint32_t count, size_t element_size) {
+ uint32_t new_size = self->size + count;
+ if (new_size > self->capacity) {
+ uint32_t new_capacity = self->capacity * 2;
+ if (new_capacity < 8) new_capacity = 8;
+ if (new_capacity < new_size) new_capacity = new_size;
+ _array__reserve(self, element_size, new_capacity);
+ }
+}
+
+/// This is not what you're looking for, see `array_splice`.
+static inline void _array__splice(Array *self, size_t element_size,
+ uint32_t index, uint32_t old_count,
+ uint32_t new_count, const void *elements) {
+ uint32_t new_size = self->size + new_count - old_count;
+ uint32_t old_end = index + old_count;
+ uint32_t new_end = index + new_count;
+ assert(old_end <= self->size);
+
+ _array__reserve(self, element_size, new_size);
+
+ char *contents = (char *)self->contents;
+ if (self->size > old_end) {
+ memmove(
+ contents + new_end * element_size,
+ contents + old_end * element_size,
+ (self->size - old_end) * element_size
+ );
+ }
+ if (new_count > 0) {
+ if (elements) {
+ memcpy(
+ (contents + index * element_size),
+ elements,
+ new_count * element_size
+ );
+ } else {
+ memset(
+ (contents + index * element_size),
+ 0,
+ new_count * element_size
+ );
+ }
+ }
+ self->size += new_count - old_count;
+}
+
+/// A binary search routine, based on Rust's `std::slice::binary_search_by`.
+/// This is not what you're looking for, see `array_search_sorted_with` or `array_search_sorted_by`.
+#define _array__search_sorted(self, start, compare, suffix, needle, _index, _exists) \
+ do { \
+ *(_index) = start; \
+ *(_exists) = false; \
+ uint32_t size = (self)->size - *(_index); \
+ if (size == 0) break; \
+ int comparison; \
+ while (size > 1) { \
+ uint32_t half_size = size / 2; \
+ uint32_t mid_index = *(_index) + half_size; \
+ comparison = compare(&((self)->contents[mid_index] suffix), (needle)); \
+ if (comparison <= 0) *(_index) = mid_index; \
+ size -= half_size; \
+ } \
+ comparison = compare(&((self)->contents[*(_index)] suffix), (needle)); \
+ if (comparison == 0) *(_exists) = true; \
+ else if (comparison < 0) *(_index) += 1; \
+ } while (0)
+
+/// Helper macro for the `_sorted_by` routines below. This takes the left (existing)
+/// parameter by reference in order to work with the generic sorting function above.
+#define _compare_int(a, b) ((int)*(a) - (int)(b))
+
+#ifdef _MSC_VER
+#pragma warning(default : 4101)
+#elif defined(__GNUC__) || defined(__clang__)
+#pragma GCC diagnostic pop
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // TREE_SITTER_ARRAY_H_
diff --git a/vendor/tree-sitter-lua/src/tree_sitter/parser.h b/vendor/tree-sitter-lua/src/tree_sitter/parser.h
new file mode 100644
index 0000000..799f599
--- /dev/null
+++ b/vendor/tree-sitter-lua/src/tree_sitter/parser.h
@@ -0,0 +1,266 @@
+#ifndef TREE_SITTER_PARSER_H_
+#define TREE_SITTER_PARSER_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+#define ts_builtin_sym_error ((TSSymbol)-1)
+#define ts_builtin_sym_end 0
+#define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024
+
+#ifndef TREE_SITTER_API_H_
+typedef uint16_t TSStateId;
+typedef uint16_t TSSymbol;
+typedef uint16_t TSFieldId;
+typedef struct TSLanguage TSLanguage;
+#endif
+
+typedef struct {
+ TSFieldId field_id;
+ uint8_t child_index;
+ bool inherited;
+} TSFieldMapEntry;
+
+typedef struct {
+ uint16_t index;
+ uint16_t length;
+} TSFieldMapSlice;
+
+typedef struct {
+ bool visible;
+ bool named;
+ bool supertype;
+} TSSymbolMetadata;
+
+typedef struct TSLexer TSLexer;
+
+struct TSLexer {
+ int32_t lookahead;
+ TSSymbol result_symbol;
+ void (*advance)(TSLexer *, bool);
+ void (*mark_end)(TSLexer *);
+ uint32_t (*get_column)(TSLexer *);
+ bool (*is_at_included_range_start)(const TSLexer *);
+ bool (*eof)(const TSLexer *);
+ void (*log)(const TSLexer *, const char *, ...);
+};
+
+typedef enum {
+ TSParseActionTypeShift,
+ TSParseActionTypeReduce,
+ TSParseActionTypeAccept,
+ TSParseActionTypeRecover,
+} TSParseActionType;
+
+typedef union {
+ struct {
+ uint8_t type;
+ TSStateId state;
+ bool extra;
+ bool repetition;
+ } shift;
+ struct {
+ uint8_t type;
+ uint8_t child_count;
+ TSSymbol symbol;
+ int16_t dynamic_precedence;
+ uint16_t production_id;
+ } reduce;
+ uint8_t type;
+} TSParseAction;
+
+typedef struct {
+ uint16_t lex_state;
+ uint16_t external_lex_state;
+} TSLexMode;
+
+typedef union {
+ TSParseAction action;
+ struct {
+ uint8_t count;
+ bool reusable;
+ } entry;
+} TSParseActionEntry;
+
+typedef struct {
+ int32_t start;
+ int32_t end;
+} TSCharacterRange;
+
+struct TSLanguage {
+ uint32_t version;
+ uint32_t symbol_count;
+ uint32_t alias_count;
+ uint32_t token_count;
+ uint32_t external_token_count;
+ uint32_t state_count;
+ uint32_t large_state_count;
+ uint32_t production_id_count;
+ uint32_t field_count;
+ uint16_t max_alias_sequence_length;
+ const uint16_t *parse_table;
+ const uint16_t *small_parse_table;
+ const uint32_t *small_parse_table_map;
+ const TSParseActionEntry *parse_actions;
+ const char * const *symbol_names;
+ const char * const *field_names;
+ const TSFieldMapSlice *field_map_slices;
+ const TSFieldMapEntry *field_map_entries;
+ const TSSymbolMetadata *symbol_metadata;
+ const TSSymbol *public_symbol_map;
+ const uint16_t *alias_map;
+ const TSSymbol *alias_sequences;
+ const TSLexMode *lex_modes;
+ bool (*lex_fn)(TSLexer *, TSStateId);
+ bool (*keyword_lex_fn)(TSLexer *, TSStateId);
+ TSSymbol keyword_capture_token;
+ struct {
+ const bool *states;
+ const TSSymbol *symbol_map;
+ void *(*create)(void);
+ void (*destroy)(void *);
+ bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist);
+ unsigned (*serialize)(void *, char *);
+ void (*deserialize)(void *, const char *, unsigned);
+ } external_scanner;
+ const TSStateId *primary_state_ids;
+};
+
+static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t lookahead) {
+ uint32_t index = 0;
+ uint32_t size = len - index;
+ while (size > 1) {
+ uint32_t half_size = size / 2;
+ uint32_t mid_index = index + half_size;
+ TSCharacterRange *range = &ranges[mid_index];
+ if (lookahead >= range->start && lookahead <= range->end) {
+ return true;
+ } else if (lookahead > range->end) {
+ index = mid_index;
+ }
+ size -= half_size;
+ }
+ TSCharacterRange *range = &ranges[index];
+ return (lookahead >= range->start && lookahead <= range->end);
+}
+
+/*
+ * Lexer Macros
+ */
+
+#ifdef _MSC_VER
+#define UNUSED __pragma(warning(suppress : 4101))
+#else
+#define UNUSED __attribute__((unused))
+#endif
+
+#define START_LEXER() \
+ bool result = false; \
+ bool skip = false; \
+ UNUSED \
+ bool eof = false; \
+ int32_t lookahead; \
+ goto start; \
+ next_state: \
+ lexer->advance(lexer, skip); \
+ start: \
+ skip = false; \
+ lookahead = lexer->lookahead;
+
+#define ADVANCE(state_value) \
+ { \
+ state = state_value; \
+ goto next_state; \
+ }
+
+#define ADVANCE_MAP(...) \
+ { \
+ static const uint16_t map[] = { __VA_ARGS__ }; \
+ for (uint32_t i = 0; i < sizeof(map) / sizeof(map[0]); i += 2) { \
+ if (map[i] == lookahead) { \
+ state = map[i + 1]; \
+ goto next_state; \
+ } \
+ } \
+ }
+
+#define SKIP(state_value) \
+ { \
+ skip = true; \
+ state = state_value; \
+ goto next_state; \
+ }
+
+#define ACCEPT_TOKEN(symbol_value) \
+ result = true; \
+ lexer->result_symbol = symbol_value; \
+ lexer->mark_end(lexer);
+
+#define END_STATE() return result;
+
+/*
+ * Parse Table Macros
+ */
+
+#define SMALL_STATE(id) ((id) - LARGE_STATE_COUNT)
+
+#define STATE(id) id
+
+#define ACTIONS(id) id
+
+#define SHIFT(state_value) \
+ {{ \
+ .shift = { \
+ .type = TSParseActionTypeShift, \
+ .state = (state_value) \
+ } \
+ }}
+
+#define SHIFT_REPEAT(state_value) \
+ {{ \
+ .shift = { \
+ .type = TSParseActionTypeShift, \
+ .state = (state_value), \
+ .repetition = true \
+ } \
+ }}
+
+#define SHIFT_EXTRA() \
+ {{ \
+ .shift = { \
+ .type = TSParseActionTypeShift, \
+ .extra = true \
+ } \
+ }}
+
+#define REDUCE(symbol_name, children, precedence, prod_id) \
+ {{ \
+ .reduce = { \
+ .type = TSParseActionTypeReduce, \
+ .symbol = symbol_name, \
+ .child_count = children, \
+ .dynamic_precedence = precedence, \
+ .production_id = prod_id \
+ }, \
+ }}
+
+#define RECOVER() \
+ {{ \
+ .type = TSParseActionTypeRecover \
+ }}
+
+#define ACCEPT_INPUT() \
+ {{ \
+ .type = TSParseActionTypeAccept \
+ }}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // TREE_SITTER_PARSER_H_