A human-friendly DSL for ATProto Lexicons
27
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update tree-sitter to 0.26

authored by stavola.xyz and committed by

Tangled be620bfd 2c3565b3

+9051 -113
+23 -6
Cargo.lock
··· 272 272 273 273 [[package]] 274 274 name = "cc" 275 - version = "1.2.40" 275 + version = "1.2.60" 276 276 source = "registry+https://github.com/rust-lang/crates.io-index" 277 - checksum = "e1d05d92f4b1fd76aad469d46cdd858ca761576082cd37df81416691e50199fb" 277 + checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20" 278 278 dependencies = [ 279 279 "find-msvc-tools", 280 280 "shlex", ··· 584 584 585 585 [[package]] 586 586 name = "find-msvc-tools" 587 - version = "0.1.3" 587 + version = "0.1.9" 588 588 source = "registry+https://github.com/rust-lang/crates.io-index" 589 - checksum = "0399f9d26e5191ce32c498bebd31e7a3ceabc2745f0ac54af3f335126c3f24b3" 589 + checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" 590 590 591 591 [[package]] 592 592 name = "fnv" ··· 2287 2287 ] 2288 2288 2289 2289 [[package]] 2290 + name = "streaming-iterator" 2291 + version = "0.1.9" 2292 + source = "registry+https://github.com/rust-lang/crates.io-index" 2293 + checksum = "2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520" 2294 + 2295 + [[package]] 2290 2296 name = "strsim" 2291 2297 version = "0.11.1" 2292 2298 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 2779 2785 2780 2786 [[package]] 2781 2787 name = "tree-sitter" 2782 - version = "0.22.6" 2788 + version = "0.26.8" 2783 2789 source = "registry+https://github.com/rust-lang/crates.io-index" 2784 - checksum = "df7cc499ceadd4dcdf7ec6d4cbc34ece92c3fa07821e287aedecd4416c516dca" 2790 + checksum = "887bd495d0582c5e3e0d8ece2233666169fa56a9644d172fc22ad179ab2d0538" 2785 2791 dependencies = [ 2786 2792 "cc", 2787 2793 "regex", 2794 + "regex-syntax", 2795 + "serde_json", 2796 + "streaming-iterator", 2797 + "tree-sitter-language", 2788 2798 ] 2789 2799 2790 2800 [[package]] 2801 + name = "tree-sitter-language" 2802 + version = "0.1.7" 2803 + source = "registry+https://github.com/rust-lang/crates.io-index" 2804 + checksum = "009994f150cc0cd50ff54917d5bc8bffe8cad10ca10d81c34da2ec421ae61782" 2805 + 2806 + [[package]] 2791 2807 name = "tree-sitter-mlf" 2792 2808 version = "0.1.0" 2793 2809 dependencies = [ 2794 2810 "cc", 2795 2811 "tree-sitter", 2812 + "tree-sitter-language", 2796 2813 ] 2797 2814 2798 2815 [[package]]
+7 -7
justfile
··· 18 18 # `just test-fast` to skip network-dependent real-world tests. 19 19 test: 20 20 @echo "Running all workspace tests..." 21 - cargo nextest run --workspace --exclude tree-sitter-mlf --exclude mlf-wasm 21 + cargo nextest run --workspace --exclude mlf-wasm 22 22 23 23 # Run everything except network-dependent real-world roundtrip tests 24 24 test-fast: 25 25 @echo "Running workspace tests (excluding real-world)..." 26 - cargo nextest run --workspace --exclude tree-sitter-mlf --exclude mlf-wasm -E 'not binary(real_world_roundtrip)' 26 + cargo nextest run --workspace --exclude mlf-wasm -E 'not binary(real_world_roundtrip)' 27 27 28 28 # Run only language tests (mlf-lang crate) 29 29 test-lang: ··· 71 71 72 72 # Run tests with verbose output (stdout streamed live, tests run serially) 73 73 test-verbose: 74 - cargo nextest run --workspace --exclude tree-sitter-mlf --exclude mlf-wasm --no-capture 74 + cargo nextest run --workspace --exclude mlf-wasm --no-capture 75 75 76 76 # Quick check without running tests 77 77 check: 78 - cargo check --workspace --exclude tree-sitter-mlf 78 + cargo check --workspace 79 79 80 80 # Format code 81 81 fmt: ··· 83 83 84 84 # Run clippy 85 85 lint: 86 - cargo clippy --workspace --exclude tree-sitter-mlf 86 + cargo clippy --workspace 87 87 88 88 # Build everything 89 89 build: 90 - cargo build --workspace --exclude tree-sitter-mlf 90 + cargo build --workspace 91 91 92 92 # Build release 93 93 build-release: 94 - cargo build --workspace --exclude tree-sitter-mlf --release 94 + cargo build --workspace --release 95 95 96 96 # Clean build artifacts 97 97 clean:
-2
tree-sitter-mlf/.gitignore
··· 4 4 .DS_Store 5 5 Cargo.lock 6 6 target/ 7 - src/parser.c 8 - src/tree_sitter/
+17 -4
tree-sitter-mlf/Cargo.toml
··· 2 2 name = "tree-sitter-mlf" 3 3 version = "0.1.0" 4 4 description = "MLF grammar for tree-sitter" 5 - keywords = ["tree-sitter", "parser", "mlf"] 5 + keywords = ["tree-sitter", "parser", "mlf", "lexicon", "atproto"] 6 6 categories = ["parsing", "text-editors"] 7 7 license = "MIT" 8 - edition = "2021" 8 + edition = "2024" 9 + autoexamples = false 10 + build = "bindings/rust/build.rs" 11 + include = [ 12 + "bindings/rust/*", 13 + "grammar.js", 14 + "queries/*", 15 + "src/*", 16 + "src/tree_sitter/*", 17 + "tree-sitter.json", 18 + ] 9 19 10 20 [lib] 11 21 path = "bindings/rust/lib.rs" 12 22 13 23 [dependencies] 14 - tree-sitter = "~0.22" 24 + tree-sitter-language = "0.1" 15 25 16 26 [build-dependencies] 17 - cc = "1.0" 27 + cc = "1.1" 28 + 29 + [dev-dependencies] 30 + tree-sitter = "0.26"
+4 -3
tree-sitter-mlf/README.md
··· 29 29 text: string constrained { 30 30 maxLength: 300, 31 31 }, 32 - }; 32 + } 33 33 "#; 34 34 35 35 let mut parser = Parser::new(); 36 - parser.set_language(&tree_sitter_mlf::language()).unwrap(); 36 + let language = tree_sitter_mlf::LANGUAGE; 37 + parser.set_language(&language.into()).unwrap(); 37 38 let tree = parser.parse(code, None).unwrap(); 38 39 ``` 39 40 ··· 49 50 const code = ` 50 51 record post { 51 52 text: string, 52 - }; 53 + } 53 54 `; 54 55 55 56 const tree = parser.parse(code);
+11 -2
tree-sitter-mlf/binding.gyp
··· 12 12 "bindings/node/binding.cc", 13 13 "src/parser.c" 14 14 ], 15 - "cflags_c": [ 16 - "-std=c11" 15 + "conditions": [ 16 + ["OS!='win'", { 17 + "cflags_c": [ 18 + "-std=c11" 19 + ] 20 + }, { 21 + "cflags_c": [ 22 + "/std:c11", 23 + "/utf-8" 24 + ] 25 + }] 17 26 ] 18 27 } 19 28 ]
+14 -22
tree-sitter-mlf/bindings/node/binding.cc
··· 1 - #include "tree_sitter/parser.h" 2 - #include <node.h> 3 - #include "nan.h" 4 - 5 - using namespace v8; 6 - 7 - extern "C" TSLanguage * tree_sitter_mlf(); 8 - 9 - namespace { 1 + #include <napi.h> 10 2 11 - NAN_METHOD(New) {} 3 + typedef struct TSLanguage TSLanguage; 12 4 13 - void Init(Local<Object> exports, Local<Object> module) { 14 - Local<FunctionTemplate> tpl = Nan::New<FunctionTemplate>(New); 15 - tpl->SetClassName(Nan::New("Language").ToLocalChecked()); 16 - tpl->InstanceTemplate()->SetInternalFieldCount(1); 5 + extern "C" TSLanguage *tree_sitter_mlf(); 17 6 18 - Local<Function> constructor = Nan::GetFunction(tpl).ToLocalChecked(); 19 - Local<Object> instance = constructor->NewInstance(Nan::GetCurrentContext()).ToLocalChecked(); 20 - Nan::SetInternalFieldPointer(instance, 0, tree_sitter_mlf()); 7 + // "tree-sitter", "language" hashed with BLAKE2 8 + const napi_type_tag LANGUAGE_TYPE_TAG = { 9 + 0x8AF2E5212AD58ABF, 0xD5006CAD83ABBA16 10 + }; 21 11 22 - Nan::Set(instance, Nan::New("name").ToLocalChecked(), Nan::New("mlf").ToLocalChecked()); 23 - Nan::Set(module, Nan::New("exports").ToLocalChecked(), instance); 12 + Napi::Object Init(Napi::Env env, Napi::Object exports) { 13 + exports["name"] = Napi::String::New(env, "mlf"); 14 + auto language = Napi::External<TSLanguage>::New(env, tree_sitter_mlf()); 15 + language.TypeTag(&LANGUAGE_TYPE_TAG); 16 + exports["language"] = language; 17 + return exports; 24 18 } 25 19 26 - NODE_MODULE(tree_sitter_mlf_binding, Init) 27 - 28 - } // namespace 20 + NODE_API_MODULE(tree_sitter_mlf_binding, Init)
+28
tree-sitter-mlf/bindings/node/index.d.ts
··· 1 + type BaseNode = { 2 + type: string; 3 + named: boolean; 4 + }; 5 + 6 + type ChildNode = { 7 + multiple: boolean; 8 + required: boolean; 9 + types: BaseNode[]; 10 + }; 11 + 12 + type NodeInfo = 13 + | (BaseNode & { 14 + subtypes: BaseNode[]; 15 + }) 16 + | (BaseNode & { 17 + fields: { [name: string]: ChildNode }; 18 + children: ChildNode[]; 19 + }); 20 + 21 + type Language = { 22 + name: string; 23 + language: unknown; 24 + nodeTypeInfo: NodeInfo[]; 25 + }; 26 + 27 + declare const language: Language; 28 + export = language;
+7 -15
tree-sitter-mlf/bindings/node/index.js
··· 1 - try { 2 - module.exports = require("../../build/Release/tree_sitter_mlf_binding"); 3 - } catch (error1) { 4 - if (error1.code !== 'MODULE_NOT_FOUND') { 5 - throw error1; 6 - } 7 - try { 8 - module.exports = require("../../build/Debug/tree_sitter_mlf_binding"); 9 - } catch (error2) { 10 - if (error2.code !== 'MODULE_NOT_FOUND') { 11 - throw error2; 12 - } 13 - throw error1 14 - } 15 - } 1 + const root = require("path").join(__dirname, "..", ".."); 2 + 3 + module.exports = 4 + typeof process.versions.bun === "string" 5 + // Support `bun build --compile` by being statically analyzable enough to find the .node file at build-time 6 + ? require(`../../prebuilds/${process.platform}-${process.arch}/tree-sitter-mlf.node`) 7 + : require("node-gyp-build")(root); 16 8 17 9 try { 18 10 module.exports.nodeTypeInfo = require("../../src/node-types.json");
+7 -16
tree-sitter-mlf/bindings/rust/build.rs
··· 1 1 fn main() { 2 - let src_dir = std::path::Path::new("../../src"); 2 + let src_dir = std::path::Path::new("src"); 3 3 4 4 let mut c_config = cc::Build::new(); 5 - c_config.include(src_dir); 6 - c_config 7 - .flag_if_supported("-Wno-unused-parameter") 8 - .flag_if_supported("-Wno-unused-but-set-variable") 9 - .flag_if_supported("-Wno-trigraphs"); 5 + c_config.std("c11").include(src_dir); 6 + 7 + #[cfg(target_env = "msvc")] 8 + c_config.flag("-utf-8"); 9 + 10 10 let parser_path = src_dir.join("parser.c"); 11 11 c_config.file(&parser_path); 12 - 13 - // If your language uses an external scanner written in C, 14 - // then include this block of code: 15 - 16 - /* 17 - let scanner_path = src_dir.join("scanner.c"); 18 - c_config.file(&scanner_path); 19 - println!("cargo:rerun-if-changed={}", scanner_path.to_str().unwrap()); 20 - */ 12 + println!("cargo:rerun-if-changed={}", parser_path.to_str().unwrap()); 21 13 22 14 c_config.compile("tree-sitter-mlf"); 23 - println!("cargo:rerun-if-changed={}", parser_path.to_str().unwrap()); 24 15 }
+21 -23
tree-sitter-mlf/bindings/rust/lib.rs
··· 1 - //! This crate provides MLF language support for the [tree-sitter][] parsing library. 1 + //! This crate provides MLF (Matt's Lexicon Format) language support for the 2 + //! [tree-sitter][] parsing library. 2 3 //! 3 - //! Typically, you will use the [language][language func] function to add this language to a 4 + //! Typically, you will use the [LANGUAGE][] constant to add this language to a 4 5 //! tree-sitter [Parser][], and then use the parser to parse some code: 5 6 //! 6 7 //! ``` 8 + //! use tree_sitter::Parser; 9 + //! 7 10 //! let code = r#" 8 11 //! record post { 9 12 //! text: string, 10 - //! }; 13 + //! } 11 14 //! "#; 12 - //! let mut parser = tree_sitter::Parser::new(); 13 - //! parser.set_language(&tree_sitter_mlf::language()).expect("Error loading MLF grammar"); 15 + //! let mut parser = Parser::new(); 16 + //! let language = tree_sitter_mlf::LANGUAGE; 17 + //! parser 18 + //! .set_language(&language.into()) 19 + //! .expect("Error loading MLF parser"); 14 20 //! let tree = parser.parse(code, None).unwrap(); 15 21 //! assert!(!tree.root_node().has_error()); 16 22 //! ``` 17 23 //! 18 - //! [Language]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Language.html 19 - //! [language func]: fn.language.html 24 + //! [LANGUAGE]: https://docs.rs/tree-sitter-language/*/tree_sitter_language/struct.LanguageFn.html 20 25 //! [Parser]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Parser.html 21 26 //! [tree-sitter]: https://tree-sitter.github.io/ 22 27 23 - use tree_sitter::Language; 28 + use tree_sitter_language::LanguageFn; 24 29 25 - extern "C" { 26 - fn tree_sitter_mlf() -> Language; 30 + unsafe extern "C" { 31 + fn tree_sitter_mlf() -> *const (); 27 32 } 28 33 29 - /// Get the tree-sitter [Language][] for this grammar. 30 - /// 31 - /// [Language]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Language.html 32 - pub fn language() -> Language { 33 - unsafe { tree_sitter_mlf() } 34 - } 34 + /// The tree-sitter [`LanguageFn`] for this grammar. 35 + pub const LANGUAGE: LanguageFn = unsafe { LanguageFn::from_raw(tree_sitter_mlf) }; 35 36 36 37 /// The content of the [`node-types.json`][] file for this grammar. 37 38 /// 38 39 /// [`node-types.json`]: https://tree-sitter.github.io/tree-sitter/using-parsers#static-node-types 39 40 pub const NODE_TYPES: &str = include_str!("../../src/node-types.json"); 40 41 41 - // Uncomment these to include any queries that your grammar contains 42 - // pub const HIGHLIGHTS_QUERY: &str = include_str!("../../queries/highlights.scm"); 43 - // pub const INJECTIONS_QUERY: &str = include_str!("../../queries/injections.scm"); 44 - // pub const LOCALS_QUERY: &str = include_str!("../../queries/locals.scm"); 45 - // pub const TAGS_QUERY: &str = include_str!("../../queries/tags.scm"); 42 + /// The syntax highlighting query for this language. 43 + pub const HIGHLIGHTS_QUERY: &str = include_str!("../../queries/highlights.scm"); 46 44 47 45 #[cfg(test)] 48 46 mod tests { ··· 50 48 fn test_can_load_grammar() { 51 49 let mut parser = tree_sitter::Parser::new(); 52 50 parser 53 - .set_language(&super::language()) 54 - .expect("Error loading MLF language"); 51 + .set_language(&super::LANGUAGE.into()) 52 + .expect("Error loading MLF parser"); 55 53 } 56 54 }
+369
tree-sitter-mlf/package-lock.json
··· 1 + { 2 + "name": "tree-sitter-mlf", 3 + "version": "0.1.0", 4 + "lockfileVersion": 3, 5 + "requires": true, 6 + "packages": { 7 + "": { 8 + "name": "tree-sitter-mlf", 9 + "version": "0.1.0", 10 + "hasInstallScript": true, 11 + "license": "MIT", 12 + "dependencies": { 13 + "node-addon-api": "^8.2.2", 14 + "node-gyp-build": "^4.8.4" 15 + }, 16 + "devDependencies": { 17 + "prebuildify": "^6.0.1", 18 + "tree-sitter-cli": "^0.26.7" 19 + }, 20 + "peerDependencies": { 21 + "tree-sitter": "^0.25.0" 22 + }, 23 + "peerDependenciesMeta": { 24 + "tree-sitter": { 25 + "optional": true 26 + } 27 + } 28 + }, 29 + "node_modules/base64-js": { 30 + "version": "1.5.1", 31 + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 32 + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 33 + "dev": true, 34 + "funding": [ 35 + { 36 + "type": "github", 37 + "url": "https://github.com/sponsors/feross" 38 + }, 39 + { 40 + "type": "patreon", 41 + "url": "https://www.patreon.com/feross" 42 + }, 43 + { 44 + "type": "consulting", 45 + "url": "https://feross.org/support" 46 + } 47 + ], 48 + "license": "MIT" 49 + }, 50 + "node_modules/bl": { 51 + "version": "4.1.0", 52 + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 53 + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 54 + "dev": true, 55 + "license": "MIT", 56 + "dependencies": { 57 + "buffer": "^5.5.0", 58 + "inherits": "^2.0.4", 59 + "readable-stream": "^3.4.0" 60 + } 61 + }, 62 + "node_modules/buffer": { 63 + "version": "5.7.1", 64 + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 65 + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 66 + "dev": true, 67 + "funding": [ 68 + { 69 + "type": "github", 70 + "url": "https://github.com/sponsors/feross" 71 + }, 72 + { 73 + "type": "patreon", 74 + "url": "https://www.patreon.com/feross" 75 + }, 76 + { 77 + "type": "consulting", 78 + "url": "https://feross.org/support" 79 + } 80 + ], 81 + "license": "MIT", 82 + "dependencies": { 83 + "base64-js": "^1.3.1", 84 + "ieee754": "^1.1.13" 85 + } 86 + }, 87 + "node_modules/chownr": { 88 + "version": "1.1.4", 89 + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 90 + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", 91 + "dev": true, 92 + "license": "ISC" 93 + }, 94 + "node_modules/end-of-stream": { 95 + "version": "1.4.5", 96 + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", 97 + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", 98 + "dev": true, 99 + "license": "MIT", 100 + "dependencies": { 101 + "once": "^1.4.0" 102 + } 103 + }, 104 + "node_modules/fs-constants": { 105 + "version": "1.0.0", 106 + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 107 + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", 108 + "dev": true, 109 + "license": "MIT" 110 + }, 111 + "node_modules/ieee754": { 112 + "version": "1.2.1", 113 + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 114 + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 115 + "dev": true, 116 + "funding": [ 117 + { 118 + "type": "github", 119 + "url": "https://github.com/sponsors/feross" 120 + }, 121 + { 122 + "type": "patreon", 123 + "url": "https://www.patreon.com/feross" 124 + }, 125 + { 126 + "type": "consulting", 127 + "url": "https://feross.org/support" 128 + } 129 + ], 130 + "license": "BSD-3-Clause" 131 + }, 132 + "node_modules/inherits": { 133 + "version": "2.0.4", 134 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 135 + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 136 + "dev": true, 137 + "license": "ISC" 138 + }, 139 + "node_modules/minimist": { 140 + "version": "1.2.8", 141 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 142 + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 143 + "dev": true, 144 + "license": "MIT", 145 + "funding": { 146 + "url": "https://github.com/sponsors/ljharb" 147 + } 148 + }, 149 + "node_modules/mkdirp-classic": { 150 + "version": "0.5.3", 151 + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 152 + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", 153 + "dev": true, 154 + "license": "MIT" 155 + }, 156 + "node_modules/node-abi": { 157 + "version": "3.89.0", 158 + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.89.0.tgz", 159 + "integrity": "sha512-6u9UwL0HlAl21+agMN3YAMXcKByMqwGx+pq+P76vii5f7hTPtKDp08/H9py6DY+cfDw7kQNTGEj/rly3IgbNQA==", 160 + "dev": true, 161 + "license": "MIT", 162 + "dependencies": { 163 + "semver": "^7.3.5" 164 + }, 165 + "engines": { 166 + "node": ">=10" 167 + } 168 + }, 169 + "node_modules/node-addon-api": { 170 + "version": "8.7.0", 171 + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.7.0.tgz", 172 + "integrity": "sha512-9MdFxmkKaOYVTV+XVRG8ArDwwQ77XIgIPyKASB1k3JPq3M8fGQQQE3YpMOrKm6g//Ktx8ivZr8xo1Qmtqub+GA==", 173 + "license": "MIT", 174 + "engines": { 175 + "node": "^18 || ^20 || >= 21" 176 + } 177 + }, 178 + "node_modules/node-gyp-build": { 179 + "version": "4.8.4", 180 + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", 181 + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", 182 + "license": "MIT", 183 + "bin": { 184 + "node-gyp-build": "bin.js", 185 + "node-gyp-build-optional": "optional.js", 186 + "node-gyp-build-test": "build-test.js" 187 + } 188 + }, 189 + "node_modules/npm-run-path": { 190 + "version": "3.1.0", 191 + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", 192 + "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", 193 + "dev": true, 194 + "license": "MIT", 195 + "dependencies": { 196 + "path-key": "^3.0.0" 197 + }, 198 + "engines": { 199 + "node": ">=8" 200 + } 201 + }, 202 + "node_modules/once": { 203 + "version": "1.4.0", 204 + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 205 + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 206 + "dev": true, 207 + "license": "ISC", 208 + "dependencies": { 209 + "wrappy": "1" 210 + } 211 + }, 212 + "node_modules/path-key": { 213 + "version": "3.1.1", 214 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 215 + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 216 + "dev": true, 217 + "license": "MIT", 218 + "engines": { 219 + "node": ">=8" 220 + } 221 + }, 222 + "node_modules/prebuildify": { 223 + "version": "6.0.1", 224 + "resolved": "https://registry.npmjs.org/prebuildify/-/prebuildify-6.0.1.tgz", 225 + "integrity": "sha512-8Y2oOOateom/s8dNBsGIcnm6AxPmLH4/nanQzL5lQMU+sC0CMhzARZHizwr36pUPLdvBnOkCNQzxg4djuFSgIw==", 226 + "dev": true, 227 + "license": "MIT", 228 + "dependencies": { 229 + "minimist": "^1.2.5", 230 + "mkdirp-classic": "^0.5.3", 231 + "node-abi": "^3.3.0", 232 + "npm-run-path": "^3.1.0", 233 + "pump": "^3.0.0", 234 + "tar-fs": "^2.1.0" 235 + }, 236 + "bin": { 237 + "prebuildify": "bin.js" 238 + } 239 + }, 240 + "node_modules/pump": { 241 + "version": "3.0.4", 242 + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", 243 + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", 244 + "dev": true, 245 + "license": "MIT", 246 + "dependencies": { 247 + "end-of-stream": "^1.1.0", 248 + "once": "^1.3.1" 249 + } 250 + }, 251 + "node_modules/readable-stream": { 252 + "version": "3.6.2", 253 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 254 + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 255 + "dev": true, 256 + "license": "MIT", 257 + "dependencies": { 258 + "inherits": "^2.0.3", 259 + "string_decoder": "^1.1.1", 260 + "util-deprecate": "^1.0.1" 261 + }, 262 + "engines": { 263 + "node": ">= 6" 264 + } 265 + }, 266 + "node_modules/safe-buffer": { 267 + "version": "5.2.1", 268 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 269 + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 270 + "dev": true, 271 + "funding": [ 272 + { 273 + "type": "github", 274 + "url": "https://github.com/sponsors/feross" 275 + }, 276 + { 277 + "type": "patreon", 278 + "url": "https://www.patreon.com/feross" 279 + }, 280 + { 281 + "type": "consulting", 282 + "url": "https://feross.org/support" 283 + } 284 + ], 285 + "license": "MIT" 286 + }, 287 + "node_modules/semver": { 288 + "version": "7.7.4", 289 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", 290 + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", 291 + "dev": true, 292 + "license": "ISC", 293 + "bin": { 294 + "semver": "bin/semver.js" 295 + }, 296 + "engines": { 297 + "node": ">=10" 298 + } 299 + }, 300 + "node_modules/string_decoder": { 301 + "version": "1.3.0", 302 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 303 + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 304 + "dev": true, 305 + "license": "MIT", 306 + "dependencies": { 307 + "safe-buffer": "~5.2.0" 308 + } 309 + }, 310 + "node_modules/tar-fs": { 311 + "version": "2.1.4", 312 + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", 313 + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", 314 + "dev": true, 315 + "license": "MIT", 316 + "dependencies": { 317 + "chownr": "^1.1.1", 318 + "mkdirp-classic": "^0.5.2", 319 + "pump": "^3.0.0", 320 + "tar-stream": "^2.1.4" 321 + } 322 + }, 323 + "node_modules/tar-stream": { 324 + "version": "2.2.0", 325 + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", 326 + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", 327 + "dev": true, 328 + "license": "MIT", 329 + "dependencies": { 330 + "bl": "^4.0.3", 331 + "end-of-stream": "^1.4.1", 332 + "fs-constants": "^1.0.0", 333 + "inherits": "^2.0.3", 334 + "readable-stream": "^3.1.1" 335 + }, 336 + "engines": { 337 + "node": ">=6" 338 + } 339 + }, 340 + "node_modules/tree-sitter-cli": { 341 + "version": "0.26.8", 342 + "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.26.8.tgz", 343 + "integrity": "sha512-teQFMF5V/g8aIdakZ0M/eZoedCM3MuBt1JuDOICLloA2hy7QfeOInb99U6wiML4qXcBHWREwf0U1TWzw7p67YA==", 344 + "dev": true, 345 + "hasInstallScript": true, 346 + "license": "MIT", 347 + "bin": { 348 + "tree-sitter": "cli.js" 349 + }, 350 + "engines": { 351 + "node": ">=12.0.0" 352 + } 353 + }, 354 + "node_modules/util-deprecate": { 355 + "version": "1.0.2", 356 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 357 + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 358 + "dev": true, 359 + "license": "MIT" 360 + }, 361 + "node_modules/wrappy": { 362 + "version": "1.0.2", 363 + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 364 + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 365 + "dev": true, 366 + "license": "ISC" 367 + } 368 + } 369 + }
+20 -13
tree-sitter-mlf/package.json
··· 13 13 ], 14 14 "author": "Matt", 15 15 "license": "MIT", 16 + "files": [ 17 + "grammar.js", 18 + "tree-sitter.json", 19 + "binding.gyp", 20 + "prebuilds/**", 21 + "bindings/node/*", 22 + "queries/*", 23 + "src/**" 24 + ], 16 25 "dependencies": { 17 - "node-addon-api": "^7.1.0", 18 - "node-gyp-build": "^4.8.0" 26 + "node-addon-api": "^8.2.2", 27 + "node-gyp-build": "^4.8.4" 19 28 }, 20 29 "devDependencies": { 21 - "tree-sitter-cli": "^0.22.6", 22 - "prebuildify": "^6.0.0" 30 + "prebuildify": "^6.0.1", 31 + "tree-sitter-cli": "^0.26.7" 23 32 }, 24 33 "peerDependencies": { 25 - "tree-sitter": "^0.21.0" 34 + "tree-sitter": "^0.25.0" 26 35 }, 27 36 "peerDependenciesMeta": { 28 37 "tree-sitter": { 29 38 "optional": true 30 39 } 31 40 }, 32 - "tree-sitter": [ 33 - { 34 - "scope": "source.mlf", 35 - "file-types": [ 36 - "mlf" 37 - ] 38 - } 39 - ] 41 + "scripts": { 42 + "install": "node-gyp-build", 43 + "prestart": "tree-sitter build --wasm", 44 + "start": "tree-sitter playground", 45 + "test": "node --test bindings/node/*_test.js" 46 + } 40 47 }
+7819
tree-sitter-mlf/src/parser.c
··· 1 + /* Automatically @generated by tree-sitter */ 2 + 3 + #include "tree_sitter/parser.h" 4 + 5 + #if defined(__GNUC__) || defined(__clang__) 6 + #pragma GCC diagnostic ignored "-Wmissing-field-initializers" 7 + #endif 8 + 9 + #define LANGUAGE_VERSION 15 10 + #define STATE_COUNT 314 11 + #define LARGE_STATE_COUNT 2 12 + #define SYMBOL_COUNT 103 13 + #define ALIAS_COUNT 0 14 + #define TOKEN_COUNT 46 15 + #define EXTERNAL_TOKEN_COUNT 0 16 + #define FIELD_COUNT 16 17 + #define MAX_ALIAS_SEQUENCE_LENGTH 7 18 + #define MAX_RESERVED_WORD_SET_SIZE 0 19 + #define PRODUCTION_ID_COUNT 29 20 + #define SUPERTYPE_COUNT 0 21 + 22 + enum ts_symbol_identifiers { 23 + anon_sym_self = 1, 24 + anon_sym_LBRACE = 2, 25 + anon_sym_RBRACE = 3, 26 + sym_doc_comment = 4, 27 + sym_comment = 5, 28 + anon_sym_AT = 6, 29 + anon_sym_COMMA = 7, 30 + anon_sym_COLON = 8, 31 + anon_sym_LPAREN = 9, 32 + anon_sym_RPAREN = 10, 33 + anon_sym_null = 11, 34 + anon_sym_LBRACK = 12, 35 + anon_sym_RBRACK = 13, 36 + anon_sym_use = 14, 37 + anon_sym_as = 15, 38 + anon_sym_DOT = 16, 39 + anon_sym_STAR = 17, 40 + anon_sym_SEMI = 18, 41 + anon_sym_main = 19, 42 + anon_sym_record = 20, 43 + anon_sym_BANG = 21, 44 + anon_sym_inline = 22, 45 + anon_sym_type = 23, 46 + anon_sym_EQ = 24, 47 + anon_sym_def = 25, 48 + anon_sym_token = 26, 49 + anon_sym_query = 27, 50 + anon_sym_procedure = 28, 51 + anon_sym_subscription = 29, 52 + anon_sym_PIPE = 30, 53 + anon_sym_error = 31, 54 + anon_sym_boolean = 32, 55 + anon_sym_integer = 33, 56 + anon_sym_string = 34, 57 + anon_sym_bytes = 35, 58 + anon_sym_blob = 36, 59 + anon_sym_unknown = 37, 60 + anon_sym_constrained = 38, 61 + aux_sym_identifier_token1 = 39, 62 + anon_sym_BQUOTE = 40, 63 + aux_sym_identifier_token2 = 41, 64 + sym_number = 42, 65 + sym_string = 43, 66 + anon_sym_true = 44, 67 + anon_sym_false = 45, 68 + sym_source_file = 46, 69 + sym_item = 47, 70 + sym_self_definition = 48, 71 + sym_annotation = 49, 72 + sym_annotation_selectors = 50, 73 + sym_annotation_args = 51, 74 + sym_annotation_arg = 52, 75 + sym_annotation_value = 53, 76 + sym_null_literal = 54, 77 + sym_annotation_array = 55, 78 + sym_annotation_object = 56, 79 + sym_annotation_object_entry = 57, 80 + sym_use_statement = 58, 81 + sym_import_block = 59, 82 + sym_import_item = 60, 83 + sym_record_definition = 61, 84 + sym_record_body = 62, 85 + sym_field = 63, 86 + sym_inline_type_definition = 64, 87 + sym_def_type_definition = 65, 88 + sym_token_definition = 66, 89 + sym_query_definition = 67, 90 + sym_procedure_definition = 68, 91 + sym_subscription_definition = 69, 92 + sym_parameter_list = 70, 93 + sym_parameter = 71, 94 + sym_return_type = 72, 95 + sym_error_definition = 73, 96 + sym_type = 74, 97 + sym_non_union_type = 75, 98 + sym_primitive_type = 76, 99 + sym_reference_type = 77, 100 + sym_type_path = 78, 101 + sym_array_type = 79, 102 + sym_union_type = 80, 103 + sym_object_type = 81, 104 + sym_constrained_type = 82, 105 + sym_constraint_block = 83, 106 + sym_constraint = 84, 107 + sym_constraint_value = 85, 108 + sym_array_literal = 86, 109 + sym_identifier = 87, 110 + sym_boolean = 88, 111 + aux_sym_source_file_repeat1 = 89, 112 + aux_sym_self_definition_repeat1 = 90, 113 + aux_sym_annotation_selectors_repeat1 = 91, 114 + aux_sym_annotation_args_repeat1 = 92, 115 + aux_sym_annotation_array_repeat1 = 93, 116 + aux_sym_annotation_object_repeat1 = 94, 117 + aux_sym_import_block_repeat1 = 95, 118 + aux_sym_record_body_repeat1 = 96, 119 + aux_sym_parameter_list_repeat1 = 97, 120 + aux_sym_return_type_repeat1 = 98, 121 + aux_sym_type_path_repeat1 = 99, 122 + aux_sym_union_type_repeat1 = 100, 123 + aux_sym_constraint_block_repeat1 = 101, 124 + aux_sym_array_literal_repeat1 = 102, 125 + }; 126 + 127 + static const char * const ts_symbol_names[] = { 128 + [ts_builtin_sym_end] = "end", 129 + [anon_sym_self] = "self", 130 + [anon_sym_LBRACE] = "{", 131 + [anon_sym_RBRACE] = "}", 132 + [sym_doc_comment] = "doc_comment", 133 + [sym_comment] = "comment", 134 + [anon_sym_AT] = "@", 135 + [anon_sym_COMMA] = ",", 136 + [anon_sym_COLON] = ":", 137 + [anon_sym_LPAREN] = "(", 138 + [anon_sym_RPAREN] = ")", 139 + [anon_sym_null] = "null", 140 + [anon_sym_LBRACK] = "[", 141 + [anon_sym_RBRACK] = "]", 142 + [anon_sym_use] = "use", 143 + [anon_sym_as] = "as", 144 + [anon_sym_DOT] = ".", 145 + [anon_sym_STAR] = "*", 146 + [anon_sym_SEMI] = ";", 147 + [anon_sym_main] = "main", 148 + [anon_sym_record] = "record", 149 + [anon_sym_BANG] = "!", 150 + [anon_sym_inline] = "inline", 151 + [anon_sym_type] = "type", 152 + [anon_sym_EQ] = "=", 153 + [anon_sym_def] = "def", 154 + [anon_sym_token] = "token", 155 + [anon_sym_query] = "query", 156 + [anon_sym_procedure] = "procedure", 157 + [anon_sym_subscription] = "subscription", 158 + [anon_sym_PIPE] = "|", 159 + [anon_sym_error] = "error", 160 + [anon_sym_boolean] = "boolean", 161 + [anon_sym_integer] = "integer", 162 + [anon_sym_string] = "string", 163 + [anon_sym_bytes] = "bytes", 164 + [anon_sym_blob] = "blob", 165 + [anon_sym_unknown] = "unknown", 166 + [anon_sym_constrained] = "constrained", 167 + [aux_sym_identifier_token1] = "identifier_token1", 168 + [anon_sym_BQUOTE] = "`", 169 + [aux_sym_identifier_token2] = "identifier_token2", 170 + [sym_number] = "number", 171 + [sym_string] = "string", 172 + [anon_sym_true] = "true", 173 + [anon_sym_false] = "false", 174 + [sym_source_file] = "source_file", 175 + [sym_item] = "item", 176 + [sym_self_definition] = "self_definition", 177 + [sym_annotation] = "annotation", 178 + [sym_annotation_selectors] = "annotation_selectors", 179 + [sym_annotation_args] = "annotation_args", 180 + [sym_annotation_arg] = "annotation_arg", 181 + [sym_annotation_value] = "annotation_value", 182 + [sym_null_literal] = "null_literal", 183 + [sym_annotation_array] = "annotation_array", 184 + [sym_annotation_object] = "annotation_object", 185 + [sym_annotation_object_entry] = "annotation_object_entry", 186 + [sym_use_statement] = "use_statement", 187 + [sym_import_block] = "import_block", 188 + [sym_import_item] = "import_item", 189 + [sym_record_definition] = "record_definition", 190 + [sym_record_body] = "record_body", 191 + [sym_field] = "field", 192 + [sym_inline_type_definition] = "inline_type_definition", 193 + [sym_def_type_definition] = "def_type_definition", 194 + [sym_token_definition] = "token_definition", 195 + [sym_query_definition] = "query_definition", 196 + [sym_procedure_definition] = "procedure_definition", 197 + [sym_subscription_definition] = "subscription_definition", 198 + [sym_parameter_list] = "parameter_list", 199 + [sym_parameter] = "parameter", 200 + [sym_return_type] = "return_type", 201 + [sym_error_definition] = "error_definition", 202 + [sym_type] = "type", 203 + [sym_non_union_type] = "non_union_type", 204 + [sym_primitive_type] = "primitive_type", 205 + [sym_reference_type] = "reference_type", 206 + [sym_type_path] = "type_path", 207 + [sym_array_type] = "array_type", 208 + [sym_union_type] = "union_type", 209 + [sym_object_type] = "object_type", 210 + [sym_constrained_type] = "constrained_type", 211 + [sym_constraint_block] = "constraint_block", 212 + [sym_constraint] = "constraint", 213 + [sym_constraint_value] = "constraint_value", 214 + [sym_array_literal] = "array_literal", 215 + [sym_identifier] = "identifier", 216 + [sym_boolean] = "boolean", 217 + [aux_sym_source_file_repeat1] = "source_file_repeat1", 218 + [aux_sym_self_definition_repeat1] = "self_definition_repeat1", 219 + [aux_sym_annotation_selectors_repeat1] = "annotation_selectors_repeat1", 220 + [aux_sym_annotation_args_repeat1] = "annotation_args_repeat1", 221 + [aux_sym_annotation_array_repeat1] = "annotation_array_repeat1", 222 + [aux_sym_annotation_object_repeat1] = "annotation_object_repeat1", 223 + [aux_sym_import_block_repeat1] = "import_block_repeat1", 224 + [aux_sym_record_body_repeat1] = "record_body_repeat1", 225 + [aux_sym_parameter_list_repeat1] = "parameter_list_repeat1", 226 + [aux_sym_return_type_repeat1] = "return_type_repeat1", 227 + [aux_sym_type_path_repeat1] = "type_path_repeat1", 228 + [aux_sym_union_type_repeat1] = "union_type_repeat1", 229 + [aux_sym_constraint_block_repeat1] = "constraint_block_repeat1", 230 + [aux_sym_array_literal_repeat1] = "array_literal_repeat1", 231 + }; 232 + 233 + static const TSSymbol ts_symbol_map[] = { 234 + [ts_builtin_sym_end] = ts_builtin_sym_end, 235 + [anon_sym_self] = anon_sym_self, 236 + [anon_sym_LBRACE] = anon_sym_LBRACE, 237 + [anon_sym_RBRACE] = anon_sym_RBRACE, 238 + [sym_doc_comment] = sym_doc_comment, 239 + [sym_comment] = sym_comment, 240 + [anon_sym_AT] = anon_sym_AT, 241 + [anon_sym_COMMA] = anon_sym_COMMA, 242 + [anon_sym_COLON] = anon_sym_COLON, 243 + [anon_sym_LPAREN] = anon_sym_LPAREN, 244 + [anon_sym_RPAREN] = anon_sym_RPAREN, 245 + [anon_sym_null] = anon_sym_null, 246 + [anon_sym_LBRACK] = anon_sym_LBRACK, 247 + [anon_sym_RBRACK] = anon_sym_RBRACK, 248 + [anon_sym_use] = anon_sym_use, 249 + [anon_sym_as] = anon_sym_as, 250 + [anon_sym_DOT] = anon_sym_DOT, 251 + [anon_sym_STAR] = anon_sym_STAR, 252 + [anon_sym_SEMI] = anon_sym_SEMI, 253 + [anon_sym_main] = anon_sym_main, 254 + [anon_sym_record] = anon_sym_record, 255 + [anon_sym_BANG] = anon_sym_BANG, 256 + [anon_sym_inline] = anon_sym_inline, 257 + [anon_sym_type] = anon_sym_type, 258 + [anon_sym_EQ] = anon_sym_EQ, 259 + [anon_sym_def] = anon_sym_def, 260 + [anon_sym_token] = anon_sym_token, 261 + [anon_sym_query] = anon_sym_query, 262 + [anon_sym_procedure] = anon_sym_procedure, 263 + [anon_sym_subscription] = anon_sym_subscription, 264 + [anon_sym_PIPE] = anon_sym_PIPE, 265 + [anon_sym_error] = anon_sym_error, 266 + [anon_sym_boolean] = anon_sym_boolean, 267 + [anon_sym_integer] = anon_sym_integer, 268 + [anon_sym_string] = anon_sym_string, 269 + [anon_sym_bytes] = anon_sym_bytes, 270 + [anon_sym_blob] = anon_sym_blob, 271 + [anon_sym_unknown] = anon_sym_unknown, 272 + [anon_sym_constrained] = anon_sym_constrained, 273 + [aux_sym_identifier_token1] = aux_sym_identifier_token1, 274 + [anon_sym_BQUOTE] = anon_sym_BQUOTE, 275 + [aux_sym_identifier_token2] = aux_sym_identifier_token2, 276 + [sym_number] = sym_number, 277 + [sym_string] = sym_string, 278 + [anon_sym_true] = anon_sym_true, 279 + [anon_sym_false] = anon_sym_false, 280 + [sym_source_file] = sym_source_file, 281 + [sym_item] = sym_item, 282 + [sym_self_definition] = sym_self_definition, 283 + [sym_annotation] = sym_annotation, 284 + [sym_annotation_selectors] = sym_annotation_selectors, 285 + [sym_annotation_args] = sym_annotation_args, 286 + [sym_annotation_arg] = sym_annotation_arg, 287 + [sym_annotation_value] = sym_annotation_value, 288 + [sym_null_literal] = sym_null_literal, 289 + [sym_annotation_array] = sym_annotation_array, 290 + [sym_annotation_object] = sym_annotation_object, 291 + [sym_annotation_object_entry] = sym_annotation_object_entry, 292 + [sym_use_statement] = sym_use_statement, 293 + [sym_import_block] = sym_import_block, 294 + [sym_import_item] = sym_import_item, 295 + [sym_record_definition] = sym_record_definition, 296 + [sym_record_body] = sym_record_body, 297 + [sym_field] = sym_field, 298 + [sym_inline_type_definition] = sym_inline_type_definition, 299 + [sym_def_type_definition] = sym_def_type_definition, 300 + [sym_token_definition] = sym_token_definition, 301 + [sym_query_definition] = sym_query_definition, 302 + [sym_procedure_definition] = sym_procedure_definition, 303 + [sym_subscription_definition] = sym_subscription_definition, 304 + [sym_parameter_list] = sym_parameter_list, 305 + [sym_parameter] = sym_parameter, 306 + [sym_return_type] = sym_return_type, 307 + [sym_error_definition] = sym_error_definition, 308 + [sym_type] = sym_type, 309 + [sym_non_union_type] = sym_non_union_type, 310 + [sym_primitive_type] = sym_primitive_type, 311 + [sym_reference_type] = sym_reference_type, 312 + [sym_type_path] = sym_type_path, 313 + [sym_array_type] = sym_array_type, 314 + [sym_union_type] = sym_union_type, 315 + [sym_object_type] = sym_object_type, 316 + [sym_constrained_type] = sym_constrained_type, 317 + [sym_constraint_block] = sym_constraint_block, 318 + [sym_constraint] = sym_constraint, 319 + [sym_constraint_value] = sym_constraint_value, 320 + [sym_array_literal] = sym_array_literal, 321 + [sym_identifier] = sym_identifier, 322 + [sym_boolean] = sym_boolean, 323 + [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, 324 + [aux_sym_self_definition_repeat1] = aux_sym_self_definition_repeat1, 325 + [aux_sym_annotation_selectors_repeat1] = aux_sym_annotation_selectors_repeat1, 326 + [aux_sym_annotation_args_repeat1] = aux_sym_annotation_args_repeat1, 327 + [aux_sym_annotation_array_repeat1] = aux_sym_annotation_array_repeat1, 328 + [aux_sym_annotation_object_repeat1] = aux_sym_annotation_object_repeat1, 329 + [aux_sym_import_block_repeat1] = aux_sym_import_block_repeat1, 330 + [aux_sym_record_body_repeat1] = aux_sym_record_body_repeat1, 331 + [aux_sym_parameter_list_repeat1] = aux_sym_parameter_list_repeat1, 332 + [aux_sym_return_type_repeat1] = aux_sym_return_type_repeat1, 333 + [aux_sym_type_path_repeat1] = aux_sym_type_path_repeat1, 334 + [aux_sym_union_type_repeat1] = aux_sym_union_type_repeat1, 335 + [aux_sym_constraint_block_repeat1] = aux_sym_constraint_block_repeat1, 336 + [aux_sym_array_literal_repeat1] = aux_sym_array_literal_repeat1, 337 + }; 338 + 339 + static const TSSymbolMetadata ts_symbol_metadata[] = { 340 + [ts_builtin_sym_end] = { 341 + .visible = false, 342 + .named = true, 343 + }, 344 + [anon_sym_self] = { 345 + .visible = true, 346 + .named = false, 347 + }, 348 + [anon_sym_LBRACE] = { 349 + .visible = true, 350 + .named = false, 351 + }, 352 + [anon_sym_RBRACE] = { 353 + .visible = true, 354 + .named = false, 355 + }, 356 + [sym_doc_comment] = { 357 + .visible = true, 358 + .named = true, 359 + }, 360 + [sym_comment] = { 361 + .visible = true, 362 + .named = true, 363 + }, 364 + [anon_sym_AT] = { 365 + .visible = true, 366 + .named = false, 367 + }, 368 + [anon_sym_COMMA] = { 369 + .visible = true, 370 + .named = false, 371 + }, 372 + [anon_sym_COLON] = { 373 + .visible = true, 374 + .named = false, 375 + }, 376 + [anon_sym_LPAREN] = { 377 + .visible = true, 378 + .named = false, 379 + }, 380 + [anon_sym_RPAREN] = { 381 + .visible = true, 382 + .named = false, 383 + }, 384 + [anon_sym_null] = { 385 + .visible = true, 386 + .named = false, 387 + }, 388 + [anon_sym_LBRACK] = { 389 + .visible = true, 390 + .named = false, 391 + }, 392 + [anon_sym_RBRACK] = { 393 + .visible = true, 394 + .named = false, 395 + }, 396 + [anon_sym_use] = { 397 + .visible = true, 398 + .named = false, 399 + }, 400 + [anon_sym_as] = { 401 + .visible = true, 402 + .named = false, 403 + }, 404 + [anon_sym_DOT] = { 405 + .visible = true, 406 + .named = false, 407 + }, 408 + [anon_sym_STAR] = { 409 + .visible = true, 410 + .named = false, 411 + }, 412 + [anon_sym_SEMI] = { 413 + .visible = true, 414 + .named = false, 415 + }, 416 + [anon_sym_main] = { 417 + .visible = true, 418 + .named = false, 419 + }, 420 + [anon_sym_record] = { 421 + .visible = true, 422 + .named = false, 423 + }, 424 + [anon_sym_BANG] = { 425 + .visible = true, 426 + .named = false, 427 + }, 428 + [anon_sym_inline] = { 429 + .visible = true, 430 + .named = false, 431 + }, 432 + [anon_sym_type] = { 433 + .visible = true, 434 + .named = false, 435 + }, 436 + [anon_sym_EQ] = { 437 + .visible = true, 438 + .named = false, 439 + }, 440 + [anon_sym_def] = { 441 + .visible = true, 442 + .named = false, 443 + }, 444 + [anon_sym_token] = { 445 + .visible = true, 446 + .named = false, 447 + }, 448 + [anon_sym_query] = { 449 + .visible = true, 450 + .named = false, 451 + }, 452 + [anon_sym_procedure] = { 453 + .visible = true, 454 + .named = false, 455 + }, 456 + [anon_sym_subscription] = { 457 + .visible = true, 458 + .named = false, 459 + }, 460 + [anon_sym_PIPE] = { 461 + .visible = true, 462 + .named = false, 463 + }, 464 + [anon_sym_error] = { 465 + .visible = true, 466 + .named = false, 467 + }, 468 + [anon_sym_boolean] = { 469 + .visible = true, 470 + .named = false, 471 + }, 472 + [anon_sym_integer] = { 473 + .visible = true, 474 + .named = false, 475 + }, 476 + [anon_sym_string] = { 477 + .visible = true, 478 + .named = false, 479 + }, 480 + [anon_sym_bytes] = { 481 + .visible = true, 482 + .named = false, 483 + }, 484 + [anon_sym_blob] = { 485 + .visible = true, 486 + .named = false, 487 + }, 488 + [anon_sym_unknown] = { 489 + .visible = true, 490 + .named = false, 491 + }, 492 + [anon_sym_constrained] = { 493 + .visible = true, 494 + .named = false, 495 + }, 496 + [aux_sym_identifier_token1] = { 497 + .visible = false, 498 + .named = false, 499 + }, 500 + [anon_sym_BQUOTE] = { 501 + .visible = true, 502 + .named = false, 503 + }, 504 + [aux_sym_identifier_token2] = { 505 + .visible = false, 506 + .named = false, 507 + }, 508 + [sym_number] = { 509 + .visible = true, 510 + .named = true, 511 + }, 512 + [sym_string] = { 513 + .visible = true, 514 + .named = true, 515 + }, 516 + [anon_sym_true] = { 517 + .visible = true, 518 + .named = false, 519 + }, 520 + [anon_sym_false] = { 521 + .visible = true, 522 + .named = false, 523 + }, 524 + [sym_source_file] = { 525 + .visible = true, 526 + .named = true, 527 + }, 528 + [sym_item] = { 529 + .visible = true, 530 + .named = true, 531 + }, 532 + [sym_self_definition] = { 533 + .visible = true, 534 + .named = true, 535 + }, 536 + [sym_annotation] = { 537 + .visible = true, 538 + .named = true, 539 + }, 540 + [sym_annotation_selectors] = { 541 + .visible = true, 542 + .named = true, 543 + }, 544 + [sym_annotation_args] = { 545 + .visible = true, 546 + .named = true, 547 + }, 548 + [sym_annotation_arg] = { 549 + .visible = true, 550 + .named = true, 551 + }, 552 + [sym_annotation_value] = { 553 + .visible = true, 554 + .named = true, 555 + }, 556 + [sym_null_literal] = { 557 + .visible = true, 558 + .named = true, 559 + }, 560 + [sym_annotation_array] = { 561 + .visible = true, 562 + .named = true, 563 + }, 564 + [sym_annotation_object] = { 565 + .visible = true, 566 + .named = true, 567 + }, 568 + [sym_annotation_object_entry] = { 569 + .visible = true, 570 + .named = true, 571 + }, 572 + [sym_use_statement] = { 573 + .visible = true, 574 + .named = true, 575 + }, 576 + [sym_import_block] = { 577 + .visible = true, 578 + .named = true, 579 + }, 580 + [sym_import_item] = { 581 + .visible = true, 582 + .named = true, 583 + }, 584 + [sym_record_definition] = { 585 + .visible = true, 586 + .named = true, 587 + }, 588 + [sym_record_body] = { 589 + .visible = true, 590 + .named = true, 591 + }, 592 + [sym_field] = { 593 + .visible = true, 594 + .named = true, 595 + }, 596 + [sym_inline_type_definition] = { 597 + .visible = true, 598 + .named = true, 599 + }, 600 + [sym_def_type_definition] = { 601 + .visible = true, 602 + .named = true, 603 + }, 604 + [sym_token_definition] = { 605 + .visible = true, 606 + .named = true, 607 + }, 608 + [sym_query_definition] = { 609 + .visible = true, 610 + .named = true, 611 + }, 612 + [sym_procedure_definition] = { 613 + .visible = true, 614 + .named = true, 615 + }, 616 + [sym_subscription_definition] = { 617 + .visible = true, 618 + .named = true, 619 + }, 620 + [sym_parameter_list] = { 621 + .visible = true, 622 + .named = true, 623 + }, 624 + [sym_parameter] = { 625 + .visible = true, 626 + .named = true, 627 + }, 628 + [sym_return_type] = { 629 + .visible = true, 630 + .named = true, 631 + }, 632 + [sym_error_definition] = { 633 + .visible = true, 634 + .named = true, 635 + }, 636 + [sym_type] = { 637 + .visible = true, 638 + .named = true, 639 + }, 640 + [sym_non_union_type] = { 641 + .visible = true, 642 + .named = true, 643 + }, 644 + [sym_primitive_type] = { 645 + .visible = true, 646 + .named = true, 647 + }, 648 + [sym_reference_type] = { 649 + .visible = true, 650 + .named = true, 651 + }, 652 + [sym_type_path] = { 653 + .visible = true, 654 + .named = true, 655 + }, 656 + [sym_array_type] = { 657 + .visible = true, 658 + .named = true, 659 + }, 660 + [sym_union_type] = { 661 + .visible = true, 662 + .named = true, 663 + }, 664 + [sym_object_type] = { 665 + .visible = true, 666 + .named = true, 667 + }, 668 + [sym_constrained_type] = { 669 + .visible = true, 670 + .named = true, 671 + }, 672 + [sym_constraint_block] = { 673 + .visible = true, 674 + .named = true, 675 + }, 676 + [sym_constraint] = { 677 + .visible = true, 678 + .named = true, 679 + }, 680 + [sym_constraint_value] = { 681 + .visible = true, 682 + .named = true, 683 + }, 684 + [sym_array_literal] = { 685 + .visible = true, 686 + .named = true, 687 + }, 688 + [sym_identifier] = { 689 + .visible = true, 690 + .named = true, 691 + }, 692 + [sym_boolean] = { 693 + .visible = true, 694 + .named = true, 695 + }, 696 + [aux_sym_source_file_repeat1] = { 697 + .visible = false, 698 + .named = false, 699 + }, 700 + [aux_sym_self_definition_repeat1] = { 701 + .visible = false, 702 + .named = false, 703 + }, 704 + [aux_sym_annotation_selectors_repeat1] = { 705 + .visible = false, 706 + .named = false, 707 + }, 708 + [aux_sym_annotation_args_repeat1] = { 709 + .visible = false, 710 + .named = false, 711 + }, 712 + [aux_sym_annotation_array_repeat1] = { 713 + .visible = false, 714 + .named = false, 715 + }, 716 + [aux_sym_annotation_object_repeat1] = { 717 + .visible = false, 718 + .named = false, 719 + }, 720 + [aux_sym_import_block_repeat1] = { 721 + .visible = false, 722 + .named = false, 723 + }, 724 + [aux_sym_record_body_repeat1] = { 725 + .visible = false, 726 + .named = false, 727 + }, 728 + [aux_sym_parameter_list_repeat1] = { 729 + .visible = false, 730 + .named = false, 731 + }, 732 + [aux_sym_return_type_repeat1] = { 733 + .visible = false, 734 + .named = false, 735 + }, 736 + [aux_sym_type_path_repeat1] = { 737 + .visible = false, 738 + .named = false, 739 + }, 740 + [aux_sym_union_type_repeat1] = { 741 + .visible = false, 742 + .named = false, 743 + }, 744 + [aux_sym_constraint_block_repeat1] = { 745 + .visible = false, 746 + .named = false, 747 + }, 748 + [aux_sym_array_literal_repeat1] = { 749 + .visible = false, 750 + .named = false, 751 + }, 752 + }; 753 + 754 + enum ts_field_identifiers { 755 + field_alias = 1, 756 + field_args = 2, 757 + field_base = 3, 758 + field_body = 4, 759 + field_constraints = 5, 760 + field_element = 6, 761 + field_imports = 7, 762 + field_key = 8, 763 + field_messages = 9, 764 + field_name = 10, 765 + field_params = 11, 766 + field_path = 12, 767 + field_return = 13, 768 + field_selectors = 14, 769 + field_type = 15, 770 + field_value = 16, 771 + }; 772 + 773 + static const char * const ts_field_names[] = { 774 + [0] = NULL, 775 + [field_alias] = "alias", 776 + [field_args] = "args", 777 + [field_base] = "base", 778 + [field_body] = "body", 779 + [field_constraints] = "constraints", 780 + [field_element] = "element", 781 + [field_imports] = "imports", 782 + [field_key] = "key", 783 + [field_messages] = "messages", 784 + [field_name] = "name", 785 + [field_params] = "params", 786 + [field_path] = "path", 787 + [field_return] = "return", 788 + [field_selectors] = "selectors", 789 + [field_type] = "type", 790 + [field_value] = "value", 791 + }; 792 + 793 + static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { 794 + [1] = {.index = 0, .length = 1}, 795 + [2] = {.index = 1, .length = 2}, 796 + [3] = {.index = 3, .length = 2}, 797 + [4] = {.index = 5, .length = 1}, 798 + [5] = {.index = 6, .length = 2}, 799 + [6] = {.index = 8, .length = 3}, 800 + [7] = {.index = 11, .length = 1}, 801 + [8] = {.index = 12, .length = 2}, 802 + [9] = {.index = 14, .length = 1}, 803 + [10] = {.index = 15, .length = 2}, 804 + [11] = {.index = 17, .length = 1}, 805 + [12] = {.index = 18, .length = 2}, 806 + [13] = {.index = 20, .length = 2}, 807 + [14] = {.index = 22, .length = 2}, 808 + [15] = {.index = 24, .length = 2}, 809 + [16] = {.index = 26, .length = 3}, 810 + [17] = {.index = 29, .length = 3}, 811 + [18] = {.index = 32, .length = 2}, 812 + [19] = {.index = 34, .length = 2}, 813 + [20] = {.index = 36, .length = 1}, 814 + [21] = {.index = 37, .length = 2}, 815 + [22] = {.index = 39, .length = 2}, 816 + [23] = {.index = 41, .length = 2}, 817 + [24] = {.index = 43, .length = 2}, 818 + [25] = {.index = 45, .length = 3}, 819 + [26] = {.index = 48, .length = 3}, 820 + [27] = {.index = 51, .length = 2}, 821 + [28] = {.index = 53, .length = 2}, 822 + }; 823 + 824 + static const TSFieldMapEntry ts_field_map_entries[] = { 825 + [0] = 826 + {field_name, 1}, 827 + [1] = 828 + {field_name, 2}, 829 + {field_selectors, 1}, 830 + [3] = 831 + {field_args, 2}, 832 + {field_name, 1}, 833 + [5] = 834 + {field_path, 1}, 835 + [6] = 836 + {field_body, 2}, 837 + {field_name, 1}, 838 + [8] = 839 + {field_args, 3}, 840 + {field_name, 2}, 841 + {field_selectors, 1}, 842 + [11] = 843 + {field_value, 0}, 844 + [12] = 845 + {field_body, 3}, 846 + {field_name, 2}, 847 + [14] = 848 + {field_name, 2}, 849 + [15] = 850 + {field_alias, 3}, 851 + {field_path, 1}, 852 + [17] = 853 + {field_name, 0}, 854 + [18] = 855 + {field_imports, 3}, 856 + {field_path, 1}, 857 + [20] = 858 + {field_name, 0}, 859 + {field_value, 2}, 860 + [22] = 861 + {field_name, 2}, 862 + {field_type, 4}, 863 + [24] = 864 + {field_name, 0}, 865 + {field_type, 2}, 866 + [26] = 867 + {field_name, 1}, 868 + {field_params, 2}, 869 + {field_return, 4}, 870 + [29] = 871 + {field_messages, 4}, 872 + {field_name, 1}, 873 + {field_params, 2}, 874 + [32] = 875 + {field_key, 0}, 876 + {field_value, 2}, 877 + [34] = 878 + {field_alias, 2}, 879 + {field_name, 0}, 880 + [36] = 881 + {field_element, 1}, 882 + [37] = 883 + {field_base, 0}, 884 + {field_constraints, 2}, 885 + [39] = 886 + {field_name, 0}, 887 + {field_type, 3}, 888 + [41] = 889 + {field_name, 1}, 890 + {field_type, 3}, 891 + [43] = 892 + {field_name, 3}, 893 + {field_type, 5}, 894 + [45] = 895 + {field_name, 2}, 896 + {field_params, 3}, 897 + {field_return, 5}, 898 + [48] = 899 + {field_messages, 5}, 900 + {field_name, 2}, 901 + {field_params, 3}, 902 + [51] = 903 + {field_name, 1}, 904 + {field_type, 4}, 905 + [53] = 906 + {field_name, 2}, 907 + {field_type, 5}, 908 + }; 909 + 910 + static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { 911 + [0] = {0}, 912 + }; 913 + 914 + static const uint16_t ts_non_terminal_alias_map[] = { 915 + 0, 916 + }; 917 + 918 + static const TSStateId ts_primary_state_ids[STATE_COUNT] = { 919 + [0] = 0, 920 + [1] = 1, 921 + [2] = 2, 922 + [3] = 3, 923 + [4] = 4, 924 + [5] = 5, 925 + [6] = 6, 926 + [7] = 7, 927 + [8] = 8, 928 + [9] = 9, 929 + [10] = 10, 930 + [11] = 11, 931 + [12] = 12, 932 + [13] = 13, 933 + [14] = 14, 934 + [15] = 15, 935 + [16] = 16, 936 + [17] = 17, 937 + [18] = 18, 938 + [19] = 19, 939 + [20] = 20, 940 + [21] = 21, 941 + [22] = 22, 942 + [23] = 23, 943 + [24] = 24, 944 + [25] = 25, 945 + [26] = 26, 946 + [27] = 27, 947 + [28] = 28, 948 + [29] = 29, 949 + [30] = 29, 950 + [31] = 31, 951 + [32] = 28, 952 + [33] = 31, 953 + [34] = 34, 954 + [35] = 35, 955 + [36] = 36, 956 + [37] = 37, 957 + [38] = 38, 958 + [39] = 39, 959 + [40] = 40, 960 + [41] = 41, 961 + [42] = 42, 962 + [43] = 43, 963 + [44] = 44, 964 + [45] = 45, 965 + [46] = 46, 966 + [47] = 47, 967 + [48] = 48, 968 + [49] = 49, 969 + [50] = 50, 970 + [51] = 51, 971 + [52] = 52, 972 + [53] = 53, 973 + [54] = 54, 974 + [55] = 55, 975 + [56] = 56, 976 + [57] = 57, 977 + [58] = 58, 978 + [59] = 59, 979 + [60] = 60, 980 + [61] = 61, 981 + [62] = 62, 982 + [63] = 63, 983 + [64] = 64, 984 + [65] = 65, 985 + [66] = 66, 986 + [67] = 67, 987 + [68] = 68, 988 + [69] = 69, 989 + [70] = 70, 990 + [71] = 71, 991 + [72] = 72, 992 + [73] = 73, 993 + [74] = 74, 994 + [75] = 75, 995 + [76] = 76, 996 + [77] = 77, 997 + [78] = 78, 998 + [79] = 79, 999 + [80] = 80, 1000 + [81] = 81, 1001 + [82] = 82, 1002 + [83] = 83, 1003 + [84] = 84, 1004 + [85] = 85, 1005 + [86] = 86, 1006 + [87] = 87, 1007 + [88] = 88, 1008 + [89] = 89, 1009 + [90] = 90, 1010 + [91] = 41, 1011 + [92] = 92, 1012 + [93] = 93, 1013 + [94] = 94, 1014 + [95] = 95, 1015 + [96] = 96, 1016 + [97] = 97, 1017 + [98] = 98, 1018 + [99] = 99, 1019 + [100] = 100, 1020 + [101] = 101, 1021 + [102] = 102, 1022 + [103] = 103, 1023 + [104] = 104, 1024 + [105] = 105, 1025 + [106] = 106, 1026 + [107] = 107, 1027 + [108] = 108, 1028 + [109] = 109, 1029 + [110] = 110, 1030 + [111] = 111, 1031 + [112] = 112, 1032 + [113] = 113, 1033 + [114] = 114, 1034 + [115] = 115, 1035 + [116] = 116, 1036 + [117] = 117, 1037 + [118] = 4, 1038 + [119] = 119, 1039 + [120] = 5, 1040 + [121] = 121, 1041 + [122] = 122, 1042 + [123] = 123, 1043 + [124] = 56, 1044 + [125] = 64, 1045 + [126] = 126, 1046 + [127] = 127, 1047 + [128] = 128, 1048 + [129] = 83, 1049 + [130] = 130, 1050 + [131] = 131, 1051 + [132] = 132, 1052 + [133] = 133, 1053 + [134] = 134, 1054 + [135] = 135, 1055 + [136] = 136, 1056 + [137] = 137, 1057 + [138] = 138, 1058 + [139] = 139, 1059 + [140] = 79, 1060 + [141] = 141, 1061 + [142] = 142, 1062 + [143] = 143, 1063 + [144] = 144, 1064 + [145] = 93, 1065 + [146] = 132, 1066 + [147] = 147, 1067 + [148] = 148, 1068 + [149] = 149, 1069 + [150] = 75, 1070 + [151] = 151, 1071 + [152] = 152, 1072 + [153] = 153, 1073 + [154] = 154, 1074 + [155] = 155, 1075 + [156] = 156, 1076 + [157] = 157, 1077 + [158] = 158, 1078 + [159] = 159, 1079 + [160] = 160, 1080 + [161] = 161, 1081 + [162] = 162, 1082 + [163] = 163, 1083 + [164] = 164, 1084 + [165] = 165, 1085 + [166] = 166, 1086 + [167] = 167, 1087 + [168] = 168, 1088 + [169] = 169, 1089 + [170] = 170, 1090 + [171] = 171, 1091 + [172] = 172, 1092 + [173] = 173, 1093 + [174] = 174, 1094 + [175] = 175, 1095 + [176] = 176, 1096 + [177] = 177, 1097 + [178] = 178, 1098 + [179] = 179, 1099 + [180] = 180, 1100 + [181] = 181, 1101 + [182] = 182, 1102 + [183] = 151, 1103 + [184] = 184, 1104 + [185] = 185, 1105 + [186] = 186, 1106 + [187] = 187, 1107 + [188] = 188, 1108 + [189] = 189, 1109 + [190] = 190, 1110 + [191] = 191, 1111 + [192] = 192, 1112 + [193] = 193, 1113 + [194] = 194, 1114 + [195] = 195, 1115 + [196] = 196, 1116 + [197] = 187, 1117 + [198] = 198, 1118 + [199] = 199, 1119 + [200] = 85, 1120 + [201] = 201, 1121 + [202] = 84, 1122 + [203] = 72, 1123 + [204] = 69, 1124 + [205] = 112, 1125 + [206] = 70, 1126 + [207] = 162, 1127 + [208] = 208, 1128 + [209] = 209, 1129 + [210] = 210, 1130 + [211] = 211, 1131 + [212] = 212, 1132 + [213] = 213, 1133 + [214] = 214, 1134 + [215] = 215, 1135 + [216] = 216, 1136 + [217] = 217, 1137 + [218] = 218, 1138 + [219] = 219, 1139 + [220] = 220, 1140 + [221] = 221, 1141 + [222] = 222, 1142 + [223] = 223, 1143 + [224] = 224, 1144 + [225] = 225, 1145 + [226] = 226, 1146 + [227] = 227, 1147 + [228] = 228, 1148 + [229] = 229, 1149 + [230] = 230, 1150 + [231] = 231, 1151 + [232] = 232, 1152 + [233] = 233, 1153 + [234] = 234, 1154 + [235] = 235, 1155 + [236] = 236, 1156 + [237] = 237, 1157 + [238] = 238, 1158 + [239] = 239, 1159 + [240] = 240, 1160 + [241] = 241, 1161 + [242] = 242, 1162 + [243] = 243, 1163 + [244] = 244, 1164 + [245] = 245, 1165 + [246] = 246, 1166 + [247] = 247, 1167 + [248] = 248, 1168 + [249] = 249, 1169 + [250] = 250, 1170 + [251] = 251, 1171 + [252] = 252, 1172 + [253] = 253, 1173 + [254] = 254, 1174 + [255] = 255, 1175 + [256] = 256, 1176 + [257] = 257, 1177 + [258] = 258, 1178 + [259] = 259, 1179 + [260] = 260, 1180 + [261] = 261, 1181 + [262] = 262, 1182 + [263] = 263, 1183 + [264] = 264, 1184 + [265] = 265, 1185 + [266] = 266, 1186 + [267] = 267, 1187 + [268] = 268, 1188 + [269] = 269, 1189 + [270] = 270, 1190 + [271] = 271, 1191 + [272] = 272, 1192 + [273] = 273, 1193 + [274] = 274, 1194 + [275] = 275, 1195 + [276] = 276, 1196 + [277] = 277, 1197 + [278] = 278, 1198 + [279] = 279, 1199 + [280] = 280, 1200 + [281] = 281, 1201 + [282] = 282, 1202 + [283] = 283, 1203 + [284] = 284, 1204 + [285] = 285, 1205 + [286] = 286, 1206 + [287] = 287, 1207 + [288] = 288, 1208 + [289] = 289, 1209 + [290] = 290, 1210 + [291] = 291, 1211 + [292] = 292, 1212 + [293] = 293, 1213 + [294] = 294, 1214 + [295] = 295, 1215 + [296] = 296, 1216 + [297] = 297, 1217 + [298] = 298, 1218 + [299] = 299, 1219 + [300] = 300, 1220 + [301] = 301, 1221 + [302] = 302, 1222 + [303] = 303, 1223 + [304] = 304, 1224 + [305] = 305, 1225 + [306] = 255, 1226 + [307] = 307, 1227 + [308] = 308, 1228 + [309] = 309, 1229 + [310] = 310, 1230 + [311] = 311, 1231 + [312] = 258, 1232 + [313] = 313, 1233 + }; 1234 + 1235 + static bool ts_lex(TSLexer *lexer, TSStateId state) { 1236 + START_LEXER(); 1237 + eof = lexer->eof(lexer); 1238 + switch (state) { 1239 + case 0: 1240 + if (eof) ADVANCE(107); 1241 + ADVANCE_MAP( 1242 + '!', 134, 1243 + '"', 3, 1244 + '(', 120, 1245 + ')', 121, 1246 + '*', 129, 1247 + ',', 118, 1248 + '-', 104, 1249 + '.', 128, 1250 + '/', 6, 1251 + ':', 119, 1252 + ';', 130, 1253 + '=', 137, 1254 + '@', 117, 1255 + '[', 124, 1256 + ']', 125, 1257 + '`', 200, 1258 + 'a', 90, 1259 + 'b', 50, 1260 + 'c', 70, 1261 + 'd', 20, 1262 + 'e', 87, 1263 + 'f', 8, 1264 + 'i', 56, 1265 + 'm', 9, 1266 + 'n', 98, 1267 + 'p', 84, 1268 + 'q', 99, 1269 + 'r', 21, 1270 + 's', 31, 1271 + 't', 68, 1272 + 'u', 63, 1273 + '{', 109, 1274 + '|', 143, 1275 + '}', 110, 1276 + ); 1277 + if (('\t' <= lookahead && lookahead <= '\r') || 1278 + lookahead == ' ') SKIP(0); 1279 + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(204); 1280 + END_STATE(); 1281 + case 1: 1282 + ADVANCE_MAP( 1283 + '!', 134, 1284 + '/', 6, 1285 + '[', 124, 1286 + '`', 200, 1287 + 'b', 173, 1288 + 'i', 183, 1289 + 'n', 196, 1290 + 's', 193, 1291 + 'u', 178, 1292 + '{', 109, 1293 + ); 1294 + if (('\t' <= lookahead && lookahead <= '\r') || 1295 + lookahead == ' ') SKIP(1); 1296 + if (('A' <= lookahead && lookahead <= 'Z') || 1297 + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1298 + END_STATE(); 1299 + case 2: 1300 + ADVANCE_MAP( 1301 + '"', 3, 1302 + ')', 121, 1303 + '-', 104, 1304 + '/', 6, 1305 + '[', 124, 1306 + ']', 125, 1307 + '`', 200, 1308 + 'f', 158, 1309 + 'n', 196, 1310 + 't', 190, 1311 + '{', 109, 1312 + ); 1313 + if (('\t' <= lookahead && lookahead <= '\r') || 1314 + lookahead == ' ') SKIP(2); 1315 + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(204); 1316 + if (('A' <= lookahead && lookahead <= 'Z') || 1317 + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1318 + END_STATE(); 1319 + case 3: 1320 + if (lookahead == '"') ADVANCE(206); 1321 + if (lookahead == '\\') ADVANCE(106); 1322 + if (lookahead != 0 && 1323 + lookahead != '\n') ADVANCE(3); 1324 + END_STATE(); 1325 + case 4: 1326 + ADVANCE_MAP( 1327 + '(', 120, 1328 + ')', 121, 1329 + ',', 118, 1330 + '/', 6, 1331 + ':', 119, 1332 + '@', 117, 1333 + '`', 200, 1334 + '}', 110, 1335 + ); 1336 + if (('\t' <= lookahead && lookahead <= '\r') || 1337 + lookahead == ' ') SKIP(4); 1338 + if (('A' <= lookahead && lookahead <= 'Z') || 1339 + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1340 + END_STATE(); 1341 + case 5: 1342 + if (lookahead == '/') ADVANCE(6); 1343 + if (lookahead == '`') ADVANCE(200); 1344 + if (lookahead == 'm') ADVANCE(160); 1345 + if (lookahead == '}') ADVANCE(110); 1346 + if (('\t' <= lookahead && lookahead <= '\r') || 1347 + lookahead == ' ') SKIP(5); 1348 + if (('A' <= lookahead && lookahead <= 'Z') || 1349 + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1350 + END_STATE(); 1351 + case 6: 1352 + if (lookahead == '/') ADVANCE(115); 1353 + END_STATE(); 1354 + case 7: 1355 + if (lookahead == '/') ADVANCE(202); 1356 + if (('\t' <= lookahead && lookahead <= '\r') || 1357 + lookahead == ' ') ADVANCE(201); 1358 + if (lookahead != 0 && 1359 + lookahead != '`') ADVANCE(203); 1360 + END_STATE(); 1361 + case 8: 1362 + if (lookahead == 'a') ADVANCE(52); 1363 + END_STATE(); 1364 + case 9: 1365 + if (lookahead == 'a') ADVANCE(42); 1366 + END_STATE(); 1367 + case 10: 1368 + if (lookahead == 'a') ADVANCE(59); 1369 + END_STATE(); 1370 + case 11: 1371 + if (lookahead == 'a') ADVANCE(46); 1372 + END_STATE(); 1373 + case 12: 1374 + if (lookahead == 'b') ADVANCE(153); 1375 + END_STATE(); 1376 + case 13: 1377 + if (lookahead == 'b') ADVANCE(93); 1378 + END_STATE(); 1379 + case 14: 1380 + if (lookahead == 'c') ADVANCE(82); 1381 + END_STATE(); 1382 + case 15: 1383 + if (lookahead == 'c') ADVANCE(27); 1384 + END_STATE(); 1385 + case 16: 1386 + if (lookahead == 'c') ADVANCE(75); 1387 + END_STATE(); 1388 + case 17: 1389 + if (lookahead == 'd') ADVANCE(133); 1390 + END_STATE(); 1391 + case 18: 1392 + if (lookahead == 'd') ADVANCE(157); 1393 + END_STATE(); 1394 + case 19: 1395 + if (lookahead == 'd') ADVANCE(101); 1396 + END_STATE(); 1397 + case 20: 1398 + if (lookahead == 'e') ADVANCE(37); 1399 + END_STATE(); 1400 + case 21: 1401 + if (lookahead == 'e') ADVANCE(16); 1402 + END_STATE(); 1403 + case 22: 1404 + if (lookahead == 'e') ADVANCE(126); 1405 + END_STATE(); 1406 + case 23: 1407 + if (lookahead == 'e') ADVANCE(40); 1408 + END_STATE(); 1409 + case 24: 1410 + if (lookahead == 'e') ADVANCE(207); 1411 + END_STATE(); 1412 + case 25: 1413 + if (lookahead == 'e') ADVANCE(136); 1414 + END_STATE(); 1415 + case 26: 1416 + if (lookahead == 'e') ADVANCE(209); 1417 + END_STATE(); 1418 + case 27: 1419 + if (lookahead == 'e') ADVANCE(19); 1420 + END_STATE(); 1421 + case 28: 1422 + if (lookahead == 'e') ADVANCE(135); 1423 + END_STATE(); 1424 + case 29: 1425 + if (lookahead == 'e') ADVANCE(141); 1426 + END_STATE(); 1427 + case 30: 1428 + if (lookahead == 'e') ADVANCE(10); 1429 + END_STATE(); 1430 + case 31: 1431 + if (lookahead == 'e') ADVANCE(51); 1432 + if (lookahead == 't') ADVANCE(89); 1433 + if (lookahead == 'u') ADVANCE(13); 1434 + END_STATE(); 1435 + case 32: 1436 + if (lookahead == 'e') ADVANCE(18); 1437 + END_STATE(); 1438 + case 33: 1439 + if (lookahead == 'e') ADVANCE(79); 1440 + END_STATE(); 1441 + case 34: 1442 + if (lookahead == 'e') ADVANCE(91); 1443 + END_STATE(); 1444 + case 35: 1445 + if (lookahead == 'e') ADVANCE(58); 1446 + END_STATE(); 1447 + case 36: 1448 + if (lookahead == 'e') ADVANCE(81); 1449 + END_STATE(); 1450 + case 37: 1451 + if (lookahead == 'f') ADVANCE(138); 1452 + END_STATE(); 1453 + case 38: 1454 + if (lookahead == 'f') ADVANCE(108); 1455 + END_STATE(); 1456 + case 39: 1457 + if (lookahead == 'g') ADVANCE(149); 1458 + END_STATE(); 1459 + case 40: 1460 + if (lookahead == 'g') ADVANCE(36); 1461 + END_STATE(); 1462 + case 41: 1463 + if (lookahead == 'i') ADVANCE(77); 1464 + END_STATE(); 1465 + case 42: 1466 + if (lookahead == 'i') ADVANCE(57); 1467 + END_STATE(); 1468 + case 43: 1469 + if (lookahead == 'i') ADVANCE(66); 1470 + END_STATE(); 1471 + case 44: 1472 + if (lookahead == 'i') ADVANCE(64); 1473 + END_STATE(); 1474 + case 45: 1475 + if (lookahead == 'i') ADVANCE(76); 1476 + END_STATE(); 1477 + case 46: 1478 + if (lookahead == 'i') ADVANCE(67); 1479 + END_STATE(); 1480 + case 47: 1481 + if (lookahead == 'k') ADVANCE(65); 1482 + END_STATE(); 1483 + case 48: 1484 + if (lookahead == 'k') ADVANCE(35); 1485 + END_STATE(); 1486 + case 49: 1487 + if (lookahead == 'l') ADVANCE(122); 1488 + END_STATE(); 1489 + case 50: 1490 + if (lookahead == 'l') ADVANCE(72); 1491 + if (lookahead == 'o') ADVANCE(73); 1492 + if (lookahead == 'y') ADVANCE(96); 1493 + END_STATE(); 1494 + case 51: 1495 + if (lookahead == 'l') ADVANCE(38); 1496 + END_STATE(); 1497 + case 52: 1498 + if (lookahead == 'l') ADVANCE(94); 1499 + END_STATE(); 1500 + case 53: 1501 + if (lookahead == 'l') ADVANCE(49); 1502 + END_STATE(); 1503 + case 54: 1504 + if (lookahead == 'l') ADVANCE(30); 1505 + END_STATE(); 1506 + case 55: 1507 + if (lookahead == 'l') ADVANCE(43); 1508 + if (lookahead == 't') ADVANCE(23); 1509 + END_STATE(); 1510 + case 56: 1511 + if (lookahead == 'n') ADVANCE(55); 1512 + END_STATE(); 1513 + case 57: 1514 + if (lookahead == 'n') ADVANCE(131); 1515 + END_STATE(); 1516 + case 58: 1517 + if (lookahead == 'n') ADVANCE(139); 1518 + END_STATE(); 1519 + case 59: 1520 + if (lookahead == 'n') ADVANCE(145); 1521 + END_STATE(); 1522 + case 60: 1523 + if (lookahead == 'n') ADVANCE(155); 1524 + END_STATE(); 1525 + case 61: 1526 + if (lookahead == 'n') ADVANCE(142); 1527 + END_STATE(); 1528 + case 62: 1529 + if (lookahead == 'n') ADVANCE(92); 1530 + END_STATE(); 1531 + case 63: 1532 + if (lookahead == 'n') ADVANCE(47); 1533 + if (lookahead == 's') ADVANCE(22); 1534 + END_STATE(); 1535 + case 64: 1536 + if (lookahead == 'n') ADVANCE(39); 1537 + END_STATE(); 1538 + case 65: 1539 + if (lookahead == 'n') ADVANCE(69); 1540 + END_STATE(); 1541 + case 66: 1542 + if (lookahead == 'n') ADVANCE(28); 1543 + END_STATE(); 1544 + case 67: 1545 + if (lookahead == 'n') ADVANCE(32); 1546 + END_STATE(); 1547 + case 68: 1548 + if (lookahead == 'o') ADVANCE(48); 1549 + if (lookahead == 'r') ADVANCE(100); 1550 + if (lookahead == 'y') ADVANCE(78); 1551 + END_STATE(); 1552 + case 69: 1553 + if (lookahead == 'o') ADVANCE(102); 1554 + END_STATE(); 1555 + case 70: 1556 + if (lookahead == 'o') ADVANCE(62); 1557 + END_STATE(); 1558 + case 71: 1559 + if (lookahead == 'o') ADVANCE(15); 1560 + END_STATE(); 1561 + case 72: 1562 + if (lookahead == 'o') ADVANCE(12); 1563 + END_STATE(); 1564 + case 73: 1565 + if (lookahead == 'o') ADVANCE(54); 1566 + END_STATE(); 1567 + case 74: 1568 + if (lookahead == 'o') ADVANCE(80); 1569 + END_STATE(); 1570 + case 75: 1571 + if (lookahead == 'o') ADVANCE(83); 1572 + END_STATE(); 1573 + case 76: 1574 + if (lookahead == 'o') ADVANCE(61); 1575 + END_STATE(); 1576 + case 77: 1577 + if (lookahead == 'p') ADVANCE(95); 1578 + END_STATE(); 1579 + case 78: 1580 + if (lookahead == 'p') ADVANCE(25); 1581 + END_STATE(); 1582 + case 79: 1583 + if (lookahead == 'r') ADVANCE(103); 1584 + END_STATE(); 1585 + case 80: 1586 + if (lookahead == 'r') ADVANCE(144); 1587 + END_STATE(); 1588 + case 81: 1589 + if (lookahead == 'r') ADVANCE(147); 1590 + END_STATE(); 1591 + case 82: 1592 + if (lookahead == 'r') ADVANCE(41); 1593 + END_STATE(); 1594 + case 83: 1595 + if (lookahead == 'r') ADVANCE(17); 1596 + END_STATE(); 1597 + case 84: 1598 + if (lookahead == 'r') ADVANCE(71); 1599 + END_STATE(); 1600 + case 85: 1601 + if (lookahead == 'r') ADVANCE(74); 1602 + END_STATE(); 1603 + case 86: 1604 + if (lookahead == 'r') ADVANCE(29); 1605 + END_STATE(); 1606 + case 87: 1607 + if (lookahead == 'r') ADVANCE(85); 1608 + END_STATE(); 1609 + case 88: 1610 + if (lookahead == 'r') ADVANCE(11); 1611 + END_STATE(); 1612 + case 89: 1613 + if (lookahead == 'r') ADVANCE(44); 1614 + END_STATE(); 1615 + case 90: 1616 + if (lookahead == 's') ADVANCE(127); 1617 + END_STATE(); 1618 + case 91: 1619 + if (lookahead == 's') ADVANCE(151); 1620 + END_STATE(); 1621 + case 92: 1622 + if (lookahead == 's') ADVANCE(97); 1623 + END_STATE(); 1624 + case 93: 1625 + if (lookahead == 's') ADVANCE(14); 1626 + END_STATE(); 1627 + case 94: 1628 + if (lookahead == 's') ADVANCE(26); 1629 + END_STATE(); 1630 + case 95: 1631 + if (lookahead == 't') ADVANCE(45); 1632 + END_STATE(); 1633 + case 96: 1634 + if (lookahead == 't') ADVANCE(34); 1635 + END_STATE(); 1636 + case 97: 1637 + if (lookahead == 't') ADVANCE(88); 1638 + END_STATE(); 1639 + case 98: 1640 + if (lookahead == 'u') ADVANCE(53); 1641 + END_STATE(); 1642 + case 99: 1643 + if (lookahead == 'u') ADVANCE(33); 1644 + END_STATE(); 1645 + case 100: 1646 + if (lookahead == 'u') ADVANCE(24); 1647 + END_STATE(); 1648 + case 101: 1649 + if (lookahead == 'u') ADVANCE(86); 1650 + END_STATE(); 1651 + case 102: 1652 + if (lookahead == 'w') ADVANCE(60); 1653 + END_STATE(); 1654 + case 103: 1655 + if (lookahead == 'y') ADVANCE(140); 1656 + END_STATE(); 1657 + case 104: 1658 + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(204); 1659 + END_STATE(); 1660 + case 105: 1661 + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(205); 1662 + END_STATE(); 1663 + case 106: 1664 + if (lookahead != 0 && 1665 + lookahead != '\n') ADVANCE(3); 1666 + END_STATE(); 1667 + case 107: 1668 + ACCEPT_TOKEN(ts_builtin_sym_end); 1669 + END_STATE(); 1670 + case 108: 1671 + ACCEPT_TOKEN(anon_sym_self); 1672 + END_STATE(); 1673 + case 109: 1674 + ACCEPT_TOKEN(anon_sym_LBRACE); 1675 + END_STATE(); 1676 + case 110: 1677 + ACCEPT_TOKEN(anon_sym_RBRACE); 1678 + END_STATE(); 1679 + case 111: 1680 + ACCEPT_TOKEN(sym_doc_comment); 1681 + if (lookahead == '\n') ADVANCE(203); 1682 + if (lookahead == '`') ADVANCE(112); 1683 + if (lookahead != 0) ADVANCE(111); 1684 + END_STATE(); 1685 + case 112: 1686 + ACCEPT_TOKEN(sym_doc_comment); 1687 + if (lookahead != 0 && 1688 + lookahead != '\n') ADVANCE(112); 1689 + END_STATE(); 1690 + case 113: 1691 + ACCEPT_TOKEN(sym_comment); 1692 + if (lookahead == '\n') ADVANCE(203); 1693 + if (lookahead == '/') ADVANCE(111); 1694 + if (lookahead == '`') ADVANCE(116); 1695 + if (lookahead != 0) ADVANCE(114); 1696 + END_STATE(); 1697 + case 114: 1698 + ACCEPT_TOKEN(sym_comment); 1699 + if (lookahead == '\n') ADVANCE(203); 1700 + if (lookahead == '`') ADVANCE(116); 1701 + if (lookahead != 0) ADVANCE(114); 1702 + END_STATE(); 1703 + case 115: 1704 + ACCEPT_TOKEN(sym_comment); 1705 + if (lookahead == '/') ADVANCE(112); 1706 + if (lookahead != 0 && 1707 + lookahead != '\n') ADVANCE(116); 1708 + END_STATE(); 1709 + case 116: 1710 + ACCEPT_TOKEN(sym_comment); 1711 + if (lookahead != 0 && 1712 + lookahead != '\n') ADVANCE(116); 1713 + END_STATE(); 1714 + case 117: 1715 + ACCEPT_TOKEN(anon_sym_AT); 1716 + END_STATE(); 1717 + case 118: 1718 + ACCEPT_TOKEN(anon_sym_COMMA); 1719 + END_STATE(); 1720 + case 119: 1721 + ACCEPT_TOKEN(anon_sym_COLON); 1722 + END_STATE(); 1723 + case 120: 1724 + ACCEPT_TOKEN(anon_sym_LPAREN); 1725 + END_STATE(); 1726 + case 121: 1727 + ACCEPT_TOKEN(anon_sym_RPAREN); 1728 + END_STATE(); 1729 + case 122: 1730 + ACCEPT_TOKEN(anon_sym_null); 1731 + END_STATE(); 1732 + case 123: 1733 + ACCEPT_TOKEN(anon_sym_null); 1734 + if (('0' <= lookahead && lookahead <= '9') || 1735 + ('A' <= lookahead && lookahead <= 'Z') || 1736 + lookahead == '_' || 1737 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1738 + END_STATE(); 1739 + case 124: 1740 + ACCEPT_TOKEN(anon_sym_LBRACK); 1741 + END_STATE(); 1742 + case 125: 1743 + ACCEPT_TOKEN(anon_sym_RBRACK); 1744 + END_STATE(); 1745 + case 126: 1746 + ACCEPT_TOKEN(anon_sym_use); 1747 + END_STATE(); 1748 + case 127: 1749 + ACCEPT_TOKEN(anon_sym_as); 1750 + END_STATE(); 1751 + case 128: 1752 + ACCEPT_TOKEN(anon_sym_DOT); 1753 + END_STATE(); 1754 + case 129: 1755 + ACCEPT_TOKEN(anon_sym_STAR); 1756 + END_STATE(); 1757 + case 130: 1758 + ACCEPT_TOKEN(anon_sym_SEMI); 1759 + END_STATE(); 1760 + case 131: 1761 + ACCEPT_TOKEN(anon_sym_main); 1762 + END_STATE(); 1763 + case 132: 1764 + ACCEPT_TOKEN(anon_sym_main); 1765 + if (('0' <= lookahead && lookahead <= '9') || 1766 + ('A' <= lookahead && lookahead <= 'Z') || 1767 + lookahead == '_' || 1768 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1769 + END_STATE(); 1770 + case 133: 1771 + ACCEPT_TOKEN(anon_sym_record); 1772 + END_STATE(); 1773 + case 134: 1774 + ACCEPT_TOKEN(anon_sym_BANG); 1775 + END_STATE(); 1776 + case 135: 1777 + ACCEPT_TOKEN(anon_sym_inline); 1778 + END_STATE(); 1779 + case 136: 1780 + ACCEPT_TOKEN(anon_sym_type); 1781 + END_STATE(); 1782 + case 137: 1783 + ACCEPT_TOKEN(anon_sym_EQ); 1784 + END_STATE(); 1785 + case 138: 1786 + ACCEPT_TOKEN(anon_sym_def); 1787 + END_STATE(); 1788 + case 139: 1789 + ACCEPT_TOKEN(anon_sym_token); 1790 + END_STATE(); 1791 + case 140: 1792 + ACCEPT_TOKEN(anon_sym_query); 1793 + END_STATE(); 1794 + case 141: 1795 + ACCEPT_TOKEN(anon_sym_procedure); 1796 + END_STATE(); 1797 + case 142: 1798 + ACCEPT_TOKEN(anon_sym_subscription); 1799 + END_STATE(); 1800 + case 143: 1801 + ACCEPT_TOKEN(anon_sym_PIPE); 1802 + END_STATE(); 1803 + case 144: 1804 + ACCEPT_TOKEN(anon_sym_error); 1805 + END_STATE(); 1806 + case 145: 1807 + ACCEPT_TOKEN(anon_sym_boolean); 1808 + END_STATE(); 1809 + case 146: 1810 + ACCEPT_TOKEN(anon_sym_boolean); 1811 + if (('0' <= lookahead && lookahead <= '9') || 1812 + ('A' <= lookahead && lookahead <= 'Z') || 1813 + lookahead == '_' || 1814 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1815 + END_STATE(); 1816 + case 147: 1817 + ACCEPT_TOKEN(anon_sym_integer); 1818 + END_STATE(); 1819 + case 148: 1820 + ACCEPT_TOKEN(anon_sym_integer); 1821 + if (('0' <= lookahead && lookahead <= '9') || 1822 + ('A' <= lookahead && lookahead <= 'Z') || 1823 + lookahead == '_' || 1824 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1825 + END_STATE(); 1826 + case 149: 1827 + ACCEPT_TOKEN(anon_sym_string); 1828 + END_STATE(); 1829 + case 150: 1830 + ACCEPT_TOKEN(anon_sym_string); 1831 + if (('0' <= lookahead && lookahead <= '9') || 1832 + ('A' <= lookahead && lookahead <= 'Z') || 1833 + lookahead == '_' || 1834 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1835 + END_STATE(); 1836 + case 151: 1837 + ACCEPT_TOKEN(anon_sym_bytes); 1838 + END_STATE(); 1839 + case 152: 1840 + ACCEPT_TOKEN(anon_sym_bytes); 1841 + if (('0' <= lookahead && lookahead <= '9') || 1842 + ('A' <= lookahead && lookahead <= 'Z') || 1843 + lookahead == '_' || 1844 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1845 + END_STATE(); 1846 + case 153: 1847 + ACCEPT_TOKEN(anon_sym_blob); 1848 + END_STATE(); 1849 + case 154: 1850 + ACCEPT_TOKEN(anon_sym_blob); 1851 + if (('0' <= lookahead && lookahead <= '9') || 1852 + ('A' <= lookahead && lookahead <= 'Z') || 1853 + lookahead == '_' || 1854 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1855 + END_STATE(); 1856 + case 155: 1857 + ACCEPT_TOKEN(anon_sym_unknown); 1858 + END_STATE(); 1859 + case 156: 1860 + ACCEPT_TOKEN(anon_sym_unknown); 1861 + if (('0' <= lookahead && lookahead <= '9') || 1862 + ('A' <= lookahead && lookahead <= 'Z') || 1863 + lookahead == '_' || 1864 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1865 + END_STATE(); 1866 + case 157: 1867 + ACCEPT_TOKEN(anon_sym_constrained); 1868 + END_STATE(); 1869 + case 158: 1870 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1871 + if (lookahead == 'a') ADVANCE(175); 1872 + if (('0' <= lookahead && lookahead <= '9') || 1873 + ('A' <= lookahead && lookahead <= 'Z') || 1874 + lookahead == '_' || 1875 + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1876 + END_STATE(); 1877 + case 159: 1878 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1879 + if (lookahead == 'a') ADVANCE(179); 1880 + if (('0' <= lookahead && lookahead <= '9') || 1881 + ('A' <= lookahead && lookahead <= 'Z') || 1882 + lookahead == '_' || 1883 + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1884 + END_STATE(); 1885 + case 160: 1886 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1887 + if (lookahead == 'a') ADVANCE(171); 1888 + if (('0' <= lookahead && lookahead <= '9') || 1889 + ('A' <= lookahead && lookahead <= 'Z') || 1890 + lookahead == '_' || 1891 + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1892 + END_STATE(); 1893 + case 161: 1894 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1895 + if (lookahead == 'b') ADVANCE(154); 1896 + if (('0' <= lookahead && lookahead <= '9') || 1897 + ('A' <= lookahead && lookahead <= 'Z') || 1898 + lookahead == '_' || 1899 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1900 + END_STATE(); 1901 + case 162: 1902 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1903 + if (lookahead == 'e') ADVANCE(191); 1904 + if (('0' <= lookahead && lookahead <= '9') || 1905 + ('A' <= lookahead && lookahead <= 'Z') || 1906 + lookahead == '_' || 1907 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1908 + END_STATE(); 1909 + case 163: 1910 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1911 + if (lookahead == 'e') ADVANCE(169); 1912 + if (('0' <= lookahead && lookahead <= '9') || 1913 + ('A' <= lookahead && lookahead <= 'Z') || 1914 + lookahead == '_' || 1915 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1916 + END_STATE(); 1917 + case 164: 1918 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1919 + if (lookahead == 'e') ADVANCE(159); 1920 + if (('0' <= lookahead && lookahead <= '9') || 1921 + ('A' <= lookahead && lookahead <= 'Z') || 1922 + lookahead == '_' || 1923 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1924 + END_STATE(); 1925 + case 165: 1926 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1927 + if (lookahead == 'e') ADVANCE(208); 1928 + if (('0' <= lookahead && lookahead <= '9') || 1929 + ('A' <= lookahead && lookahead <= 'Z') || 1930 + lookahead == '_' || 1931 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1932 + END_STATE(); 1933 + case 166: 1934 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1935 + if (lookahead == 'e') ADVANCE(210); 1936 + if (('0' <= lookahead && lookahead <= '9') || 1937 + ('A' <= lookahead && lookahead <= 'Z') || 1938 + lookahead == '_' || 1939 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1940 + END_STATE(); 1941 + case 167: 1942 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1943 + if (lookahead == 'e') ADVANCE(189); 1944 + if (('0' <= lookahead && lookahead <= '9') || 1945 + ('A' <= lookahead && lookahead <= 'Z') || 1946 + lookahead == '_' || 1947 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1948 + END_STATE(); 1949 + case 168: 1950 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1951 + if (lookahead == 'g') ADVANCE(150); 1952 + if (('0' <= lookahead && lookahead <= '9') || 1953 + ('A' <= lookahead && lookahead <= 'Z') || 1954 + lookahead == '_' || 1955 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1956 + END_STATE(); 1957 + case 169: 1958 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1959 + if (lookahead == 'g') ADVANCE(167); 1960 + if (('0' <= lookahead && lookahead <= '9') || 1961 + ('A' <= lookahead && lookahead <= 'Z') || 1962 + lookahead == '_' || 1963 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1964 + END_STATE(); 1965 + case 170: 1966 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1967 + if (lookahead == 'i') ADVANCE(182); 1968 + if (('0' <= lookahead && lookahead <= '9') || 1969 + ('A' <= lookahead && lookahead <= 'Z') || 1970 + lookahead == '_' || 1971 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1972 + END_STATE(); 1973 + case 171: 1974 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1975 + if (lookahead == 'i') ADVANCE(181); 1976 + if (('0' <= lookahead && lookahead <= '9') || 1977 + ('A' <= lookahead && lookahead <= 'Z') || 1978 + lookahead == '_' || 1979 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1980 + END_STATE(); 1981 + case 172: 1982 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1983 + if (lookahead == 'k') ADVANCE(184); 1984 + if (('0' <= lookahead && lookahead <= '9') || 1985 + ('A' <= lookahead && lookahead <= 'Z') || 1986 + lookahead == '_' || 1987 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1988 + END_STATE(); 1989 + case 173: 1990 + ACCEPT_TOKEN(aux_sym_identifier_token1); 1991 + if (lookahead == 'l') ADVANCE(185); 1992 + if (lookahead == 'o') ADVANCE(187); 1993 + if (lookahead == 'y') ADVANCE(194); 1994 + if (('0' <= lookahead && lookahead <= '9') || 1995 + ('A' <= lookahead && lookahead <= 'Z') || 1996 + lookahead == '_' || 1997 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 1998 + END_STATE(); 1999 + case 174: 2000 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2001 + if (lookahead == 'l') ADVANCE(123); 2002 + if (('0' <= lookahead && lookahead <= '9') || 2003 + ('A' <= lookahead && lookahead <= 'Z') || 2004 + lookahead == '_' || 2005 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2006 + END_STATE(); 2007 + case 175: 2008 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2009 + if (lookahead == 'l') ADVANCE(192); 2010 + if (('0' <= lookahead && lookahead <= '9') || 2011 + ('A' <= lookahead && lookahead <= 'Z') || 2012 + lookahead == '_' || 2013 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2014 + END_STATE(); 2015 + case 176: 2016 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2017 + if (lookahead == 'l') ADVANCE(174); 2018 + if (('0' <= lookahead && lookahead <= '9') || 2019 + ('A' <= lookahead && lookahead <= 'Z') || 2020 + lookahead == '_' || 2021 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2022 + END_STATE(); 2023 + case 177: 2024 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2025 + if (lookahead == 'l') ADVANCE(164); 2026 + if (('0' <= lookahead && lookahead <= '9') || 2027 + ('A' <= lookahead && lookahead <= 'Z') || 2028 + lookahead == '_' || 2029 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2030 + END_STATE(); 2031 + case 178: 2032 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2033 + if (lookahead == 'n') ADVANCE(172); 2034 + if (('0' <= lookahead && lookahead <= '9') || 2035 + ('A' <= lookahead && lookahead <= 'Z') || 2036 + lookahead == '_' || 2037 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2038 + END_STATE(); 2039 + case 179: 2040 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2041 + if (lookahead == 'n') ADVANCE(146); 2042 + if (('0' <= lookahead && lookahead <= '9') || 2043 + ('A' <= lookahead && lookahead <= 'Z') || 2044 + lookahead == '_' || 2045 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2046 + END_STATE(); 2047 + case 180: 2048 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2049 + if (lookahead == 'n') ADVANCE(156); 2050 + if (('0' <= lookahead && lookahead <= '9') || 2051 + ('A' <= lookahead && lookahead <= 'Z') || 2052 + lookahead == '_' || 2053 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2054 + END_STATE(); 2055 + case 181: 2056 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2057 + if (lookahead == 'n') ADVANCE(132); 2058 + if (('0' <= lookahead && lookahead <= '9') || 2059 + ('A' <= lookahead && lookahead <= 'Z') || 2060 + lookahead == '_' || 2061 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2062 + END_STATE(); 2063 + case 182: 2064 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2065 + if (lookahead == 'n') ADVANCE(168); 2066 + if (('0' <= lookahead && lookahead <= '9') || 2067 + ('A' <= lookahead && lookahead <= 'Z') || 2068 + lookahead == '_' || 2069 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2070 + END_STATE(); 2071 + case 183: 2072 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2073 + if (lookahead == 'n') ADVANCE(195); 2074 + if (('0' <= lookahead && lookahead <= '9') || 2075 + ('A' <= lookahead && lookahead <= 'Z') || 2076 + lookahead == '_' || 2077 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2078 + END_STATE(); 2079 + case 184: 2080 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2081 + if (lookahead == 'n') ADVANCE(186); 2082 + if (('0' <= lookahead && lookahead <= '9') || 2083 + ('A' <= lookahead && lookahead <= 'Z') || 2084 + lookahead == '_' || 2085 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2086 + END_STATE(); 2087 + case 185: 2088 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2089 + if (lookahead == 'o') ADVANCE(161); 2090 + if (('0' <= lookahead && lookahead <= '9') || 2091 + ('A' <= lookahead && lookahead <= 'Z') || 2092 + lookahead == '_' || 2093 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2094 + END_STATE(); 2095 + case 186: 2096 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2097 + if (lookahead == 'o') ADVANCE(198); 2098 + if (('0' <= lookahead && lookahead <= '9') || 2099 + ('A' <= lookahead && lookahead <= 'Z') || 2100 + lookahead == '_' || 2101 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2102 + END_STATE(); 2103 + case 187: 2104 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2105 + if (lookahead == 'o') ADVANCE(177); 2106 + if (('0' <= lookahead && lookahead <= '9') || 2107 + ('A' <= lookahead && lookahead <= 'Z') || 2108 + lookahead == '_' || 2109 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2110 + END_STATE(); 2111 + case 188: 2112 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2113 + if (lookahead == 'r') ADVANCE(170); 2114 + if (('0' <= lookahead && lookahead <= '9') || 2115 + ('A' <= lookahead && lookahead <= 'Z') || 2116 + lookahead == '_' || 2117 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2118 + END_STATE(); 2119 + case 189: 2120 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2121 + if (lookahead == 'r') ADVANCE(148); 2122 + if (('0' <= lookahead && lookahead <= '9') || 2123 + ('A' <= lookahead && lookahead <= 'Z') || 2124 + lookahead == '_' || 2125 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2126 + END_STATE(); 2127 + case 190: 2128 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2129 + if (lookahead == 'r') ADVANCE(197); 2130 + if (('0' <= lookahead && lookahead <= '9') || 2131 + ('A' <= lookahead && lookahead <= 'Z') || 2132 + lookahead == '_' || 2133 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2134 + END_STATE(); 2135 + case 191: 2136 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2137 + if (lookahead == 's') ADVANCE(152); 2138 + if (('0' <= lookahead && lookahead <= '9') || 2139 + ('A' <= lookahead && lookahead <= 'Z') || 2140 + lookahead == '_' || 2141 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2142 + END_STATE(); 2143 + case 192: 2144 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2145 + if (lookahead == 's') ADVANCE(166); 2146 + if (('0' <= lookahead && lookahead <= '9') || 2147 + ('A' <= lookahead && lookahead <= 'Z') || 2148 + lookahead == '_' || 2149 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2150 + END_STATE(); 2151 + case 193: 2152 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2153 + if (lookahead == 't') ADVANCE(188); 2154 + if (('0' <= lookahead && lookahead <= '9') || 2155 + ('A' <= lookahead && lookahead <= 'Z') || 2156 + lookahead == '_' || 2157 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2158 + END_STATE(); 2159 + case 194: 2160 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2161 + if (lookahead == 't') ADVANCE(162); 2162 + if (('0' <= lookahead && lookahead <= '9') || 2163 + ('A' <= lookahead && lookahead <= 'Z') || 2164 + lookahead == '_' || 2165 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2166 + END_STATE(); 2167 + case 195: 2168 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2169 + if (lookahead == 't') ADVANCE(163); 2170 + if (('0' <= lookahead && lookahead <= '9') || 2171 + ('A' <= lookahead && lookahead <= 'Z') || 2172 + lookahead == '_' || 2173 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2174 + END_STATE(); 2175 + case 196: 2176 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2177 + if (lookahead == 'u') ADVANCE(176); 2178 + if (('0' <= lookahead && lookahead <= '9') || 2179 + ('A' <= lookahead && lookahead <= 'Z') || 2180 + lookahead == '_' || 2181 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2182 + END_STATE(); 2183 + case 197: 2184 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2185 + if (lookahead == 'u') ADVANCE(165); 2186 + if (('0' <= lookahead && lookahead <= '9') || 2187 + ('A' <= lookahead && lookahead <= 'Z') || 2188 + lookahead == '_' || 2189 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2190 + END_STATE(); 2191 + case 198: 2192 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2193 + if (lookahead == 'w') ADVANCE(180); 2194 + if (('0' <= lookahead && lookahead <= '9') || 2195 + ('A' <= lookahead && lookahead <= 'Z') || 2196 + lookahead == '_' || 2197 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2198 + END_STATE(); 2199 + case 199: 2200 + ACCEPT_TOKEN(aux_sym_identifier_token1); 2201 + if (('0' <= lookahead && lookahead <= '9') || 2202 + ('A' <= lookahead && lookahead <= 'Z') || 2203 + lookahead == '_' || 2204 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2205 + END_STATE(); 2206 + case 200: 2207 + ACCEPT_TOKEN(anon_sym_BQUOTE); 2208 + END_STATE(); 2209 + case 201: 2210 + ACCEPT_TOKEN(aux_sym_identifier_token2); 2211 + if (lookahead == '/') ADVANCE(202); 2212 + if (('\t' <= lookahead && lookahead <= '\r') || 2213 + lookahead == ' ') ADVANCE(201); 2214 + if (lookahead != 0 && 2215 + lookahead != '`') ADVANCE(203); 2216 + END_STATE(); 2217 + case 202: 2218 + ACCEPT_TOKEN(aux_sym_identifier_token2); 2219 + if (lookahead == '/') ADVANCE(113); 2220 + if (lookahead != 0 && 2221 + lookahead != '`') ADVANCE(203); 2222 + END_STATE(); 2223 + case 203: 2224 + ACCEPT_TOKEN(aux_sym_identifier_token2); 2225 + if (lookahead != 0 && 2226 + lookahead != '`') ADVANCE(203); 2227 + END_STATE(); 2228 + case 204: 2229 + ACCEPT_TOKEN(sym_number); 2230 + if (lookahead == '.') ADVANCE(105); 2231 + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(204); 2232 + END_STATE(); 2233 + case 205: 2234 + ACCEPT_TOKEN(sym_number); 2235 + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(205); 2236 + END_STATE(); 2237 + case 206: 2238 + ACCEPT_TOKEN(sym_string); 2239 + END_STATE(); 2240 + case 207: 2241 + ACCEPT_TOKEN(anon_sym_true); 2242 + END_STATE(); 2243 + case 208: 2244 + ACCEPT_TOKEN(anon_sym_true); 2245 + if (('0' <= lookahead && lookahead <= '9') || 2246 + ('A' <= lookahead && lookahead <= 'Z') || 2247 + lookahead == '_' || 2248 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2249 + END_STATE(); 2250 + case 209: 2251 + ACCEPT_TOKEN(anon_sym_false); 2252 + END_STATE(); 2253 + case 210: 2254 + ACCEPT_TOKEN(anon_sym_false); 2255 + if (('0' <= lookahead && lookahead <= '9') || 2256 + ('A' <= lookahead && lookahead <= 'Z') || 2257 + lookahead == '_' || 2258 + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(199); 2259 + END_STATE(); 2260 + default: 2261 + return false; 2262 + } 2263 + } 2264 + 2265 + static const TSLexerMode ts_lex_modes[STATE_COUNT] = { 2266 + [0] = {.lex_state = 0}, 2267 + [1] = {.lex_state = 0}, 2268 + [2] = {.lex_state = 0}, 2269 + [3] = {.lex_state = 0}, 2270 + [4] = {.lex_state = 0}, 2271 + [5] = {.lex_state = 0}, 2272 + [6] = {.lex_state = 1}, 2273 + [7] = {.lex_state = 1}, 2274 + [8] = {.lex_state = 1}, 2275 + [9] = {.lex_state = 1}, 2276 + [10] = {.lex_state = 1}, 2277 + [11] = {.lex_state = 1}, 2278 + [12] = {.lex_state = 1}, 2279 + [13] = {.lex_state = 1}, 2280 + [14] = {.lex_state = 1}, 2281 + [15] = {.lex_state = 1}, 2282 + [16] = {.lex_state = 1}, 2283 + [17] = {.lex_state = 1}, 2284 + [18] = {.lex_state = 1}, 2285 + [19] = {.lex_state = 1}, 2286 + [20] = {.lex_state = 1}, 2287 + [21] = {.lex_state = 1}, 2288 + [22] = {.lex_state = 1}, 2289 + [23] = {.lex_state = 1}, 2290 + [24] = {.lex_state = 1}, 2291 + [25] = {.lex_state = 1}, 2292 + [26] = {.lex_state = 1}, 2293 + [27] = {.lex_state = 1}, 2294 + [28] = {.lex_state = 2}, 2295 + [29] = {.lex_state = 2}, 2296 + [30] = {.lex_state = 2}, 2297 + [31] = {.lex_state = 2}, 2298 + [32] = {.lex_state = 2}, 2299 + [33] = {.lex_state = 2}, 2300 + [34] = {.lex_state = 2}, 2301 + [35] = {.lex_state = 2}, 2302 + [36] = {.lex_state = 2}, 2303 + [37] = {.lex_state = 2}, 2304 + [38] = {.lex_state = 2}, 2305 + [39] = {.lex_state = 2}, 2306 + [40] = {.lex_state = 2}, 2307 + [41] = {.lex_state = 0}, 2308 + [42] = {.lex_state = 0}, 2309 + [43] = {.lex_state = 0}, 2310 + [44] = {.lex_state = 0}, 2311 + [45] = {.lex_state = 0}, 2312 + [46] = {.lex_state = 0}, 2313 + [47] = {.lex_state = 0}, 2314 + [48] = {.lex_state = 0}, 2315 + [49] = {.lex_state = 0}, 2316 + [50] = {.lex_state = 0}, 2317 + [51] = {.lex_state = 0}, 2318 + [52] = {.lex_state = 0}, 2319 + [53] = {.lex_state = 0}, 2320 + [54] = {.lex_state = 0}, 2321 + [55] = {.lex_state = 0}, 2322 + [56] = {.lex_state = 0}, 2323 + [57] = {.lex_state = 0}, 2324 + [58] = {.lex_state = 0}, 2325 + [59] = {.lex_state = 0}, 2326 + [60] = {.lex_state = 0}, 2327 + [61] = {.lex_state = 0}, 2328 + [62] = {.lex_state = 0}, 2329 + [63] = {.lex_state = 0}, 2330 + [64] = {.lex_state = 0}, 2331 + [65] = {.lex_state = 0}, 2332 + [66] = {.lex_state = 0}, 2333 + [67] = {.lex_state = 0}, 2334 + [68] = {.lex_state = 0}, 2335 + [69] = {.lex_state = 0}, 2336 + [70] = {.lex_state = 0}, 2337 + [71] = {.lex_state = 4}, 2338 + [72] = {.lex_state = 0}, 2339 + [73] = {.lex_state = 0}, 2340 + [74] = {.lex_state = 4}, 2341 + [75] = {.lex_state = 0}, 2342 + [76] = {.lex_state = 4}, 2343 + [77] = {.lex_state = 4}, 2344 + [78] = {.lex_state = 4}, 2345 + [79] = {.lex_state = 0}, 2346 + [80] = {.lex_state = 0}, 2347 + [81] = {.lex_state = 0}, 2348 + [82] = {.lex_state = 0}, 2349 + [83] = {.lex_state = 0}, 2350 + [84] = {.lex_state = 0}, 2351 + [85] = {.lex_state = 0}, 2352 + [86] = {.lex_state = 4}, 2353 + [87] = {.lex_state = 4}, 2354 + [88] = {.lex_state = 4}, 2355 + [89] = {.lex_state = 0}, 2356 + [90] = {.lex_state = 0}, 2357 + [91] = {.lex_state = 4}, 2358 + [92] = {.lex_state = 4}, 2359 + [93] = {.lex_state = 0}, 2360 + [94] = {.lex_state = 0}, 2361 + [95] = {.lex_state = 4}, 2362 + [96] = {.lex_state = 5}, 2363 + [97] = {.lex_state = 5}, 2364 + [98] = {.lex_state = 0}, 2365 + [99] = {.lex_state = 0}, 2366 + [100] = {.lex_state = 0}, 2367 + [101] = {.lex_state = 0}, 2368 + [102] = {.lex_state = 4}, 2369 + [103] = {.lex_state = 0}, 2370 + [104] = {.lex_state = 0}, 2371 + [105] = {.lex_state = 5}, 2372 + [106] = {.lex_state = 4}, 2373 + [107] = {.lex_state = 0}, 2374 + [108] = {.lex_state = 0}, 2375 + [109] = {.lex_state = 0}, 2376 + [110] = {.lex_state = 4}, 2377 + [111] = {.lex_state = 4}, 2378 + [112] = {.lex_state = 0}, 2379 + [113] = {.lex_state = 0}, 2380 + [114] = {.lex_state = 4}, 2381 + [115] = {.lex_state = 4}, 2382 + [116] = {.lex_state = 4}, 2383 + [117] = {.lex_state = 4}, 2384 + [118] = {.lex_state = 4}, 2385 + [119] = {.lex_state = 4}, 2386 + [120] = {.lex_state = 4}, 2387 + [121] = {.lex_state = 0}, 2388 + [122] = {.lex_state = 5}, 2389 + [123] = {.lex_state = 0}, 2390 + [124] = {.lex_state = 4}, 2391 + [125] = {.lex_state = 4}, 2392 + [126] = {.lex_state = 0}, 2393 + [127] = {.lex_state = 4}, 2394 + [128] = {.lex_state = 0}, 2395 + [129] = {.lex_state = 0}, 2396 + [130] = {.lex_state = 4}, 2397 + [131] = {.lex_state = 4}, 2398 + [132] = {.lex_state = 4}, 2399 + [133] = {.lex_state = 0}, 2400 + [134] = {.lex_state = 0}, 2401 + [135] = {.lex_state = 4}, 2402 + [136] = {.lex_state = 4}, 2403 + [137] = {.lex_state = 0}, 2404 + [138] = {.lex_state = 0}, 2405 + [139] = {.lex_state = 0}, 2406 + [140] = {.lex_state = 0}, 2407 + [141] = {.lex_state = 0}, 2408 + [142] = {.lex_state = 4}, 2409 + [143] = {.lex_state = 4}, 2410 + [144] = {.lex_state = 0}, 2411 + [145] = {.lex_state = 0}, 2412 + [146] = {.lex_state = 4}, 2413 + [147] = {.lex_state = 0}, 2414 + [148] = {.lex_state = 0}, 2415 + [149] = {.lex_state = 0}, 2416 + [150] = {.lex_state = 4}, 2417 + [151] = {.lex_state = 0}, 2418 + [152] = {.lex_state = 4}, 2419 + [153] = {.lex_state = 0}, 2420 + [154] = {.lex_state = 0}, 2421 + [155] = {.lex_state = 0}, 2422 + [156] = {.lex_state = 4}, 2423 + [157] = {.lex_state = 4}, 2424 + [158] = {.lex_state = 0}, 2425 + [159] = {.lex_state = 0}, 2426 + [160] = {.lex_state = 4}, 2427 + [161] = {.lex_state = 0}, 2428 + [162] = {.lex_state = 0}, 2429 + [163] = {.lex_state = 0}, 2430 + [164] = {.lex_state = 4}, 2431 + [165] = {.lex_state = 0}, 2432 + [166] = {.lex_state = 4}, 2433 + [167] = {.lex_state = 4}, 2434 + [168] = {.lex_state = 0}, 2435 + [169] = {.lex_state = 0}, 2436 + [170] = {.lex_state = 4}, 2437 + [171] = {.lex_state = 4}, 2438 + [172] = {.lex_state = 0}, 2439 + [173] = {.lex_state = 4}, 2440 + [174] = {.lex_state = 0}, 2441 + [175] = {.lex_state = 0}, 2442 + [176] = {.lex_state = 4}, 2443 + [177] = {.lex_state = 4}, 2444 + [178] = {.lex_state = 0}, 2445 + [179] = {.lex_state = 0}, 2446 + [180] = {.lex_state = 0}, 2447 + [181] = {.lex_state = 4}, 2448 + [182] = {.lex_state = 0}, 2449 + [183] = {.lex_state = 0}, 2450 + [184] = {.lex_state = 4}, 2451 + [185] = {.lex_state = 0}, 2452 + [186] = {.lex_state = 0}, 2453 + [187] = {.lex_state = 4}, 2454 + [188] = {.lex_state = 4}, 2455 + [189] = {.lex_state = 4}, 2456 + [190] = {.lex_state = 0}, 2457 + [191] = {.lex_state = 4}, 2458 + [192] = {.lex_state = 0}, 2459 + [193] = {.lex_state = 4}, 2460 + [194] = {.lex_state = 4}, 2461 + [195] = {.lex_state = 0}, 2462 + [196] = {.lex_state = 0}, 2463 + [197] = {.lex_state = 4}, 2464 + [198] = {.lex_state = 4}, 2465 + [199] = {.lex_state = 4}, 2466 + [200] = {.lex_state = 4}, 2467 + [201] = {.lex_state = 0}, 2468 + [202] = {.lex_state = 4}, 2469 + [203] = {.lex_state = 4}, 2470 + [204] = {.lex_state = 4}, 2471 + [205] = {.lex_state = 0}, 2472 + [206] = {.lex_state = 4}, 2473 + [207] = {.lex_state = 0}, 2474 + [208] = {.lex_state = 4}, 2475 + [209] = {.lex_state = 0}, 2476 + [210] = {.lex_state = 0}, 2477 + [211] = {.lex_state = 0}, 2478 + [212] = {.lex_state = 0}, 2479 + [213] = {.lex_state = 0}, 2480 + [214] = {.lex_state = 0}, 2481 + [215] = {.lex_state = 0}, 2482 + [216] = {.lex_state = 0}, 2483 + [217] = {.lex_state = 4}, 2484 + [218] = {.lex_state = 0}, 2485 + [219] = {.lex_state = 0}, 2486 + [220] = {.lex_state = 4}, 2487 + [221] = {.lex_state = 0}, 2488 + [222] = {.lex_state = 0}, 2489 + [223] = {.lex_state = 0}, 2490 + [224] = {.lex_state = 0}, 2491 + [225] = {.lex_state = 0}, 2492 + [226] = {.lex_state = 0}, 2493 + [227] = {.lex_state = 0}, 2494 + [228] = {.lex_state = 0}, 2495 + [229] = {.lex_state = 0}, 2496 + [230] = {.lex_state = 0}, 2497 + [231] = {.lex_state = 0}, 2498 + [232] = {.lex_state = 0}, 2499 + [233] = {.lex_state = 0}, 2500 + [234] = {.lex_state = 0}, 2501 + [235] = {.lex_state = 0}, 2502 + [236] = {.lex_state = 0}, 2503 + [237] = {.lex_state = 0}, 2504 + [238] = {.lex_state = 0}, 2505 + [239] = {.lex_state = 0}, 2506 + [240] = {.lex_state = 0}, 2507 + [241] = {.lex_state = 0}, 2508 + [242] = {.lex_state = 0}, 2509 + [243] = {.lex_state = 0}, 2510 + [244] = {.lex_state = 0}, 2511 + [245] = {.lex_state = 0}, 2512 + [246] = {.lex_state = 0}, 2513 + [247] = {.lex_state = 0}, 2514 + [248] = {.lex_state = 0}, 2515 + [249] = {.lex_state = 0}, 2516 + [250] = {.lex_state = 0}, 2517 + [251] = {.lex_state = 0}, 2518 + [252] = {.lex_state = 0}, 2519 + [253] = {.lex_state = 0}, 2520 + [254] = {.lex_state = 0}, 2521 + [255] = {.lex_state = 0}, 2522 + [256] = {.lex_state = 0}, 2523 + [257] = {.lex_state = 0}, 2524 + [258] = {.lex_state = 7}, 2525 + [259] = {.lex_state = 0}, 2526 + [260] = {.lex_state = 0}, 2527 + [261] = {.lex_state = 0}, 2528 + [262] = {.lex_state = 0}, 2529 + [263] = {.lex_state = 0}, 2530 + [264] = {.lex_state = 0}, 2531 + [265] = {.lex_state = 0}, 2532 + [266] = {.lex_state = 0}, 2533 + [267] = {.lex_state = 0}, 2534 + [268] = {.lex_state = 0}, 2535 + [269] = {.lex_state = 0}, 2536 + [270] = {.lex_state = 0}, 2537 + [271] = {.lex_state = 0}, 2538 + [272] = {.lex_state = 0}, 2539 + [273] = {.lex_state = 0}, 2540 + [274] = {.lex_state = 0}, 2541 + [275] = {.lex_state = 0}, 2542 + [276] = {.lex_state = 0}, 2543 + [277] = {.lex_state = 0}, 2544 + [278] = {.lex_state = 0}, 2545 + [279] = {.lex_state = 0}, 2546 + [280] = {.lex_state = 0}, 2547 + [281] = {.lex_state = 0}, 2548 + [282] = {.lex_state = 0}, 2549 + [283] = {.lex_state = 0}, 2550 + [284] = {.lex_state = 0}, 2551 + [285] = {.lex_state = 0}, 2552 + [286] = {.lex_state = 0}, 2553 + [287] = {.lex_state = 0}, 2554 + [288] = {.lex_state = 0}, 2555 + [289] = {.lex_state = 0}, 2556 + [290] = {.lex_state = 0}, 2557 + [291] = {.lex_state = 0}, 2558 + [292] = {.lex_state = 0}, 2559 + [293] = {.lex_state = 0}, 2560 + [294] = {.lex_state = 0}, 2561 + [295] = {.lex_state = 0}, 2562 + [296] = {.lex_state = 0}, 2563 + [297] = {.lex_state = 0}, 2564 + [298] = {.lex_state = 0}, 2565 + [299] = {.lex_state = 0}, 2566 + [300] = {.lex_state = 0}, 2567 + [301] = {.lex_state = 0}, 2568 + [302] = {.lex_state = 0}, 2569 + [303] = {.lex_state = 0}, 2570 + [304] = {.lex_state = 0}, 2571 + [305] = {.lex_state = 0}, 2572 + [306] = {.lex_state = 0}, 2573 + [307] = {.lex_state = 0}, 2574 + [308] = {.lex_state = 0}, 2575 + [309] = {.lex_state = 0}, 2576 + [310] = {.lex_state = 0}, 2577 + [311] = {.lex_state = 0}, 2578 + [312] = {.lex_state = 7}, 2579 + [313] = {.lex_state = 0}, 2580 + }; 2581 + 2582 + static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { 2583 + [STATE(0)] = { 2584 + [ts_builtin_sym_end] = ACTIONS(1), 2585 + [anon_sym_self] = ACTIONS(1), 2586 + [anon_sym_LBRACE] = ACTIONS(1), 2587 + [anon_sym_RBRACE] = ACTIONS(1), 2588 + [sym_doc_comment] = ACTIONS(3), 2589 + [sym_comment] = ACTIONS(5), 2590 + [anon_sym_AT] = ACTIONS(1), 2591 + [anon_sym_COMMA] = ACTIONS(1), 2592 + [anon_sym_COLON] = ACTIONS(1), 2593 + [anon_sym_LPAREN] = ACTIONS(1), 2594 + [anon_sym_RPAREN] = ACTIONS(1), 2595 + [anon_sym_null] = ACTIONS(1), 2596 + [anon_sym_LBRACK] = ACTIONS(1), 2597 + [anon_sym_RBRACK] = ACTIONS(1), 2598 + [anon_sym_use] = ACTIONS(1), 2599 + [anon_sym_as] = ACTIONS(1), 2600 + [anon_sym_DOT] = ACTIONS(1), 2601 + [anon_sym_STAR] = ACTIONS(1), 2602 + [anon_sym_SEMI] = ACTIONS(1), 2603 + [anon_sym_main] = ACTIONS(1), 2604 + [anon_sym_record] = ACTIONS(1), 2605 + [anon_sym_BANG] = ACTIONS(1), 2606 + [anon_sym_inline] = ACTIONS(1), 2607 + [anon_sym_type] = ACTIONS(1), 2608 + [anon_sym_EQ] = ACTIONS(1), 2609 + [anon_sym_def] = ACTIONS(1), 2610 + [anon_sym_token] = ACTIONS(1), 2611 + [anon_sym_query] = ACTIONS(1), 2612 + [anon_sym_procedure] = ACTIONS(1), 2613 + [anon_sym_subscription] = ACTIONS(1), 2614 + [anon_sym_PIPE] = ACTIONS(1), 2615 + [anon_sym_error] = ACTIONS(1), 2616 + [anon_sym_boolean] = ACTIONS(1), 2617 + [anon_sym_integer] = ACTIONS(1), 2618 + [anon_sym_string] = ACTIONS(1), 2619 + [anon_sym_bytes] = ACTIONS(1), 2620 + [anon_sym_blob] = ACTIONS(1), 2621 + [anon_sym_unknown] = ACTIONS(1), 2622 + [anon_sym_constrained] = ACTIONS(1), 2623 + [anon_sym_BQUOTE] = ACTIONS(1), 2624 + [sym_number] = ACTIONS(1), 2625 + [sym_string] = ACTIONS(1), 2626 + [anon_sym_true] = ACTIONS(1), 2627 + [anon_sym_false] = ACTIONS(1), 2628 + }, 2629 + [STATE(1)] = { 2630 + [sym_source_file] = STATE(310), 2631 + [sym_item] = STATE(2), 2632 + [sym_self_definition] = STATE(47), 2633 + [sym_annotation] = STATE(55), 2634 + [sym_use_statement] = STATE(47), 2635 + [sym_record_definition] = STATE(47), 2636 + [sym_inline_type_definition] = STATE(47), 2637 + [sym_def_type_definition] = STATE(47), 2638 + [sym_token_definition] = STATE(47), 2639 + [sym_query_definition] = STATE(47), 2640 + [sym_procedure_definition] = STATE(47), 2641 + [sym_subscription_definition] = STATE(47), 2642 + [aux_sym_source_file_repeat1] = STATE(2), 2643 + [aux_sym_self_definition_repeat1] = STATE(55), 2644 + [ts_builtin_sym_end] = ACTIONS(7), 2645 + [anon_sym_self] = ACTIONS(9), 2646 + [sym_doc_comment] = ACTIONS(3), 2647 + [sym_comment] = ACTIONS(5), 2648 + [anon_sym_AT] = ACTIONS(11), 2649 + [anon_sym_use] = ACTIONS(13), 2650 + [anon_sym_record] = ACTIONS(15), 2651 + [anon_sym_inline] = ACTIONS(17), 2652 + [anon_sym_def] = ACTIONS(19), 2653 + [anon_sym_token] = ACTIONS(21), 2654 + [anon_sym_query] = ACTIONS(23), 2655 + [anon_sym_procedure] = ACTIONS(25), 2656 + [anon_sym_subscription] = ACTIONS(27), 2657 + }, 2658 + }; 2659 + 2660 + static const uint16_t ts_small_parse_table[] = { 2661 + [0] = 16, 2662 + ACTIONS(3), 1, 2663 + sym_doc_comment, 2664 + ACTIONS(5), 1, 2665 + sym_comment, 2666 + ACTIONS(9), 1, 2667 + anon_sym_self, 2668 + ACTIONS(11), 1, 2669 + anon_sym_AT, 2670 + ACTIONS(13), 1, 2671 + anon_sym_use, 2672 + ACTIONS(15), 1, 2673 + anon_sym_record, 2674 + ACTIONS(17), 1, 2675 + anon_sym_inline, 2676 + ACTIONS(19), 1, 2677 + anon_sym_def, 2678 + ACTIONS(21), 1, 2679 + anon_sym_token, 2680 + ACTIONS(23), 1, 2681 + anon_sym_query, 2682 + ACTIONS(25), 1, 2683 + anon_sym_procedure, 2684 + ACTIONS(27), 1, 2685 + anon_sym_subscription, 2686 + ACTIONS(29), 1, 2687 + ts_builtin_sym_end, 2688 + STATE(3), 2, 2689 + sym_item, 2690 + aux_sym_source_file_repeat1, 2691 + STATE(55), 2, 2692 + sym_annotation, 2693 + aux_sym_self_definition_repeat1, 2694 + STATE(47), 9, 2695 + sym_self_definition, 2696 + sym_use_statement, 2697 + sym_record_definition, 2698 + sym_inline_type_definition, 2699 + sym_def_type_definition, 2700 + sym_token_definition, 2701 + sym_query_definition, 2702 + sym_procedure_definition, 2703 + sym_subscription_definition, 2704 + [59] = 16, 2705 + ACTIONS(3), 1, 2706 + sym_doc_comment, 2707 + ACTIONS(5), 1, 2708 + sym_comment, 2709 + ACTIONS(31), 1, 2710 + ts_builtin_sym_end, 2711 + ACTIONS(33), 1, 2712 + anon_sym_self, 2713 + ACTIONS(36), 1, 2714 + anon_sym_AT, 2715 + ACTIONS(39), 1, 2716 + anon_sym_use, 2717 + ACTIONS(42), 1, 2718 + anon_sym_record, 2719 + ACTIONS(45), 1, 2720 + anon_sym_inline, 2721 + ACTIONS(48), 1, 2722 + anon_sym_def, 2723 + ACTIONS(51), 1, 2724 + anon_sym_token, 2725 + ACTIONS(54), 1, 2726 + anon_sym_query, 2727 + ACTIONS(57), 1, 2728 + anon_sym_procedure, 2729 + ACTIONS(60), 1, 2730 + anon_sym_subscription, 2731 + STATE(3), 2, 2732 + sym_item, 2733 + aux_sym_source_file_repeat1, 2734 + STATE(55), 2, 2735 + sym_annotation, 2736 + aux_sym_self_definition_repeat1, 2737 + STATE(47), 9, 2738 + sym_self_definition, 2739 + sym_use_statement, 2740 + sym_record_definition, 2741 + sym_inline_type_definition, 2742 + sym_def_type_definition, 2743 + sym_token_definition, 2744 + sym_query_definition, 2745 + sym_procedure_definition, 2746 + sym_subscription_definition, 2747 + [118] = 3, 2748 + ACTIONS(3), 1, 2749 + sym_doc_comment, 2750 + ACTIONS(5), 1, 2751 + sym_comment, 2752 + ACTIONS(63), 23, 2753 + anon_sym_self, 2754 + anon_sym_LBRACE, 2755 + anon_sym_RBRACE, 2756 + anon_sym_AT, 2757 + anon_sym_COMMA, 2758 + anon_sym_COLON, 2759 + anon_sym_LPAREN, 2760 + anon_sym_RPAREN, 2761 + anon_sym_RBRACK, 2762 + anon_sym_as, 2763 + anon_sym_DOT, 2764 + anon_sym_SEMI, 2765 + anon_sym_record, 2766 + anon_sym_BANG, 2767 + anon_sym_inline, 2768 + anon_sym_EQ, 2769 + anon_sym_def, 2770 + anon_sym_token, 2771 + anon_sym_query, 2772 + anon_sym_procedure, 2773 + anon_sym_subscription, 2774 + anon_sym_PIPE, 2775 + anon_sym_constrained, 2776 + [150] = 3, 2777 + ACTIONS(3), 1, 2778 + sym_doc_comment, 2779 + ACTIONS(5), 1, 2780 + sym_comment, 2781 + ACTIONS(65), 23, 2782 + anon_sym_self, 2783 + anon_sym_LBRACE, 2784 + anon_sym_RBRACE, 2785 + anon_sym_AT, 2786 + anon_sym_COMMA, 2787 + anon_sym_COLON, 2788 + anon_sym_LPAREN, 2789 + anon_sym_RPAREN, 2790 + anon_sym_RBRACK, 2791 + anon_sym_as, 2792 + anon_sym_DOT, 2793 + anon_sym_SEMI, 2794 + anon_sym_record, 2795 + anon_sym_BANG, 2796 + anon_sym_inline, 2797 + anon_sym_EQ, 2798 + anon_sym_def, 2799 + anon_sym_token, 2800 + anon_sym_query, 2801 + anon_sym_procedure, 2802 + anon_sym_subscription, 2803 + anon_sym_PIPE, 2804 + anon_sym_constrained, 2805 + [182] = 14, 2806 + ACTIONS(3), 1, 2807 + sym_doc_comment, 2808 + ACTIONS(5), 1, 2809 + sym_comment, 2810 + ACTIONS(67), 1, 2811 + anon_sym_LBRACE, 2812 + ACTIONS(71), 1, 2813 + anon_sym_LBRACK, 2814 + ACTIONS(73), 1, 2815 + aux_sym_identifier_token1, 2816 + ACTIONS(75), 1, 2817 + anon_sym_BQUOTE, 2818 + STATE(83), 1, 2819 + sym_identifier, 2820 + STATE(108), 1, 2821 + sym_type_path, 2822 + STATE(123), 1, 2823 + sym_union_type, 2824 + STATE(145), 1, 2825 + sym_non_union_type, 2826 + STATE(244), 1, 2827 + sym_type, 2828 + STATE(311), 1, 2829 + sym_return_type, 2830 + STATE(107), 5, 2831 + sym_primitive_type, 2832 + sym_reference_type, 2833 + sym_array_type, 2834 + sym_object_type, 2835 + sym_constrained_type, 2836 + ACTIONS(69), 7, 2837 + anon_sym_null, 2838 + anon_sym_boolean, 2839 + anon_sym_integer, 2840 + anon_sym_string, 2841 + anon_sym_bytes, 2842 + anon_sym_blob, 2843 + anon_sym_unknown, 2844 + [235] = 14, 2845 + ACTIONS(3), 1, 2846 + sym_doc_comment, 2847 + ACTIONS(5), 1, 2848 + sym_comment, 2849 + ACTIONS(67), 1, 2850 + anon_sym_LBRACE, 2851 + ACTIONS(71), 1, 2852 + anon_sym_LBRACK, 2853 + ACTIONS(73), 1, 2854 + aux_sym_identifier_token1, 2855 + ACTIONS(75), 1, 2856 + anon_sym_BQUOTE, 2857 + STATE(83), 1, 2858 + sym_identifier, 2859 + STATE(108), 1, 2860 + sym_type_path, 2861 + STATE(123), 1, 2862 + sym_union_type, 2863 + STATE(145), 1, 2864 + sym_non_union_type, 2865 + STATE(244), 1, 2866 + sym_type, 2867 + STATE(307), 1, 2868 + sym_return_type, 2869 + STATE(107), 5, 2870 + sym_primitive_type, 2871 + sym_reference_type, 2872 + sym_array_type, 2873 + sym_object_type, 2874 + sym_constrained_type, 2875 + ACTIONS(69), 7, 2876 + anon_sym_null, 2877 + anon_sym_boolean, 2878 + anon_sym_integer, 2879 + anon_sym_string, 2880 + anon_sym_bytes, 2881 + anon_sym_blob, 2882 + anon_sym_unknown, 2883 + [288] = 14, 2884 + ACTIONS(3), 1, 2885 + sym_doc_comment, 2886 + ACTIONS(5), 1, 2887 + sym_comment, 2888 + ACTIONS(67), 1, 2889 + anon_sym_LBRACE, 2890 + ACTIONS(71), 1, 2891 + anon_sym_LBRACK, 2892 + ACTIONS(73), 1, 2893 + aux_sym_identifier_token1, 2894 + ACTIONS(75), 1, 2895 + anon_sym_BQUOTE, 2896 + STATE(83), 1, 2897 + sym_identifier, 2898 + STATE(108), 1, 2899 + sym_type_path, 2900 + STATE(123), 1, 2901 + sym_union_type, 2902 + STATE(145), 1, 2903 + sym_non_union_type, 2904 + STATE(244), 1, 2905 + sym_type, 2906 + STATE(294), 1, 2907 + sym_return_type, 2908 + STATE(107), 5, 2909 + sym_primitive_type, 2910 + sym_reference_type, 2911 + sym_array_type, 2912 + sym_object_type, 2913 + sym_constrained_type, 2914 + ACTIONS(69), 7, 2915 + anon_sym_null, 2916 + anon_sym_boolean, 2917 + anon_sym_integer, 2918 + anon_sym_string, 2919 + anon_sym_bytes, 2920 + anon_sym_blob, 2921 + anon_sym_unknown, 2922 + [341] = 14, 2923 + ACTIONS(3), 1, 2924 + sym_doc_comment, 2925 + ACTIONS(5), 1, 2926 + sym_comment, 2927 + ACTIONS(67), 1, 2928 + anon_sym_LBRACE, 2929 + ACTIONS(71), 1, 2930 + anon_sym_LBRACK, 2931 + ACTIONS(73), 1, 2932 + aux_sym_identifier_token1, 2933 + ACTIONS(75), 1, 2934 + anon_sym_BQUOTE, 2935 + STATE(83), 1, 2936 + sym_identifier, 2937 + STATE(108), 1, 2938 + sym_type_path, 2939 + STATE(123), 1, 2940 + sym_union_type, 2941 + STATE(145), 1, 2942 + sym_non_union_type, 2943 + STATE(244), 1, 2944 + sym_type, 2945 + STATE(295), 1, 2946 + sym_return_type, 2947 + STATE(107), 5, 2948 + sym_primitive_type, 2949 + sym_reference_type, 2950 + sym_array_type, 2951 + sym_object_type, 2952 + sym_constrained_type, 2953 + ACTIONS(69), 7, 2954 + anon_sym_null, 2955 + anon_sym_boolean, 2956 + anon_sym_integer, 2957 + anon_sym_string, 2958 + anon_sym_bytes, 2959 + anon_sym_blob, 2960 + anon_sym_unknown, 2961 + [394] = 13, 2962 + ACTIONS(3), 1, 2963 + sym_doc_comment, 2964 + ACTIONS(5), 1, 2965 + sym_comment, 2966 + ACTIONS(67), 1, 2967 + anon_sym_LBRACE, 2968 + ACTIONS(71), 1, 2969 + anon_sym_LBRACK, 2970 + ACTIONS(73), 1, 2971 + aux_sym_identifier_token1, 2972 + ACTIONS(75), 1, 2973 + anon_sym_BQUOTE, 2974 + STATE(83), 1, 2975 + sym_identifier, 2976 + STATE(93), 1, 2977 + sym_non_union_type, 2978 + STATE(108), 1, 2979 + sym_type_path, 2980 + STATE(123), 1, 2981 + sym_union_type, 2982 + STATE(285), 1, 2983 + sym_type, 2984 + STATE(107), 5, 2985 + sym_primitive_type, 2986 + sym_reference_type, 2987 + sym_array_type, 2988 + sym_object_type, 2989 + sym_constrained_type, 2990 + ACTIONS(69), 7, 2991 + anon_sym_null, 2992 + anon_sym_boolean, 2993 + anon_sym_integer, 2994 + anon_sym_string, 2995 + anon_sym_bytes, 2996 + anon_sym_blob, 2997 + anon_sym_unknown, 2998 + [444] = 13, 2999 + ACTIONS(3), 1, 3000 + sym_doc_comment, 3001 + ACTIONS(5), 1, 3002 + sym_comment, 3003 + ACTIONS(67), 1, 3004 + anon_sym_LBRACE, 3005 + ACTIONS(71), 1, 3006 + anon_sym_LBRACK, 3007 + ACTIONS(73), 1, 3008 + aux_sym_identifier_token1, 3009 + ACTIONS(75), 1, 3010 + anon_sym_BQUOTE, 3011 + STATE(83), 1, 3012 + sym_identifier, 3013 + STATE(93), 1, 3014 + sym_non_union_type, 3015 + STATE(108), 1, 3016 + sym_type_path, 3017 + STATE(123), 1, 3018 + sym_union_type, 3019 + STATE(293), 1, 3020 + sym_type, 3021 + STATE(107), 5, 3022 + sym_primitive_type, 3023 + sym_reference_type, 3024 + sym_array_type, 3025 + sym_object_type, 3026 + sym_constrained_type, 3027 + ACTIONS(69), 7, 3028 + anon_sym_null, 3029 + anon_sym_boolean, 3030 + anon_sym_integer, 3031 + anon_sym_string, 3032 + anon_sym_bytes, 3033 + anon_sym_blob, 3034 + anon_sym_unknown, 3035 + [494] = 13, 3036 + ACTIONS(3), 1, 3037 + sym_doc_comment, 3038 + ACTIONS(5), 1, 3039 + sym_comment, 3040 + ACTIONS(67), 1, 3041 + anon_sym_LBRACE, 3042 + ACTIONS(71), 1, 3043 + anon_sym_LBRACK, 3044 + ACTIONS(73), 1, 3045 + aux_sym_identifier_token1, 3046 + ACTIONS(75), 1, 3047 + anon_sym_BQUOTE, 3048 + STATE(83), 1, 3049 + sym_identifier, 3050 + STATE(93), 1, 3051 + sym_non_union_type, 3052 + STATE(108), 1, 3053 + sym_type_path, 3054 + STATE(123), 1, 3055 + sym_union_type, 3056 + STATE(273), 1, 3057 + sym_type, 3058 + STATE(107), 5, 3059 + sym_primitive_type, 3060 + sym_reference_type, 3061 + sym_array_type, 3062 + sym_object_type, 3063 + sym_constrained_type, 3064 + ACTIONS(69), 7, 3065 + anon_sym_null, 3066 + anon_sym_boolean, 3067 + anon_sym_integer, 3068 + anon_sym_string, 3069 + anon_sym_bytes, 3070 + anon_sym_blob, 3071 + anon_sym_unknown, 3072 + [544] = 13, 3073 + ACTIONS(3), 1, 3074 + sym_doc_comment, 3075 + ACTIONS(5), 1, 3076 + sym_comment, 3077 + ACTIONS(67), 1, 3078 + anon_sym_LBRACE, 3079 + ACTIONS(71), 1, 3080 + anon_sym_LBRACK, 3081 + ACTIONS(73), 1, 3082 + aux_sym_identifier_token1, 3083 + ACTIONS(75), 1, 3084 + anon_sym_BQUOTE, 3085 + STATE(83), 1, 3086 + sym_identifier, 3087 + STATE(93), 1, 3088 + sym_non_union_type, 3089 + STATE(108), 1, 3090 + sym_type_path, 3091 + STATE(123), 1, 3092 + sym_union_type, 3093 + STATE(265), 1, 3094 + sym_type, 3095 + STATE(107), 5, 3096 + sym_primitive_type, 3097 + sym_reference_type, 3098 + sym_array_type, 3099 + sym_object_type, 3100 + sym_constrained_type, 3101 + ACTIONS(69), 7, 3102 + anon_sym_null, 3103 + anon_sym_boolean, 3104 + anon_sym_integer, 3105 + anon_sym_string, 3106 + anon_sym_bytes, 3107 + anon_sym_blob, 3108 + anon_sym_unknown, 3109 + [594] = 13, 3110 + ACTIONS(3), 1, 3111 + sym_doc_comment, 3112 + ACTIONS(5), 1, 3113 + sym_comment, 3114 + ACTIONS(67), 1, 3115 + anon_sym_LBRACE, 3116 + ACTIONS(71), 1, 3117 + anon_sym_LBRACK, 3118 + ACTIONS(73), 1, 3119 + aux_sym_identifier_token1, 3120 + ACTIONS(75), 1, 3121 + anon_sym_BQUOTE, 3122 + STATE(83), 1, 3123 + sym_identifier, 3124 + STATE(93), 1, 3125 + sym_non_union_type, 3126 + STATE(108), 1, 3127 + sym_type_path, 3128 + STATE(123), 1, 3129 + sym_union_type, 3130 + STATE(303), 1, 3131 + sym_type, 3132 + STATE(107), 5, 3133 + sym_primitive_type, 3134 + sym_reference_type, 3135 + sym_array_type, 3136 + sym_object_type, 3137 + sym_constrained_type, 3138 + ACTIONS(69), 7, 3139 + anon_sym_null, 3140 + anon_sym_boolean, 3141 + anon_sym_integer, 3142 + anon_sym_string, 3143 + anon_sym_bytes, 3144 + anon_sym_blob, 3145 + anon_sym_unknown, 3146 + [644] = 13, 3147 + ACTIONS(3), 1, 3148 + sym_doc_comment, 3149 + ACTIONS(5), 1, 3150 + sym_comment, 3151 + ACTIONS(67), 1, 3152 + anon_sym_LBRACE, 3153 + ACTIONS(71), 1, 3154 + anon_sym_LBRACK, 3155 + ACTIONS(73), 1, 3156 + aux_sym_identifier_token1, 3157 + ACTIONS(75), 1, 3158 + anon_sym_BQUOTE, 3159 + STATE(83), 1, 3160 + sym_identifier, 3161 + STATE(93), 1, 3162 + sym_non_union_type, 3163 + STATE(108), 1, 3164 + sym_type_path, 3165 + STATE(123), 1, 3166 + sym_union_type, 3167 + STATE(228), 1, 3168 + sym_type, 3169 + STATE(107), 5, 3170 + sym_primitive_type, 3171 + sym_reference_type, 3172 + sym_array_type, 3173 + sym_object_type, 3174 + sym_constrained_type, 3175 + ACTIONS(69), 7, 3176 + anon_sym_null, 3177 + anon_sym_boolean, 3178 + anon_sym_integer, 3179 + anon_sym_string, 3180 + anon_sym_bytes, 3181 + anon_sym_blob, 3182 + anon_sym_unknown, 3183 + [694] = 13, 3184 + ACTIONS(3), 1, 3185 + sym_doc_comment, 3186 + ACTIONS(5), 1, 3187 + sym_comment, 3188 + ACTIONS(67), 1, 3189 + anon_sym_LBRACE, 3190 + ACTIONS(71), 1, 3191 + anon_sym_LBRACK, 3192 + ACTIONS(73), 1, 3193 + aux_sym_identifier_token1, 3194 + ACTIONS(75), 1, 3195 + anon_sym_BQUOTE, 3196 + STATE(83), 1, 3197 + sym_identifier, 3198 + STATE(93), 1, 3199 + sym_non_union_type, 3200 + STATE(108), 1, 3201 + sym_type_path, 3202 + STATE(123), 1, 3203 + sym_union_type, 3204 + STATE(290), 1, 3205 + sym_type, 3206 + STATE(107), 5, 3207 + sym_primitive_type, 3208 + sym_reference_type, 3209 + sym_array_type, 3210 + sym_object_type, 3211 + sym_constrained_type, 3212 + ACTIONS(69), 7, 3213 + anon_sym_null, 3214 + anon_sym_boolean, 3215 + anon_sym_integer, 3216 + anon_sym_string, 3217 + anon_sym_bytes, 3218 + anon_sym_blob, 3219 + anon_sym_unknown, 3220 + [744] = 13, 3221 + ACTIONS(3), 1, 3222 + sym_doc_comment, 3223 + ACTIONS(5), 1, 3224 + sym_comment, 3225 + ACTIONS(67), 1, 3226 + anon_sym_LBRACE, 3227 + ACTIONS(71), 1, 3228 + anon_sym_LBRACK, 3229 + ACTIONS(73), 1, 3230 + aux_sym_identifier_token1, 3231 + ACTIONS(75), 1, 3232 + anon_sym_BQUOTE, 3233 + STATE(83), 1, 3234 + sym_identifier, 3235 + STATE(93), 1, 3236 + sym_non_union_type, 3237 + STATE(108), 1, 3238 + sym_type_path, 3239 + STATE(123), 1, 3240 + sym_union_type, 3241 + STATE(292), 1, 3242 + sym_type, 3243 + STATE(107), 5, 3244 + sym_primitive_type, 3245 + sym_reference_type, 3246 + sym_array_type, 3247 + sym_object_type, 3248 + sym_constrained_type, 3249 + ACTIONS(69), 7, 3250 + anon_sym_null, 3251 + anon_sym_boolean, 3252 + anon_sym_integer, 3253 + anon_sym_string, 3254 + anon_sym_bytes, 3255 + anon_sym_blob, 3256 + anon_sym_unknown, 3257 + [794] = 13, 3258 + ACTIONS(3), 1, 3259 + sym_doc_comment, 3260 + ACTIONS(5), 1, 3261 + sym_comment, 3262 + ACTIONS(67), 1, 3263 + anon_sym_LBRACE, 3264 + ACTIONS(71), 1, 3265 + anon_sym_LBRACK, 3266 + ACTIONS(73), 1, 3267 + aux_sym_identifier_token1, 3268 + ACTIONS(75), 1, 3269 + anon_sym_BQUOTE, 3270 + STATE(83), 1, 3271 + sym_identifier, 3272 + STATE(93), 1, 3273 + sym_non_union_type, 3274 + STATE(108), 1, 3275 + sym_type_path, 3276 + STATE(123), 1, 3277 + sym_union_type, 3278 + STATE(313), 1, 3279 + sym_type, 3280 + STATE(107), 5, 3281 + sym_primitive_type, 3282 + sym_reference_type, 3283 + sym_array_type, 3284 + sym_object_type, 3285 + sym_constrained_type, 3286 + ACTIONS(69), 7, 3287 + anon_sym_null, 3288 + anon_sym_boolean, 3289 + anon_sym_integer, 3290 + anon_sym_string, 3291 + anon_sym_bytes, 3292 + anon_sym_blob, 3293 + anon_sym_unknown, 3294 + [844] = 13, 3295 + ACTIONS(3), 1, 3296 + sym_doc_comment, 3297 + ACTIONS(5), 1, 3298 + sym_comment, 3299 + ACTIONS(67), 1, 3300 + anon_sym_LBRACE, 3301 + ACTIONS(71), 1, 3302 + anon_sym_LBRACK, 3303 + ACTIONS(73), 1, 3304 + aux_sym_identifier_token1, 3305 + ACTIONS(75), 1, 3306 + anon_sym_BQUOTE, 3307 + STATE(83), 1, 3308 + sym_identifier, 3309 + STATE(93), 1, 3310 + sym_non_union_type, 3311 + STATE(108), 1, 3312 + sym_type_path, 3313 + STATE(123), 1, 3314 + sym_union_type, 3315 + STATE(283), 1, 3316 + sym_type, 3317 + STATE(107), 5, 3318 + sym_primitive_type, 3319 + sym_reference_type, 3320 + sym_array_type, 3321 + sym_object_type, 3322 + sym_constrained_type, 3323 + ACTIONS(69), 7, 3324 + anon_sym_null, 3325 + anon_sym_boolean, 3326 + anon_sym_integer, 3327 + anon_sym_string, 3328 + anon_sym_bytes, 3329 + anon_sym_blob, 3330 + anon_sym_unknown, 3331 + [894] = 13, 3332 + ACTIONS(3), 1, 3333 + sym_doc_comment, 3334 + ACTIONS(5), 1, 3335 + sym_comment, 3336 + ACTIONS(67), 1, 3337 + anon_sym_LBRACE, 3338 + ACTIONS(71), 1, 3339 + anon_sym_LBRACK, 3340 + ACTIONS(73), 1, 3341 + aux_sym_identifier_token1, 3342 + ACTIONS(75), 1, 3343 + anon_sym_BQUOTE, 3344 + STATE(83), 1, 3345 + sym_identifier, 3346 + STATE(93), 1, 3347 + sym_non_union_type, 3348 + STATE(108), 1, 3349 + sym_type_path, 3350 + STATE(123), 1, 3351 + sym_union_type, 3352 + STATE(297), 1, 3353 + sym_type, 3354 + STATE(107), 5, 3355 + sym_primitive_type, 3356 + sym_reference_type, 3357 + sym_array_type, 3358 + sym_object_type, 3359 + sym_constrained_type, 3360 + ACTIONS(69), 7, 3361 + anon_sym_null, 3362 + anon_sym_boolean, 3363 + anon_sym_integer, 3364 + anon_sym_string, 3365 + anon_sym_bytes, 3366 + anon_sym_blob, 3367 + anon_sym_unknown, 3368 + [944] = 13, 3369 + ACTIONS(3), 1, 3370 + sym_doc_comment, 3371 + ACTIONS(5), 1, 3372 + sym_comment, 3373 + ACTIONS(67), 1, 3374 + anon_sym_LBRACE, 3375 + ACTIONS(71), 1, 3376 + anon_sym_LBRACK, 3377 + ACTIONS(73), 1, 3378 + aux_sym_identifier_token1, 3379 + ACTIONS(75), 1, 3380 + anon_sym_BQUOTE, 3381 + STATE(83), 1, 3382 + sym_identifier, 3383 + STATE(93), 1, 3384 + sym_non_union_type, 3385 + STATE(108), 1, 3386 + sym_type_path, 3387 + STATE(123), 1, 3388 + sym_union_type, 3389 + STATE(219), 1, 3390 + sym_type, 3391 + STATE(107), 5, 3392 + sym_primitive_type, 3393 + sym_reference_type, 3394 + sym_array_type, 3395 + sym_object_type, 3396 + sym_constrained_type, 3397 + ACTIONS(69), 7, 3398 + anon_sym_null, 3399 + anon_sym_boolean, 3400 + anon_sym_integer, 3401 + anon_sym_string, 3402 + anon_sym_bytes, 3403 + anon_sym_blob, 3404 + anon_sym_unknown, 3405 + [994] = 13, 3406 + ACTIONS(3), 1, 3407 + sym_doc_comment, 3408 + ACTIONS(5), 1, 3409 + sym_comment, 3410 + ACTIONS(67), 1, 3411 + anon_sym_LBRACE, 3412 + ACTIONS(71), 1, 3413 + anon_sym_LBRACK, 3414 + ACTIONS(73), 1, 3415 + aux_sym_identifier_token1, 3416 + ACTIONS(75), 1, 3417 + anon_sym_BQUOTE, 3418 + STATE(83), 1, 3419 + sym_identifier, 3420 + STATE(93), 1, 3421 + sym_non_union_type, 3422 + STATE(108), 1, 3423 + sym_type_path, 3424 + STATE(123), 1, 3425 + sym_union_type, 3426 + STATE(218), 1, 3427 + sym_type, 3428 + STATE(107), 5, 3429 + sym_primitive_type, 3430 + sym_reference_type, 3431 + sym_array_type, 3432 + sym_object_type, 3433 + sym_constrained_type, 3434 + ACTIONS(69), 7, 3435 + anon_sym_null, 3436 + anon_sym_boolean, 3437 + anon_sym_integer, 3438 + anon_sym_string, 3439 + anon_sym_bytes, 3440 + anon_sym_blob, 3441 + anon_sym_unknown, 3442 + [1044] = 13, 3443 + ACTIONS(3), 1, 3444 + sym_doc_comment, 3445 + ACTIONS(5), 1, 3446 + sym_comment, 3447 + ACTIONS(67), 1, 3448 + anon_sym_LBRACE, 3449 + ACTIONS(71), 1, 3450 + anon_sym_LBRACK, 3451 + ACTIONS(73), 1, 3452 + aux_sym_identifier_token1, 3453 + ACTIONS(75), 1, 3454 + anon_sym_BQUOTE, 3455 + STATE(83), 1, 3456 + sym_identifier, 3457 + STATE(93), 1, 3458 + sym_non_union_type, 3459 + STATE(108), 1, 3460 + sym_type_path, 3461 + STATE(123), 1, 3462 + sym_union_type, 3463 + STATE(249), 1, 3464 + sym_type, 3465 + STATE(107), 5, 3466 + sym_primitive_type, 3467 + sym_reference_type, 3468 + sym_array_type, 3469 + sym_object_type, 3470 + sym_constrained_type, 3471 + ACTIONS(69), 7, 3472 + anon_sym_null, 3473 + anon_sym_boolean, 3474 + anon_sym_integer, 3475 + anon_sym_string, 3476 + anon_sym_bytes, 3477 + anon_sym_blob, 3478 + anon_sym_unknown, 3479 + [1094] = 13, 3480 + ACTIONS(3), 1, 3481 + sym_doc_comment, 3482 + ACTIONS(5), 1, 3483 + sym_comment, 3484 + ACTIONS(67), 1, 3485 + anon_sym_LBRACE, 3486 + ACTIONS(71), 1, 3487 + anon_sym_LBRACK, 3488 + ACTIONS(73), 1, 3489 + aux_sym_identifier_token1, 3490 + ACTIONS(75), 1, 3491 + anon_sym_BQUOTE, 3492 + STATE(83), 1, 3493 + sym_identifier, 3494 + STATE(93), 1, 3495 + sym_non_union_type, 3496 + STATE(108), 1, 3497 + sym_type_path, 3498 + STATE(123), 1, 3499 + sym_union_type, 3500 + STATE(225), 1, 3501 + sym_type, 3502 + STATE(107), 5, 3503 + sym_primitive_type, 3504 + sym_reference_type, 3505 + sym_array_type, 3506 + sym_object_type, 3507 + sym_constrained_type, 3508 + ACTIONS(69), 7, 3509 + anon_sym_null, 3510 + anon_sym_boolean, 3511 + anon_sym_integer, 3512 + anon_sym_string, 3513 + anon_sym_bytes, 3514 + anon_sym_blob, 3515 + anon_sym_unknown, 3516 + [1144] = 13, 3517 + ACTIONS(3), 1, 3518 + sym_doc_comment, 3519 + ACTIONS(5), 1, 3520 + sym_comment, 3521 + ACTIONS(67), 1, 3522 + anon_sym_LBRACE, 3523 + ACTIONS(71), 1, 3524 + anon_sym_LBRACK, 3525 + ACTIONS(73), 1, 3526 + aux_sym_identifier_token1, 3527 + ACTIONS(75), 1, 3528 + anon_sym_BQUOTE, 3529 + STATE(83), 1, 3530 + sym_identifier, 3531 + STATE(93), 1, 3532 + sym_non_union_type, 3533 + STATE(108), 1, 3534 + sym_type_path, 3535 + STATE(123), 1, 3536 + sym_union_type, 3537 + STATE(250), 1, 3538 + sym_type, 3539 + STATE(107), 5, 3540 + sym_primitive_type, 3541 + sym_reference_type, 3542 + sym_array_type, 3543 + sym_object_type, 3544 + sym_constrained_type, 3545 + ACTIONS(69), 7, 3546 + anon_sym_null, 3547 + anon_sym_boolean, 3548 + anon_sym_integer, 3549 + anon_sym_string, 3550 + anon_sym_bytes, 3551 + anon_sym_blob, 3552 + anon_sym_unknown, 3553 + [1194] = 13, 3554 + ACTIONS(3), 1, 3555 + sym_doc_comment, 3556 + ACTIONS(5), 1, 3557 + sym_comment, 3558 + ACTIONS(67), 1, 3559 + anon_sym_LBRACE, 3560 + ACTIONS(71), 1, 3561 + anon_sym_LBRACK, 3562 + ACTIONS(73), 1, 3563 + aux_sym_identifier_token1, 3564 + ACTIONS(75), 1, 3565 + anon_sym_BQUOTE, 3566 + STATE(83), 1, 3567 + sym_identifier, 3568 + STATE(93), 1, 3569 + sym_non_union_type, 3570 + STATE(108), 1, 3571 + sym_type_path, 3572 + STATE(123), 1, 3573 + sym_union_type, 3574 + STATE(260), 1, 3575 + sym_type, 3576 + STATE(107), 5, 3577 + sym_primitive_type, 3578 + sym_reference_type, 3579 + sym_array_type, 3580 + sym_object_type, 3581 + sym_constrained_type, 3582 + ACTIONS(69), 7, 3583 + anon_sym_null, 3584 + anon_sym_boolean, 3585 + anon_sym_integer, 3586 + anon_sym_string, 3587 + anon_sym_bytes, 3588 + anon_sym_blob, 3589 + anon_sym_unknown, 3590 + [1244] = 12, 3591 + ACTIONS(3), 1, 3592 + sym_doc_comment, 3593 + ACTIONS(5), 1, 3594 + sym_comment, 3595 + ACTIONS(67), 1, 3596 + anon_sym_LBRACE, 3597 + ACTIONS(71), 1, 3598 + anon_sym_LBRACK, 3599 + ACTIONS(73), 1, 3600 + aux_sym_identifier_token1, 3601 + ACTIONS(75), 1, 3602 + anon_sym_BQUOTE, 3603 + ACTIONS(77), 1, 3604 + anon_sym_BANG, 3605 + STATE(83), 1, 3606 + sym_identifier, 3607 + STATE(101), 1, 3608 + sym_non_union_type, 3609 + STATE(108), 1, 3610 + sym_type_path, 3611 + STATE(107), 5, 3612 + sym_primitive_type, 3613 + sym_reference_type, 3614 + sym_array_type, 3615 + sym_object_type, 3616 + sym_constrained_type, 3617 + ACTIONS(69), 7, 3618 + anon_sym_null, 3619 + anon_sym_boolean, 3620 + anon_sym_integer, 3621 + anon_sym_string, 3622 + anon_sym_bytes, 3623 + anon_sym_blob, 3624 + anon_sym_unknown, 3625 + [1291] = 14, 3626 + ACTIONS(3), 1, 3627 + sym_doc_comment, 3628 + ACTIONS(5), 1, 3629 + sym_comment, 3630 + ACTIONS(73), 1, 3631 + aux_sym_identifier_token1, 3632 + ACTIONS(75), 1, 3633 + anon_sym_BQUOTE, 3634 + ACTIONS(79), 1, 3635 + anon_sym_LBRACE, 3636 + ACTIONS(81), 1, 3637 + anon_sym_RPAREN, 3638 + ACTIONS(83), 1, 3639 + anon_sym_null, 3640 + ACTIONS(85), 1, 3641 + anon_sym_LBRACK, 3642 + STATE(126), 1, 3643 + sym_identifier, 3644 + STATE(215), 1, 3645 + sym_annotation_value, 3646 + STATE(223), 1, 3647 + sym_annotation_arg, 3648 + ACTIONS(87), 2, 3649 + sym_number, 3650 + sym_string, 3651 + ACTIONS(89), 2, 3652 + anon_sym_true, 3653 + anon_sym_false, 3654 + STATE(138), 5, 3655 + sym_null_literal, 3656 + sym_annotation_array, 3657 + sym_annotation_object, 3658 + sym_type_path, 3659 + sym_boolean, 3660 + [1340] = 14, 3661 + ACTIONS(3), 1, 3662 + sym_doc_comment, 3663 + ACTIONS(5), 1, 3664 + sym_comment, 3665 + ACTIONS(73), 1, 3666 + aux_sym_identifier_token1, 3667 + ACTIONS(75), 1, 3668 + anon_sym_BQUOTE, 3669 + ACTIONS(79), 1, 3670 + anon_sym_LBRACE, 3671 + ACTIONS(83), 1, 3672 + anon_sym_null, 3673 + ACTIONS(85), 1, 3674 + anon_sym_LBRACK, 3675 + ACTIONS(91), 1, 3676 + anon_sym_RPAREN, 3677 + STATE(126), 1, 3678 + sym_identifier, 3679 + STATE(215), 1, 3680 + sym_annotation_value, 3681 + STATE(223), 1, 3682 + sym_annotation_arg, 3683 + ACTIONS(87), 2, 3684 + sym_number, 3685 + sym_string, 3686 + ACTIONS(89), 2, 3687 + anon_sym_true, 3688 + anon_sym_false, 3689 + STATE(138), 5, 3690 + sym_null_literal, 3691 + sym_annotation_array, 3692 + sym_annotation_object, 3693 + sym_type_path, 3694 + sym_boolean, 3695 + [1389] = 14, 3696 + ACTIONS(3), 1, 3697 + sym_doc_comment, 3698 + ACTIONS(5), 1, 3699 + sym_comment, 3700 + ACTIONS(73), 1, 3701 + aux_sym_identifier_token1, 3702 + ACTIONS(75), 1, 3703 + anon_sym_BQUOTE, 3704 + ACTIONS(79), 1, 3705 + anon_sym_LBRACE, 3706 + ACTIONS(83), 1, 3707 + anon_sym_null, 3708 + ACTIONS(85), 1, 3709 + anon_sym_LBRACK, 3710 + ACTIONS(93), 1, 3711 + anon_sym_RPAREN, 3712 + STATE(126), 1, 3713 + sym_identifier, 3714 + STATE(215), 1, 3715 + sym_annotation_value, 3716 + STATE(223), 1, 3717 + sym_annotation_arg, 3718 + ACTIONS(87), 2, 3719 + sym_number, 3720 + sym_string, 3721 + ACTIONS(89), 2, 3722 + anon_sym_true, 3723 + anon_sym_false, 3724 + STATE(138), 5, 3725 + sym_null_literal, 3726 + sym_annotation_array, 3727 + sym_annotation_object, 3728 + sym_type_path, 3729 + sym_boolean, 3730 + [1438] = 14, 3731 + ACTIONS(3), 1, 3732 + sym_doc_comment, 3733 + ACTIONS(5), 1, 3734 + sym_comment, 3735 + ACTIONS(73), 1, 3736 + aux_sym_identifier_token1, 3737 + ACTIONS(75), 1, 3738 + anon_sym_BQUOTE, 3739 + ACTIONS(79), 1, 3740 + anon_sym_LBRACE, 3741 + ACTIONS(83), 1, 3742 + anon_sym_null, 3743 + ACTIONS(85), 1, 3744 + anon_sym_LBRACK, 3745 + ACTIONS(95), 1, 3746 + anon_sym_RPAREN, 3747 + STATE(126), 1, 3748 + sym_identifier, 3749 + STATE(162), 1, 3750 + sym_annotation_arg, 3751 + STATE(215), 1, 3752 + sym_annotation_value, 3753 + ACTIONS(87), 2, 3754 + sym_number, 3755 + sym_string, 3756 + ACTIONS(89), 2, 3757 + anon_sym_true, 3758 + anon_sym_false, 3759 + STATE(138), 5, 3760 + sym_null_literal, 3761 + sym_annotation_array, 3762 + sym_annotation_object, 3763 + sym_type_path, 3764 + sym_boolean, 3765 + [1487] = 14, 3766 + ACTIONS(3), 1, 3767 + sym_doc_comment, 3768 + ACTIONS(5), 1, 3769 + sym_comment, 3770 + ACTIONS(73), 1, 3771 + aux_sym_identifier_token1, 3772 + ACTIONS(75), 1, 3773 + anon_sym_BQUOTE, 3774 + ACTIONS(79), 1, 3775 + anon_sym_LBRACE, 3776 + ACTIONS(83), 1, 3777 + anon_sym_null, 3778 + ACTIONS(85), 1, 3779 + anon_sym_LBRACK, 3780 + ACTIONS(97), 1, 3781 + anon_sym_RPAREN, 3782 + STATE(126), 1, 3783 + sym_identifier, 3784 + STATE(215), 1, 3785 + sym_annotation_value, 3786 + STATE(223), 1, 3787 + sym_annotation_arg, 3788 + ACTIONS(87), 2, 3789 + sym_number, 3790 + sym_string, 3791 + ACTIONS(89), 2, 3792 + anon_sym_true, 3793 + anon_sym_false, 3794 + STATE(138), 5, 3795 + sym_null_literal, 3796 + sym_annotation_array, 3797 + sym_annotation_object, 3798 + sym_type_path, 3799 + sym_boolean, 3800 + [1536] = 14, 3801 + ACTIONS(3), 1, 3802 + sym_doc_comment, 3803 + ACTIONS(5), 1, 3804 + sym_comment, 3805 + ACTIONS(73), 1, 3806 + aux_sym_identifier_token1, 3807 + ACTIONS(75), 1, 3808 + anon_sym_BQUOTE, 3809 + ACTIONS(79), 1, 3810 + anon_sym_LBRACE, 3811 + ACTIONS(83), 1, 3812 + anon_sym_null, 3813 + ACTIONS(85), 1, 3814 + anon_sym_LBRACK, 3815 + ACTIONS(99), 1, 3816 + anon_sym_RPAREN, 3817 + STATE(126), 1, 3818 + sym_identifier, 3819 + STATE(207), 1, 3820 + sym_annotation_arg, 3821 + STATE(215), 1, 3822 + sym_annotation_value, 3823 + ACTIONS(87), 2, 3824 + sym_number, 3825 + sym_string, 3826 + ACTIONS(89), 2, 3827 + anon_sym_true, 3828 + anon_sym_false, 3829 + STATE(138), 5, 3830 + sym_null_literal, 3831 + sym_annotation_array, 3832 + sym_annotation_object, 3833 + sym_type_path, 3834 + sym_boolean, 3835 + [1585] = 13, 3836 + ACTIONS(3), 1, 3837 + sym_doc_comment, 3838 + ACTIONS(5), 1, 3839 + sym_comment, 3840 + ACTIONS(73), 1, 3841 + aux_sym_identifier_token1, 3842 + ACTIONS(75), 1, 3843 + anon_sym_BQUOTE, 3844 + ACTIONS(79), 1, 3845 + anon_sym_LBRACE, 3846 + ACTIONS(83), 1, 3847 + anon_sym_null, 3848 + ACTIONS(85), 1, 3849 + anon_sym_LBRACK, 3850 + ACTIONS(101), 1, 3851 + anon_sym_RBRACK, 3852 + STATE(83), 1, 3853 + sym_identifier, 3854 + STATE(245), 1, 3855 + sym_annotation_value, 3856 + ACTIONS(87), 2, 3857 + sym_number, 3858 + sym_string, 3859 + ACTIONS(89), 2, 3860 + anon_sym_true, 3861 + anon_sym_false, 3862 + STATE(138), 5, 3863 + sym_null_literal, 3864 + sym_annotation_array, 3865 + sym_annotation_object, 3866 + sym_type_path, 3867 + sym_boolean, 3868 + [1631] = 13, 3869 + ACTIONS(3), 1, 3870 + sym_doc_comment, 3871 + ACTIONS(5), 1, 3872 + sym_comment, 3873 + ACTIONS(73), 1, 3874 + aux_sym_identifier_token1, 3875 + ACTIONS(75), 1, 3876 + anon_sym_BQUOTE, 3877 + ACTIONS(79), 1, 3878 + anon_sym_LBRACE, 3879 + ACTIONS(83), 1, 3880 + anon_sym_null, 3881 + ACTIONS(85), 1, 3882 + anon_sym_LBRACK, 3883 + ACTIONS(103), 1, 3884 + anon_sym_RBRACK, 3885 + STATE(83), 1, 3886 + sym_identifier, 3887 + STATE(180), 1, 3888 + sym_annotation_value, 3889 + ACTIONS(87), 2, 3890 + sym_number, 3891 + sym_string, 3892 + ACTIONS(89), 2, 3893 + anon_sym_true, 3894 + anon_sym_false, 3895 + STATE(138), 5, 3896 + sym_null_literal, 3897 + sym_annotation_array, 3898 + sym_annotation_object, 3899 + sym_type_path, 3900 + sym_boolean, 3901 + [1677] = 13, 3902 + ACTIONS(3), 1, 3903 + sym_doc_comment, 3904 + ACTIONS(5), 1, 3905 + sym_comment, 3906 + ACTIONS(73), 1, 3907 + aux_sym_identifier_token1, 3908 + ACTIONS(75), 1, 3909 + anon_sym_BQUOTE, 3910 + ACTIONS(79), 1, 3911 + anon_sym_LBRACE, 3912 + ACTIONS(83), 1, 3913 + anon_sym_null, 3914 + ACTIONS(85), 1, 3915 + anon_sym_LBRACK, 3916 + STATE(126), 1, 3917 + sym_identifier, 3918 + STATE(215), 1, 3919 + sym_annotation_value, 3920 + STATE(223), 1, 3921 + sym_annotation_arg, 3922 + ACTIONS(87), 2, 3923 + sym_number, 3924 + sym_string, 3925 + ACTIONS(89), 2, 3926 + anon_sym_true, 3927 + anon_sym_false, 3928 + STATE(138), 5, 3929 + sym_null_literal, 3930 + sym_annotation_array, 3931 + sym_annotation_object, 3932 + sym_type_path, 3933 + sym_boolean, 3934 + [1723] = 13, 3935 + ACTIONS(3), 1, 3936 + sym_doc_comment, 3937 + ACTIONS(5), 1, 3938 + sym_comment, 3939 + ACTIONS(73), 1, 3940 + aux_sym_identifier_token1, 3941 + ACTIONS(75), 1, 3942 + anon_sym_BQUOTE, 3943 + ACTIONS(79), 1, 3944 + anon_sym_LBRACE, 3945 + ACTIONS(83), 1, 3946 + anon_sym_null, 3947 + ACTIONS(85), 1, 3948 + anon_sym_LBRACK, 3949 + ACTIONS(105), 1, 3950 + anon_sym_RBRACK, 3951 + STATE(83), 1, 3952 + sym_identifier, 3953 + STATE(245), 1, 3954 + sym_annotation_value, 3955 + ACTIONS(87), 2, 3956 + sym_number, 3957 + sym_string, 3958 + ACTIONS(89), 2, 3959 + anon_sym_true, 3960 + anon_sym_false, 3961 + STATE(138), 5, 3962 + sym_null_literal, 3963 + sym_annotation_array, 3964 + sym_annotation_object, 3965 + sym_type_path, 3966 + sym_boolean, 3967 + [1769] = 12, 3968 + ACTIONS(3), 1, 3969 + sym_doc_comment, 3970 + ACTIONS(5), 1, 3971 + sym_comment, 3972 + ACTIONS(73), 1, 3973 + aux_sym_identifier_token1, 3974 + ACTIONS(75), 1, 3975 + anon_sym_BQUOTE, 3976 + ACTIONS(79), 1, 3977 + anon_sym_LBRACE, 3978 + ACTIONS(83), 1, 3979 + anon_sym_null, 3980 + ACTIONS(85), 1, 3981 + anon_sym_LBRACK, 3982 + STATE(83), 1, 3983 + sym_identifier, 3984 + STATE(245), 1, 3985 + sym_annotation_value, 3986 + ACTIONS(87), 2, 3987 + sym_number, 3988 + sym_string, 3989 + ACTIONS(89), 2, 3990 + anon_sym_true, 3991 + anon_sym_false, 3992 + STATE(138), 5, 3993 + sym_null_literal, 3994 + sym_annotation_array, 3995 + sym_annotation_object, 3996 + sym_type_path, 3997 + sym_boolean, 3998 + [1812] = 12, 3999 + ACTIONS(3), 1, 4000 + sym_doc_comment, 4001 + ACTIONS(5), 1, 4002 + sym_comment, 4003 + ACTIONS(73), 1, 4004 + aux_sym_identifier_token1, 4005 + ACTIONS(75), 1, 4006 + anon_sym_BQUOTE, 4007 + ACTIONS(79), 1, 4008 + anon_sym_LBRACE, 4009 + ACTIONS(83), 1, 4010 + anon_sym_null, 4011 + ACTIONS(85), 1, 4012 + anon_sym_LBRACK, 4013 + STATE(83), 1, 4014 + sym_identifier, 4015 + STATE(238), 1, 4016 + sym_annotation_value, 4017 + ACTIONS(87), 2, 4018 + sym_number, 4019 + sym_string, 4020 + ACTIONS(89), 2, 4021 + anon_sym_true, 4022 + anon_sym_false, 4023 + STATE(138), 5, 4024 + sym_null_literal, 4025 + sym_annotation_array, 4026 + sym_annotation_object, 4027 + sym_type_path, 4028 + sym_boolean, 4029 + [1855] = 12, 4030 + ACTIONS(3), 1, 4031 + sym_doc_comment, 4032 + ACTIONS(5), 1, 4033 + sym_comment, 4034 + ACTIONS(73), 1, 4035 + aux_sym_identifier_token1, 4036 + ACTIONS(75), 1, 4037 + anon_sym_BQUOTE, 4038 + ACTIONS(79), 1, 4039 + anon_sym_LBRACE, 4040 + ACTIONS(83), 1, 4041 + anon_sym_null, 4042 + ACTIONS(85), 1, 4043 + anon_sym_LBRACK, 4044 + STATE(83), 1, 4045 + sym_identifier, 4046 + STATE(239), 1, 4047 + sym_annotation_value, 4048 + ACTIONS(87), 2, 4049 + sym_number, 4050 + sym_string, 4051 + ACTIONS(89), 2, 4052 + anon_sym_true, 4053 + anon_sym_false, 4054 + STATE(138), 5, 4055 + sym_null_literal, 4056 + sym_annotation_array, 4057 + sym_annotation_object, 4058 + sym_type_path, 4059 + sym_boolean, 4060 + [1898] = 8, 4061 + ACTIONS(3), 1, 4062 + sym_doc_comment, 4063 + ACTIONS(5), 1, 4064 + sym_comment, 4065 + ACTIONS(109), 1, 4066 + anon_sym_COMMA, 4067 + ACTIONS(111), 1, 4068 + anon_sym_COLON, 4069 + ACTIONS(113), 1, 4070 + anon_sym_LPAREN, 4071 + STATE(85), 1, 4072 + sym_annotation_args, 4073 + STATE(179), 1, 4074 + aux_sym_annotation_selectors_repeat1, 4075 + ACTIONS(107), 9, 4076 + anon_sym_self, 4077 + anon_sym_AT, 4078 + anon_sym_record, 4079 + anon_sym_inline, 4080 + anon_sym_def, 4081 + anon_sym_token, 4082 + anon_sym_query, 4083 + anon_sym_procedure, 4084 + anon_sym_subscription, 4085 + [1931] = 3, 4086 + ACTIONS(3), 1, 4087 + sym_doc_comment, 4088 + ACTIONS(5), 1, 4089 + sym_comment, 4090 + ACTIONS(115), 11, 4091 + ts_builtin_sym_end, 4092 + anon_sym_self, 4093 + anon_sym_AT, 4094 + anon_sym_use, 4095 + anon_sym_record, 4096 + anon_sym_inline, 4097 + anon_sym_def, 4098 + anon_sym_token, 4099 + anon_sym_query, 4100 + anon_sym_procedure, 4101 + anon_sym_subscription, 4102 + [1951] = 3, 4103 + ACTIONS(3), 1, 4104 + sym_doc_comment, 4105 + ACTIONS(5), 1, 4106 + sym_comment, 4107 + ACTIONS(117), 11, 4108 + ts_builtin_sym_end, 4109 + anon_sym_self, 4110 + anon_sym_AT, 4111 + anon_sym_use, 4112 + anon_sym_record, 4113 + anon_sym_inline, 4114 + anon_sym_def, 4115 + anon_sym_token, 4116 + anon_sym_query, 4117 + anon_sym_procedure, 4118 + anon_sym_subscription, 4119 + [1971] = 3, 4120 + ACTIONS(3), 1, 4121 + sym_doc_comment, 4122 + ACTIONS(5), 1, 4123 + sym_comment, 4124 + ACTIONS(119), 11, 4125 + ts_builtin_sym_end, 4126 + anon_sym_self, 4127 + anon_sym_AT, 4128 + anon_sym_use, 4129 + anon_sym_record, 4130 + anon_sym_inline, 4131 + anon_sym_def, 4132 + anon_sym_token, 4133 + anon_sym_query, 4134 + anon_sym_procedure, 4135 + anon_sym_subscription, 4136 + [1991] = 3, 4137 + ACTIONS(3), 1, 4138 + sym_doc_comment, 4139 + ACTIONS(5), 1, 4140 + sym_comment, 4141 + ACTIONS(121), 11, 4142 + ts_builtin_sym_end, 4143 + anon_sym_self, 4144 + anon_sym_AT, 4145 + anon_sym_use, 4146 + anon_sym_record, 4147 + anon_sym_inline, 4148 + anon_sym_def, 4149 + anon_sym_token, 4150 + anon_sym_query, 4151 + anon_sym_procedure, 4152 + anon_sym_subscription, 4153 + [2011] = 3, 4154 + ACTIONS(3), 1, 4155 + sym_doc_comment, 4156 + ACTIONS(5), 1, 4157 + sym_comment, 4158 + ACTIONS(123), 11, 4159 + ts_builtin_sym_end, 4160 + anon_sym_self, 4161 + anon_sym_AT, 4162 + anon_sym_use, 4163 + anon_sym_record, 4164 + anon_sym_inline, 4165 + anon_sym_def, 4166 + anon_sym_token, 4167 + anon_sym_query, 4168 + anon_sym_procedure, 4169 + anon_sym_subscription, 4170 + [2031] = 3, 4171 + ACTIONS(3), 1, 4172 + sym_doc_comment, 4173 + ACTIONS(5), 1, 4174 + sym_comment, 4175 + ACTIONS(125), 11, 4176 + ts_builtin_sym_end, 4177 + anon_sym_self, 4178 + anon_sym_AT, 4179 + anon_sym_use, 4180 + anon_sym_record, 4181 + anon_sym_inline, 4182 + anon_sym_def, 4183 + anon_sym_token, 4184 + anon_sym_query, 4185 + anon_sym_procedure, 4186 + anon_sym_subscription, 4187 + [2051] = 3, 4188 + ACTIONS(3), 1, 4189 + sym_doc_comment, 4190 + ACTIONS(5), 1, 4191 + sym_comment, 4192 + ACTIONS(127), 11, 4193 + ts_builtin_sym_end, 4194 + anon_sym_self, 4195 + anon_sym_AT, 4196 + anon_sym_use, 4197 + anon_sym_record, 4198 + anon_sym_inline, 4199 + anon_sym_def, 4200 + anon_sym_token, 4201 + anon_sym_query, 4202 + anon_sym_procedure, 4203 + anon_sym_subscription, 4204 + [2071] = 3, 4205 + ACTIONS(3), 1, 4206 + sym_doc_comment, 4207 + ACTIONS(5), 1, 4208 + sym_comment, 4209 + ACTIONS(129), 11, 4210 + ts_builtin_sym_end, 4211 + anon_sym_self, 4212 + anon_sym_AT, 4213 + anon_sym_use, 4214 + anon_sym_record, 4215 + anon_sym_inline, 4216 + anon_sym_def, 4217 + anon_sym_token, 4218 + anon_sym_query, 4219 + anon_sym_procedure, 4220 + anon_sym_subscription, 4221 + [2091] = 3, 4222 + ACTIONS(3), 1, 4223 + sym_doc_comment, 4224 + ACTIONS(5), 1, 4225 + sym_comment, 4226 + ACTIONS(131), 11, 4227 + ts_builtin_sym_end, 4228 + anon_sym_self, 4229 + anon_sym_AT, 4230 + anon_sym_use, 4231 + anon_sym_record, 4232 + anon_sym_inline, 4233 + anon_sym_def, 4234 + anon_sym_token, 4235 + anon_sym_query, 4236 + anon_sym_procedure, 4237 + anon_sym_subscription, 4238 + [2111] = 3, 4239 + ACTIONS(3), 1, 4240 + sym_doc_comment, 4241 + ACTIONS(5), 1, 4242 + sym_comment, 4243 + ACTIONS(133), 11, 4244 + ts_builtin_sym_end, 4245 + anon_sym_self, 4246 + anon_sym_AT, 4247 + anon_sym_use, 4248 + anon_sym_record, 4249 + anon_sym_inline, 4250 + anon_sym_def, 4251 + anon_sym_token, 4252 + anon_sym_query, 4253 + anon_sym_procedure, 4254 + anon_sym_subscription, 4255 + [2131] = 3, 4256 + ACTIONS(3), 1, 4257 + sym_doc_comment, 4258 + ACTIONS(5), 1, 4259 + sym_comment, 4260 + ACTIONS(135), 11, 4261 + ts_builtin_sym_end, 4262 + anon_sym_self, 4263 + anon_sym_AT, 4264 + anon_sym_use, 4265 + anon_sym_record, 4266 + anon_sym_inline, 4267 + anon_sym_def, 4268 + anon_sym_token, 4269 + anon_sym_query, 4270 + anon_sym_procedure, 4271 + anon_sym_subscription, 4272 + [2151] = 3, 4273 + ACTIONS(3), 1, 4274 + sym_doc_comment, 4275 + ACTIONS(5), 1, 4276 + sym_comment, 4277 + ACTIONS(137), 11, 4278 + ts_builtin_sym_end, 4279 + anon_sym_self, 4280 + anon_sym_AT, 4281 + anon_sym_use, 4282 + anon_sym_record, 4283 + anon_sym_inline, 4284 + anon_sym_def, 4285 + anon_sym_token, 4286 + anon_sym_query, 4287 + anon_sym_procedure, 4288 + anon_sym_subscription, 4289 + [2171] = 3, 4290 + ACTIONS(3), 1, 4291 + sym_doc_comment, 4292 + ACTIONS(5), 1, 4293 + sym_comment, 4294 + ACTIONS(139), 11, 4295 + ts_builtin_sym_end, 4296 + anon_sym_self, 4297 + anon_sym_AT, 4298 + anon_sym_use, 4299 + anon_sym_record, 4300 + anon_sym_inline, 4301 + anon_sym_def, 4302 + anon_sym_token, 4303 + anon_sym_query, 4304 + anon_sym_procedure, 4305 + anon_sym_subscription, 4306 + [2191] = 12, 4307 + ACTIONS(3), 1, 4308 + sym_doc_comment, 4309 + ACTIONS(5), 1, 4310 + sym_comment, 4311 + ACTIONS(11), 1, 4312 + anon_sym_AT, 4313 + ACTIONS(141), 1, 4314 + anon_sym_self, 4315 + ACTIONS(143), 1, 4316 + anon_sym_record, 4317 + ACTIONS(145), 1, 4318 + anon_sym_inline, 4319 + ACTIONS(147), 1, 4320 + anon_sym_def, 4321 + ACTIONS(149), 1, 4322 + anon_sym_token, 4323 + ACTIONS(151), 1, 4324 + anon_sym_query, 4325 + ACTIONS(153), 1, 4326 + anon_sym_procedure, 4327 + ACTIONS(155), 1, 4328 + anon_sym_subscription, 4329 + STATE(56), 2, 4330 + sym_annotation, 4331 + aux_sym_self_definition_repeat1, 4332 + [2229] = 5, 4333 + ACTIONS(3), 1, 4334 + sym_doc_comment, 4335 + ACTIONS(5), 1, 4336 + sym_comment, 4337 + ACTIONS(159), 1, 4338 + anon_sym_AT, 4339 + STATE(56), 2, 4340 + sym_annotation, 4341 + aux_sym_self_definition_repeat1, 4342 + ACTIONS(157), 8, 4343 + anon_sym_self, 4344 + anon_sym_record, 4345 + anon_sym_inline, 4346 + anon_sym_def, 4347 + anon_sym_token, 4348 + anon_sym_query, 4349 + anon_sym_procedure, 4350 + anon_sym_subscription, 4351 + [2253] = 3, 4352 + ACTIONS(3), 1, 4353 + sym_doc_comment, 4354 + ACTIONS(5), 1, 4355 + sym_comment, 4356 + ACTIONS(162), 11, 4357 + ts_builtin_sym_end, 4358 + anon_sym_self, 4359 + anon_sym_AT, 4360 + anon_sym_use, 4361 + anon_sym_record, 4362 + anon_sym_inline, 4363 + anon_sym_def, 4364 + anon_sym_token, 4365 + anon_sym_query, 4366 + anon_sym_procedure, 4367 + anon_sym_subscription, 4368 + [2273] = 3, 4369 + ACTIONS(3), 1, 4370 + sym_doc_comment, 4371 + ACTIONS(5), 1, 4372 + sym_comment, 4373 + ACTIONS(164), 11, 4374 + ts_builtin_sym_end, 4375 + anon_sym_self, 4376 + anon_sym_AT, 4377 + anon_sym_use, 4378 + anon_sym_record, 4379 + anon_sym_inline, 4380 + anon_sym_def, 4381 + anon_sym_token, 4382 + anon_sym_query, 4383 + anon_sym_procedure, 4384 + anon_sym_subscription, 4385 + [2293] = 3, 4386 + ACTIONS(3), 1, 4387 + sym_doc_comment, 4388 + ACTIONS(5), 1, 4389 + sym_comment, 4390 + ACTIONS(166), 11, 4391 + ts_builtin_sym_end, 4392 + anon_sym_self, 4393 + anon_sym_AT, 4394 + anon_sym_use, 4395 + anon_sym_record, 4396 + anon_sym_inline, 4397 + anon_sym_def, 4398 + anon_sym_token, 4399 + anon_sym_query, 4400 + anon_sym_procedure, 4401 + anon_sym_subscription, 4402 + [2313] = 3, 4403 + ACTIONS(3), 1, 4404 + sym_doc_comment, 4405 + ACTIONS(5), 1, 4406 + sym_comment, 4407 + ACTIONS(168), 11, 4408 + ts_builtin_sym_end, 4409 + anon_sym_self, 4410 + anon_sym_AT, 4411 + anon_sym_use, 4412 + anon_sym_record, 4413 + anon_sym_inline, 4414 + anon_sym_def, 4415 + anon_sym_token, 4416 + anon_sym_query, 4417 + anon_sym_procedure, 4418 + anon_sym_subscription, 4419 + [2333] = 3, 4420 + ACTIONS(3), 1, 4421 + sym_doc_comment, 4422 + ACTIONS(5), 1, 4423 + sym_comment, 4424 + ACTIONS(170), 11, 4425 + ts_builtin_sym_end, 4426 + anon_sym_self, 4427 + anon_sym_AT, 4428 + anon_sym_use, 4429 + anon_sym_record, 4430 + anon_sym_inline, 4431 + anon_sym_def, 4432 + anon_sym_token, 4433 + anon_sym_query, 4434 + anon_sym_procedure, 4435 + anon_sym_subscription, 4436 + [2353] = 3, 4437 + ACTIONS(3), 1, 4438 + sym_doc_comment, 4439 + ACTIONS(5), 1, 4440 + sym_comment, 4441 + ACTIONS(172), 11, 4442 + ts_builtin_sym_end, 4443 + anon_sym_self, 4444 + anon_sym_AT, 4445 + anon_sym_use, 4446 + anon_sym_record, 4447 + anon_sym_inline, 4448 + anon_sym_def, 4449 + anon_sym_token, 4450 + anon_sym_query, 4451 + anon_sym_procedure, 4452 + anon_sym_subscription, 4453 + [2373] = 3, 4454 + ACTIONS(3), 1, 4455 + sym_doc_comment, 4456 + ACTIONS(5), 1, 4457 + sym_comment, 4458 + ACTIONS(174), 11, 4459 + ts_builtin_sym_end, 4460 + anon_sym_self, 4461 + anon_sym_AT, 4462 + anon_sym_use, 4463 + anon_sym_record, 4464 + anon_sym_inline, 4465 + anon_sym_def, 4466 + anon_sym_token, 4467 + anon_sym_query, 4468 + anon_sym_procedure, 4469 + anon_sym_subscription, 4470 + [2393] = 5, 4471 + ACTIONS(3), 1, 4472 + sym_doc_comment, 4473 + ACTIONS(5), 1, 4474 + sym_comment, 4475 + ACTIONS(113), 1, 4476 + anon_sym_LPAREN, 4477 + STATE(84), 1, 4478 + sym_annotation_args, 4479 + ACTIONS(176), 9, 4480 + anon_sym_self, 4481 + anon_sym_AT, 4482 + anon_sym_record, 4483 + anon_sym_inline, 4484 + anon_sym_def, 4485 + anon_sym_token, 4486 + anon_sym_query, 4487 + anon_sym_procedure, 4488 + anon_sym_subscription, 4489 + [2417] = 3, 4490 + ACTIONS(3), 1, 4491 + sym_doc_comment, 4492 + ACTIONS(5), 1, 4493 + sym_comment, 4494 + ACTIONS(178), 11, 4495 + ts_builtin_sym_end, 4496 + anon_sym_self, 4497 + anon_sym_AT, 4498 + anon_sym_use, 4499 + anon_sym_record, 4500 + anon_sym_inline, 4501 + anon_sym_def, 4502 + anon_sym_token, 4503 + anon_sym_query, 4504 + anon_sym_procedure, 4505 + anon_sym_subscription, 4506 + [2437] = 3, 4507 + ACTIONS(3), 1, 4508 + sym_doc_comment, 4509 + ACTIONS(5), 1, 4510 + sym_comment, 4511 + ACTIONS(180), 11, 4512 + ts_builtin_sym_end, 4513 + anon_sym_self, 4514 + anon_sym_AT, 4515 + anon_sym_use, 4516 + anon_sym_record, 4517 + anon_sym_inline, 4518 + anon_sym_def, 4519 + anon_sym_token, 4520 + anon_sym_query, 4521 + anon_sym_procedure, 4522 + anon_sym_subscription, 4523 + [2457] = 3, 4524 + ACTIONS(3), 1, 4525 + sym_doc_comment, 4526 + ACTIONS(5), 1, 4527 + sym_comment, 4528 + ACTIONS(182), 11, 4529 + ts_builtin_sym_end, 4530 + anon_sym_self, 4531 + anon_sym_AT, 4532 + anon_sym_use, 4533 + anon_sym_record, 4534 + anon_sym_inline, 4535 + anon_sym_def, 4536 + anon_sym_token, 4537 + anon_sym_query, 4538 + anon_sym_procedure, 4539 + anon_sym_subscription, 4540 + [2477] = 5, 4541 + ACTIONS(3), 1, 4542 + sym_doc_comment, 4543 + ACTIONS(5), 1, 4544 + sym_comment, 4545 + ACTIONS(186), 1, 4546 + anon_sym_DOT, 4547 + STATE(68), 1, 4548 + aux_sym_type_path_repeat1, 4549 + ACTIONS(184), 8, 4550 + anon_sym_RBRACE, 4551 + anon_sym_COMMA, 4552 + anon_sym_RPAREN, 4553 + anon_sym_RBRACK, 4554 + anon_sym_as, 4555 + anon_sym_SEMI, 4556 + anon_sym_PIPE, 4557 + anon_sym_constrained, 4558 + [2500] = 3, 4559 + ACTIONS(3), 1, 4560 + sym_doc_comment, 4561 + ACTIONS(5), 1, 4562 + sym_comment, 4563 + ACTIONS(189), 9, 4564 + anon_sym_self, 4565 + anon_sym_AT, 4566 + anon_sym_record, 4567 + anon_sym_inline, 4568 + anon_sym_def, 4569 + anon_sym_token, 4570 + anon_sym_query, 4571 + anon_sym_procedure, 4572 + anon_sym_subscription, 4573 + [2518] = 3, 4574 + ACTIONS(3), 1, 4575 + sym_doc_comment, 4576 + ACTIONS(5), 1, 4577 + sym_comment, 4578 + ACTIONS(191), 9, 4579 + anon_sym_self, 4580 + anon_sym_AT, 4581 + anon_sym_record, 4582 + anon_sym_inline, 4583 + anon_sym_def, 4584 + anon_sym_token, 4585 + anon_sym_query, 4586 + anon_sym_procedure, 4587 + anon_sym_subscription, 4588 + [2536] = 9, 4589 + ACTIONS(5), 1, 4590 + sym_comment, 4591 + ACTIONS(75), 1, 4592 + anon_sym_BQUOTE, 4593 + ACTIONS(193), 1, 4594 + anon_sym_RBRACE, 4595 + ACTIONS(195), 1, 4596 + sym_doc_comment, 4597 + ACTIONS(197), 1, 4598 + anon_sym_AT, 4599 + ACTIONS(199), 1, 4600 + aux_sym_identifier_token1, 4601 + STATE(235), 1, 4602 + sym_identifier, 4603 + STATE(78), 2, 4604 + sym_field, 4605 + aux_sym_record_body_repeat1, 4606 + STATE(116), 2, 4607 + sym_annotation, 4608 + aux_sym_self_definition_repeat1, 4609 + [2566] = 3, 4610 + ACTIONS(3), 1, 4611 + sym_doc_comment, 4612 + ACTIONS(5), 1, 4613 + sym_comment, 4614 + ACTIONS(201), 9, 4615 + anon_sym_self, 4616 + anon_sym_AT, 4617 + anon_sym_record, 4618 + anon_sym_inline, 4619 + anon_sym_def, 4620 + anon_sym_token, 4621 + anon_sym_query, 4622 + anon_sym_procedure, 4623 + anon_sym_subscription, 4624 + [2584] = 3, 4625 + ACTIONS(3), 1, 4626 + sym_doc_comment, 4627 + ACTIONS(5), 1, 4628 + sym_comment, 4629 + ACTIONS(184), 9, 4630 + anon_sym_RBRACE, 4631 + anon_sym_COMMA, 4632 + anon_sym_RPAREN, 4633 + anon_sym_RBRACK, 4634 + anon_sym_as, 4635 + anon_sym_DOT, 4636 + anon_sym_SEMI, 4637 + anon_sym_PIPE, 4638 + anon_sym_constrained, 4639 + [2602] = 9, 4640 + ACTIONS(5), 1, 4641 + sym_comment, 4642 + ACTIONS(75), 1, 4643 + anon_sym_BQUOTE, 4644 + ACTIONS(195), 1, 4645 + sym_doc_comment, 4646 + ACTIONS(197), 1, 4647 + anon_sym_AT, 4648 + ACTIONS(199), 1, 4649 + aux_sym_identifier_token1, 4650 + ACTIONS(203), 1, 4651 + anon_sym_RBRACE, 4652 + STATE(235), 1, 4653 + sym_identifier, 4654 + STATE(76), 2, 4655 + sym_field, 4656 + aux_sym_record_body_repeat1, 4657 + STATE(116), 2, 4658 + sym_annotation, 4659 + aux_sym_self_definition_repeat1, 4660 + [2632] = 3, 4661 + ACTIONS(3), 1, 4662 + sym_doc_comment, 4663 + ACTIONS(5), 1, 4664 + sym_comment, 4665 + ACTIONS(205), 9, 4666 + anon_sym_self, 4667 + anon_sym_AT, 4668 + anon_sym_record, 4669 + anon_sym_inline, 4670 + anon_sym_def, 4671 + anon_sym_token, 4672 + anon_sym_query, 4673 + anon_sym_procedure, 4674 + anon_sym_subscription, 4675 + [2650] = 9, 4676 + ACTIONS(5), 1, 4677 + sym_comment, 4678 + ACTIONS(207), 1, 4679 + anon_sym_RBRACE, 4680 + ACTIONS(209), 1, 4681 + sym_doc_comment, 4682 + ACTIONS(212), 1, 4683 + anon_sym_AT, 4684 + ACTIONS(215), 1, 4685 + aux_sym_identifier_token1, 4686 + ACTIONS(218), 1, 4687 + anon_sym_BQUOTE, 4688 + STATE(235), 1, 4689 + sym_identifier, 4690 + STATE(76), 2, 4691 + sym_field, 4692 + aux_sym_record_body_repeat1, 4693 + STATE(116), 2, 4694 + sym_annotation, 4695 + aux_sym_self_definition_repeat1, 4696 + [2680] = 9, 4697 + ACTIONS(5), 1, 4698 + sym_comment, 4699 + ACTIONS(75), 1, 4700 + anon_sym_BQUOTE, 4701 + ACTIONS(195), 1, 4702 + sym_doc_comment, 4703 + ACTIONS(197), 1, 4704 + anon_sym_AT, 4705 + ACTIONS(199), 1, 4706 + aux_sym_identifier_token1, 4707 + ACTIONS(221), 1, 4708 + anon_sym_RBRACE, 4709 + STATE(235), 1, 4710 + sym_identifier, 4711 + STATE(74), 2, 4712 + sym_field, 4713 + aux_sym_record_body_repeat1, 4714 + STATE(116), 2, 4715 + sym_annotation, 4716 + aux_sym_self_definition_repeat1, 4717 + [2710] = 9, 4718 + ACTIONS(5), 1, 4719 + sym_comment, 4720 + ACTIONS(75), 1, 4721 + anon_sym_BQUOTE, 4722 + ACTIONS(195), 1, 4723 + sym_doc_comment, 4724 + ACTIONS(197), 1, 4725 + anon_sym_AT, 4726 + ACTIONS(199), 1, 4727 + aux_sym_identifier_token1, 4728 + ACTIONS(223), 1, 4729 + anon_sym_RBRACE, 4730 + STATE(235), 1, 4731 + sym_identifier, 4732 + STATE(76), 2, 4733 + sym_field, 4734 + aux_sym_record_body_repeat1, 4735 + STATE(116), 2, 4736 + sym_annotation, 4737 + aux_sym_self_definition_repeat1, 4738 + [2740] = 5, 4739 + ACTIONS(3), 1, 4740 + sym_doc_comment, 4741 + ACTIONS(5), 1, 4742 + sym_comment, 4743 + ACTIONS(227), 1, 4744 + anon_sym_DOT, 4745 + STATE(68), 1, 4746 + aux_sym_type_path_repeat1, 4747 + ACTIONS(225), 7, 4748 + anon_sym_RBRACE, 4749 + anon_sym_COMMA, 4750 + anon_sym_RPAREN, 4751 + anon_sym_RBRACK, 4752 + anon_sym_SEMI, 4753 + anon_sym_PIPE, 4754 + anon_sym_constrained, 4755 + [2762] = 8, 4756 + ACTIONS(3), 1, 4757 + sym_doc_comment, 4758 + ACTIONS(5), 1, 4759 + sym_comment, 4760 + ACTIONS(229), 1, 4761 + anon_sym_LBRACK, 4762 + ACTIONS(231), 1, 4763 + anon_sym_RBRACK, 4764 + STATE(192), 1, 4765 + sym_constraint_value, 4766 + ACTIONS(233), 2, 4767 + sym_number, 4768 + sym_string, 4769 + ACTIONS(235), 2, 4770 + anon_sym_true, 4771 + anon_sym_false, 4772 + STATE(229), 2, 4773 + sym_array_literal, 4774 + sym_boolean, 4775 + [2790] = 8, 4776 + ACTIONS(3), 1, 4777 + sym_doc_comment, 4778 + ACTIONS(5), 1, 4779 + sym_comment, 4780 + ACTIONS(229), 1, 4781 + anon_sym_LBRACK, 4782 + ACTIONS(237), 1, 4783 + anon_sym_RBRACK, 4784 + STATE(234), 1, 4785 + sym_constraint_value, 4786 + ACTIONS(233), 2, 4787 + sym_number, 4788 + sym_string, 4789 + ACTIONS(235), 2, 4790 + anon_sym_true, 4791 + anon_sym_false, 4792 + STATE(229), 2, 4793 + sym_array_literal, 4794 + sym_boolean, 4795 + [2818] = 8, 4796 + ACTIONS(3), 1, 4797 + sym_doc_comment, 4798 + ACTIONS(5), 1, 4799 + sym_comment, 4800 + ACTIONS(229), 1, 4801 + anon_sym_LBRACK, 4802 + ACTIONS(239), 1, 4803 + anon_sym_RBRACK, 4804 + STATE(234), 1, 4805 + sym_constraint_value, 4806 + ACTIONS(233), 2, 4807 + sym_number, 4808 + sym_string, 4809 + ACTIONS(235), 2, 4810 + anon_sym_true, 4811 + anon_sym_false, 4812 + STATE(229), 2, 4813 + sym_array_literal, 4814 + sym_boolean, 4815 + [2846] = 5, 4816 + ACTIONS(3), 1, 4817 + sym_doc_comment, 4818 + ACTIONS(5), 1, 4819 + sym_comment, 4820 + ACTIONS(227), 1, 4821 + anon_sym_DOT, 4822 + STATE(79), 1, 4823 + aux_sym_type_path_repeat1, 4824 + ACTIONS(241), 7, 4825 + anon_sym_RBRACE, 4826 + anon_sym_COMMA, 4827 + anon_sym_RPAREN, 4828 + anon_sym_RBRACK, 4829 + anon_sym_SEMI, 4830 + anon_sym_PIPE, 4831 + anon_sym_constrained, 4832 + [2868] = 3, 4833 + ACTIONS(3), 1, 4834 + sym_doc_comment, 4835 + ACTIONS(5), 1, 4836 + sym_comment, 4837 + ACTIONS(243), 9, 4838 + anon_sym_self, 4839 + anon_sym_AT, 4840 + anon_sym_record, 4841 + anon_sym_inline, 4842 + anon_sym_def, 4843 + anon_sym_token, 4844 + anon_sym_query, 4845 + anon_sym_procedure, 4846 + anon_sym_subscription, 4847 + [2886] = 3, 4848 + ACTIONS(3), 1, 4849 + sym_doc_comment, 4850 + ACTIONS(5), 1, 4851 + sym_comment, 4852 + ACTIONS(245), 9, 4853 + anon_sym_self, 4854 + anon_sym_AT, 4855 + anon_sym_record, 4856 + anon_sym_inline, 4857 + anon_sym_def, 4858 + anon_sym_token, 4859 + anon_sym_query, 4860 + anon_sym_procedure, 4861 + anon_sym_subscription, 4862 + [2904] = 9, 4863 + ACTIONS(3), 1, 4864 + sym_doc_comment, 4865 + ACTIONS(5), 1, 4866 + sym_comment, 4867 + ACTIONS(75), 1, 4868 + anon_sym_BQUOTE, 4869 + ACTIONS(197), 1, 4870 + anon_sym_AT, 4871 + ACTIONS(199), 1, 4872 + aux_sym_identifier_token1, 4873 + ACTIONS(247), 1, 4874 + anon_sym_RPAREN, 4875 + STATE(214), 1, 4876 + sym_identifier, 4877 + STATE(224), 1, 4878 + sym_parameter, 4879 + STATE(119), 2, 4880 + sym_annotation, 4881 + aux_sym_self_definition_repeat1, 4882 + [2933] = 9, 4883 + ACTIONS(3), 1, 4884 + sym_doc_comment, 4885 + ACTIONS(5), 1, 4886 + sym_comment, 4887 + ACTIONS(75), 1, 4888 + anon_sym_BQUOTE, 4889 + ACTIONS(197), 1, 4890 + anon_sym_AT, 4891 + ACTIONS(199), 1, 4892 + aux_sym_identifier_token1, 4893 + ACTIONS(249), 1, 4894 + anon_sym_RPAREN, 4895 + STATE(174), 1, 4896 + sym_parameter, 4897 + STATE(214), 1, 4898 + sym_identifier, 4899 + STATE(119), 2, 4900 + sym_annotation, 4901 + aux_sym_self_definition_repeat1, 4902 + [2962] = 9, 4903 + ACTIONS(3), 1, 4904 + sym_doc_comment, 4905 + ACTIONS(5), 1, 4906 + sym_comment, 4907 + ACTIONS(75), 1, 4908 + anon_sym_BQUOTE, 4909 + ACTIONS(197), 1, 4910 + anon_sym_AT, 4911 + ACTIONS(199), 1, 4912 + aux_sym_identifier_token1, 4913 + ACTIONS(251), 1, 4914 + anon_sym_RPAREN, 4915 + STATE(214), 1, 4916 + sym_identifier, 4917 + STATE(224), 1, 4918 + sym_parameter, 4919 + STATE(119), 2, 4920 + sym_annotation, 4921 + aux_sym_self_definition_repeat1, 4922 + [2991] = 7, 4923 + ACTIONS(3), 1, 4924 + sym_doc_comment, 4925 + ACTIONS(5), 1, 4926 + sym_comment, 4927 + ACTIONS(229), 1, 4928 + anon_sym_LBRACK, 4929 + STATE(271), 1, 4930 + sym_constraint_value, 4931 + ACTIONS(233), 2, 4932 + sym_number, 4933 + sym_string, 4934 + ACTIONS(235), 2, 4935 + anon_sym_true, 4936 + anon_sym_false, 4937 + STATE(229), 2, 4938 + sym_array_literal, 4939 + sym_boolean, 4940 + [3016] = 7, 4941 + ACTIONS(3), 1, 4942 + sym_doc_comment, 4943 + ACTIONS(5), 1, 4944 + sym_comment, 4945 + ACTIONS(229), 1, 4946 + anon_sym_LBRACK, 4947 + STATE(234), 1, 4948 + sym_constraint_value, 4949 + ACTIONS(233), 2, 4950 + sym_number, 4951 + sym_string, 4952 + ACTIONS(235), 2, 4953 + anon_sym_true, 4954 + anon_sym_false, 4955 + STATE(229), 2, 4956 + sym_array_literal, 4957 + sym_boolean, 4958 + [3041] = 8, 4959 + ACTIONS(3), 1, 4960 + sym_doc_comment, 4961 + ACTIONS(5), 1, 4962 + sym_comment, 4963 + ACTIONS(109), 1, 4964 + anon_sym_COMMA, 4965 + ACTIONS(111), 1, 4966 + anon_sym_COLON, 4967 + ACTIONS(253), 1, 4968 + anon_sym_LPAREN, 4969 + STATE(179), 1, 4970 + aux_sym_annotation_selectors_repeat1, 4971 + STATE(200), 1, 4972 + sym_annotation_args, 4973 + ACTIONS(107), 3, 4974 + anon_sym_AT, 4975 + aux_sym_identifier_token1, 4976 + anon_sym_BQUOTE, 4977 + [3068] = 8, 4978 + ACTIONS(3), 1, 4979 + sym_doc_comment, 4980 + ACTIONS(5), 1, 4981 + sym_comment, 4982 + ACTIONS(75), 1, 4983 + anon_sym_BQUOTE, 4984 + ACTIONS(197), 1, 4985 + anon_sym_AT, 4986 + ACTIONS(199), 1, 4987 + aux_sym_identifier_token1, 4988 + STATE(214), 1, 4989 + sym_identifier, 4990 + STATE(224), 1, 4991 + sym_parameter, 4992 + STATE(119), 2, 4993 + sym_annotation, 4994 + aux_sym_self_definition_repeat1, 4995 + [3094] = 6, 4996 + ACTIONS(3), 1, 4997 + sym_doc_comment, 4998 + ACTIONS(5), 1, 4999 + sym_comment, 5000 + ACTIONS(257), 1, 5001 + anon_sym_PIPE, 5002 + ACTIONS(259), 1, 5003 + anon_sym_constrained, 5004 + STATE(112), 1, 5005 + aux_sym_union_type_repeat1, 5006 + ACTIONS(255), 4, 5007 + anon_sym_COMMA, 5008 + anon_sym_RPAREN, 5009 + anon_sym_RBRACK, 5010 + anon_sym_SEMI, 5011 + [3116] = 3, 5012 + ACTIONS(3), 1, 5013 + sym_doc_comment, 5014 + ACTIONS(5), 1, 5015 + sym_comment, 5016 + ACTIONS(261), 6, 5017 + anon_sym_COMMA, 5018 + anon_sym_RPAREN, 5019 + anon_sym_RBRACK, 5020 + anon_sym_SEMI, 5021 + anon_sym_PIPE, 5022 + anon_sym_constrained, 5023 + [3131] = 7, 5024 + ACTIONS(3), 1, 5025 + sym_doc_comment, 5026 + ACTIONS(5), 1, 5027 + sym_comment, 5028 + ACTIONS(75), 1, 5029 + anon_sym_BQUOTE, 5030 + ACTIONS(197), 1, 5031 + anon_sym_AT, 5032 + ACTIONS(199), 1, 5033 + aux_sym_identifier_token1, 5034 + STATE(213), 1, 5035 + sym_identifier, 5036 + STATE(124), 2, 5037 + sym_annotation, 5038 + aux_sym_self_definition_repeat1, 5039 + [3154] = 8, 5040 + ACTIONS(3), 1, 5041 + sym_doc_comment, 5042 + ACTIONS(5), 1, 5043 + sym_comment, 5044 + ACTIONS(73), 1, 5045 + aux_sym_identifier_token1, 5046 + ACTIONS(75), 1, 5047 + anon_sym_BQUOTE, 5048 + ACTIONS(263), 1, 5049 + anon_sym_RBRACE, 5050 + ACTIONS(265), 1, 5051 + anon_sym_main, 5052 + STATE(185), 1, 5053 + sym_identifier, 5054 + STATE(212), 1, 5055 + sym_import_item, 5056 + [3179] = 8, 5057 + ACTIONS(3), 1, 5058 + sym_doc_comment, 5059 + ACTIONS(5), 1, 5060 + sym_comment, 5061 + ACTIONS(73), 1, 5062 + aux_sym_identifier_token1, 5063 + ACTIONS(75), 1, 5064 + anon_sym_BQUOTE, 5065 + ACTIONS(265), 1, 5066 + anon_sym_main, 5067 + ACTIONS(267), 1, 5068 + anon_sym_RBRACE, 5069 + STATE(185), 1, 5070 + sym_identifier, 5071 + STATE(186), 1, 5072 + sym_import_item, 5073 + [3204] = 3, 5074 + ACTIONS(3), 1, 5075 + sym_doc_comment, 5076 + ACTIONS(5), 1, 5077 + sym_comment, 5078 + ACTIONS(269), 6, 5079 + anon_sym_COMMA, 5080 + anon_sym_RPAREN, 5081 + anon_sym_RBRACK, 5082 + anon_sym_SEMI, 5083 + anon_sym_PIPE, 5084 + anon_sym_constrained, 5085 + [3219] = 3, 5086 + ACTIONS(3), 1, 5087 + sym_doc_comment, 5088 + ACTIONS(5), 1, 5089 + sym_comment, 5090 + ACTIONS(271), 6, 5091 + anon_sym_COMMA, 5092 + anon_sym_RPAREN, 5093 + anon_sym_RBRACK, 5094 + anon_sym_SEMI, 5095 + anon_sym_PIPE, 5096 + anon_sym_constrained, 5097 + [3234] = 3, 5098 + ACTIONS(3), 1, 5099 + sym_doc_comment, 5100 + ACTIONS(5), 1, 5101 + sym_comment, 5102 + ACTIONS(273), 6, 5103 + anon_sym_COMMA, 5104 + anon_sym_RPAREN, 5105 + anon_sym_RBRACK, 5106 + anon_sym_SEMI, 5107 + anon_sym_PIPE, 5108 + anon_sym_constrained, 5109 + [3249] = 4, 5110 + ACTIONS(3), 1, 5111 + sym_doc_comment, 5112 + ACTIONS(5), 1, 5113 + sym_comment, 5114 + ACTIONS(259), 1, 5115 + anon_sym_constrained, 5116 + ACTIONS(275), 5, 5117 + anon_sym_COMMA, 5118 + anon_sym_RPAREN, 5119 + anon_sym_RBRACK, 5120 + anon_sym_SEMI, 5121 + anon_sym_PIPE, 5122 + [3266] = 7, 5123 + ACTIONS(3), 1, 5124 + sym_doc_comment, 5125 + ACTIONS(5), 1, 5126 + sym_comment, 5127 + ACTIONS(75), 1, 5128 + anon_sym_BQUOTE, 5129 + ACTIONS(199), 1, 5130 + aux_sym_identifier_token1, 5131 + ACTIONS(277), 1, 5132 + anon_sym_RBRACE, 5133 + STATE(254), 1, 5134 + sym_identifier, 5135 + STATE(110), 2, 5136 + sym_constraint, 5137 + aux_sym_constraint_block_repeat1, 5138 + [3289] = 3, 5139 + ACTIONS(3), 1, 5140 + sym_doc_comment, 5141 + ACTIONS(5), 1, 5142 + sym_comment, 5143 + ACTIONS(279), 6, 5144 + anon_sym_COMMA, 5145 + anon_sym_RPAREN, 5146 + anon_sym_RBRACK, 5147 + anon_sym_SEMI, 5148 + anon_sym_PIPE, 5149 + anon_sym_constrained, 5150 + [3304] = 5, 5151 + ACTIONS(3), 1, 5152 + sym_doc_comment, 5153 + ACTIONS(5), 1, 5154 + sym_comment, 5155 + ACTIONS(281), 1, 5156 + anon_sym_PIPE, 5157 + STATE(104), 1, 5158 + aux_sym_union_type_repeat1, 5159 + ACTIONS(275), 4, 5160 + anon_sym_COMMA, 5161 + anon_sym_RPAREN, 5162 + anon_sym_RBRACK, 5163 + anon_sym_SEMI, 5164 + [3323] = 8, 5165 + ACTIONS(3), 1, 5166 + sym_doc_comment, 5167 + ACTIONS(5), 1, 5168 + sym_comment, 5169 + ACTIONS(73), 1, 5170 + aux_sym_identifier_token1, 5171 + ACTIONS(75), 1, 5172 + anon_sym_BQUOTE, 5173 + ACTIONS(265), 1, 5174 + anon_sym_main, 5175 + ACTIONS(284), 1, 5176 + anon_sym_RBRACE, 5177 + STATE(185), 1, 5178 + sym_identifier, 5179 + STATE(212), 1, 5180 + sym_import_item, 5181 + [3348] = 7, 5182 + ACTIONS(3), 1, 5183 + sym_doc_comment, 5184 + ACTIONS(5), 1, 5185 + sym_comment, 5186 + ACTIONS(75), 1, 5187 + anon_sym_BQUOTE, 5188 + ACTIONS(197), 1, 5189 + anon_sym_AT, 5190 + ACTIONS(199), 1, 5191 + aux_sym_identifier_token1, 5192 + STATE(226), 1, 5193 + sym_identifier, 5194 + STATE(95), 2, 5195 + sym_annotation, 5196 + aux_sym_self_definition_repeat1, 5197 + [3371] = 3, 5198 + ACTIONS(3), 1, 5199 + sym_doc_comment, 5200 + ACTIONS(5), 1, 5201 + sym_comment, 5202 + ACTIONS(286), 6, 5203 + anon_sym_COMMA, 5204 + anon_sym_RPAREN, 5205 + anon_sym_RBRACK, 5206 + anon_sym_SEMI, 5207 + anon_sym_PIPE, 5208 + anon_sym_constrained, 5209 + [3386] = 3, 5210 + ACTIONS(3), 1, 5211 + sym_doc_comment, 5212 + ACTIONS(5), 1, 5213 + sym_comment, 5214 + ACTIONS(288), 6, 5215 + anon_sym_COMMA, 5216 + anon_sym_RPAREN, 5217 + anon_sym_RBRACK, 5218 + anon_sym_SEMI, 5219 + anon_sym_PIPE, 5220 + anon_sym_constrained, 5221 + [3401] = 3, 5222 + ACTIONS(3), 1, 5223 + sym_doc_comment, 5224 + ACTIONS(5), 1, 5225 + sym_comment, 5226 + ACTIONS(290), 6, 5227 + anon_sym_COMMA, 5228 + anon_sym_RPAREN, 5229 + anon_sym_RBRACK, 5230 + anon_sym_SEMI, 5231 + anon_sym_PIPE, 5232 + anon_sym_constrained, 5233 + [3416] = 7, 5234 + ACTIONS(3), 1, 5235 + sym_doc_comment, 5236 + ACTIONS(5), 1, 5237 + sym_comment, 5238 + ACTIONS(75), 1, 5239 + anon_sym_BQUOTE, 5240 + ACTIONS(199), 1, 5241 + aux_sym_identifier_token1, 5242 + ACTIONS(292), 1, 5243 + anon_sym_RBRACE, 5244 + STATE(254), 1, 5245 + sym_identifier, 5246 + STATE(114), 2, 5247 + sym_constraint, 5248 + aux_sym_constraint_block_repeat1, 5249 + [3439] = 7, 5250 + ACTIONS(5), 1, 5251 + sym_comment, 5252 + ACTIONS(75), 1, 5253 + anon_sym_BQUOTE, 5254 + ACTIONS(199), 1, 5255 + aux_sym_identifier_token1, 5256 + ACTIONS(294), 1, 5257 + anon_sym_RBRACE, 5258 + ACTIONS(296), 1, 5259 + sym_doc_comment, 5260 + STATE(266), 1, 5261 + sym_identifier, 5262 + STATE(115), 2, 5263 + sym_error_definition, 5264 + aux_sym_return_type_repeat1, 5265 + [3462] = 5, 5266 + ACTIONS(3), 1, 5267 + sym_doc_comment, 5268 + ACTIONS(5), 1, 5269 + sym_comment, 5270 + ACTIONS(257), 1, 5271 + anon_sym_PIPE, 5272 + STATE(104), 1, 5273 + aux_sym_union_type_repeat1, 5274 + ACTIONS(298), 4, 5275 + anon_sym_COMMA, 5276 + anon_sym_RPAREN, 5277 + anon_sym_RBRACK, 5278 + anon_sym_SEMI, 5279 + [3481] = 3, 5280 + ACTIONS(3), 1, 5281 + sym_doc_comment, 5282 + ACTIONS(5), 1, 5283 + sym_comment, 5284 + ACTIONS(300), 6, 5285 + anon_sym_COMMA, 5286 + anon_sym_RPAREN, 5287 + anon_sym_RBRACK, 5288 + anon_sym_SEMI, 5289 + anon_sym_PIPE, 5290 + anon_sym_constrained, 5291 + [3496] = 7, 5292 + ACTIONS(3), 1, 5293 + sym_doc_comment, 5294 + ACTIONS(5), 1, 5295 + sym_comment, 5296 + ACTIONS(302), 1, 5297 + anon_sym_RBRACE, 5298 + ACTIONS(304), 1, 5299 + aux_sym_identifier_token1, 5300 + ACTIONS(307), 1, 5301 + anon_sym_BQUOTE, 5302 + STATE(254), 1, 5303 + sym_identifier, 5304 + STATE(114), 2, 5305 + sym_constraint, 5306 + aux_sym_constraint_block_repeat1, 5307 + [3519] = 7, 5308 + ACTIONS(5), 1, 5309 + sym_comment, 5310 + ACTIONS(75), 1, 5311 + anon_sym_BQUOTE, 5312 + ACTIONS(199), 1, 5313 + aux_sym_identifier_token1, 5314 + ACTIONS(296), 1, 5315 + sym_doc_comment, 5316 + ACTIONS(310), 1, 5317 + anon_sym_RBRACE, 5318 + STATE(266), 1, 5319 + sym_identifier, 5320 + STATE(117), 2, 5321 + sym_error_definition, 5322 + aux_sym_return_type_repeat1, 5323 + [3542] = 7, 5324 + ACTIONS(3), 1, 5325 + sym_doc_comment, 5326 + ACTIONS(5), 1, 5327 + sym_comment, 5328 + ACTIONS(75), 1, 5329 + anon_sym_BQUOTE, 5330 + ACTIONS(197), 1, 5331 + anon_sym_AT, 5332 + ACTIONS(199), 1, 5333 + aux_sym_identifier_token1, 5334 + STATE(226), 1, 5335 + sym_identifier, 5336 + STATE(124), 2, 5337 + sym_annotation, 5338 + aux_sym_self_definition_repeat1, 5339 + [3565] = 7, 5340 + ACTIONS(5), 1, 5341 + sym_comment, 5342 + ACTIONS(312), 1, 5343 + anon_sym_RBRACE, 5344 + ACTIONS(314), 1, 5345 + sym_doc_comment, 5346 + ACTIONS(317), 1, 5347 + aux_sym_identifier_token1, 5348 + ACTIONS(320), 1, 5349 + anon_sym_BQUOTE, 5350 + STATE(266), 1, 5351 + sym_identifier, 5352 + STATE(117), 2, 5353 + sym_error_definition, 5354 + aux_sym_return_type_repeat1, 5355 + [3588] = 3, 5356 + ACTIONS(3), 1, 5357 + sym_doc_comment, 5358 + ACTIONS(5), 1, 5359 + sym_comment, 5360 + ACTIONS(63), 6, 5361 + anon_sym_AT, 5362 + anon_sym_COMMA, 5363 + anon_sym_COLON, 5364 + anon_sym_LPAREN, 5365 + aux_sym_identifier_token1, 5366 + anon_sym_BQUOTE, 5367 + [3603] = 7, 5368 + ACTIONS(3), 1, 5369 + sym_doc_comment, 5370 + ACTIONS(5), 1, 5371 + sym_comment, 5372 + ACTIONS(75), 1, 5373 + anon_sym_BQUOTE, 5374 + ACTIONS(197), 1, 5375 + anon_sym_AT, 5376 + ACTIONS(199), 1, 5377 + aux_sym_identifier_token1, 5378 + STATE(242), 1, 5379 + sym_identifier, 5380 + STATE(124), 2, 5381 + sym_annotation, 5382 + aux_sym_self_definition_repeat1, 5383 + [3626] = 3, 5384 + ACTIONS(3), 1, 5385 + sym_doc_comment, 5386 + ACTIONS(5), 1, 5387 + sym_comment, 5388 + ACTIONS(65), 6, 5389 + anon_sym_AT, 5390 + anon_sym_COMMA, 5391 + anon_sym_COLON, 5392 + anon_sym_LPAREN, 5393 + aux_sym_identifier_token1, 5394 + anon_sym_BQUOTE, 5395 + [3641] = 3, 5396 + ACTIONS(3), 1, 5397 + sym_doc_comment, 5398 + ACTIONS(5), 1, 5399 + sym_comment, 5400 + ACTIONS(275), 5, 5401 + anon_sym_COMMA, 5402 + anon_sym_RPAREN, 5403 + anon_sym_RBRACK, 5404 + anon_sym_SEMI, 5405 + anon_sym_PIPE, 5406 + [3655] = 7, 5407 + ACTIONS(3), 1, 5408 + sym_doc_comment, 5409 + ACTIONS(5), 1, 5410 + sym_comment, 5411 + ACTIONS(73), 1, 5412 + aux_sym_identifier_token1, 5413 + ACTIONS(75), 1, 5414 + anon_sym_BQUOTE, 5415 + ACTIONS(265), 1, 5416 + anon_sym_main, 5417 + STATE(185), 1, 5418 + sym_identifier, 5419 + STATE(212), 1, 5420 + sym_import_item, 5421 + [3677] = 3, 5422 + ACTIONS(3), 1, 5423 + sym_doc_comment, 5424 + ACTIONS(5), 1, 5425 + sym_comment, 5426 + ACTIONS(255), 5, 5427 + anon_sym_COMMA, 5428 + anon_sym_RPAREN, 5429 + anon_sym_RBRACK, 5430 + anon_sym_SEMI, 5431 + anon_sym_PIPE, 5432 + [3691] = 5, 5433 + ACTIONS(3), 1, 5434 + sym_doc_comment, 5435 + ACTIONS(5), 1, 5436 + sym_comment, 5437 + ACTIONS(323), 1, 5438 + anon_sym_AT, 5439 + ACTIONS(157), 2, 5440 + aux_sym_identifier_token1, 5441 + anon_sym_BQUOTE, 5442 + STATE(124), 2, 5443 + sym_annotation, 5444 + aux_sym_self_definition_repeat1, 5445 + [3709] = 5, 5446 + ACTIONS(3), 1, 5447 + sym_doc_comment, 5448 + ACTIONS(5), 1, 5449 + sym_comment, 5450 + ACTIONS(253), 1, 5451 + anon_sym_LPAREN, 5452 + STATE(202), 1, 5453 + sym_annotation_args, 5454 + ACTIONS(176), 3, 5455 + anon_sym_AT, 5456 + aux_sym_identifier_token1, 5457 + anon_sym_BQUOTE, 5458 + [3727] = 6, 5459 + ACTIONS(3), 1, 5460 + sym_doc_comment, 5461 + ACTIONS(5), 1, 5462 + sym_comment, 5463 + ACTIONS(227), 1, 5464 + anon_sym_DOT, 5465 + ACTIONS(326), 1, 5466 + anon_sym_COLON, 5467 + STATE(79), 1, 5468 + aux_sym_type_path_repeat1, 5469 + ACTIONS(241), 2, 5470 + anon_sym_COMMA, 5471 + anon_sym_RPAREN, 5472 + [3747] = 2, 5473 + ACTIONS(5), 1, 5474 + sym_comment, 5475 + ACTIONS(328), 5, 5476 + anon_sym_RBRACE, 5477 + sym_doc_comment, 5478 + anon_sym_AT, 5479 + aux_sym_identifier_token1, 5480 + anon_sym_BQUOTE, 5481 + [3758] = 3, 5482 + ACTIONS(3), 1, 5483 + sym_doc_comment, 5484 + ACTIONS(5), 1, 5485 + sym_comment, 5486 + ACTIONS(330), 4, 5487 + anon_sym_RBRACE, 5488 + anon_sym_COMMA, 5489 + anon_sym_RPAREN, 5490 + anon_sym_RBRACK, 5491 + [3771] = 5, 5492 + ACTIONS(3), 1, 5493 + sym_doc_comment, 5494 + ACTIONS(5), 1, 5495 + sym_comment, 5496 + ACTIONS(332), 1, 5497 + anon_sym_DOT, 5498 + STATE(140), 1, 5499 + aux_sym_type_path_repeat1, 5500 + ACTIONS(241), 2, 5501 + anon_sym_as, 5502 + anon_sym_SEMI, 5503 + [3788] = 2, 5504 + ACTIONS(5), 1, 5505 + sym_comment, 5506 + ACTIONS(335), 5, 5507 + anon_sym_RBRACE, 5508 + sym_doc_comment, 5509 + anon_sym_AT, 5510 + aux_sym_identifier_token1, 5511 + anon_sym_BQUOTE, 5512 + [3799] = 2, 5513 + ACTIONS(5), 1, 5514 + sym_comment, 5515 + ACTIONS(337), 5, 5516 + anon_sym_RBRACE, 5517 + sym_doc_comment, 5518 + anon_sym_AT, 5519 + aux_sym_identifier_token1, 5520 + anon_sym_BQUOTE, 5521 + [3810] = 6, 5522 + ACTIONS(3), 1, 5523 + sym_doc_comment, 5524 + ACTIONS(5), 1, 5525 + sym_comment, 5526 + ACTIONS(75), 1, 5527 + anon_sym_BQUOTE, 5528 + ACTIONS(199), 1, 5529 + aux_sym_identifier_token1, 5530 + STATE(41), 1, 5531 + sym_identifier, 5532 + STATE(187), 1, 5533 + sym_annotation_selectors, 5534 + [3829] = 3, 5535 + ACTIONS(3), 1, 5536 + sym_doc_comment, 5537 + ACTIONS(5), 1, 5538 + sym_comment, 5539 + ACTIONS(339), 4, 5540 + anon_sym_RBRACE, 5541 + anon_sym_COMMA, 5542 + anon_sym_RPAREN, 5543 + anon_sym_RBRACK, 5544 + [3842] = 3, 5545 + ACTIONS(3), 1, 5546 + sym_doc_comment, 5547 + ACTIONS(5), 1, 5548 + sym_comment, 5549 + ACTIONS(341), 4, 5550 + anon_sym_RBRACE, 5551 + anon_sym_COMMA, 5552 + anon_sym_RPAREN, 5553 + anon_sym_RBRACK, 5554 + [3855] = 2, 5555 + ACTIONS(5), 1, 5556 + sym_comment, 5557 + ACTIONS(343), 5, 5558 + anon_sym_RBRACE, 5559 + sym_doc_comment, 5560 + anon_sym_AT, 5561 + aux_sym_identifier_token1, 5562 + anon_sym_BQUOTE, 5563 + [3866] = 6, 5564 + ACTIONS(3), 1, 5565 + sym_doc_comment, 5566 + ACTIONS(5), 1, 5567 + sym_comment, 5568 + ACTIONS(75), 1, 5569 + anon_sym_BQUOTE, 5570 + ACTIONS(199), 1, 5571 + aux_sym_identifier_token1, 5572 + STATE(129), 1, 5573 + sym_identifier, 5574 + STATE(190), 1, 5575 + sym_type_path, 5576 + [3885] = 3, 5577 + ACTIONS(3), 1, 5578 + sym_doc_comment, 5579 + ACTIONS(5), 1, 5580 + sym_comment, 5581 + ACTIONS(345), 4, 5582 + anon_sym_RBRACE, 5583 + anon_sym_COMMA, 5584 + anon_sym_RPAREN, 5585 + anon_sym_RBRACK, 5586 + [3898] = 3, 5587 + ACTIONS(3), 1, 5588 + sym_doc_comment, 5589 + ACTIONS(5), 1, 5590 + sym_comment, 5591 + ACTIONS(347), 4, 5592 + anon_sym_RBRACE, 5593 + anon_sym_COMMA, 5594 + anon_sym_RPAREN, 5595 + anon_sym_RBRACK, 5596 + [3911] = 3, 5597 + ACTIONS(3), 1, 5598 + sym_doc_comment, 5599 + ACTIONS(5), 1, 5600 + sym_comment, 5601 + ACTIONS(349), 4, 5602 + anon_sym_RBRACE, 5603 + anon_sym_COMMA, 5604 + anon_sym_RPAREN, 5605 + anon_sym_RBRACK, 5606 + [3924] = 5, 5607 + ACTIONS(3), 1, 5608 + sym_doc_comment, 5609 + ACTIONS(5), 1, 5610 + sym_comment, 5611 + ACTIONS(351), 1, 5612 + anon_sym_DOT, 5613 + STATE(68), 1, 5614 + aux_sym_type_path_repeat1, 5615 + ACTIONS(225), 2, 5616 + anon_sym_as, 5617 + anon_sym_SEMI, 5618 + [3941] = 3, 5619 + ACTIONS(3), 1, 5620 + sym_doc_comment, 5621 + ACTIONS(5), 1, 5622 + sym_comment, 5623 + ACTIONS(354), 4, 5624 + anon_sym_RBRACE, 5625 + anon_sym_COMMA, 5626 + anon_sym_RPAREN, 5627 + anon_sym_RBRACK, 5628 + [3954] = 2, 5629 + ACTIONS(5), 1, 5630 + sym_comment, 5631 + ACTIONS(356), 5, 5632 + anon_sym_RBRACE, 5633 + sym_doc_comment, 5634 + anon_sym_AT, 5635 + aux_sym_identifier_token1, 5636 + anon_sym_BQUOTE, 5637 + [3965] = 2, 5638 + ACTIONS(5), 1, 5639 + sym_comment, 5640 + ACTIONS(358), 5, 5641 + anon_sym_RBRACE, 5642 + sym_doc_comment, 5643 + anon_sym_AT, 5644 + aux_sym_identifier_token1, 5645 + anon_sym_BQUOTE, 5646 + [3976] = 3, 5647 + ACTIONS(3), 1, 5648 + sym_doc_comment, 5649 + ACTIONS(5), 1, 5650 + sym_comment, 5651 + ACTIONS(360), 4, 5652 + anon_sym_RBRACE, 5653 + anon_sym_COMMA, 5654 + anon_sym_RPAREN, 5655 + anon_sym_RBRACK, 5656 + [3989] = 6, 5657 + ACTIONS(3), 1, 5658 + sym_doc_comment, 5659 + ACTIONS(5), 1, 5660 + sym_comment, 5661 + ACTIONS(255), 1, 5662 + anon_sym_SEMI, 5663 + ACTIONS(259), 1, 5664 + anon_sym_constrained, 5665 + ACTIONS(362), 1, 5666 + anon_sym_PIPE, 5667 + STATE(205), 1, 5668 + aux_sym_union_type_repeat1, 5669 + [4008] = 6, 5670 + ACTIONS(3), 1, 5671 + sym_doc_comment, 5672 + ACTIONS(5), 1, 5673 + sym_comment, 5674 + ACTIONS(365), 1, 5675 + aux_sym_identifier_token1, 5676 + ACTIONS(367), 1, 5677 + anon_sym_BQUOTE, 5678 + STATE(91), 1, 5679 + sym_identifier, 5680 + STATE(197), 1, 5681 + sym_annotation_selectors, 5682 + [4027] = 3, 5683 + ACTIONS(3), 1, 5684 + sym_doc_comment, 5685 + ACTIONS(5), 1, 5686 + sym_comment, 5687 + ACTIONS(369), 4, 5688 + anon_sym_RBRACE, 5689 + anon_sym_COMMA, 5690 + anon_sym_RPAREN, 5691 + anon_sym_RBRACK, 5692 + [4040] = 3, 5693 + ACTIONS(3), 1, 5694 + sym_doc_comment, 5695 + ACTIONS(5), 1, 5696 + sym_comment, 5697 + ACTIONS(371), 4, 5698 + anon_sym_RBRACE, 5699 + anon_sym_COMMA, 5700 + anon_sym_RPAREN, 5701 + anon_sym_RBRACK, 5702 + [4053] = 3, 5703 + ACTIONS(3), 1, 5704 + sym_doc_comment, 5705 + ACTIONS(5), 1, 5706 + sym_comment, 5707 + ACTIONS(373), 4, 5708 + anon_sym_RBRACE, 5709 + anon_sym_COMMA, 5710 + anon_sym_RPAREN, 5711 + anon_sym_RBRACK, 5712 + [4066] = 3, 5713 + ACTIONS(3), 1, 5714 + sym_doc_comment, 5715 + ACTIONS(5), 1, 5716 + sym_comment, 5717 + ACTIONS(205), 3, 5718 + anon_sym_AT, 5719 + aux_sym_identifier_token1, 5720 + anon_sym_BQUOTE, 5721 + [4078] = 5, 5722 + ACTIONS(3), 1, 5723 + sym_doc_comment, 5724 + ACTIONS(5), 1, 5725 + sym_comment, 5726 + ACTIONS(91), 1, 5727 + anon_sym_RPAREN, 5728 + ACTIONS(375), 1, 5729 + anon_sym_COMMA, 5730 + STATE(159), 1, 5731 + aux_sym_annotation_args_repeat1, 5732 + [4094] = 5, 5733 + ACTIONS(3), 1, 5734 + sym_doc_comment, 5735 + ACTIONS(5), 1, 5736 + sym_comment, 5737 + ACTIONS(75), 1, 5738 + anon_sym_BQUOTE, 5739 + ACTIONS(199), 1, 5740 + aux_sym_identifier_token1, 5741 + STATE(227), 1, 5742 + sym_identifier, 5743 + [4110] = 5, 5744 + ACTIONS(3), 1, 5745 + sym_doc_comment, 5746 + ACTIONS(5), 1, 5747 + sym_comment, 5748 + ACTIONS(377), 1, 5749 + anon_sym_RBRACE, 5750 + ACTIONS(379), 1, 5751 + sym_string, 5752 + STATE(178), 1, 5753 + sym_annotation_object_entry, 5754 + [4126] = 5, 5755 + ACTIONS(3), 1, 5756 + sym_doc_comment, 5757 + ACTIONS(5), 1, 5758 + sym_comment, 5759 + ACTIONS(379), 1, 5760 + sym_string, 5761 + ACTIONS(381), 1, 5762 + anon_sym_RBRACE, 5763 + STATE(240), 1, 5764 + sym_annotation_object_entry, 5765 + [4142] = 5, 5766 + ACTIONS(3), 1, 5767 + sym_doc_comment, 5768 + ACTIONS(5), 1, 5769 + sym_comment, 5770 + ACTIONS(381), 1, 5771 + anon_sym_RBRACE, 5772 + ACTIONS(383), 1, 5773 + anon_sym_COMMA, 5774 + STATE(169), 1, 5775 + aux_sym_annotation_object_repeat1, 5776 + [4158] = 5, 5777 + ACTIONS(3), 1, 5778 + sym_doc_comment, 5779 + ACTIONS(5), 1, 5780 + sym_comment, 5781 + ACTIONS(75), 1, 5782 + anon_sym_BQUOTE, 5783 + ACTIONS(199), 1, 5784 + aux_sym_identifier_token1, 5785 + STATE(262), 1, 5786 + sym_identifier, 5787 + [4174] = 5, 5788 + ACTIONS(3), 1, 5789 + sym_doc_comment, 5790 + ACTIONS(5), 1, 5791 + sym_comment, 5792 + ACTIONS(75), 1, 5793 + anon_sym_BQUOTE, 5794 + ACTIONS(199), 1, 5795 + aux_sym_identifier_token1, 5796 + STATE(267), 1, 5797 + sym_identifier, 5798 + [4190] = 5, 5799 + ACTIONS(3), 1, 5800 + sym_doc_comment, 5801 + ACTIONS(5), 1, 5802 + sym_comment, 5803 + ACTIONS(101), 1, 5804 + anon_sym_RBRACK, 5805 + ACTIONS(385), 1, 5806 + anon_sym_COMMA, 5807 + STATE(172), 1, 5808 + aux_sym_annotation_array_repeat1, 5809 + [4206] = 5, 5810 + ACTIONS(3), 1, 5811 + sym_doc_comment, 5812 + ACTIONS(5), 1, 5813 + sym_comment, 5814 + ACTIONS(387), 1, 5815 + anon_sym_COMMA, 5816 + ACTIONS(390), 1, 5817 + anon_sym_RPAREN, 5818 + STATE(159), 1, 5819 + aux_sym_annotation_args_repeat1, 5820 + [4222] = 5, 5821 + ACTIONS(3), 1, 5822 + sym_doc_comment, 5823 + ACTIONS(5), 1, 5824 + sym_comment, 5825 + ACTIONS(75), 1, 5826 + anon_sym_BQUOTE, 5827 + ACTIONS(199), 1, 5828 + aux_sym_identifier_token1, 5829 + STATE(246), 1, 5830 + sym_identifier, 5831 + [4238] = 5, 5832 + ACTIONS(3), 1, 5833 + sym_doc_comment, 5834 + ACTIONS(5), 1, 5835 + sym_comment, 5836 + ACTIONS(284), 1, 5837 + anon_sym_RBRACE, 5838 + ACTIONS(392), 1, 5839 + anon_sym_COMMA, 5840 + STATE(175), 1, 5841 + aux_sym_import_block_repeat1, 5842 + [4254] = 5, 5843 + ACTIONS(3), 1, 5844 + sym_doc_comment, 5845 + ACTIONS(5), 1, 5846 + sym_comment, 5847 + ACTIONS(394), 1, 5848 + anon_sym_COMMA, 5849 + ACTIONS(396), 1, 5850 + anon_sym_RPAREN, 5851 + STATE(183), 1, 5852 + aux_sym_annotation_args_repeat1, 5853 + [4270] = 5, 5854 + ACTIONS(3), 1, 5855 + sym_doc_comment, 5856 + ACTIONS(5), 1, 5857 + sym_comment, 5858 + ACTIONS(398), 1, 5859 + anon_sym_COMMA, 5860 + ACTIONS(401), 1, 5861 + anon_sym_COLON, 5862 + STATE(163), 1, 5863 + aux_sym_annotation_selectors_repeat1, 5864 + [4286] = 5, 5865 + ACTIONS(3), 1, 5866 + sym_doc_comment, 5867 + ACTIONS(5), 1, 5868 + sym_comment, 5869 + ACTIONS(75), 1, 5870 + anon_sym_BQUOTE, 5871 + ACTIONS(199), 1, 5872 + aux_sym_identifier_token1, 5873 + STATE(243), 1, 5874 + sym_identifier, 5875 + [4302] = 5, 5876 + ACTIONS(3), 1, 5877 + sym_doc_comment, 5878 + ACTIONS(5), 1, 5879 + sym_comment, 5880 + ACTIONS(403), 1, 5881 + anon_sym_COMMA, 5882 + ACTIONS(406), 1, 5883 + anon_sym_RPAREN, 5884 + STATE(165), 1, 5885 + aux_sym_parameter_list_repeat1, 5886 + [4318] = 5, 5887 + ACTIONS(3), 1, 5888 + sym_doc_comment, 5889 + ACTIONS(5), 1, 5890 + sym_comment, 5891 + ACTIONS(75), 1, 5892 + anon_sym_BQUOTE, 5893 + ACTIONS(199), 1, 5894 + aux_sym_identifier_token1, 5895 + STATE(237), 1, 5896 + sym_identifier, 5897 + [4334] = 5, 5898 + ACTIONS(3), 1, 5899 + sym_doc_comment, 5900 + ACTIONS(5), 1, 5901 + sym_comment, 5902 + ACTIONS(75), 1, 5903 + anon_sym_BQUOTE, 5904 + ACTIONS(199), 1, 5905 + aux_sym_identifier_token1, 5906 + STATE(300), 1, 5907 + sym_identifier, 5908 + [4350] = 5, 5909 + ACTIONS(3), 1, 5910 + sym_doc_comment, 5911 + ACTIONS(5), 1, 5912 + sym_comment, 5913 + ACTIONS(379), 1, 5914 + sym_string, 5915 + ACTIONS(408), 1, 5916 + anon_sym_RBRACE, 5917 + STATE(240), 1, 5918 + sym_annotation_object_entry, 5919 + [4366] = 5, 5920 + ACTIONS(3), 1, 5921 + sym_doc_comment, 5922 + ACTIONS(5), 1, 5923 + sym_comment, 5924 + ACTIONS(410), 1, 5925 + anon_sym_RBRACE, 5926 + ACTIONS(412), 1, 5927 + anon_sym_COMMA, 5928 + STATE(169), 1, 5929 + aux_sym_annotation_object_repeat1, 5930 + [4382] = 5, 5931 + ACTIONS(3), 1, 5932 + sym_doc_comment, 5933 + ACTIONS(5), 1, 5934 + sym_comment, 5935 + ACTIONS(75), 1, 5936 + anon_sym_BQUOTE, 5937 + ACTIONS(199), 1, 5938 + aux_sym_identifier_token1, 5939 + STATE(209), 1, 5940 + sym_identifier, 5941 + [4398] = 5, 5942 + ACTIONS(3), 1, 5943 + sym_doc_comment, 5944 + ACTIONS(5), 1, 5945 + sym_comment, 5946 + ACTIONS(75), 1, 5947 + anon_sym_BQUOTE, 5948 + ACTIONS(199), 1, 5949 + aux_sym_identifier_token1, 5950 + STATE(210), 1, 5951 + sym_identifier, 5952 + [4414] = 5, 5953 + ACTIONS(3), 1, 5954 + sym_doc_comment, 5955 + ACTIONS(5), 1, 5956 + sym_comment, 5957 + ACTIONS(415), 1, 5958 + anon_sym_COMMA, 5959 + ACTIONS(418), 1, 5960 + anon_sym_RBRACK, 5961 + STATE(172), 1, 5962 + aux_sym_annotation_array_repeat1, 5963 + [4430] = 5, 5964 + ACTIONS(3), 1, 5965 + sym_doc_comment, 5966 + ACTIONS(5), 1, 5967 + sym_comment, 5968 + ACTIONS(75), 1, 5969 + anon_sym_BQUOTE, 5970 + ACTIONS(199), 1, 5971 + aux_sym_identifier_token1, 5972 + STATE(211), 1, 5973 + sym_identifier, 5974 + [4446] = 5, 5975 + ACTIONS(3), 1, 5976 + sym_doc_comment, 5977 + ACTIONS(5), 1, 5978 + sym_comment, 5979 + ACTIONS(420), 1, 5980 + anon_sym_COMMA, 5981 + ACTIONS(422), 1, 5982 + anon_sym_RPAREN, 5983 + STATE(201), 1, 5984 + aux_sym_parameter_list_repeat1, 5985 + [4462] = 5, 5986 + ACTIONS(3), 1, 5987 + sym_doc_comment, 5988 + ACTIONS(5), 1, 5989 + sym_comment, 5990 + ACTIONS(424), 1, 5991 + anon_sym_RBRACE, 5992 + ACTIONS(426), 1, 5993 + anon_sym_COMMA, 5994 + STATE(175), 1, 5995 + aux_sym_import_block_repeat1, 5996 + [4478] = 5, 5997 + ACTIONS(3), 1, 5998 + sym_doc_comment, 5999 + ACTIONS(5), 1, 6000 + sym_comment, 6001 + ACTIONS(75), 1, 6002 + anon_sym_BQUOTE, 6003 + ACTIONS(199), 1, 6004 + aux_sym_identifier_token1, 6005 + STATE(216), 1, 6006 + sym_identifier, 6007 + [4494] = 5, 6008 + ACTIONS(3), 1, 6009 + sym_doc_comment, 6010 + ACTIONS(5), 1, 6011 + sym_comment, 6012 + ACTIONS(75), 1, 6013 + anon_sym_BQUOTE, 6014 + ACTIONS(199), 1, 6015 + aux_sym_identifier_token1, 6016 + STATE(241), 1, 6017 + sym_identifier, 6018 + [4510] = 5, 6019 + ACTIONS(3), 1, 6020 + sym_doc_comment, 6021 + ACTIONS(5), 1, 6022 + sym_comment, 6023 + ACTIONS(429), 1, 6024 + anon_sym_RBRACE, 6025 + ACTIONS(431), 1, 6026 + anon_sym_COMMA, 6027 + STATE(155), 1, 6028 + aux_sym_annotation_object_repeat1, 6029 + [4526] = 5, 6030 + ACTIONS(3), 1, 6031 + sym_doc_comment, 6032 + ACTIONS(5), 1, 6033 + sym_comment, 6034 + ACTIONS(109), 1, 6035 + anon_sym_COMMA, 6036 + ACTIONS(433), 1, 6037 + anon_sym_COLON, 6038 + STATE(163), 1, 6039 + aux_sym_annotation_selectors_repeat1, 6040 + [4542] = 5, 6041 + ACTIONS(3), 1, 6042 + sym_doc_comment, 6043 + ACTIONS(5), 1, 6044 + sym_comment, 6045 + ACTIONS(435), 1, 6046 + anon_sym_COMMA, 6047 + ACTIONS(437), 1, 6048 + anon_sym_RBRACK, 6049 + STATE(158), 1, 6050 + aux_sym_annotation_array_repeat1, 6051 + [4558] = 5, 6052 + ACTIONS(3), 1, 6053 + sym_doc_comment, 6054 + ACTIONS(5), 1, 6055 + sym_comment, 6056 + ACTIONS(75), 1, 6057 + anon_sym_BQUOTE, 6058 + ACTIONS(199), 1, 6059 + aux_sym_identifier_token1, 6060 + STATE(309), 1, 6061 + sym_identifier, 6062 + [4574] = 5, 6063 + ACTIONS(3), 1, 6064 + sym_doc_comment, 6065 + ACTIONS(5), 1, 6066 + sym_comment, 6067 + ACTIONS(439), 1, 6068 + anon_sym_LBRACE, 6069 + ACTIONS(441), 1, 6070 + anon_sym_STAR, 6071 + STATE(261), 1, 6072 + sym_import_block, 6073 + [4590] = 5, 6074 + ACTIONS(3), 1, 6075 + sym_doc_comment, 6076 + ACTIONS(5), 1, 6077 + sym_comment, 6078 + ACTIONS(93), 1, 6079 + anon_sym_RPAREN, 6080 + ACTIONS(443), 1, 6081 + anon_sym_COMMA, 6082 + STATE(159), 1, 6083 + aux_sym_annotation_args_repeat1, 6084 + [4606] = 5, 6085 + ACTIONS(3), 1, 6086 + sym_doc_comment, 6087 + ACTIONS(5), 1, 6088 + sym_comment, 6089 + ACTIONS(75), 1, 6090 + anon_sym_BQUOTE, 6091 + ACTIONS(199), 1, 6092 + aux_sym_identifier_token1, 6093 + STATE(73), 1, 6094 + sym_identifier, 6095 + [4622] = 4, 6096 + ACTIONS(3), 1, 6097 + sym_doc_comment, 6098 + ACTIONS(5), 1, 6099 + sym_comment, 6100 + ACTIONS(447), 1, 6101 + anon_sym_as, 6102 + ACTIONS(445), 2, 6103 + anon_sym_RBRACE, 6104 + anon_sym_COMMA, 6105 + [4636] = 5, 6106 + ACTIONS(3), 1, 6107 + sym_doc_comment, 6108 + ACTIONS(5), 1, 6109 + sym_comment, 6110 + ACTIONS(449), 1, 6111 + anon_sym_RBRACE, 6112 + ACTIONS(451), 1, 6113 + anon_sym_COMMA, 6114 + STATE(161), 1, 6115 + aux_sym_import_block_repeat1, 6116 + [4652] = 5, 6117 + ACTIONS(3), 1, 6118 + sym_doc_comment, 6119 + ACTIONS(5), 1, 6120 + sym_comment, 6121 + ACTIONS(75), 1, 6122 + anon_sym_BQUOTE, 6123 + ACTIONS(199), 1, 6124 + aux_sym_identifier_token1, 6125 + STATE(64), 1, 6126 + sym_identifier, 6127 + [4668] = 5, 6128 + ACTIONS(3), 1, 6129 + sym_doc_comment, 6130 + ACTIONS(5), 1, 6131 + sym_comment, 6132 + ACTIONS(75), 1, 6133 + anon_sym_BQUOTE, 6134 + ACTIONS(199), 1, 6135 + aux_sym_identifier_token1, 6136 + STATE(272), 1, 6137 + sym_identifier, 6138 + [4684] = 5, 6139 + ACTIONS(3), 1, 6140 + sym_doc_comment, 6141 + ACTIONS(5), 1, 6142 + sym_comment, 6143 + ACTIONS(75), 1, 6144 + anon_sym_BQUOTE, 6145 + ACTIONS(199), 1, 6146 + aux_sym_identifier_token1, 6147 + STATE(305), 1, 6148 + sym_identifier, 6149 + [4700] = 5, 6150 + ACTIONS(3), 1, 6151 + sym_doc_comment, 6152 + ACTIONS(5), 1, 6153 + sym_comment, 6154 + ACTIONS(453), 1, 6155 + anon_sym_as, 6156 + ACTIONS(455), 1, 6157 + anon_sym_DOT, 6158 + ACTIONS(457), 1, 6159 + anon_sym_SEMI, 6160 + [4716] = 2, 6161 + ACTIONS(5), 1, 6162 + sym_comment, 6163 + ACTIONS(459), 4, 6164 + anon_sym_RBRACE, 6165 + sym_doc_comment, 6166 + aux_sym_identifier_token1, 6167 + anon_sym_BQUOTE, 6168 + [4726] = 5, 6169 + ACTIONS(3), 1, 6170 + sym_doc_comment, 6171 + ACTIONS(5), 1, 6172 + sym_comment, 6173 + ACTIONS(461), 1, 6174 + anon_sym_COMMA, 6175 + ACTIONS(463), 1, 6176 + anon_sym_RBRACK, 6177 + STATE(195), 1, 6178 + aux_sym_array_literal_repeat1, 6179 + [4742] = 3, 6180 + ACTIONS(3), 1, 6181 + sym_doc_comment, 6182 + ACTIONS(5), 1, 6183 + sym_comment, 6184 + ACTIONS(465), 3, 6185 + anon_sym_RBRACE, 6186 + aux_sym_identifier_token1, 6187 + anon_sym_BQUOTE, 6188 + [4754] = 2, 6189 + ACTIONS(5), 1, 6190 + sym_comment, 6191 + ACTIONS(467), 4, 6192 + anon_sym_RBRACE, 6193 + sym_doc_comment, 6194 + aux_sym_identifier_token1, 6195 + anon_sym_BQUOTE, 6196 + [4764] = 5, 6197 + ACTIONS(3), 1, 6198 + sym_doc_comment, 6199 + ACTIONS(5), 1, 6200 + sym_comment, 6201 + ACTIONS(237), 1, 6202 + anon_sym_RBRACK, 6203 + ACTIONS(469), 1, 6204 + anon_sym_COMMA, 6205 + STATE(196), 1, 6206 + aux_sym_array_literal_repeat1, 6207 + [4780] = 5, 6208 + ACTIONS(3), 1, 6209 + sym_doc_comment, 6210 + ACTIONS(5), 1, 6211 + sym_comment, 6212 + ACTIONS(471), 1, 6213 + anon_sym_COMMA, 6214 + ACTIONS(474), 1, 6215 + anon_sym_RBRACK, 6216 + STATE(196), 1, 6217 + aux_sym_array_literal_repeat1, 6218 + [4796] = 5, 6219 + ACTIONS(3), 1, 6220 + sym_doc_comment, 6221 + ACTIONS(5), 1, 6222 + sym_comment, 6223 + ACTIONS(365), 1, 6224 + aux_sym_identifier_token1, 6225 + ACTIONS(367), 1, 6226 + anon_sym_BQUOTE, 6227 + STATE(125), 1, 6228 + sym_identifier, 6229 + [4812] = 5, 6230 + ACTIONS(3), 1, 6231 + sym_doc_comment, 6232 + ACTIONS(5), 1, 6233 + sym_comment, 6234 + ACTIONS(75), 1, 6235 + anon_sym_BQUOTE, 6236 + ACTIONS(199), 1, 6237 + aux_sym_identifier_token1, 6238 + STATE(268), 1, 6239 + sym_identifier, 6240 + [4828] = 5, 6241 + ACTIONS(3), 1, 6242 + sym_doc_comment, 6243 + ACTIONS(5), 1, 6244 + sym_comment, 6245 + ACTIONS(75), 1, 6246 + anon_sym_BQUOTE, 6247 + ACTIONS(199), 1, 6248 + aux_sym_identifier_token1, 6249 + STATE(270), 1, 6250 + sym_identifier, 6251 + [4844] = 3, 6252 + ACTIONS(3), 1, 6253 + sym_doc_comment, 6254 + ACTIONS(5), 1, 6255 + sym_comment, 6256 + ACTIONS(245), 3, 6257 + anon_sym_AT, 6258 + aux_sym_identifier_token1, 6259 + anon_sym_BQUOTE, 6260 + [4856] = 5, 6261 + ACTIONS(3), 1, 6262 + sym_doc_comment, 6263 + ACTIONS(5), 1, 6264 + sym_comment, 6265 + ACTIONS(247), 1, 6266 + anon_sym_RPAREN, 6267 + ACTIONS(476), 1, 6268 + anon_sym_COMMA, 6269 + STATE(165), 1, 6270 + aux_sym_parameter_list_repeat1, 6271 + [4872] = 3, 6272 + ACTIONS(3), 1, 6273 + sym_doc_comment, 6274 + ACTIONS(5), 1, 6275 + sym_comment, 6276 + ACTIONS(243), 3, 6277 + anon_sym_AT, 6278 + aux_sym_identifier_token1, 6279 + anon_sym_BQUOTE, 6280 + [4884] = 3, 6281 + ACTIONS(3), 1, 6282 + sym_doc_comment, 6283 + ACTIONS(5), 1, 6284 + sym_comment, 6285 + ACTIONS(201), 3, 6286 + anon_sym_AT, 6287 + aux_sym_identifier_token1, 6288 + anon_sym_BQUOTE, 6289 + [4896] = 3, 6290 + ACTIONS(3), 1, 6291 + sym_doc_comment, 6292 + ACTIONS(5), 1, 6293 + sym_comment, 6294 + ACTIONS(189), 3, 6295 + anon_sym_AT, 6296 + aux_sym_identifier_token1, 6297 + anon_sym_BQUOTE, 6298 + [4908] = 4, 6299 + ACTIONS(3), 1, 6300 + sym_doc_comment, 6301 + ACTIONS(5), 1, 6302 + sym_comment, 6303 + STATE(104), 1, 6304 + aux_sym_union_type_repeat1, 6305 + ACTIONS(298), 2, 6306 + anon_sym_SEMI, 6307 + anon_sym_PIPE, 6308 + [4922] = 3, 6309 + ACTIONS(3), 1, 6310 + sym_doc_comment, 6311 + ACTIONS(5), 1, 6312 + sym_comment, 6313 + ACTIONS(191), 3, 6314 + anon_sym_AT, 6315 + aux_sym_identifier_token1, 6316 + anon_sym_BQUOTE, 6317 + [4934] = 5, 6318 + ACTIONS(3), 1, 6319 + sym_doc_comment, 6320 + ACTIONS(5), 1, 6321 + sym_comment, 6322 + ACTIONS(478), 1, 6323 + anon_sym_COMMA, 6324 + ACTIONS(480), 1, 6325 + anon_sym_RPAREN, 6326 + STATE(151), 1, 6327 + aux_sym_annotation_args_repeat1, 6328 + [4950] = 5, 6329 + ACTIONS(3), 1, 6330 + sym_doc_comment, 6331 + ACTIONS(5), 1, 6332 + sym_comment, 6333 + ACTIONS(75), 1, 6334 + anon_sym_BQUOTE, 6335 + ACTIONS(199), 1, 6336 + aux_sym_identifier_token1, 6337 + STATE(230), 1, 6338 + sym_identifier, 6339 + [4966] = 4, 6340 + ACTIONS(3), 1, 6341 + sym_doc_comment, 6342 + ACTIONS(5), 1, 6343 + sym_comment, 6344 + ACTIONS(482), 1, 6345 + anon_sym_LPAREN, 6346 + STATE(281), 1, 6347 + sym_parameter_list, 6348 + [4979] = 4, 6349 + ACTIONS(3), 1, 6350 + sym_doc_comment, 6351 + ACTIONS(5), 1, 6352 + sym_comment, 6353 + ACTIONS(482), 1, 6354 + anon_sym_LPAREN, 6355 + STATE(286), 1, 6356 + sym_parameter_list, 6357 + [4992] = 4, 6358 + ACTIONS(3), 1, 6359 + sym_doc_comment, 6360 + ACTIONS(5), 1, 6361 + sym_comment, 6362 + ACTIONS(482), 1, 6363 + anon_sym_LPAREN, 6364 + STATE(291), 1, 6365 + sym_parameter_list, 6366 + [5005] = 3, 6367 + ACTIONS(3), 1, 6368 + sym_doc_comment, 6369 + ACTIONS(5), 1, 6370 + sym_comment, 6371 + ACTIONS(424), 2, 6372 + anon_sym_RBRACE, 6373 + anon_sym_COMMA, 6374 + [5016] = 4, 6375 + ACTIONS(3), 1, 6376 + sym_doc_comment, 6377 + ACTIONS(5), 1, 6378 + sym_comment, 6379 + ACTIONS(484), 1, 6380 + anon_sym_COLON, 6381 + ACTIONS(486), 1, 6382 + anon_sym_BANG, 6383 + [5029] = 4, 6384 + ACTIONS(3), 1, 6385 + sym_doc_comment, 6386 + ACTIONS(5), 1, 6387 + sym_comment, 6388 + ACTIONS(488), 1, 6389 + anon_sym_COLON, 6390 + ACTIONS(490), 1, 6391 + anon_sym_BANG, 6392 + [5042] = 3, 6393 + ACTIONS(3), 1, 6394 + sym_doc_comment, 6395 + ACTIONS(5), 1, 6396 + sym_comment, 6397 + ACTIONS(492), 2, 6398 + anon_sym_COMMA, 6399 + anon_sym_RPAREN, 6400 + [5053] = 4, 6401 + ACTIONS(3), 1, 6402 + sym_doc_comment, 6403 + ACTIONS(5), 1, 6404 + sym_comment, 6405 + ACTIONS(482), 1, 6406 + anon_sym_LPAREN, 6407 + STATE(288), 1, 6408 + sym_parameter_list, 6409 + [5066] = 3, 6410 + ACTIONS(3), 1, 6411 + sym_doc_comment, 6412 + ACTIONS(5), 1, 6413 + sym_comment, 6414 + ACTIONS(494), 2, 6415 + aux_sym_identifier_token1, 6416 + anon_sym_BQUOTE, 6417 + [5077] = 3, 6418 + ACTIONS(3), 1, 6419 + sym_doc_comment, 6420 + ACTIONS(5), 1, 6421 + sym_comment, 6422 + ACTIONS(496), 2, 6423 + anon_sym_COMMA, 6424 + anon_sym_RPAREN, 6425 + [5088] = 3, 6426 + ACTIONS(3), 1, 6427 + sym_doc_comment, 6428 + ACTIONS(5), 1, 6429 + sym_comment, 6430 + ACTIONS(498), 2, 6431 + anon_sym_COMMA, 6432 + anon_sym_RPAREN, 6433 + [5099] = 3, 6434 + ACTIONS(3), 1, 6435 + sym_doc_comment, 6436 + ACTIONS(5), 1, 6437 + sym_comment, 6438 + ACTIONS(500), 2, 6439 + aux_sym_identifier_token1, 6440 + anon_sym_BQUOTE, 6441 + [5110] = 4, 6442 + ACTIONS(3), 1, 6443 + sym_doc_comment, 6444 + ACTIONS(5), 1, 6445 + sym_comment, 6446 + ACTIONS(379), 1, 6447 + sym_string, 6448 + STATE(240), 1, 6449 + sym_annotation_object_entry, 6450 + [5123] = 4, 6451 + ACTIONS(3), 1, 6452 + sym_doc_comment, 6453 + ACTIONS(5), 1, 6454 + sym_comment, 6455 + ACTIONS(502), 1, 6456 + anon_sym_LBRACE, 6457 + STATE(103), 1, 6458 + sym_constraint_block, 6459 + [5136] = 3, 6460 + ACTIONS(3), 1, 6461 + sym_doc_comment, 6462 + ACTIONS(5), 1, 6463 + sym_comment, 6464 + ACTIONS(390), 2, 6465 + anon_sym_COMMA, 6466 + anon_sym_RPAREN, 6467 + [5147] = 3, 6468 + ACTIONS(3), 1, 6469 + sym_doc_comment, 6470 + ACTIONS(5), 1, 6471 + sym_comment, 6472 + ACTIONS(406), 2, 6473 + anon_sym_COMMA, 6474 + anon_sym_RPAREN, 6475 + [5158] = 3, 6476 + ACTIONS(3), 1, 6477 + sym_doc_comment, 6478 + ACTIONS(5), 1, 6479 + sym_comment, 6480 + ACTIONS(504), 2, 6481 + anon_sym_COMMA, 6482 + anon_sym_RPAREN, 6483 + [5169] = 4, 6484 + ACTIONS(3), 1, 6485 + sym_doc_comment, 6486 + ACTIONS(5), 1, 6487 + sym_comment, 6488 + ACTIONS(506), 1, 6489 + anon_sym_COLON, 6490 + ACTIONS(508), 1, 6491 + anon_sym_BANG, 6492 + [5182] = 4, 6493 + ACTIONS(3), 1, 6494 + sym_doc_comment, 6495 + ACTIONS(5), 1, 6496 + sym_comment, 6497 + ACTIONS(482), 1, 6498 + anon_sym_LPAREN, 6499 + STATE(275), 1, 6500 + sym_parameter_list, 6501 + [5195] = 3, 6502 + ACTIONS(3), 1, 6503 + sym_doc_comment, 6504 + ACTIONS(5), 1, 6505 + sym_comment, 6506 + ACTIONS(510), 2, 6507 + anon_sym_COMMA, 6508 + anon_sym_RPAREN, 6509 + [5206] = 3, 6510 + ACTIONS(3), 1, 6511 + sym_doc_comment, 6512 + ACTIONS(5), 1, 6513 + sym_comment, 6514 + ACTIONS(512), 2, 6515 + anon_sym_COMMA, 6516 + anon_sym_RBRACK, 6517 + [5217] = 4, 6518 + ACTIONS(3), 1, 6519 + sym_doc_comment, 6520 + ACTIONS(5), 1, 6521 + sym_comment, 6522 + ACTIONS(514), 1, 6523 + anon_sym_LBRACE, 6524 + STATE(54), 1, 6525 + sym_record_body, 6526 + [5230] = 3, 6527 + ACTIONS(3), 1, 6528 + sym_doc_comment, 6529 + ACTIONS(5), 1, 6530 + sym_comment, 6531 + ACTIONS(516), 2, 6532 + anon_sym_COMMA, 6533 + anon_sym_RBRACK, 6534 + [5241] = 3, 6535 + ACTIONS(3), 1, 6536 + sym_doc_comment, 6537 + ACTIONS(5), 1, 6538 + sym_comment, 6539 + ACTIONS(518), 2, 6540 + anon_sym_COMMA, 6541 + anon_sym_RBRACK, 6542 + [5252] = 3, 6543 + ACTIONS(3), 1, 6544 + sym_doc_comment, 6545 + ACTIONS(5), 1, 6546 + sym_comment, 6547 + ACTIONS(520), 2, 6548 + anon_sym_COMMA, 6549 + anon_sym_RBRACK, 6550 + [5263] = 3, 6551 + ACTIONS(3), 1, 6552 + sym_doc_comment, 6553 + ACTIONS(5), 1, 6554 + sym_comment, 6555 + ACTIONS(474), 2, 6556 + anon_sym_COMMA, 6557 + anon_sym_RBRACK, 6558 + [5274] = 4, 6559 + ACTIONS(3), 1, 6560 + sym_doc_comment, 6561 + ACTIONS(5), 1, 6562 + sym_comment, 6563 + ACTIONS(522), 1, 6564 + anon_sym_COLON, 6565 + ACTIONS(524), 1, 6566 + anon_sym_BANG, 6567 + [5287] = 3, 6568 + ACTIONS(3), 1, 6569 + sym_doc_comment, 6570 + ACTIONS(5), 1, 6571 + sym_comment, 6572 + ACTIONS(526), 2, 6573 + anon_sym_COMMA, 6574 + anon_sym_RBRACK, 6575 + [5298] = 4, 6576 + ACTIONS(3), 1, 6577 + sym_doc_comment, 6578 + ACTIONS(5), 1, 6579 + sym_comment, 6580 + ACTIONS(514), 1, 6581 + anon_sym_LBRACE, 6582 + STATE(43), 1, 6583 + sym_record_body, 6584 + [5311] = 3, 6585 + ACTIONS(3), 1, 6586 + sym_doc_comment, 6587 + ACTIONS(5), 1, 6588 + sym_comment, 6589 + ACTIONS(528), 2, 6590 + anon_sym_RBRACE, 6591 + anon_sym_COMMA, 6592 + [5322] = 3, 6593 + ACTIONS(3), 1, 6594 + sym_doc_comment, 6595 + ACTIONS(5), 1, 6596 + sym_comment, 6597 + ACTIONS(530), 2, 6598 + anon_sym_COMMA, 6599 + anon_sym_RPAREN, 6600 + [5333] = 3, 6601 + ACTIONS(3), 1, 6602 + sym_doc_comment, 6603 + ACTIONS(5), 1, 6604 + sym_comment, 6605 + ACTIONS(410), 2, 6606 + anon_sym_RBRACE, 6607 + anon_sym_COMMA, 6608 + [5344] = 3, 6609 + ACTIONS(3), 1, 6610 + sym_doc_comment, 6611 + ACTIONS(5), 1, 6612 + sym_comment, 6613 + ACTIONS(401), 2, 6614 + anon_sym_COMMA, 6615 + anon_sym_COLON, 6616 + [5355] = 4, 6617 + ACTIONS(3), 1, 6618 + sym_doc_comment, 6619 + ACTIONS(5), 1, 6620 + sym_comment, 6621 + ACTIONS(532), 1, 6622 + anon_sym_COLON, 6623 + ACTIONS(534), 1, 6624 + anon_sym_BANG, 6625 + [5368] = 4, 6626 + ACTIONS(3), 1, 6627 + sym_doc_comment, 6628 + ACTIONS(5), 1, 6629 + sym_comment, 6630 + ACTIONS(482), 1, 6631 + anon_sym_LPAREN, 6632 + STATE(280), 1, 6633 + sym_parameter_list, 6634 + [5381] = 4, 6635 + ACTIONS(3), 1, 6636 + sym_doc_comment, 6637 + ACTIONS(5), 1, 6638 + sym_comment, 6639 + ACTIONS(536), 1, 6640 + anon_sym_SEMI, 6641 + ACTIONS(538), 1, 6642 + anon_sym_PIPE, 6643 + [5394] = 3, 6644 + ACTIONS(3), 1, 6645 + sym_doc_comment, 6646 + ACTIONS(5), 1, 6647 + sym_comment, 6648 + ACTIONS(418), 2, 6649 + anon_sym_COMMA, 6650 + anon_sym_RBRACK, 6651 + [5405] = 3, 6652 + ACTIONS(3), 1, 6653 + sym_doc_comment, 6654 + ACTIONS(5), 1, 6655 + sym_comment, 6656 + ACTIONS(540), 2, 6657 + anon_sym_RBRACE, 6658 + anon_sym_COMMA, 6659 + [5416] = 3, 6660 + ACTIONS(3), 1, 6661 + sym_doc_comment, 6662 + ACTIONS(5), 1, 6663 + sym_comment, 6664 + ACTIONS(542), 1, 6665 + anon_sym_type, 6666 + [5426] = 3, 6667 + ACTIONS(3), 1, 6668 + sym_doc_comment, 6669 + ACTIONS(5), 1, 6670 + sym_comment, 6671 + ACTIONS(544), 1, 6672 + anon_sym_RBRACE, 6673 + [5436] = 3, 6674 + ACTIONS(3), 1, 6675 + sym_doc_comment, 6676 + ACTIONS(5), 1, 6677 + sym_comment, 6678 + ACTIONS(546), 1, 6679 + anon_sym_COMMA, 6680 + [5446] = 3, 6681 + ACTIONS(3), 1, 6682 + sym_doc_comment, 6683 + ACTIONS(5), 1, 6684 + sym_comment, 6685 + ACTIONS(548), 1, 6686 + anon_sym_COMMA, 6687 + [5456] = 3, 6688 + ACTIONS(3), 1, 6689 + sym_doc_comment, 6690 + ACTIONS(5), 1, 6691 + sym_comment, 6692 + ACTIONS(550), 1, 6693 + anon_sym_SEMI, 6694 + [5466] = 3, 6695 + ACTIONS(3), 1, 6696 + sym_doc_comment, 6697 + ACTIONS(5), 1, 6698 + sym_comment, 6699 + ACTIONS(552), 1, 6700 + anon_sym_SEMI, 6701 + [5476] = 3, 6702 + ACTIONS(3), 1, 6703 + sym_doc_comment, 6704 + ACTIONS(5), 1, 6705 + sym_comment, 6706 + ACTIONS(554), 1, 6707 + anon_sym_COLON, 6708 + [5486] = 3, 6709 + ACTIONS(3), 1, 6710 + sym_doc_comment, 6711 + ACTIONS(5), 1, 6712 + sym_comment, 6713 + ACTIONS(556), 1, 6714 + anon_sym_COLON, 6715 + [5496] = 3, 6716 + ACTIONS(3), 1, 6717 + sym_doc_comment, 6718 + ACTIONS(5), 1, 6719 + sym_comment, 6720 + ACTIONS(558), 1, 6721 + anon_sym_BQUOTE, 6722 + [5506] = 3, 6723 + ACTIONS(3), 1, 6724 + sym_doc_comment, 6725 + ACTIONS(5), 1, 6726 + sym_comment, 6727 + ACTIONS(560), 1, 6728 + anon_sym_LBRACE, 6729 + [5516] = 3, 6730 + ACTIONS(3), 1, 6731 + sym_doc_comment, 6732 + ACTIONS(5), 1, 6733 + sym_comment, 6734 + ACTIONS(562), 1, 6735 + anon_sym_type, 6736 + [5526] = 2, 6737 + ACTIONS(564), 1, 6738 + aux_sym_identifier_token2, 6739 + ACTIONS(5), 2, 6740 + sym_doc_comment, 6741 + sym_comment, 6742 + [5534] = 3, 6743 + ACTIONS(3), 1, 6744 + sym_doc_comment, 6745 + ACTIONS(5), 1, 6746 + sym_comment, 6747 + ACTIONS(566), 1, 6748 + anon_sym_COLON, 6749 + [5544] = 3, 6750 + ACTIONS(3), 1, 6751 + sym_doc_comment, 6752 + ACTIONS(5), 1, 6753 + sym_comment, 6754 + ACTIONS(568), 1, 6755 + anon_sym_COMMA, 6756 + [5554] = 3, 6757 + ACTIONS(3), 1, 6758 + sym_doc_comment, 6759 + ACTIONS(5), 1, 6760 + sym_comment, 6761 + ACTIONS(570), 1, 6762 + anon_sym_SEMI, 6763 + [5564] = 3, 6764 + ACTIONS(3), 1, 6765 + sym_doc_comment, 6766 + ACTIONS(5), 1, 6767 + sym_comment, 6768 + ACTIONS(572), 1, 6769 + anon_sym_EQ, 6770 + [5574] = 3, 6771 + ACTIONS(3), 1, 6772 + sym_doc_comment, 6773 + ACTIONS(5), 1, 6774 + sym_comment, 6775 + ACTIONS(574), 1, 6776 + anon_sym_COLON, 6777 + [5584] = 3, 6778 + ACTIONS(3), 1, 6779 + sym_doc_comment, 6780 + ACTIONS(5), 1, 6781 + sym_comment, 6782 + ACTIONS(576), 1, 6783 + anon_sym_SEMI, 6784 + [5594] = 3, 6785 + ACTIONS(3), 1, 6786 + sym_doc_comment, 6787 + ACTIONS(5), 1, 6788 + sym_comment, 6789 + ACTIONS(578), 1, 6790 + anon_sym_COMMA, 6791 + [5604] = 3, 6792 + ACTIONS(3), 1, 6793 + sym_doc_comment, 6794 + ACTIONS(5), 1, 6795 + sym_comment, 6796 + ACTIONS(580), 1, 6797 + anon_sym_COMMA, 6798 + [5614] = 3, 6799 + ACTIONS(3), 1, 6800 + sym_doc_comment, 6801 + ACTIONS(5), 1, 6802 + sym_comment, 6803 + ACTIONS(582), 1, 6804 + anon_sym_EQ, 6805 + [5624] = 3, 6806 + ACTIONS(3), 1, 6807 + sym_doc_comment, 6808 + ACTIONS(5), 1, 6809 + sym_comment, 6810 + ACTIONS(584), 1, 6811 + anon_sym_EQ, 6812 + [5634] = 3, 6813 + ACTIONS(3), 1, 6814 + sym_doc_comment, 6815 + ACTIONS(5), 1, 6816 + sym_comment, 6817 + ACTIONS(586), 1, 6818 + anon_sym_LBRACE, 6819 + [5644] = 3, 6820 + ACTIONS(3), 1, 6821 + sym_doc_comment, 6822 + ACTIONS(5), 1, 6823 + sym_comment, 6824 + ACTIONS(588), 1, 6825 + anon_sym_EQ, 6826 + [5654] = 3, 6827 + ACTIONS(3), 1, 6828 + sym_doc_comment, 6829 + ACTIONS(5), 1, 6830 + sym_comment, 6831 + ACTIONS(590), 1, 6832 + anon_sym_COMMA, 6833 + [5664] = 3, 6834 + ACTIONS(3), 1, 6835 + sym_doc_comment, 6836 + ACTIONS(5), 1, 6837 + sym_comment, 6838 + ACTIONS(592), 1, 6839 + anon_sym_COMMA, 6840 + [5674] = 3, 6841 + ACTIONS(3), 1, 6842 + sym_doc_comment, 6843 + ACTIONS(5), 1, 6844 + sym_comment, 6845 + ACTIONS(594), 1, 6846 + anon_sym_SEMI, 6847 + [5684] = 3, 6848 + ACTIONS(3), 1, 6849 + sym_doc_comment, 6850 + ACTIONS(5), 1, 6851 + sym_comment, 6852 + ACTIONS(596), 1, 6853 + anon_sym_SEMI, 6854 + [5694] = 3, 6855 + ACTIONS(3), 1, 6856 + sym_doc_comment, 6857 + ACTIONS(5), 1, 6858 + sym_comment, 6859 + ACTIONS(598), 1, 6860 + anon_sym_COLON, 6861 + [5704] = 3, 6862 + ACTIONS(3), 1, 6863 + sym_doc_comment, 6864 + ACTIONS(5), 1, 6865 + sym_comment, 6866 + ACTIONS(600), 1, 6867 + anon_sym_COLON, 6868 + [5714] = 3, 6869 + ACTIONS(3), 1, 6870 + sym_doc_comment, 6871 + ACTIONS(5), 1, 6872 + sym_comment, 6873 + ACTIONS(602), 1, 6874 + anon_sym_COLON, 6875 + [5724] = 3, 6876 + ACTIONS(3), 1, 6877 + sym_doc_comment, 6878 + ACTIONS(5), 1, 6879 + sym_comment, 6880 + ACTIONS(604), 1, 6881 + anon_sym_type, 6882 + [5734] = 3, 6883 + ACTIONS(3), 1, 6884 + sym_doc_comment, 6885 + ACTIONS(5), 1, 6886 + sym_comment, 6887 + ACTIONS(606), 1, 6888 + anon_sym_error, 6889 + [5744] = 3, 6890 + ACTIONS(3), 1, 6891 + sym_doc_comment, 6892 + ACTIONS(5), 1, 6893 + sym_comment, 6894 + ACTIONS(608), 1, 6895 + anon_sym_COLON, 6896 + [5754] = 3, 6897 + ACTIONS(3), 1, 6898 + sym_doc_comment, 6899 + ACTIONS(5), 1, 6900 + sym_comment, 6901 + ACTIONS(610), 1, 6902 + anon_sym_COLON, 6903 + [5764] = 3, 6904 + ACTIONS(3), 1, 6905 + sym_doc_comment, 6906 + ACTIONS(5), 1, 6907 + sym_comment, 6908 + ACTIONS(612), 1, 6909 + anon_sym_SEMI, 6910 + [5774] = 3, 6911 + ACTIONS(3), 1, 6912 + sym_doc_comment, 6913 + ACTIONS(5), 1, 6914 + sym_comment, 6915 + ACTIONS(614), 1, 6916 + anon_sym_COMMA, 6917 + [5784] = 3, 6918 + ACTIONS(3), 1, 6919 + sym_doc_comment, 6920 + ACTIONS(5), 1, 6921 + sym_comment, 6922 + ACTIONS(616), 1, 6923 + anon_sym_SEMI, 6924 + [5794] = 3, 6925 + ACTIONS(3), 1, 6926 + sym_doc_comment, 6927 + ACTIONS(5), 1, 6928 + sym_comment, 6929 + ACTIONS(618), 1, 6930 + anon_sym_SEMI, 6931 + [5804] = 3, 6932 + ACTIONS(3), 1, 6933 + sym_doc_comment, 6934 + ACTIONS(5), 1, 6935 + sym_comment, 6936 + ACTIONS(620), 1, 6937 + anon_sym_COLON, 6938 + [5814] = 3, 6939 + ACTIONS(3), 1, 6940 + sym_doc_comment, 6941 + ACTIONS(5), 1, 6942 + sym_comment, 6943 + ACTIONS(622), 1, 6944 + anon_sym_LBRACE, 6945 + [5824] = 3, 6946 + ACTIONS(3), 1, 6947 + sym_doc_comment, 6948 + ACTIONS(5), 1, 6949 + sym_comment, 6950 + ACTIONS(624), 1, 6951 + anon_sym_COLON, 6952 + [5834] = 3, 6953 + ACTIONS(3), 1, 6954 + sym_doc_comment, 6955 + ACTIONS(5), 1, 6956 + sym_comment, 6957 + ACTIONS(626), 1, 6958 + anon_sym_RBRACE, 6959 + [5844] = 3, 6960 + ACTIONS(3), 1, 6961 + sym_doc_comment, 6962 + ACTIONS(5), 1, 6963 + sym_comment, 6964 + ACTIONS(628), 1, 6965 + anon_sym_SEMI, 6966 + [5854] = 3, 6967 + ACTIONS(3), 1, 6968 + sym_doc_comment, 6969 + ACTIONS(5), 1, 6970 + sym_comment, 6971 + ACTIONS(630), 1, 6972 + anon_sym_COLON, 6973 + [5864] = 3, 6974 + ACTIONS(3), 1, 6975 + sym_doc_comment, 6976 + ACTIONS(5), 1, 6977 + sym_comment, 6978 + ACTIONS(632), 1, 6979 + anon_sym_SEMI, 6980 + [5874] = 3, 6981 + ACTIONS(3), 1, 6982 + sym_doc_comment, 6983 + ACTIONS(5), 1, 6984 + sym_comment, 6985 + ACTIONS(634), 1, 6986 + anon_sym_SEMI, 6987 + [5884] = 3, 6988 + ACTIONS(3), 1, 6989 + sym_doc_comment, 6990 + ACTIONS(5), 1, 6991 + sym_comment, 6992 + ACTIONS(636), 1, 6993 + anon_sym_SEMI, 6994 + [5894] = 3, 6995 + ACTIONS(3), 1, 6996 + sym_doc_comment, 6997 + ACTIONS(5), 1, 6998 + sym_comment, 6999 + ACTIONS(638), 1, 7000 + anon_sym_SEMI, 7001 + [5904] = 3, 7002 + ACTIONS(3), 1, 7003 + sym_doc_comment, 7004 + ACTIONS(5), 1, 7005 + sym_comment, 7006 + ACTIONS(640), 1, 7007 + anon_sym_COLON, 7008 + [5914] = 3, 7009 + ACTIONS(3), 1, 7010 + sym_doc_comment, 7011 + ACTIONS(5), 1, 7012 + sym_comment, 7013 + ACTIONS(642), 1, 7014 + anon_sym_SEMI, 7015 + [5924] = 3, 7016 + ACTIONS(3), 1, 7017 + sym_doc_comment, 7018 + ACTIONS(5), 1, 7019 + sym_comment, 7020 + ACTIONS(644), 1, 7021 + anon_sym_type, 7022 + [5934] = 3, 7023 + ACTIONS(3), 1, 7024 + sym_doc_comment, 7025 + ACTIONS(5), 1, 7026 + sym_comment, 7027 + ACTIONS(646), 1, 7028 + anon_sym_COLON, 7029 + [5944] = 3, 7030 + ACTIONS(3), 1, 7031 + sym_doc_comment, 7032 + ACTIONS(5), 1, 7033 + sym_comment, 7034 + ACTIONS(648), 1, 7035 + anon_sym_SEMI, 7036 + [5954] = 3, 7037 + ACTIONS(3), 1, 7038 + sym_doc_comment, 7039 + ACTIONS(5), 1, 7040 + sym_comment, 7041 + ACTIONS(650), 1, 7042 + anon_sym_COLON, 7043 + [5964] = 3, 7044 + ACTIONS(3), 1, 7045 + sym_doc_comment, 7046 + ACTIONS(5), 1, 7047 + sym_comment, 7048 + ACTIONS(652), 1, 7049 + anon_sym_COLON, 7050 + [5974] = 3, 7051 + ACTIONS(3), 1, 7052 + sym_doc_comment, 7053 + ACTIONS(5), 1, 7054 + sym_comment, 7055 + ACTIONS(654), 1, 7056 + anon_sym_RBRACK, 7057 + [5984] = 3, 7058 + ACTIONS(3), 1, 7059 + sym_doc_comment, 7060 + ACTIONS(5), 1, 7061 + sym_comment, 7062 + ACTIONS(656), 1, 7063 + anon_sym_SEMI, 7064 + [5994] = 3, 7065 + ACTIONS(3), 1, 7066 + sym_doc_comment, 7067 + ACTIONS(5), 1, 7068 + sym_comment, 7069 + ACTIONS(658), 1, 7070 + anon_sym_SEMI, 7071 + [6004] = 3, 7072 + ACTIONS(3), 1, 7073 + sym_doc_comment, 7074 + ACTIONS(5), 1, 7075 + sym_comment, 7076 + ACTIONS(660), 1, 7077 + anon_sym_BQUOTE, 7078 + [6014] = 3, 7079 + ACTIONS(3), 1, 7080 + sym_doc_comment, 7081 + ACTIONS(5), 1, 7082 + sym_comment, 7083 + ACTIONS(662), 1, 7084 + anon_sym_SEMI, 7085 + [6024] = 3, 7086 + ACTIONS(3), 1, 7087 + sym_doc_comment, 7088 + ACTIONS(5), 1, 7089 + sym_comment, 7090 + ACTIONS(664), 1, 7091 + anon_sym_COLON, 7092 + [6034] = 3, 7093 + ACTIONS(3), 1, 7094 + sym_doc_comment, 7095 + ACTIONS(5), 1, 7096 + sym_comment, 7097 + ACTIONS(666), 1, 7098 + anon_sym_SEMI, 7099 + [6044] = 3, 7100 + ACTIONS(3), 1, 7101 + sym_doc_comment, 7102 + ACTIONS(5), 1, 7103 + sym_comment, 7104 + ACTIONS(668), 1, 7105 + ts_builtin_sym_end, 7106 + [6054] = 3, 7107 + ACTIONS(3), 1, 7108 + sym_doc_comment, 7109 + ACTIONS(5), 1, 7110 + sym_comment, 7111 + ACTIONS(670), 1, 7112 + anon_sym_SEMI, 7113 + [6064] = 2, 7114 + ACTIONS(672), 1, 7115 + aux_sym_identifier_token2, 7116 + ACTIONS(5), 2, 7117 + sym_doc_comment, 7118 + sym_comment, 7119 + [6072] = 3, 7120 + ACTIONS(3), 1, 7121 + sym_doc_comment, 7122 + ACTIONS(5), 1, 7123 + sym_comment, 7124 + ACTIONS(674), 1, 7125 + anon_sym_COMMA, 7126 + }; 7127 + 7128 + static const uint32_t ts_small_parse_table_map[] = { 7129 + [SMALL_STATE(2)] = 0, 7130 + [SMALL_STATE(3)] = 59, 7131 + [SMALL_STATE(4)] = 118, 7132 + [SMALL_STATE(5)] = 150, 7133 + [SMALL_STATE(6)] = 182, 7134 + [SMALL_STATE(7)] = 235, 7135 + [SMALL_STATE(8)] = 288, 7136 + [SMALL_STATE(9)] = 341, 7137 + [SMALL_STATE(10)] = 394, 7138 + [SMALL_STATE(11)] = 444, 7139 + [SMALL_STATE(12)] = 494, 7140 + [SMALL_STATE(13)] = 544, 7141 + [SMALL_STATE(14)] = 594, 7142 + [SMALL_STATE(15)] = 644, 7143 + [SMALL_STATE(16)] = 694, 7144 + [SMALL_STATE(17)] = 744, 7145 + [SMALL_STATE(18)] = 794, 7146 + [SMALL_STATE(19)] = 844, 7147 + [SMALL_STATE(20)] = 894, 7148 + [SMALL_STATE(21)] = 944, 7149 + [SMALL_STATE(22)] = 994, 7150 + [SMALL_STATE(23)] = 1044, 7151 + [SMALL_STATE(24)] = 1094, 7152 + [SMALL_STATE(25)] = 1144, 7153 + [SMALL_STATE(26)] = 1194, 7154 + [SMALL_STATE(27)] = 1244, 7155 + [SMALL_STATE(28)] = 1291, 7156 + [SMALL_STATE(29)] = 1340, 7157 + [SMALL_STATE(30)] = 1389, 7158 + [SMALL_STATE(31)] = 1438, 7159 + [SMALL_STATE(32)] = 1487, 7160 + [SMALL_STATE(33)] = 1536, 7161 + [SMALL_STATE(34)] = 1585, 7162 + [SMALL_STATE(35)] = 1631, 7163 + [SMALL_STATE(36)] = 1677, 7164 + [SMALL_STATE(37)] = 1723, 7165 + [SMALL_STATE(38)] = 1769, 7166 + [SMALL_STATE(39)] = 1812, 7167 + [SMALL_STATE(40)] = 1855, 7168 + [SMALL_STATE(41)] = 1898, 7169 + [SMALL_STATE(42)] = 1931, 7170 + [SMALL_STATE(43)] = 1951, 7171 + [SMALL_STATE(44)] = 1971, 7172 + [SMALL_STATE(45)] = 1991, 7173 + [SMALL_STATE(46)] = 2011, 7174 + [SMALL_STATE(47)] = 2031, 7175 + [SMALL_STATE(48)] = 2051, 7176 + [SMALL_STATE(49)] = 2071, 7177 + [SMALL_STATE(50)] = 2091, 7178 + [SMALL_STATE(51)] = 2111, 7179 + [SMALL_STATE(52)] = 2131, 7180 + [SMALL_STATE(53)] = 2151, 7181 + [SMALL_STATE(54)] = 2171, 7182 + [SMALL_STATE(55)] = 2191, 7183 + [SMALL_STATE(56)] = 2229, 7184 + [SMALL_STATE(57)] = 2253, 7185 + [SMALL_STATE(58)] = 2273, 7186 + [SMALL_STATE(59)] = 2293, 7187 + [SMALL_STATE(60)] = 2313, 7188 + [SMALL_STATE(61)] = 2333, 7189 + [SMALL_STATE(62)] = 2353, 7190 + [SMALL_STATE(63)] = 2373, 7191 + [SMALL_STATE(64)] = 2393, 7192 + [SMALL_STATE(65)] = 2417, 7193 + [SMALL_STATE(66)] = 2437, 7194 + [SMALL_STATE(67)] = 2457, 7195 + [SMALL_STATE(68)] = 2477, 7196 + [SMALL_STATE(69)] = 2500, 7197 + [SMALL_STATE(70)] = 2518, 7198 + [SMALL_STATE(71)] = 2536, 7199 + [SMALL_STATE(72)] = 2566, 7200 + [SMALL_STATE(73)] = 2584, 7201 + [SMALL_STATE(74)] = 2602, 7202 + [SMALL_STATE(75)] = 2632, 7203 + [SMALL_STATE(76)] = 2650, 7204 + [SMALL_STATE(77)] = 2680, 7205 + [SMALL_STATE(78)] = 2710, 7206 + [SMALL_STATE(79)] = 2740, 7207 + [SMALL_STATE(80)] = 2762, 7208 + [SMALL_STATE(81)] = 2790, 7209 + [SMALL_STATE(82)] = 2818, 7210 + [SMALL_STATE(83)] = 2846, 7211 + [SMALL_STATE(84)] = 2868, 7212 + [SMALL_STATE(85)] = 2886, 7213 + [SMALL_STATE(86)] = 2904, 7214 + [SMALL_STATE(87)] = 2933, 7215 + [SMALL_STATE(88)] = 2962, 7216 + [SMALL_STATE(89)] = 2991, 7217 + [SMALL_STATE(90)] = 3016, 7218 + [SMALL_STATE(91)] = 3041, 7219 + [SMALL_STATE(92)] = 3068, 7220 + [SMALL_STATE(93)] = 3094, 7221 + [SMALL_STATE(94)] = 3116, 7222 + [SMALL_STATE(95)] = 3131, 7223 + [SMALL_STATE(96)] = 3154, 7224 + [SMALL_STATE(97)] = 3179, 7225 + [SMALL_STATE(98)] = 3204, 7226 + [SMALL_STATE(99)] = 3219, 7227 + [SMALL_STATE(100)] = 3234, 7228 + [SMALL_STATE(101)] = 3249, 7229 + [SMALL_STATE(102)] = 3266, 7230 + [SMALL_STATE(103)] = 3289, 7231 + [SMALL_STATE(104)] = 3304, 7232 + [SMALL_STATE(105)] = 3323, 7233 + [SMALL_STATE(106)] = 3348, 7234 + [SMALL_STATE(107)] = 3371, 7235 + [SMALL_STATE(108)] = 3386, 7236 + [SMALL_STATE(109)] = 3401, 7237 + [SMALL_STATE(110)] = 3416, 7238 + [SMALL_STATE(111)] = 3439, 7239 + [SMALL_STATE(112)] = 3462, 7240 + [SMALL_STATE(113)] = 3481, 7241 + [SMALL_STATE(114)] = 3496, 7242 + [SMALL_STATE(115)] = 3519, 7243 + [SMALL_STATE(116)] = 3542, 7244 + [SMALL_STATE(117)] = 3565, 7245 + [SMALL_STATE(118)] = 3588, 7246 + [SMALL_STATE(119)] = 3603, 7247 + [SMALL_STATE(120)] = 3626, 7248 + [SMALL_STATE(121)] = 3641, 7249 + [SMALL_STATE(122)] = 3655, 7250 + [SMALL_STATE(123)] = 3677, 7251 + [SMALL_STATE(124)] = 3691, 7252 + [SMALL_STATE(125)] = 3709, 7253 + [SMALL_STATE(126)] = 3727, 7254 + [SMALL_STATE(127)] = 3747, 7255 + [SMALL_STATE(128)] = 3758, 7256 + [SMALL_STATE(129)] = 3771, 7257 + [SMALL_STATE(130)] = 3788, 7258 + [SMALL_STATE(131)] = 3799, 7259 + [SMALL_STATE(132)] = 3810, 7260 + [SMALL_STATE(133)] = 3829, 7261 + [SMALL_STATE(134)] = 3842, 7262 + [SMALL_STATE(135)] = 3855, 7263 + [SMALL_STATE(136)] = 3866, 7264 + [SMALL_STATE(137)] = 3885, 7265 + [SMALL_STATE(138)] = 3898, 7266 + [SMALL_STATE(139)] = 3911, 7267 + [SMALL_STATE(140)] = 3924, 7268 + [SMALL_STATE(141)] = 3941, 7269 + [SMALL_STATE(142)] = 3954, 7270 + [SMALL_STATE(143)] = 3965, 7271 + [SMALL_STATE(144)] = 3976, 7272 + [SMALL_STATE(145)] = 3989, 7273 + [SMALL_STATE(146)] = 4008, 7274 + [SMALL_STATE(147)] = 4027, 7275 + [SMALL_STATE(148)] = 4040, 7276 + [SMALL_STATE(149)] = 4053, 7277 + [SMALL_STATE(150)] = 4066, 7278 + [SMALL_STATE(151)] = 4078, 7279 + [SMALL_STATE(152)] = 4094, 7280 + [SMALL_STATE(153)] = 4110, 7281 + [SMALL_STATE(154)] = 4126, 7282 + [SMALL_STATE(155)] = 4142, 7283 + [SMALL_STATE(156)] = 4158, 7284 + [SMALL_STATE(157)] = 4174, 7285 + [SMALL_STATE(158)] = 4190, 7286 + [SMALL_STATE(159)] = 4206, 7287 + [SMALL_STATE(160)] = 4222, 7288 + [SMALL_STATE(161)] = 4238, 7289 + [SMALL_STATE(162)] = 4254, 7290 + [SMALL_STATE(163)] = 4270, 7291 + [SMALL_STATE(164)] = 4286, 7292 + [SMALL_STATE(165)] = 4302, 7293 + [SMALL_STATE(166)] = 4318, 7294 + [SMALL_STATE(167)] = 4334, 7295 + [SMALL_STATE(168)] = 4350, 7296 + [SMALL_STATE(169)] = 4366, 7297 + [SMALL_STATE(170)] = 4382, 7298 + [SMALL_STATE(171)] = 4398, 7299 + [SMALL_STATE(172)] = 4414, 7300 + [SMALL_STATE(173)] = 4430, 7301 + [SMALL_STATE(174)] = 4446, 7302 + [SMALL_STATE(175)] = 4462, 7303 + [SMALL_STATE(176)] = 4478, 7304 + [SMALL_STATE(177)] = 4494, 7305 + [SMALL_STATE(178)] = 4510, 7306 + [SMALL_STATE(179)] = 4526, 7307 + [SMALL_STATE(180)] = 4542, 7308 + [SMALL_STATE(181)] = 4558, 7309 + [SMALL_STATE(182)] = 4574, 7310 + [SMALL_STATE(183)] = 4590, 7311 + [SMALL_STATE(184)] = 4606, 7312 + [SMALL_STATE(185)] = 4622, 7313 + [SMALL_STATE(186)] = 4636, 7314 + [SMALL_STATE(187)] = 4652, 7315 + [SMALL_STATE(188)] = 4668, 7316 + [SMALL_STATE(189)] = 4684, 7317 + [SMALL_STATE(190)] = 4700, 7318 + [SMALL_STATE(191)] = 4716, 7319 + [SMALL_STATE(192)] = 4726, 7320 + [SMALL_STATE(193)] = 4742, 7321 + [SMALL_STATE(194)] = 4754, 7322 + [SMALL_STATE(195)] = 4764, 7323 + [SMALL_STATE(196)] = 4780, 7324 + [SMALL_STATE(197)] = 4796, 7325 + [SMALL_STATE(198)] = 4812, 7326 + [SMALL_STATE(199)] = 4828, 7327 + [SMALL_STATE(200)] = 4844, 7328 + [SMALL_STATE(201)] = 4856, 7329 + [SMALL_STATE(202)] = 4872, 7330 + [SMALL_STATE(203)] = 4884, 7331 + [SMALL_STATE(204)] = 4896, 7332 + [SMALL_STATE(205)] = 4908, 7333 + [SMALL_STATE(206)] = 4922, 7334 + [SMALL_STATE(207)] = 4934, 7335 + [SMALL_STATE(208)] = 4950, 7336 + [SMALL_STATE(209)] = 4966, 7337 + [SMALL_STATE(210)] = 4979, 7338 + [SMALL_STATE(211)] = 4992, 7339 + [SMALL_STATE(212)] = 5005, 7340 + [SMALL_STATE(213)] = 5016, 7341 + [SMALL_STATE(214)] = 5029, 7342 + [SMALL_STATE(215)] = 5042, 7343 + [SMALL_STATE(216)] = 5053, 7344 + [SMALL_STATE(217)] = 5066, 7345 + [SMALL_STATE(218)] = 5077, 7346 + [SMALL_STATE(219)] = 5088, 7347 + [SMALL_STATE(220)] = 5099, 7348 + [SMALL_STATE(221)] = 5110, 7349 + [SMALL_STATE(222)] = 5123, 7350 + [SMALL_STATE(223)] = 5136, 7351 + [SMALL_STATE(224)] = 5147, 7352 + [SMALL_STATE(225)] = 5158, 7353 + [SMALL_STATE(226)] = 5169, 7354 + [SMALL_STATE(227)] = 5182, 7355 + [SMALL_STATE(228)] = 5195, 7356 + [SMALL_STATE(229)] = 5206, 7357 + [SMALL_STATE(230)] = 5217, 7358 + [SMALL_STATE(231)] = 5230, 7359 + [SMALL_STATE(232)] = 5241, 7360 + [SMALL_STATE(233)] = 5252, 7361 + [SMALL_STATE(234)] = 5263, 7362 + [SMALL_STATE(235)] = 5274, 7363 + [SMALL_STATE(236)] = 5287, 7364 + [SMALL_STATE(237)] = 5298, 7365 + [SMALL_STATE(238)] = 5311, 7366 + [SMALL_STATE(239)] = 5322, 7367 + [SMALL_STATE(240)] = 5333, 7368 + [SMALL_STATE(241)] = 5344, 7369 + [SMALL_STATE(242)] = 5355, 7370 + [SMALL_STATE(243)] = 5368, 7371 + [SMALL_STATE(244)] = 5381, 7372 + [SMALL_STATE(245)] = 5394, 7373 + [SMALL_STATE(246)] = 5405, 7374 + [SMALL_STATE(247)] = 5416, 7375 + [SMALL_STATE(248)] = 5426, 7376 + [SMALL_STATE(249)] = 5436, 7377 + [SMALL_STATE(250)] = 5446, 7378 + [SMALL_STATE(251)] = 5456, 7379 + [SMALL_STATE(252)] = 5466, 7380 + [SMALL_STATE(253)] = 5476, 7381 + [SMALL_STATE(254)] = 5486, 7382 + [SMALL_STATE(255)] = 5496, 7383 + [SMALL_STATE(256)] = 5506, 7384 + [SMALL_STATE(257)] = 5516, 7385 + [SMALL_STATE(258)] = 5526, 7386 + [SMALL_STATE(259)] = 5534, 7387 + [SMALL_STATE(260)] = 5544, 7388 + [SMALL_STATE(261)] = 5554, 7389 + [SMALL_STATE(262)] = 5564, 7390 + [SMALL_STATE(263)] = 5574, 7391 + [SMALL_STATE(264)] = 5584, 7392 + [SMALL_STATE(265)] = 5594, 7393 + [SMALL_STATE(266)] = 5604, 7394 + [SMALL_STATE(267)] = 5614, 7395 + [SMALL_STATE(268)] = 5624, 7396 + [SMALL_STATE(269)] = 5634, 7397 + [SMALL_STATE(270)] = 5644, 7398 + [SMALL_STATE(271)] = 5654, 7399 + [SMALL_STATE(272)] = 5664, 7400 + [SMALL_STATE(273)] = 5674, 7401 + [SMALL_STATE(274)] = 5684, 7402 + [SMALL_STATE(275)] = 5694, 7403 + [SMALL_STATE(276)] = 5704, 7404 + [SMALL_STATE(277)] = 5714, 7405 + [SMALL_STATE(278)] = 5724, 7406 + [SMALL_STATE(279)] = 5734, 7407 + [SMALL_STATE(280)] = 5744, 7408 + [SMALL_STATE(281)] = 5754, 7409 + [SMALL_STATE(282)] = 5764, 7410 + [SMALL_STATE(283)] = 5774, 7411 + [SMALL_STATE(284)] = 5784, 7412 + [SMALL_STATE(285)] = 5794, 7413 + [SMALL_STATE(286)] = 5804, 7414 + [SMALL_STATE(287)] = 5814, 7415 + [SMALL_STATE(288)] = 5824, 7416 + [SMALL_STATE(289)] = 5834, 7417 + [SMALL_STATE(290)] = 5844, 7418 + [SMALL_STATE(291)] = 5854, 7419 + [SMALL_STATE(292)] = 5864, 7420 + [SMALL_STATE(293)] = 5874, 7421 + [SMALL_STATE(294)] = 5884, 7422 + [SMALL_STATE(295)] = 5894, 7423 + [SMALL_STATE(296)] = 5904, 7424 + [SMALL_STATE(297)] = 5914, 7425 + [SMALL_STATE(298)] = 5924, 7426 + [SMALL_STATE(299)] = 5934, 7427 + [SMALL_STATE(300)] = 5944, 7428 + [SMALL_STATE(301)] = 5954, 7429 + [SMALL_STATE(302)] = 5964, 7430 + [SMALL_STATE(303)] = 5974, 7431 + [SMALL_STATE(304)] = 5984, 7432 + [SMALL_STATE(305)] = 5994, 7433 + [SMALL_STATE(306)] = 6004, 7434 + [SMALL_STATE(307)] = 6014, 7435 + [SMALL_STATE(308)] = 6024, 7436 + [SMALL_STATE(309)] = 6034, 7437 + [SMALL_STATE(310)] = 6044, 7438 + [SMALL_STATE(311)] = 6054, 7439 + [SMALL_STATE(312)] = 6064, 7440 + [SMALL_STATE(313)] = 6072, 7441 + }; 7442 + 7443 + static const TSParseActionEntry ts_parse_actions[] = { 7444 + [0] = {.entry = {.count = 0, .reusable = false}}, 7445 + [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), 7446 + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), 7447 + [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), 7448 + [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0), 7449 + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), 7450 + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), 7451 + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), 7452 + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), 7453 + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), 7454 + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), 7455 + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), 7456 + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), 7457 + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), 7458 + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), 7459 + [29] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), 7460 + [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), 7461 + [33] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(256), 7462 + [36] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(132), 7463 + [39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(136), 7464 + [42] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(208), 7465 + [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(298), 7466 + [48] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(257), 7467 + [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(189), 7468 + [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(152), 7469 + [57] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(164), 7470 + [60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(176), 7471 + [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1, 0, 0), 7472 + [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 3, 0, 0), 7473 + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), 7474 + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), 7475 + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), 7476 + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), 7477 + [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), 7478 + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), 7479 + [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), 7480 + [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), 7481 + [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), 7482 + [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), 7483 + [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), 7484 + [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139), 7485 + [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), 7486 + [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), 7487 + [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), 7488 + [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), 7489 + [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), 7490 + [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), 7491 + [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), 7492 + [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), 7493 + [107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 2, 0, 1), 7494 + [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), 7495 + [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), 7496 + [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), 7497 + [115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_definition, 3, 0, 0), 7498 + [117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_definition, 4, 0, 8), 7499 + [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_statement, 5, 0, 12), 7500 + [121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 3, 0, 0), 7501 + [123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_type_definition, 6, 0, 14), 7502 + [125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_item, 1, 0, 0), 7503 + [127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_def_type_definition, 6, 0, 14), 7504 + [129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 2, 0, 0), 7505 + [131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_query_definition, 6, 0, 16), 7506 + [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_procedure_definition, 6, 0, 16), 7507 + [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscription_definition, 6, 0, 17), 7508 + [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_statement, 3, 0, 4), 7509 + [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_definition, 3, 0, 5), 7510 + [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), 7511 + [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), 7512 + [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), 7513 + [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), 7514 + [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), 7515 + [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), 7516 + [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), 7517 + [155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), 7518 + [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_self_definition_repeat1, 2, 0, 0), 7519 + [159] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_self_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(132), 7520 + [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_definition, 4, 0, 0), 7521 + [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_type_definition, 7, 0, 24), 7522 + [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_def_type_definition, 7, 0, 24), 7523 + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_query_definition, 7, 0, 25), 7524 + [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_procedure_definition, 7, 0, 25), 7525 + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscription_definition, 7, 0, 26), 7526 + [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_token_definition, 3, 0, 1), 7527 + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 3, 0, 2), 7528 + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_token_definition, 4, 0, 9), 7529 + [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_statement, 5, 0, 10), 7530 + [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_statement, 5, 0, 4), 7531 + [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_path_repeat1, 2, 0, 0), 7532 + [186] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_path_repeat1, 2, 0, 0), SHIFT_REPEAT(184), 7533 + [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_args, 4, 0, 0), 7534 + [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_args, 5, 0, 0), 7535 + [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), 7536 + [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), 7537 + [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), 7538 + [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), 7539 + [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_args, 2, 0, 0), 7540 + [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), 7541 + [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_args, 3, 0, 0), 7542 + [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_body_repeat1, 2, 0, 0), 7543 + [209] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_body_repeat1, 2, 0, 0), SHIFT_REPEAT(106), 7544 + [212] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_body_repeat1, 2, 0, 0), SHIFT_REPEAT(146), 7545 + [215] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_body_repeat1, 2, 0, 0), SHIFT_REPEAT(4), 7546 + [218] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_body_repeat1, 2, 0, 0), SHIFT_REPEAT(258), 7547 + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), 7548 + [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), 7549 + [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_path, 2, 0, 0), 7550 + [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), 7551 + [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), 7552 + [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), 7553 + [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), 7554 + [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), 7555 + [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), 7556 + [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), 7557 + [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_path, 1, 0, 0), 7558 + [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 4, 0, 6), 7559 + [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 3, 0, 3), 7560 + [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), 7561 + [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), 7562 + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), 7563 + [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), 7564 + [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1, 0, 0), 7565 + [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), 7566 + [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), 7567 + [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_type, 2, 0, 0), 7568 + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), 7569 + [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(185), 7570 + [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), 7571 + [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_type, 3, 0, 0), 7572 + [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 3, 0, 20), 7573 + [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1, 0, 0), 7574 + [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_union_type_repeat1, 2, 0, 0), 7575 + [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), 7576 + [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constrained_type, 3, 0, 21), 7577 + [281] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_type_repeat1, 2, 0, 0), SHIFT_REPEAT(27), 7578 + [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), 7579 + [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_non_union_type, 1, 0, 0), 7580 + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reference_type, 1, 0, 0), 7581 + [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constraint_block, 2, 0, 0), 7582 + [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), 7583 + [294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), 7584 + [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), 7585 + [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_type, 2, 0, 0), 7586 + [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constraint_block, 3, 0, 0), 7587 + [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_constraint_block_repeat1, 2, 0, 0), 7588 + [304] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_constraint_block_repeat1, 2, 0, 0), SHIFT_REPEAT(4), 7589 + [307] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_constraint_block_repeat1, 2, 0, 0), SHIFT_REPEAT(258), 7590 + [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), 7591 + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_return_type_repeat1, 2, 0, 0), 7592 + [314] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_return_type_repeat1, 2, 0, 0), SHIFT_REPEAT(188), 7593 + [317] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_return_type_repeat1, 2, 0, 0), SHIFT_REPEAT(4), 7594 + [320] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_return_type_repeat1, 2, 0, 0), SHIFT_REPEAT(258), 7595 + [323] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_self_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(146), 7596 + [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), 7597 + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 5, 0, 23), 7598 + [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_object, 3, 0, 0), 7599 + [332] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_path, 1, 0, 0), SHIFT(184), 7600 + [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 4, 0, 15), 7601 + [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 7, 0, 28), 7602 + [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_null_literal, 1, 0, 0), 7603 + [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_array, 2, 0, 0), 7604 + [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 5, 0, 22), 7605 + [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_array, 3, 0, 0), 7606 + [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_value, 1, 0, 0), 7607 + [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1, 0, 0), 7608 + [351] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_path, 2, 0, 0), SHIFT(184), 7609 + [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_object, 2, 0, 0), 7610 + [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 6, 0, 27), 7611 + [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 6, 0, 14), 7612 + [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_object, 4, 0, 0), 7613 + [362] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type, 1, 0, 0), SHIFT(27), 7614 + [365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), 7615 + [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), 7616 + [369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_array, 4, 0, 0), 7617 + [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_object, 5, 0, 0), 7618 + [373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_array, 5, 0, 0), 7619 + [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), 7620 + [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), 7621 + [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), 7622 + [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), 7623 + [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), 7624 + [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), 7625 + [387] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_annotation_args_repeat1, 2, 0, 0), SHIFT_REPEAT(36), 7626 + [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_annotation_args_repeat1, 2, 0, 0), 7627 + [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), 7628 + [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), 7629 + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), 7630 + [398] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_annotation_selectors_repeat1, 2, 0, 0), SHIFT_REPEAT(177), 7631 + [401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_annotation_selectors_repeat1, 2, 0, 0), 7632 + [403] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(92), 7633 + [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), 7634 + [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), 7635 + [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_annotation_object_repeat1, 2, 0, 0), 7636 + [412] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_annotation_object_repeat1, 2, 0, 0), SHIFT_REPEAT(221), 7637 + [415] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_annotation_array_repeat1, 2, 0, 0), SHIFT_REPEAT(38), 7638 + [418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_annotation_array_repeat1, 2, 0, 0), 7639 + [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), 7640 + [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), 7641 + [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_block_repeat1, 2, 0, 0), 7642 + [426] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_import_block_repeat1, 2, 0, 0), SHIFT_REPEAT(122), 7643 + [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), 7644 + [431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), 7645 + [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), 7646 + [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), 7647 + [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), 7648 + [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), 7649 + [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), 7650 + [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), 7651 + [445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_item, 1, 0, 11), 7652 + [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), 7653 + [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), 7654 + [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), 7655 + [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), 7656 + [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), 7657 + [457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), 7658 + [459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_definition, 2, 0, 11), 7659 + [461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), 7660 + [463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), 7661 + [465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constraint, 4, 0, 13), 7662 + [467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_definition, 3, 0, 1), 7663 + [469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), 7664 + [471] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(90), 7665 + [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, 0, 0), 7666 + [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), 7667 + [478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), 7668 + [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), 7669 + [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), 7670 + [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), 7671 + [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), 7672 + [488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), 7673 + [490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), 7674 + [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_arg, 1, 0, 7), 7675 + [494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_selectors, 2, 0, 0), 7676 + [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 4, 0, 22), 7677 + [498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 4, 0, 23), 7678 + [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_selectors, 3, 0, 0), 7679 + [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), 7680 + [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 5, 0, 27), 7681 + [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), 7682 + [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), 7683 + [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 15), 7684 + [512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constraint_value, 1, 0, 0), 7685 + [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), 7686 + [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0), 7687 + [518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), 7688 + [520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, 0, 0), 7689 + [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), 7690 + [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), 7691 + [526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 5, 0, 0), 7692 + [528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_object_entry, 3, 0, 18), 7693 + [530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation_arg, 3, 0, 13), 7694 + [532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), 7695 + [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), 7696 + [536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 1, 0, 0), 7697 + [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), 7698 + [540] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_item, 3, 0, 19), 7699 + [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), 7700 + [544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), 7701 + [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), 7702 + [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), 7703 + [550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), 7704 + [552] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_block, 2, 0, 0), 7705 + [554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4, 0, 0), 7706 + [556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), 7707 + [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), 7708 + [560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), 7709 + [562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), 7710 + [564] = {.entry = {.count = 1, .reusable = false}}, SHIFT(255), 7711 + [566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), 7712 + [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), 7713 + [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), 7714 + [572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), 7715 + [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), 7716 + [576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 5, 0, 0), 7717 + [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), 7718 + [580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), 7719 + [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), 7720 + [584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), 7721 + [586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), 7722 + [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), 7723 + [590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), 7724 + [592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), 7725 + [594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), 7726 + [596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 6, 0, 0), 7727 + [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), 7728 + [600] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 5, 0, 0), 7729 + [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), 7730 + [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), 7731 + [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), 7732 + [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), 7733 + [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), 7734 + [612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_block, 5, 0, 0), 7735 + [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), 7736 + [616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_block, 4, 0, 0), 7737 + [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), 7738 + [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), 7739 + [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), 7740 + [624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), 7741 + [626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), 7742 + [628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), 7743 + [630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), 7744 + [632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), 7745 + [634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), 7746 + [636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), 7747 + [638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), 7748 + [640] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), 7749 + [642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), 7750 + [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), 7751 + [646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), 7752 + [648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), 7753 + [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), 7754 + [652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), 7755 + [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), 7756 + [656] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_block, 3, 0, 0), 7757 + [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), 7758 + [660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), 7759 + [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), 7760 + [664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), 7761 + [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), 7762 + [668] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), 7763 + [670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), 7764 + [672] = {.entry = {.count = 1, .reusable = false}}, SHIFT(306), 7765 + [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), 7766 + }; 7767 + 7768 + #ifdef __cplusplus 7769 + extern "C" { 7770 + #endif 7771 + #ifdef TREE_SITTER_HIDE_SYMBOLS 7772 + #define TS_PUBLIC 7773 + #elif defined(_WIN32) 7774 + #define TS_PUBLIC __declspec(dllexport) 7775 + #else 7776 + #define TS_PUBLIC __attribute__((visibility("default"))) 7777 + #endif 7778 + 7779 + TS_PUBLIC const TSLanguage *tree_sitter_mlf(void) { 7780 + static const TSLanguage language = { 7781 + .abi_version = LANGUAGE_VERSION, 7782 + .symbol_count = SYMBOL_COUNT, 7783 + .alias_count = ALIAS_COUNT, 7784 + .token_count = TOKEN_COUNT, 7785 + .external_token_count = EXTERNAL_TOKEN_COUNT, 7786 + .state_count = STATE_COUNT, 7787 + .large_state_count = LARGE_STATE_COUNT, 7788 + .production_id_count = PRODUCTION_ID_COUNT, 7789 + .supertype_count = SUPERTYPE_COUNT, 7790 + .field_count = FIELD_COUNT, 7791 + .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, 7792 + .parse_table = &ts_parse_table[0][0], 7793 + .small_parse_table = ts_small_parse_table, 7794 + .small_parse_table_map = ts_small_parse_table_map, 7795 + .parse_actions = ts_parse_actions, 7796 + .symbol_names = ts_symbol_names, 7797 + .field_names = ts_field_names, 7798 + .field_map_slices = ts_field_map_slices, 7799 + .field_map_entries = ts_field_map_entries, 7800 + .symbol_metadata = ts_symbol_metadata, 7801 + .public_symbol_map = ts_symbol_map, 7802 + .alias_map = ts_non_terminal_alias_map, 7803 + .alias_sequences = &ts_alias_sequences[0][0], 7804 + .lex_modes = (const void*)ts_lex_modes, 7805 + .lex_fn = ts_lex, 7806 + .primary_state_ids = ts_primary_state_ids, 7807 + .name = "mlf", 7808 + .max_reserved_word_set_size = 0, 7809 + .metadata = { 7810 + .major_version = 0, 7811 + .minor_version = 1, 7812 + .patch_version = 0, 7813 + }, 7814 + }; 7815 + return &language; 7816 + } 7817 + #ifdef __cplusplus 7818 + } 7819 + #endif
+54
tree-sitter-mlf/src/tree_sitter/alloc.h
··· 1 + #ifndef TREE_SITTER_ALLOC_H_ 2 + #define TREE_SITTER_ALLOC_H_ 3 + 4 + #ifdef __cplusplus 5 + extern "C" { 6 + #endif 7 + 8 + #include <stdbool.h> 9 + #include <stdio.h> 10 + #include <stdlib.h> 11 + 12 + // Allow clients to override allocation functions 13 + #ifdef TREE_SITTER_REUSE_ALLOCATOR 14 + 15 + extern void *(*ts_current_malloc)(size_t size); 16 + extern void *(*ts_current_calloc)(size_t count, size_t size); 17 + extern void *(*ts_current_realloc)(void *ptr, size_t size); 18 + extern void (*ts_current_free)(void *ptr); 19 + 20 + #ifndef ts_malloc 21 + #define ts_malloc ts_current_malloc 22 + #endif 23 + #ifndef ts_calloc 24 + #define ts_calloc ts_current_calloc 25 + #endif 26 + #ifndef ts_realloc 27 + #define ts_realloc ts_current_realloc 28 + #endif 29 + #ifndef ts_free 30 + #define ts_free ts_current_free 31 + #endif 32 + 33 + #else 34 + 35 + #ifndef ts_malloc 36 + #define ts_malloc malloc 37 + #endif 38 + #ifndef ts_calloc 39 + #define ts_calloc calloc 40 + #endif 41 + #ifndef ts_realloc 42 + #define ts_realloc realloc 43 + #endif 44 + #ifndef ts_free 45 + #define ts_free free 46 + #endif 47 + 48 + #endif 49 + 50 + #ifdef __cplusplus 51 + } 52 + #endif 53 + 54 + #endif // TREE_SITTER_ALLOC_H_
+330
tree-sitter-mlf/src/tree_sitter/array.h
··· 1 + #ifndef TREE_SITTER_ARRAY_H_ 2 + #define TREE_SITTER_ARRAY_H_ 3 + 4 + #ifdef __cplusplus 5 + extern "C" { 6 + #endif 7 + 8 + #include "./alloc.h" 9 + 10 + #include <assert.h> 11 + #include <stdbool.h> 12 + #include <stdint.h> 13 + #include <stdlib.h> 14 + #include <string.h> 15 + 16 + #ifdef _MSC_VER 17 + #pragma warning(push) 18 + #pragma warning(disable : 4101) 19 + #elif defined(__GNUC__) || defined(__clang__) 20 + #pragma GCC diagnostic push 21 + #pragma GCC diagnostic ignored "-Wunused-variable" 22 + #endif 23 + 24 + #define Array(T) \ 25 + struct { \ 26 + T *contents; \ 27 + uint32_t size; \ 28 + uint32_t capacity; \ 29 + } 30 + 31 + /// Initialize an array. 32 + #define array_init(self) \ 33 + ((self)->size = 0, (self)->capacity = 0, (self)->contents = NULL) 34 + 35 + /// Create an empty array. 36 + #define array_new() \ 37 + { NULL, 0, 0 } 38 + 39 + /// Get a pointer to the element at a given `index` in the array. 40 + #define array_get(self, _index) \ 41 + (assert((uint32_t)(_index) < (self)->size), &(self)->contents[_index]) 42 + 43 + /// Get a pointer to the first element in the array. 44 + #define array_front(self) array_get(self, 0) 45 + 46 + /// Get a pointer to the last element in the array. 47 + #define array_back(self) array_get(self, (self)->size - 1) 48 + 49 + /// Clear the array, setting its size to zero. Note that this does not free any 50 + /// memory allocated for the array's contents. 51 + #define array_clear(self) ((self)->size = 0) 52 + 53 + /// Reserve `new_capacity` elements of space in the array. If `new_capacity` is 54 + /// less than the array's current capacity, this function has no effect. 55 + #define array_reserve(self, new_capacity) \ 56 + ((self)->contents = _array__reserve( \ 57 + (void *)(self)->contents, &(self)->capacity, \ 58 + array_elem_size(self), new_capacity) \ 59 + ) 60 + 61 + /// Free any memory allocated for this array. Note that this does not free any 62 + /// memory allocated for the array's contents. 63 + #define array_delete(self) \ 64 + do { \ 65 + if ((self)->contents) ts_free((self)->contents); \ 66 + (self)->contents = NULL; \ 67 + (self)->size = 0; \ 68 + (self)->capacity = 0; \ 69 + } while (0) 70 + 71 + /// Push a new `element` onto the end of the array. 72 + #define array_push(self, element) \ 73 + do { \ 74 + (self)->contents = _array__grow( \ 75 + (void *)(self)->contents, (self)->size, &(self)->capacity, \ 76 + 1, array_elem_size(self) \ 77 + ); \ 78 + (self)->contents[(self)->size++] = (element); \ 79 + } while(0) 80 + 81 + /// Increase the array's size by `count` elements. 82 + /// New elements are zero-initialized. 83 + #define array_grow_by(self, count) \ 84 + do { \ 85 + if ((count) == 0) break; \ 86 + (self)->contents = _array__grow( \ 87 + (self)->contents, (self)->size, &(self)->capacity, \ 88 + count, array_elem_size(self) \ 89 + ); \ 90 + memset((self)->contents + (self)->size, 0, (count) * array_elem_size(self)); \ 91 + (self)->size += (count); \ 92 + } while (0) 93 + 94 + /// Append all elements from one array to the end of another. 95 + #define array_push_all(self, other) \ 96 + array_extend((self), (other)->size, (other)->contents) 97 + 98 + /// Append `count` elements to the end of the array, reading their values from the 99 + /// `contents` pointer. 100 + #define array_extend(self, count, other_contents) \ 101 + (self)->contents = _array__splice( \ 102 + (void*)(self)->contents, &(self)->size, &(self)->capacity, \ 103 + array_elem_size(self), (self)->size, 0, count, other_contents \ 104 + ) 105 + 106 + /// Remove `old_count` elements from the array starting at the given `index`. At 107 + /// the same index, insert `new_count` new elements, reading their values from the 108 + /// `new_contents` pointer. 109 + #define array_splice(self, _index, old_count, new_count, new_contents) \ 110 + (self)->contents = _array__splice( \ 111 + (void *)(self)->contents, &(self)->size, &(self)->capacity, \ 112 + array_elem_size(self), _index, old_count, new_count, new_contents \ 113 + ) 114 + 115 + /// Insert one `element` into the array at the given `index`. 116 + #define array_insert(self, _index, element) \ 117 + (self)->contents = _array__splice( \ 118 + (void *)(self)->contents, &(self)->size, &(self)->capacity, \ 119 + array_elem_size(self), _index, 0, 1, &(element) \ 120 + ) 121 + 122 + /// Remove one element from the array at the given `index`. 123 + #define array_erase(self, _index) \ 124 + _array__erase((void *)(self)->contents, &(self)->size, array_elem_size(self), _index) 125 + 126 + /// Pop the last element off the array, returning the element by value. 127 + #define array_pop(self) ((self)->contents[--(self)->size]) 128 + 129 + /// Assign the contents of one array to another, reallocating if necessary. 130 + #define array_assign(self, other) \ 131 + (self)->contents = _array__assign( \ 132 + (void *)(self)->contents, &(self)->size, &(self)->capacity, \ 133 + (const void *)(other)->contents, (other)->size, array_elem_size(self) \ 134 + ) 135 + 136 + /// Swap one array with another 137 + #define array_swap(self, other) \ 138 + do { \ 139 + void *_array_swap_tmp = (void *)(self)->contents; \ 140 + (self)->contents = (other)->contents; \ 141 + (other)->contents = _array_swap_tmp; \ 142 + _array__swap(&(self)->size, &(self)->capacity, \ 143 + &(other)->size, &(other)->capacity); \ 144 + } while (0) 145 + 146 + /// Get the size of the array contents 147 + #define array_elem_size(self) (sizeof *(self)->contents) 148 + 149 + /// Search a sorted array for a given `needle` value, using the given `compare` 150 + /// callback to determine the order. 151 + /// 152 + /// If an existing element is found to be equal to `needle`, then the `index` 153 + /// out-parameter is set to the existing value's index, and the `exists` 154 + /// out-parameter is set to true. Otherwise, `index` is set to an index where 155 + /// `needle` should be inserted in order to preserve the sorting, and `exists` 156 + /// is set to false. 157 + #define array_search_sorted_with(self, compare, needle, _index, _exists) \ 158 + _array__search_sorted(self, 0, compare, , needle, _index, _exists) 159 + 160 + /// Search a sorted array for a given `needle` value, using integer comparisons 161 + /// of a given struct field (specified with a leading dot) to determine the order. 162 + /// 163 + /// See also `array_search_sorted_with`. 164 + #define array_search_sorted_by(self, field, needle, _index, _exists) \ 165 + _array__search_sorted(self, 0, _compare_int, field, needle, _index, _exists) 166 + 167 + /// Insert a given `value` into a sorted array, using the given `compare` 168 + /// callback to determine the order. 169 + #define array_insert_sorted_with(self, compare, value) \ 170 + do { \ 171 + unsigned _index, _exists; \ 172 + array_search_sorted_with(self, compare, &(value), &_index, &_exists); \ 173 + if (!_exists) array_insert(self, _index, value); \ 174 + } while (0) 175 + 176 + /// Insert a given `value` into a sorted array, using integer comparisons of 177 + /// a given struct field (specified with a leading dot) to determine the order. 178 + /// 179 + /// See also `array_search_sorted_by`. 180 + #define array_insert_sorted_by(self, field, value) \ 181 + do { \ 182 + unsigned _index, _exists; \ 183 + array_search_sorted_by(self, field, (value) field, &_index, &_exists); \ 184 + if (!_exists) array_insert(self, _index, value); \ 185 + } while (0) 186 + 187 + // Private 188 + 189 + // Pointers to individual `Array` fields (rather than the entire `Array` itself) 190 + // are passed to the various `_array__*` functions below to address strict aliasing 191 + // violations that arises when the _entire_ `Array` struct is passed as `Array(void)*`. 192 + // 193 + // The `Array` type itself was not altered as a solution in order to avoid breakage 194 + // with existing consumers (in particular, parsers with external scanners). 195 + 196 + /// This is not what you're looking for, see `array_erase`. 197 + static inline void _array__erase(void* self_contents, uint32_t *size, 198 + size_t element_size, uint32_t index) { 199 + assert(index < *size); 200 + char *contents = (char *)self_contents; 201 + memmove(contents + index * element_size, contents + (index + 1) * element_size, 202 + (*size - index - 1) * element_size); 203 + (*size)--; 204 + } 205 + 206 + /// This is not what you're looking for, see `array_reserve`. 207 + static inline void *_array__reserve(void *contents, uint32_t *capacity, 208 + size_t element_size, uint32_t new_capacity) { 209 + void *new_contents = contents; 210 + if (new_capacity > *capacity) { 211 + if (contents) { 212 + new_contents = ts_realloc(contents, new_capacity * element_size); 213 + } else { 214 + new_contents = ts_malloc(new_capacity * element_size); 215 + } 216 + *capacity = new_capacity; 217 + } 218 + return new_contents; 219 + } 220 + 221 + /// This is not what you're looking for, see `array_assign`. 222 + static inline void *_array__assign(void* self_contents, uint32_t *self_size, uint32_t *self_capacity, 223 + const void *other_contents, uint32_t other_size, size_t element_size) { 224 + void *new_contents = _array__reserve(self_contents, self_capacity, element_size, other_size); 225 + *self_size = other_size; 226 + memcpy(new_contents, other_contents, *self_size * element_size); 227 + return new_contents; 228 + } 229 + 230 + /// This is not what you're looking for, see `array_swap`. 231 + static inline void _array__swap(uint32_t *self_size, uint32_t *self_capacity, 232 + uint32_t *other_size, uint32_t *other_capacity) { 233 + uint32_t tmp_size = *self_size; 234 + uint32_t tmp_capacity = *self_capacity; 235 + *self_size = *other_size; 236 + *self_capacity = *other_capacity; 237 + *other_size = tmp_size; 238 + *other_capacity = tmp_capacity; 239 + } 240 + 241 + /// This is not what you're looking for, see `array_push` or `array_grow_by`. 242 + static inline void *_array__grow(void *contents, uint32_t size, uint32_t *capacity, 243 + uint32_t count, size_t element_size) { 244 + void *new_contents = contents; 245 + uint32_t new_size = size + count; 246 + if (new_size > *capacity) { 247 + uint32_t new_capacity = *capacity * 2; 248 + if (new_capacity < 8) new_capacity = 8; 249 + if (new_capacity < new_size) new_capacity = new_size; 250 + new_contents = _array__reserve(contents, capacity, element_size, new_capacity); 251 + } 252 + return new_contents; 253 + } 254 + 255 + /// This is not what you're looking for, see `array_splice`. 256 + static inline void *_array__splice(void *self_contents, uint32_t *size, uint32_t *capacity, 257 + size_t element_size, 258 + uint32_t index, uint32_t old_count, 259 + uint32_t new_count, const void *elements) { 260 + uint32_t new_size = *size + new_count - old_count; 261 + uint32_t old_end = index + old_count; 262 + uint32_t new_end = index + new_count; 263 + assert(old_end <= *size); 264 + 265 + void *new_contents = _array__reserve(self_contents, capacity, element_size, new_size); 266 + 267 + char *contents = (char *)new_contents; 268 + if (*size > old_end) { 269 + memmove( 270 + contents + new_end * element_size, 271 + contents + old_end * element_size, 272 + (*size - old_end) * element_size 273 + ); 274 + } 275 + if (new_count > 0) { 276 + if (elements) { 277 + memcpy( 278 + (contents + index * element_size), 279 + elements, 280 + new_count * element_size 281 + ); 282 + } else { 283 + memset( 284 + (contents + index * element_size), 285 + 0, 286 + new_count * element_size 287 + ); 288 + } 289 + } 290 + *size += new_count - old_count; 291 + 292 + return new_contents; 293 + } 294 + 295 + /// A binary search routine, based on Rust's `std::slice::binary_search_by`. 296 + /// This is not what you're looking for, see `array_search_sorted_with` or `array_search_sorted_by`. 297 + #define _array__search_sorted(self, start, compare, suffix, needle, _index, _exists) \ 298 + do { \ 299 + *(_index) = start; \ 300 + *(_exists) = false; \ 301 + uint32_t size = (self)->size - *(_index); \ 302 + if (size == 0) break; \ 303 + int comparison; \ 304 + while (size > 1) { \ 305 + uint32_t half_size = size / 2; \ 306 + uint32_t mid_index = *(_index) + half_size; \ 307 + comparison = compare(&((self)->contents[mid_index] suffix), (needle)); \ 308 + if (comparison <= 0) *(_index) = mid_index; \ 309 + size -= half_size; \ 310 + } \ 311 + comparison = compare(&((self)->contents[*(_index)] suffix), (needle)); \ 312 + if (comparison == 0) *(_exists) = true; \ 313 + else if (comparison < 0) *(_index) += 1; \ 314 + } while (0) 315 + 316 + /// Helper macro for the `_sorted_by` routines below. This takes the left (existing) 317 + /// parameter by reference in order to work with the generic sorting function above. 318 + #define _compare_int(a, b) ((int)*(a) - (int)(b)) 319 + 320 + #ifdef _MSC_VER 321 + #pragma warning(pop) 322 + #elif defined(__GNUC__) || defined(__clang__) 323 + #pragma GCC diagnostic pop 324 + #endif 325 + 326 + #ifdef __cplusplus 327 + } 328 + #endif 329 + 330 + #endif // TREE_SITTER_ARRAY_H_
+286
tree-sitter-mlf/src/tree_sitter/parser.h
··· 1 + #ifndef TREE_SITTER_PARSER_H_ 2 + #define TREE_SITTER_PARSER_H_ 3 + 4 + #ifdef __cplusplus 5 + extern "C" { 6 + #endif 7 + 8 + #include <stdbool.h> 9 + #include <stdint.h> 10 + #include <stdlib.h> 11 + 12 + #define ts_builtin_sym_error ((TSSymbol)-1) 13 + #define ts_builtin_sym_end 0 14 + #define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 15 + 16 + #ifndef TREE_SITTER_API_H_ 17 + typedef uint16_t TSStateId; 18 + typedef uint16_t TSSymbol; 19 + typedef uint16_t TSFieldId; 20 + typedef struct TSLanguage TSLanguage; 21 + typedef struct TSLanguageMetadata { 22 + uint8_t major_version; 23 + uint8_t minor_version; 24 + uint8_t patch_version; 25 + } TSLanguageMetadata; 26 + #endif 27 + 28 + typedef struct { 29 + TSFieldId field_id; 30 + uint8_t child_index; 31 + bool inherited; 32 + } TSFieldMapEntry; 33 + 34 + // Used to index the field and supertype maps. 35 + typedef struct { 36 + uint16_t index; 37 + uint16_t length; 38 + } TSMapSlice; 39 + 40 + typedef struct { 41 + bool visible; 42 + bool named; 43 + bool supertype; 44 + } TSSymbolMetadata; 45 + 46 + typedef struct TSLexer TSLexer; 47 + 48 + struct TSLexer { 49 + int32_t lookahead; 50 + TSSymbol result_symbol; 51 + void (*advance)(TSLexer *, bool); 52 + void (*mark_end)(TSLexer *); 53 + uint32_t (*get_column)(TSLexer *); 54 + bool (*is_at_included_range_start)(const TSLexer *); 55 + bool (*eof)(const TSLexer *); 56 + void (*log)(const TSLexer *, const char *, ...); 57 + }; 58 + 59 + typedef enum { 60 + TSParseActionTypeShift, 61 + TSParseActionTypeReduce, 62 + TSParseActionTypeAccept, 63 + TSParseActionTypeRecover, 64 + } TSParseActionType; 65 + 66 + typedef union { 67 + struct { 68 + uint8_t type; 69 + TSStateId state; 70 + bool extra; 71 + bool repetition; 72 + } shift; 73 + struct { 74 + uint8_t type; 75 + uint8_t child_count; 76 + TSSymbol symbol; 77 + int16_t dynamic_precedence; 78 + uint16_t production_id; 79 + } reduce; 80 + uint8_t type; 81 + } TSParseAction; 82 + 83 + typedef struct { 84 + uint16_t lex_state; 85 + uint16_t external_lex_state; 86 + } TSLexMode; 87 + 88 + typedef struct { 89 + uint16_t lex_state; 90 + uint16_t external_lex_state; 91 + uint16_t reserved_word_set_id; 92 + } TSLexerMode; 93 + 94 + typedef union { 95 + TSParseAction action; 96 + struct { 97 + uint8_t count; 98 + bool reusable; 99 + } entry; 100 + } TSParseActionEntry; 101 + 102 + typedef struct { 103 + int32_t start; 104 + int32_t end; 105 + } TSCharacterRange; 106 + 107 + struct TSLanguage { 108 + uint32_t abi_version; 109 + uint32_t symbol_count; 110 + uint32_t alias_count; 111 + uint32_t token_count; 112 + uint32_t external_token_count; 113 + uint32_t state_count; 114 + uint32_t large_state_count; 115 + uint32_t production_id_count; 116 + uint32_t field_count; 117 + uint16_t max_alias_sequence_length; 118 + const uint16_t *parse_table; 119 + const uint16_t *small_parse_table; 120 + const uint32_t *small_parse_table_map; 121 + const TSParseActionEntry *parse_actions; 122 + const char * const *symbol_names; 123 + const char * const *field_names; 124 + const TSMapSlice *field_map_slices; 125 + const TSFieldMapEntry *field_map_entries; 126 + const TSSymbolMetadata *symbol_metadata; 127 + const TSSymbol *public_symbol_map; 128 + const uint16_t *alias_map; 129 + const TSSymbol *alias_sequences; 130 + const TSLexerMode *lex_modes; 131 + bool (*lex_fn)(TSLexer *, TSStateId); 132 + bool (*keyword_lex_fn)(TSLexer *, TSStateId); 133 + TSSymbol keyword_capture_token; 134 + struct { 135 + const bool *states; 136 + const TSSymbol *symbol_map; 137 + void *(*create)(void); 138 + void (*destroy)(void *); 139 + bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist); 140 + unsigned (*serialize)(void *, char *); 141 + void (*deserialize)(void *, const char *, unsigned); 142 + } external_scanner; 143 + const TSStateId *primary_state_ids; 144 + const char *name; 145 + const TSSymbol *reserved_words; 146 + uint16_t max_reserved_word_set_size; 147 + uint32_t supertype_count; 148 + const TSSymbol *supertype_symbols; 149 + const TSMapSlice *supertype_map_slices; 150 + const TSSymbol *supertype_map_entries; 151 + TSLanguageMetadata metadata; 152 + }; 153 + 154 + static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { 155 + uint32_t index = 0; 156 + uint32_t size = len - index; 157 + while (size > 1) { 158 + uint32_t half_size = size / 2; 159 + uint32_t mid_index = index + half_size; 160 + const TSCharacterRange *range = &ranges[mid_index]; 161 + if (lookahead >= range->start && lookahead <= range->end) { 162 + return true; 163 + } else if (lookahead > range->end) { 164 + index = mid_index; 165 + } 166 + size -= half_size; 167 + } 168 + const TSCharacterRange *range = &ranges[index]; 169 + return (lookahead >= range->start && lookahead <= range->end); 170 + } 171 + 172 + /* 173 + * Lexer Macros 174 + */ 175 + 176 + #ifdef _MSC_VER 177 + #define UNUSED __pragma(warning(suppress : 4101)) 178 + #else 179 + #define UNUSED __attribute__((unused)) 180 + #endif 181 + 182 + #define START_LEXER() \ 183 + bool result = false; \ 184 + bool skip = false; \ 185 + UNUSED \ 186 + bool eof = false; \ 187 + int32_t lookahead; \ 188 + goto start; \ 189 + next_state: \ 190 + lexer->advance(lexer, skip); \ 191 + start: \ 192 + skip = false; \ 193 + lookahead = lexer->lookahead; 194 + 195 + #define ADVANCE(state_value) \ 196 + { \ 197 + state = state_value; \ 198 + goto next_state; \ 199 + } 200 + 201 + #define ADVANCE_MAP(...) \ 202 + { \ 203 + static const uint16_t map[] = { __VA_ARGS__ }; \ 204 + for (uint32_t i = 0; i < sizeof(map) / sizeof(map[0]); i += 2) { \ 205 + if (map[i] == lookahead) { \ 206 + state = map[i + 1]; \ 207 + goto next_state; \ 208 + } \ 209 + } \ 210 + } 211 + 212 + #define SKIP(state_value) \ 213 + { \ 214 + skip = true; \ 215 + state = state_value; \ 216 + goto next_state; \ 217 + } 218 + 219 + #define ACCEPT_TOKEN(symbol_value) \ 220 + result = true; \ 221 + lexer->result_symbol = symbol_value; \ 222 + lexer->mark_end(lexer); 223 + 224 + #define END_STATE() return result; 225 + 226 + /* 227 + * Parse Table Macros 228 + */ 229 + 230 + #define SMALL_STATE(id) ((id) - LARGE_STATE_COUNT) 231 + 232 + #define STATE(id) id 233 + 234 + #define ACTIONS(id) id 235 + 236 + #define SHIFT(state_value) \ 237 + {{ \ 238 + .shift = { \ 239 + .type = TSParseActionTypeShift, \ 240 + .state = (state_value) \ 241 + } \ 242 + }} 243 + 244 + #define SHIFT_REPEAT(state_value) \ 245 + {{ \ 246 + .shift = { \ 247 + .type = TSParseActionTypeShift, \ 248 + .state = (state_value), \ 249 + .repetition = true \ 250 + } \ 251 + }} 252 + 253 + #define SHIFT_EXTRA() \ 254 + {{ \ 255 + .shift = { \ 256 + .type = TSParseActionTypeShift, \ 257 + .extra = true \ 258 + } \ 259 + }} 260 + 261 + #define REDUCE(symbol_name, children, precedence, prod_id) \ 262 + {{ \ 263 + .reduce = { \ 264 + .type = TSParseActionTypeReduce, \ 265 + .symbol = symbol_name, \ 266 + .child_count = children, \ 267 + .dynamic_precedence = precedence, \ 268 + .production_id = prod_id \ 269 + }, \ 270 + }} 271 + 272 + #define RECOVER() \ 273 + {{ \ 274 + .type = TSParseActionTypeRecover \ 275 + }} 276 + 277 + #define ACCEPT_INPUT() \ 278 + {{ \ 279 + .type = TSParseActionTypeAccept \ 280 + }} 281 + 282 + #ifdef __cplusplus 283 + } 284 + #endif 285 + 286 + #endif // TREE_SITTER_PARSER_H_
+34
tree-sitter-mlf/tree-sitter.json
··· 1 + { 2 + "grammars": [ 3 + { 4 + "name": "mlf", 5 + "camelcase": "Mlf", 6 + "scope": "source.mlf", 7 + "path": ".", 8 + "file-types": [ 9 + "mlf" 10 + ], 11 + "highlights": [ 12 + "queries/highlights.scm" 13 + ] 14 + } 15 + ], 16 + "metadata": { 17 + "version": "0.1.0", 18 + "license": "MIT", 19 + "description": "MLF (Matt's Lexicon Format) grammar for tree-sitter", 20 + "authors": [ 21 + { 22 + "name": "Matt" 23 + } 24 + ] 25 + }, 26 + "bindings": { 27 + "c": false, 28 + "go": false, 29 + "node": true, 30 + "python": false, 31 + "rust": true, 32 + "swift": false 33 + } 34 + }