diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..d3a8b5b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,39 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.{json,toml,yml,gyp}] +indent_style = space +indent_size = 2 + +[*.js] +indent_style = space +indent_size = 2 + +[*.rs] +indent_style = space +indent_size = 4 + +[*.{c,cc,h}] +indent_style = space +indent_size = 4 + +[*.{py,pyi}] +indent_style = space +indent_size = 4 + +[*.swift] +indent_style = space +indent_size = 4 + +[*.go] +indent_style = tab +indent_size = 8 + +[Makefile] +indent_style = tab +indent_size = 8 diff --git a/.gitattributes b/.gitattributes index 67e2683..58d7b87 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,4 +2,6 @@ src/grammar.json linguist-generated=true src/node-types.json linguist-generated=true src/parser.c linguist-generated=true +src/tree_sitter/alloc.h linguist-generated=true +src/tree_sitter/array.h linguist-generated=true src/tree_sitter/parser.h linguist-generated=true diff --git a/Cargo.toml b/Cargo.toml index 4707f77..623cefb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "tree-sitter-bp" description = "Blueprint grammar for the tree-sitter parsing library" -version = "0.2.0" +version = "0.7.0" keywords = ["incremental", "parsing", "android", "blueprint"] categories = ["parsing", "text-editors"] repository = "https://git.belanyi.fr/ambroisie/tree-sitter-bp" diff --git a/Makefile b/Makefile index d60784a..0bd4414 100644 --- a/Makefile +++ b/Makefile @@ -4,12 +4,12 @@ all: .PHONY: test test: all - tree-sitter test --apply-all-captures + tree-sitter test nvim-test-runner .PHONY: update-tests update-tests: all - tree-sitter test -u --apply-all-captures + tree-sitter test -u nvim-test-runner .PHONY: playground diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..f7fcb85 --- /dev/null +++ b/Package.swift @@ -0,0 +1,48 @@ +// swift-tools-version:5.3 +import PackageDescription + +let package = Package( + name: "TreeSitterBp", + platforms: [.macOS(.v10_13), .iOS(.v11)], + products: [ + .library(name: "TreeSitterBp", targets: ["TreeSitterBp"]), + ], + dependencies: [], + targets: [ + .target(name: "TreeSitterBp", + path: ".", + exclude: [ + "Cargo.toml", + "Makefile", + "binding.gyp", + "bindings/c", + "bindings/go", + "bindings/node", + "bindings/python", + "bindings/rust", + "prebuilds", + "grammar.js", + "package.json", + "package-lock.json", + "pyproject.toml", + "setup.py", + "test", + "examples", + ".editorconfig", + ".github", + ".gitignore", + ".gitattributes", + ".gitmodules", + ], + sources: [ + "src/parser.c", + // NOTE: if your language has an external scanner, add it here. + ], + resources: [ + .copy("queries") + ], + publicHeadersPath: "bindings/swift", + cSettings: [.headerSearchPath("src")]) + ], + cLanguageStandard: .c11 +) diff --git a/binding.gyp b/binding.gyp index be4507b..24e68cf 100644 --- a/binding.gyp +++ b/binding.gyp @@ -2,18 +2,20 @@ "targets": [ { "target_name": "tree_sitter_bp_binding", + "dependencies": [ + " -#include "nan.h" +#include -using namespace v8; +typedef struct TSLanguage TSLanguage; -extern "C" TSLanguage * tree_sitter_bp(); +extern "C" TSLanguage *tree_sitter_bp(); -namespace { +// "tree-sitter", "language" hashed with BLAKE2 +const napi_type_tag LANGUAGE_TYPE_TAG = { + 0x8AF2E5212AD58ABF, 0xD5006CAD83ABBA16 +}; -NAN_METHOD(New) {} - -void Init(Local exports, Local module) { - Local tpl = Nan::New(New); - tpl->SetClassName(Nan::New("Language").ToLocalChecked()); - tpl->InstanceTemplate()->SetInternalFieldCount(1); - - Local constructor = Nan::GetFunction(tpl).ToLocalChecked(); - Local instance = constructor->NewInstance(Nan::GetCurrentContext()).ToLocalChecked(); - Nan::SetInternalFieldPointer(instance, 0, tree_sitter_bp()); - - Nan::Set(instance, Nan::New("name").ToLocalChecked(), Nan::New("bp").ToLocalChecked()); - Nan::Set(module, Nan::New("exports").ToLocalChecked(), instance); +Napi::Object Init(Napi::Env env, Napi::Object exports) { + exports["name"] = Napi::String::New(env, "bp"); + auto language = Napi::External::New(env, tree_sitter_bp()); + language.TypeTag(&LANGUAGE_TYPE_TAG); + exports["language"] = language; + return exports; } -NODE_MODULE(tree_sitter_bp_binding, Init) - -} // namespace +NODE_API_MODULE(tree_sitter_bp_binding, Init) diff --git a/bindings/node/index.d.ts b/bindings/node/index.d.ts new file mode 100644 index 0000000..efe259e --- /dev/null +++ b/bindings/node/index.d.ts @@ -0,0 +1,28 @@ +type BaseNode = { + type: string; + named: boolean; +}; + +type ChildNode = { + multiple: boolean; + required: boolean; + types: BaseNode[]; +}; + +type NodeInfo = + | (BaseNode & { + subtypes: BaseNode[]; + }) + | (BaseNode & { + fields: { [name: string]: ChildNode }; + children: ChildNode[]; + }); + +type Language = { + name: string; + language: unknown; + nodeTypeInfo: NodeInfo[]; +}; + +declare const language: Language; +export = language; diff --git a/bindings/node/index.js b/bindings/node/index.js index 9bd9a6e..6657bcf 100644 --- a/bindings/node/index.js +++ b/bindings/node/index.js @@ -1,18 +1,6 @@ -try { - module.exports = require("../../build/Release/tree_sitter_bp_binding"); -} catch (error1) { - if (error1.code !== 'MODULE_NOT_FOUND') { - throw error1; - } - try { - module.exports = require("../../build/Debug/tree_sitter_bp_binding"); - } catch (error2) { - if (error2.code !== 'MODULE_NOT_FOUND') { - throw error2; - } - throw error1 - } -} +const root = require("path").join(__dirname, "..", ".."); + +module.exports = require("node-gyp-build")(root); try { module.exports.nodeTypeInfo = require("../../src/node-types.json"); diff --git a/bindings/python/tree_sitter_bp/__init__.py b/bindings/python/tree_sitter_bp/__init__.py new file mode 100644 index 0000000..f207c95 --- /dev/null +++ b/bindings/python/tree_sitter_bp/__init__.py @@ -0,0 +1,5 @@ +"Bp grammar for tree-sitter" + +from ._binding import language + +__all__ = ["language"] diff --git a/bindings/python/tree_sitter_bp/__init__.pyi b/bindings/python/tree_sitter_bp/__init__.pyi new file mode 100644 index 0000000..5416666 --- /dev/null +++ b/bindings/python/tree_sitter_bp/__init__.pyi @@ -0,0 +1 @@ +def language() -> int: ... diff --git a/bindings/python/tree_sitter_bp/binding.c b/bindings/python/tree_sitter_bp/binding.c new file mode 100644 index 0000000..870c2de --- /dev/null +++ b/bindings/python/tree_sitter_bp/binding.c @@ -0,0 +1,27 @@ +#include + +typedef struct TSLanguage TSLanguage; + +TSLanguage *tree_sitter_bp(void); + +static PyObject* _binding_language(PyObject *self, PyObject *args) { + return PyLong_FromVoidPtr(tree_sitter_bp()); +} + +static PyMethodDef methods[] = { + {"language", _binding_language, METH_NOARGS, + "Get the tree-sitter language for this grammar."}, + {NULL, NULL, 0, NULL} +}; + +static struct PyModuleDef module = { + .m_base = PyModuleDef_HEAD_INIT, + .m_name = "_binding", + .m_doc = NULL, + .m_size = -1, + .m_methods = methods +}; + +PyMODINIT_FUNC PyInit__binding(void) { + return PyModule_Create(&module); +} diff --git a/bindings/python/tree_sitter_bp/py.typed b/bindings/python/tree_sitter_bp/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/bindings/rust/lib.rs b/bindings/rust/lib.rs index 22bfdfc..0dd1947 100644 --- a/bindings/rust/lib.rs +++ b/bindings/rust/lib.rs @@ -6,7 +6,7 @@ //! ``` //! let code = ""; //! let mut parser = tree_sitter::Parser::new(); -//! parser.set_language(tree_sitter_bp::language()).expect("Error loading txtpb grammar"); +//! parser.set_language(tree_sitter_bp::language()).expect("Error loading bp grammar"); //! let tree = parser.parse(code, None).unwrap(); //! ``` //! @@ -35,10 +35,11 @@ pub const NODE_TYPES: &'static str = include_str!("../../src/node-types.json"); // Uncomment these to include any queries that this grammar contains -// pub const HIGHLIGHTS_QUERY: &'static str = include_str!("../../queries/highlights.scm"); -// pub const INJECTIONS_QUERY: &'static str = include_str!("../../queries/injections.scm"); -// pub const LOCALS_QUERY: &'static str = include_str!("../../queries/locals.scm"); -// pub const TAGS_QUERY: &'static str = include_str!("../../queries/tags.scm"); +pub const FOLDS_QUERY: &'static str = include_str!("../../queries/folds.scm"); +pub const HIGHLIGHTS_QUERY: &'static str = include_str!("../../queries/highlights.scm"); +pub const INDENTS_QUERY: &'static str = include_str!("../../queries/indents.scm"); +pub const INJECTIONS_QUERY: &'static str = include_str!("../../queries/injections.scm"); +pub const LOCALS_QUERY: &'static str = include_str!("../../queries/locals.scm"); #[cfg(test)] mod tests { diff --git a/bindings/swift/TreeSitterBp/bp.h b/bindings/swift/TreeSitterBp/bp.h new file mode 100644 index 0000000..867cea0 --- /dev/null +++ b/bindings/swift/TreeSitterBp/bp.h @@ -0,0 +1,16 @@ +#ifndef TREE_SITTER_BP_H_ +#define TREE_SITTER_BP_H_ + +typedef struct TSLanguage TSLanguage; + +#ifdef __cplusplus +extern "C" { +#endif + +const TSLanguage *tree_sitter_bp(void); + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_BP_H_ diff --git a/flake.lock b/flake.lock index 47b5378..3dd7acc 100644 --- a/flake.lock +++ b/flake.lock @@ -21,11 +21,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1712482522, - "narHash": "sha256-Ai/xNgZpbwGcw0TSXwEPwwbPi8Iu906sB9M9z3o6UgA=", + "lastModified": 1741802033, + "narHash": "sha256-AOazEmkhbKnNQi0LqJdAcqPQx711L84a0Vkaos/ZW/A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "efe8ce06ca261f370d672def5b1e0be300c726e1", + "rev": "8c1f3147639f009f09d2bfffc64bcf8485bf3fd2", "type": "github" }, "original": { @@ -75,23 +75,17 @@ "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", - "flake-utils": [ - "flake-utils" - ], "gitignore": "gitignore", "nixpkgs": [ "nixpkgs" - ], - "nixpkgs-stable": [ - "nixpkgs" ] }, "locked": { - "lastModified": 1712055707, - "narHash": "sha256-4XLvuSIDZJGS17xEwSrNuJLL7UjDYKGJSbK1WWX2AK8=", + "lastModified": 1735882644, + "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "e35aed5fda3cc79f88ed7f1795021e559582093a", + "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 77fba0a..c5f4080 100644 --- a/flake.nix +++ b/flake.nix @@ -22,9 +22,7 @@ repo = "pre-commit-hooks.nix"; ref = "master"; inputs = { - flake-utils.follows = "flake-utils"; nixpkgs.follows = "nixpkgs"; - nixpkgs-stable.follows = "nixpkgs"; }; }; }; @@ -61,6 +59,10 @@ export NVIM_TREESITTER_TEXTOBJECTS='${pkgs.vimPlugins.nvim-treesitter-textobjects}' export NVIM_TREESITTER_PARSER='${pkgs.vimPlugins.nvim-treesitter.grammarToPlugin self.packages.${system}.tree-sitter-bp}' + # FIXME: not sure why, but I get different behaviour when left untouched + XDG_CONFIG_HOME=$(mktemp -d) + export XDG_CONFIG_HOME + nvim --headless --noplugin -u ${scripts/minimal_init.lua} \ -c "PlenaryBustedDirectory test/ { minimal_init = '${./scripts/minimal_init.lua}' }" ''; @@ -73,9 +75,14 @@ ${pkgs.jq}/bin/jq ".version = \"''${NEW_VERSION}\"" package.json > package.json.tmp mv package.json.tmp package.json + ${pkgs.jq}/bin/jq ".metadata.version = \"''${NEW_VERSION}\"" tree-sitter.json > tree-sitter.json.tmp + mv tree-sitter.json.tmp tree-sitter.json ${pkgs.gnused}/bin/sed -i -e "s/version = \"[0-9.]\\+\"/version = \"''${NEW_VERSION}\"/" Cargo.toml + ${pkgs.gnused}/bin/sed -i -e "s/version = \"[0-9.]\\+\"/version = \"''${NEW_VERSION}\"/" pyproject.toml - git add Cargo.toml package.json + make + + git add Cargo.toml package.json pyproject.toml tree-sitter.json src/parser.c echo "Release ''${NEW_VERSION}" | git commit -eF - git tag -a "v''${NEW_VERSION}" -m "Release ''${NEW_VERSION}" ''; @@ -120,7 +127,7 @@ tree-sitter = { enable = true; name = "tree-sitter tests"; - entry = "${tree-sitter-env}/bin/tree-sitter test --apply-all-captures"; + entry = "${tree-sitter-env}/bin/tree-sitter test"; pass_filenames = false; }; diff --git a/grammar.js b/grammar.js index 2f4b0e3..a147f5e 100644 --- a/grammar.js +++ b/grammar.js @@ -1,8 +1,12 @@ -function commaSeparated(elem) { +function commaSeparatedOptTrailing(elem) { return seq(elem, repeat(seq(",", elem)), optional(",")) } -function trailingCommaSeparated(elem) { +function commaSeparatedNoTrailing(elem) { + return seq(elem, repeat(seq(",", elem))) +} + +function commaSeparatedTrailing(elem) { return repeat(seq(elem, ",")) } @@ -44,7 +48,7 @@ module.exports = grammar({ _old_module: ($) => seq( field("type", $.identifier), "{", - optional(commaSeparated( + optional(commaSeparatedOptTrailing( alias(field("property", $._colon_property), $.property) )), "}", @@ -53,7 +57,7 @@ module.exports = grammar({ _new_module: ($) => seq( field("type", $.identifier), "(", - optional(commaSeparated( + optional(commaSeparatedOptTrailing( alias(field("property", $._equal_property), $.property) )), ")", @@ -121,54 +125,54 @@ module.exports = grammar({ select_expression: ($) => seq( "select", "(", - choice($.select_value, $.soong_config_variable), + $.select_value, ",", $.select_cases, ")", ), - select_value: ($) => seq( - field("type", alias( - choice("product_variable", "release_variable", "variant"), - $.selection_type, - )), - "(", - field("condition", $._string_literal), - ")", + select_value: ($) => choice( + $.condition, + seq("(", commaSeparatedOptTrailing($.condition), ")"), ), - soong_config_variable: ($) => seq( - field("type", alias("soong_config_variable", $.selection_type)), + condition: ($) => seq( + field("name", $.identifier), "(", - field( - "condition", - seq( - field("namespace", $._string_literal), - ",", - field("variable", $._string_literal), - ), - ), + field("arguments", optional(commaSeparatedNoTrailing($._string_literal))), ")", ), select_cases: ($) => seq( "{", - optional(trailingCommaSeparated($.select_case)), - // default *must* be the last one, enforced at parse-time... - optional(seq($.default_case, ",")), + optional(commaSeparatedOptTrailing($.select_case)), "}", ), select_case: ($) => seq( - field("pattern", $._string_literal), + field("pattern", $.select_pattern), ":", field("value", $._case_value) ), - default_case: ($) => seq( - field("pattern", "default"), - ":", - field("value", $._case_value), + select_pattern: ($) => choice( + $._select_pattern, + seq("(", commaSeparatedOptTrailing($._select_pattern), ")"), + ), + + _select_pattern: ($) => choice( + $._string_literal, + $.boolean_literal, + $.integer_literal, + alias("any", $.any), + $.pattern_binding, + alias("default", $.default), + ), + + pattern_binding: ($) => seq( + field("value", alias("any", $.any)), + field("operator", alias("@", $.operator)), + field("binding", $.identifier), ), _case_value: ($) => choice( @@ -178,13 +182,13 @@ module.exports = grammar({ list_expression: ($) => seq( "[", - optional(commaSeparated(field("element", $._expr))), + optional(commaSeparatedOptTrailing(field("element", $._expr))), "]", ), map_expression: ($) => seq( "{", - optional(commaSeparated( + optional(commaSeparatedOptTrailing( alias(field("property", $._colon_property), $.property) )), "}", diff --git a/package.json b/package.json index 3c864d0..33a61e9 100644 --- a/package.json +++ b/package.json @@ -1,20 +1,41 @@ { "name": "tree-sitter-bp", - "version": "0.2.0", + "version": "0.7.0", "description": "Blueprint grammar for tree-sitter", "main": "bindings/node", + "types": "bindings/node", "keywords": [ "parsing", "incremental" ], + "files": [ + "grammar.js", + "binding.gyp", + "prebuilds/**", + "bindings/node/*", + "queries/*", + "src/**" + ], "dependencies": { - "nan": "^2.12.1" + "node-addon-api": "^7.1.0", + "node-gyp-build": "^4.8.0" + }, + "peerDependencies": { + "tree-sitter": "^0.21.0" + }, + "peerDependenciesMeta": { + "tree_sitter": { + "optional": true + } }, "devDependencies": { - "tree-sitter-cli": "^0.20.6" + "tree-sitter-cli": "^0.20.6", + "prebuildify": "^6.0.0" }, "scripts": { - "test": "tree-sitter test" + "test": "tree-sitter test", + "install": "node-gyp-build", + "prebuildify": "prebuildify --napi --strip" }, "tree-sitter": [ { @@ -22,6 +43,11 @@ "file-types": [ "bp" ], + "folds": "queries/folds.scm", + "highlights": "queries/highlights.scm", + "indents": "queries/indents.scm", + "injections": "queries/injections.scm", + "tags": "queries/tags.scm", "injection-regex": "bp" } ] diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..096194f --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,29 @@ +[build-system] +requires = ["setuptools>=42", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "tree-sitter-bp" +description = "Bp grammar for tree-sitter" +version = "0.7.0" +keywords = ["incremental", "parsing", "tree-sitter", "bp"] +classifiers = [ + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Topic :: Software Development :: Compilers", + "Topic :: Text Processing :: Linguistic", + "Typing :: Typed" +] +requires-python = ">=3.8" +license.text = "MIT" +readme = "README.md" + +[project.urls] +Homepage = "https://git.belanyi.fr/ambroisie/tree-sitter-bp" + +[project.optional-dependencies] +core = ["tree-sitter~=0.21"] + +[tool.cibuildwheel] +build = "cp38-*" +build-frontend = "build" diff --git a/queries/folds.scm b/queries/folds.scm index 6f39fe9..c40ea3d 100644 --- a/queries/folds.scm +++ b/queries/folds.scm @@ -4,5 +4,3 @@ (module) (select_expression) ] @fold - -; vim: sw=2 foldmethod=marker diff --git a/queries/highlights.scm b/queries/highlights.scm index e548e18..4fc8854 100644 --- a/queries/highlights.scm +++ b/queries/highlights.scm @@ -1,41 +1,35 @@ (comment) @comment -; Operators {{{ (operator) @operator -(integer_literal ("-") @operator) -; }}} +(integer_literal + "-" @operator) -; Punctuation {{{ [ - "," - ":" + "," + ":" ] @punctuation.delimiter [ - "(" - ")" - "[" - "]" - "{" - "}" + "(" + ")" + "[" + "]" + "{" + "}" ] @punctuation.bracket -; }}} -; Literal {{{ (boolean_literal) @boolean (integer_literal) @number [ - (raw_string_literal) - (interpreted_string_literal) + (raw_string_literal) + (interpreted_string_literal) ] @string (escape_sequence) @string.escape -; }}} -; Declarations {{{ (identifier) @variable (module @@ -44,23 +38,19 @@ (module (property field: (identifier) @variable.parameter)) -; }}} -; Built-ins {{{ [ - (unset) - "default" + (unset) + (default) + (any) ] @variable.builtin -(selection_type) @function.builtin -; }}} -; Expressions {{{ +(condition + name: (identifier) @function.builtin) + (map_expression (property field: (identifier) @property)) (select_expression "select" @keyword.conditional) -; }}} - -; vim: sw=2 foldmethod=marker diff --git a/queries/indents.scm b/queries/indents.scm index 9e63d1e..8cf8adc 100644 --- a/queries/indents.scm +++ b/queries/indents.scm @@ -1,27 +1,38 @@ -; Expressions {{{ (list_expression) @indent.begin + (list_expression "]" @indent.branch) (map_expression) @indent.begin + (map_expression "}" @indent.branch) (select_expression) @indent.begin + (select_expression ")" @indent.branch) +(select_value) @indent.begin + +(select_value + ")" @indent.branch) + +(select_pattern + "(" @indent.begin) + +(select_pattern + ")" @indent.branch) + (select_cases) @indent.begin + (select_cases "}" @indent.branch) -; }}} -; Declarations {{{ (module) @indent.begin + (module ")" @indent.branch) + (module "}" @indent.branch) -; }}} - -; vim: sw=2 foldmethod=marker diff --git a/queries/injections.scm b/queries/injections.scm index 9735c59..2f0e58e 100644 --- a/queries/injections.scm +++ b/queries/injections.scm @@ -1,4 +1,2 @@ ((comment) @injection.content (#set! injection.language "comment")) - -; vim: sw=2 foldmethod=marker diff --git a/queries/locals.scm b/queries/locals.scm new file mode 100644 index 0000000..c8a5a17 --- /dev/null +++ b/queries/locals.scm @@ -0,0 +1,15 @@ +(module + (property + field: (identifier) @local.definition.parameter)) + +(map_expression + (property + field: (identifier) @local.definition.field)) + +(assignment + left: (identifier) @local.definition.var) + +(pattern_binding + binding: (identifier) @local.definition.var) + +(identifier) @local.reference diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..4507259 --- /dev/null +++ b/setup.py @@ -0,0 +1,57 @@ +from os.path import isdir, join +from platform import system + +from setuptools import Extension, find_packages, setup +from setuptools.command.build import build +from wheel.bdist_wheel import bdist_wheel + + +class Build(build): + def run(self): + if isdir("queries"): + dest = join(self.build_lib, "tree_sitter_bp", "queries") + self.copy_tree("queries", dest) + super().run() + + +class BdistWheel(bdist_wheel): + def get_tag(self): + python, abi, platform = super().get_tag() + if python.startswith("cp"): + python, abi = "cp38", "abi3" + return python, abi, platform + + +setup( + packages=find_packages("bindings/python"), + package_dir={"": "bindings/python"}, + package_data={ + "tree_sitter_bp": ["*.pyi", "py.typed"], + "tree_sitter_bp.queries": ["*.scm"], + }, + ext_package="tree_sitter_bp", + ext_modules=[ + Extension( + name="_binding", + sources=[ + "bindings/python/tree_sitter_bp/binding.c", + "src/parser.c", + # NOTE: if your language uses an external scanner, add it here. + ], + extra_compile_args=( + ["-std=c11"] if system() != 'Windows' else [] + ), + define_macros=[ + ("Py_LIMITED_API", "0x03080000"), + ("PY_SSIZE_T_CLEAN", None) + ], + include_dirs=["src"], + py_limited_api=True, + ) + ], + cmdclass={ + "build": Build, + "bdist_wheel": BdistWheel + }, + zip_safe=False +) diff --git a/src/grammar.json b/src/grammar.json index 482f27b..74d5c51 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -1,4 +1,5 @@ { + "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json", "name": "bp", "rules": { "source_file": { @@ -469,17 +470,8 @@ "value": "(" }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "select_value" - }, - { - "type": "SYMBOL", - "name": "soong_config_variable" - } - ] + "type": "SYMBOL", + "name": "select_value" }, { "type": "STRING", @@ -496,66 +488,73 @@ ] }, "select_value": { - "type": "SEQ", + "type": "CHOICE", "members": [ { - "type": "FIELD", - "name": "type", - "content": { - "type": "ALIAS", - "content": { - "type": "CHOICE", + "type": "SYMBOL", + "name": "condition" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SEQ", "members": [ { - "type": "STRING", - "value": "product_variable" + "type": "SYMBOL", + "name": "condition" }, { - "type": "STRING", - "value": "release_variable" + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "condition" + } + ] + } }, { - "type": "STRING", - "value": "variant" + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] } ] }, - "named": true, - "value": "selection_type" - } - }, - { - "type": "STRING", - "value": "(" - }, - { - "type": "FIELD", - "name": "condition", - "content": { - "type": "SYMBOL", - "name": "_string_literal" - } - }, - { - "type": "STRING", - "value": ")" + { + "type": "STRING", + "value": ")" + } + ] } ] }, - "soong_config_variable": { + "condition": { "type": "SEQ", "members": [ { "type": "FIELD", - "name": "type", + "name": "name", "content": { - "type": "ALIAS", - "content": { - "type": "STRING", - "value": "soong_config_variable" - }, - "named": true, - "value": "selection_type" + "type": "SYMBOL", + "name": "identifier" } }, { @@ -564,29 +563,37 @@ }, { "type": "FIELD", - "name": "condition", + "name": "arguments", "content": { - "type": "SEQ", + "type": "CHOICE", "members": [ { - "type": "FIELD", - "name": "namespace", - "content": { - "type": "SYMBOL", - "name": "_string_literal" - } + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_string_literal" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_string_literal" + } + ] + } + } + ] }, { - "type": "STRING", - "value": "," - }, - { - "type": "FIELD", - "name": "variable", - "content": { - "type": "SYMBOL", - "name": "_string_literal" - } + "type": "BLANK" } ] } @@ -604,30 +611,6 @@ "type": "STRING", "value": "{" }, - { - "type": "CHOICE", - "members": [ - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "select_case" - }, - { - "type": "STRING", - "value": "," - } - ] - } - }, - { - "type": "BLANK" - } - ] - }, { "type": "CHOICE", "members": [ @@ -636,11 +619,35 @@ "members": [ { "type": "SYMBOL", - "name": "default_case" + "name": "select_case" }, { - "type": "STRING", - "value": "," + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "select_case" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] } ] }, @@ -663,7 +670,7 @@ "name": "pattern", "content": { "type": "SYMBOL", - "name": "_string_literal" + "name": "select_pattern" } }, { @@ -680,27 +687,139 @@ } ] }, - "default_case": { + "select_pattern": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_select_pattern" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_select_pattern" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_select_pattern" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + }, + "_select_pattern": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_string_literal" + }, + { + "type": "SYMBOL", + "name": "boolean_literal" + }, + { + "type": "SYMBOL", + "name": "integer_literal" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "any" + }, + "named": true, + "value": "any" + }, + { + "type": "SYMBOL", + "name": "pattern_binding" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "default" + }, + "named": true, + "value": "default" + } + ] + }, + "pattern_binding": { "type": "SEQ", "members": [ { "type": "FIELD", - "name": "pattern", + "name": "value", "content": { - "type": "STRING", - "value": "default" + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "any" + }, + "named": true, + "value": "any" } }, { - "type": "STRING", - "value": ":" + "type": "FIELD", + "name": "operator", + "content": { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "@" + }, + "named": true, + "value": "operator" + } }, { "type": "FIELD", - "name": "value", + "name": "binding", "content": { "type": "SYMBOL", - "name": "_case_value" + "name": "identifier" } } ] @@ -968,6 +1087,6 @@ "precedences": [], "externals": [], "inline": [], - "supertypes": [] -} - + "supertypes": [], + "reserved": {} +} \ No newline at end of file diff --git a/src/node-types.json b/src/node-types.json index 1db28a2..2fe5cf6 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -178,61 +178,33 @@ "fields": {} }, { - "type": "default_case", + "type": "condition", "named": true, "fields": { - "pattern": { - "multiple": false, - "required": true, + "arguments": { + "multiple": true, + "required": false, "types": [ { - "type": "default", + "type": ",", "named": false - } - ] - }, - "value": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "boolean_literal", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "integer_literal", - "named": true }, { "type": "interpreted_string_literal", "named": true }, - { - "type": "list_expression", - "named": true - }, - { - "type": "map_expression", - "named": true - }, { "type": "raw_string_literal", "named": true - }, + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ { - "type": "select_expression", - "named": true - }, - { - "type": "unset", + "type": "identifier", "named": true } ] @@ -349,6 +321,42 @@ } } }, + { + "type": "pattern_binding", + "named": true, + "fields": { + "binding": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "operator", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "any", + "named": true + } + ] + } + } + }, { "type": "property", "named": true, @@ -416,11 +424,7 @@ "required": true, "types": [ { - "type": "interpreted_string_literal", - "named": true - }, - { - "type": "raw_string_literal", + "type": "select_pattern", "named": true } ] @@ -481,10 +485,6 @@ "multiple": true, "required": false, "types": [ - { - "type": "default_case", - "named": true - }, { "type": "select_case", "named": true @@ -507,9 +507,44 @@ { "type": "select_value", "named": true + } + ] + } + }, + { + "type": "select_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "any", + "named": true }, { - "type": "soong_config_variable", + "type": "boolean_literal", + "named": true + }, + { + "type": "default", + "named": true + }, + { + "type": "integer_literal", + "named": true + }, + { + "type": "interpreted_string_literal", + "named": true + }, + { + "type": "pattern_binding", + "named": true + }, + { + "type": "raw_string_literal", "named": true } ] @@ -518,90 +553,22 @@ { "type": "select_value", "named": true, - "fields": { - "condition": { - "multiple": false, - "required": true, - "types": [ - { - "type": "interpreted_string_literal", - "named": true - }, - { - "type": "raw_string_literal", - "named": true - } - ] - }, - "type": { - "multiple": false, - "required": true, - "types": [ - { - "type": "selection_type", - "named": true - } - ] - } - } - }, - { - "type": "soong_config_variable", - "named": true, - "fields": { - "condition": { - "multiple": false, - "required": true, - "types": [ - { - "type": ",", - "named": false - } - ] - }, - "namespace": { - "multiple": false, - "required": true, - "types": [ - { - "type": "interpreted_string_literal", - "named": true - }, - { - "type": "raw_string_literal", - "named": true - } - ] - }, - "type": { - "multiple": false, - "required": true, - "types": [ - { - "type": "selection_type", - "named": true - } - ] - }, - "variable": { - "multiple": false, - "required": true, - "types": [ - { - "type": "interpreted_string_literal", - "named": true - }, - { - "type": "raw_string_literal", - "named": true - } - ] - } + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "condition", + "named": true + } + ] } }, { "type": "source_file", "named": true, + "root": true, "fields": {}, "children": { "multiple": true, @@ -666,9 +633,13 @@ "type": "]", "named": false }, + { + "type": "any", + "named": true + }, { "type": "default", - "named": false + "named": true }, { "type": "escape_sequence", @@ -694,10 +665,6 @@ "type": "select", "named": false }, - { - "type": "selection_type", - "named": true - }, { "type": "true", "named": false diff --git a/src/parser.c b/src/parser.c index f06de7f..67847a6 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1,20 +1,23 @@ +/* Automatically generated by tree-sitter v0.25.1 */ + #include "tree_sitter/parser.h" #if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wmissing-field-initializers" #endif -#define LANGUAGE_VERSION 14 -#define STATE_COUNT 123 +#define LANGUAGE_VERSION 15 +#define STATE_COUNT 147 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 64 +#define SYMBOL_COUNT 67 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 34 +#define TOKEN_COUNT 32 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 12 #define MAX_ALIAS_SEQUENCE_LENGTH 6 -#define PRODUCTION_ID_COUNT 17 +#define MAX_RESERVED_WORD_SET_SIZE 0 +#define PRODUCTION_ID_COUNT 19 +#define SUPERTYPE_COUNT 0 enum ts_symbol_identifiers { anon_sym_SLASH_SLASH = 1, @@ -40,34 +43,34 @@ enum ts_symbol_identifiers { anon_sym_DQUOTE2 = 21, sym_escape_sequence = 22, anon_sym_select = 23, - anon_sym_product_variable = 24, - anon_sym_release_variable = 25, - anon_sym_variant = 26, - anon_sym_soong_config_variable = 27, - anon_sym_COLON = 28, - anon_sym_default = 29, - anon_sym_unset = 30, - anon_sym_LBRACK = 31, - anon_sym_RBRACK = 32, - anon_sym_PLUS = 33, - sym_source_file = 34, - sym__definition = 35, - sym_comment = 36, - sym_assignment = 37, - sym_module = 38, - sym__old_module = 39, - sym__new_module = 40, - sym__expr = 41, - sym_boolean_literal = 42, - sym_integer_literal = 43, - sym__string_literal = 44, - sym_interpreted_string_literal = 45, - sym_select_expression = 46, - sym_select_value = 47, - sym_soong_config_variable = 48, - sym_select_cases = 49, - sym_select_case = 50, - sym_default_case = 51, + anon_sym_COLON = 24, + anon_sym_any = 25, + anon_sym_default = 26, + anon_sym_AT = 27, + anon_sym_unset = 28, + anon_sym_LBRACK = 29, + anon_sym_RBRACK = 30, + anon_sym_PLUS = 31, + sym_source_file = 32, + sym__definition = 33, + sym_comment = 34, + sym_assignment = 35, + sym_module = 36, + sym__old_module = 37, + sym__new_module = 38, + sym__expr = 39, + sym_boolean_literal = 40, + sym_integer_literal = 41, + sym__string_literal = 42, + sym_interpreted_string_literal = 43, + sym_select_expression = 44, + sym_select_value = 45, + sym_condition = 46, + sym_select_cases = 47, + sym_select_case = 48, + sym_select_pattern = 49, + sym__select_pattern = 50, + sym_pattern_binding = 51, sym__case_value = 52, sym_list_expression = 53, sym_map_expression = 54, @@ -78,8 +81,11 @@ enum ts_symbol_identifiers { aux_sym__old_module_repeat1 = 59, aux_sym__new_module_repeat1 = 60, aux_sym_interpreted_string_literal_repeat1 = 61, - aux_sym_select_cases_repeat1 = 62, - aux_sym_list_expression_repeat1 = 63, + aux_sym_select_value_repeat1 = 62, + aux_sym_condition_repeat1 = 63, + aux_sym_select_cases_repeat1 = 64, + aux_sym_select_pattern_repeat1 = 65, + aux_sym_list_expression_repeat1 = 66, }; static const char * const ts_symbol_names[] = { @@ -107,12 +113,10 @@ static const char * const ts_symbol_names[] = { [anon_sym_DQUOTE2] = "\"", [sym_escape_sequence] = "escape_sequence", [anon_sym_select] = "select", - [anon_sym_product_variable] = "selection_type", - [anon_sym_release_variable] = "selection_type", - [anon_sym_variant] = "selection_type", - [anon_sym_soong_config_variable] = "selection_type", [anon_sym_COLON] = ":", + [anon_sym_any] = "any", [anon_sym_default] = "default", + [anon_sym_AT] = "operator", [anon_sym_unset] = "unset", [anon_sym_LBRACK] = "[", [anon_sym_RBRACK] = "]", @@ -131,10 +135,12 @@ static const char * const ts_symbol_names[] = { [sym_interpreted_string_literal] = "interpreted_string_literal", [sym_select_expression] = "select_expression", [sym_select_value] = "select_value", - [sym_soong_config_variable] = "soong_config_variable", + [sym_condition] = "condition", [sym_select_cases] = "select_cases", [sym_select_case] = "select_case", - [sym_default_case] = "default_case", + [sym_select_pattern] = "select_pattern", + [sym__select_pattern] = "_select_pattern", + [sym_pattern_binding] = "pattern_binding", [sym__case_value] = "_case_value", [sym_list_expression] = "list_expression", [sym_map_expression] = "map_expression", @@ -145,7 +151,10 @@ static const char * const ts_symbol_names[] = { [aux_sym__old_module_repeat1] = "_old_module_repeat1", [aux_sym__new_module_repeat1] = "_new_module_repeat1", [aux_sym_interpreted_string_literal_repeat1] = "interpreted_string_literal_repeat1", + [aux_sym_select_value_repeat1] = "select_value_repeat1", + [aux_sym_condition_repeat1] = "condition_repeat1", [aux_sym_select_cases_repeat1] = "select_cases_repeat1", + [aux_sym_select_pattern_repeat1] = "select_pattern_repeat1", [aux_sym_list_expression_repeat1] = "list_expression_repeat1", }; @@ -174,12 +183,10 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_DQUOTE2] = anon_sym_DQUOTE, [sym_escape_sequence] = sym_escape_sequence, [anon_sym_select] = anon_sym_select, - [anon_sym_product_variable] = anon_sym_product_variable, - [anon_sym_release_variable] = anon_sym_product_variable, - [anon_sym_variant] = anon_sym_product_variable, - [anon_sym_soong_config_variable] = anon_sym_product_variable, [anon_sym_COLON] = anon_sym_COLON, + [anon_sym_any] = anon_sym_any, [anon_sym_default] = anon_sym_default, + [anon_sym_AT] = anon_sym_PLUS_EQ, [anon_sym_unset] = anon_sym_unset, [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_RBRACK] = anon_sym_RBRACK, @@ -198,10 +205,12 @@ static const TSSymbol ts_symbol_map[] = { [sym_interpreted_string_literal] = sym_interpreted_string_literal, [sym_select_expression] = sym_select_expression, [sym_select_value] = sym_select_value, - [sym_soong_config_variable] = sym_soong_config_variable, + [sym_condition] = sym_condition, [sym_select_cases] = sym_select_cases, [sym_select_case] = sym_select_case, - [sym_default_case] = sym_default_case, + [sym_select_pattern] = sym_select_pattern, + [sym__select_pattern] = sym__select_pattern, + [sym_pattern_binding] = sym_pattern_binding, [sym__case_value] = sym__case_value, [sym_list_expression] = sym_list_expression, [sym_map_expression] = sym_map_expression, @@ -212,7 +221,10 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym__old_module_repeat1] = aux_sym__old_module_repeat1, [aux_sym__new_module_repeat1] = aux_sym__new_module_repeat1, [aux_sym_interpreted_string_literal_repeat1] = aux_sym_interpreted_string_literal_repeat1, + [aux_sym_select_value_repeat1] = aux_sym_select_value_repeat1, + [aux_sym_condition_repeat1] = aux_sym_condition_repeat1, [aux_sym_select_cases_repeat1] = aux_sym_select_cases_repeat1, + [aux_sym_select_pattern_repeat1] = aux_sym_select_pattern_repeat1, [aux_sym_list_expression_repeat1] = aux_sym_list_expression_repeat1, }; @@ -313,29 +325,21 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_product_variable] = { - .visible = true, - .named = true, - }, - [anon_sym_release_variable] = { - .visible = true, - .named = true, - }, - [anon_sym_variant] = { - .visible = true, - .named = true, - }, - [anon_sym_soong_config_variable] = { - .visible = true, - .named = true, - }, [anon_sym_COLON] = { .visible = true, .named = false, }, + [anon_sym_any] = { + .visible = true, + .named = true, + }, [anon_sym_default] = { .visible = true, - .named = false, + .named = true, + }, + [anon_sym_AT] = { + .visible = true, + .named = true, }, [anon_sym_unset] = { .visible = true, @@ -409,7 +413,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_soong_config_variable] = { + [sym_condition] = { .visible = true, .named = true, }, @@ -421,7 +425,15 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_default_case] = { + [sym_select_pattern] = { + .visible = true, + .named = true, + }, + [sym__select_pattern] = { + .visible = false, + .named = true, + }, + [sym_pattern_binding] = { .visible = true, .named = true, }, @@ -465,10 +477,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_select_value_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_condition_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_select_cases_repeat1] = { .visible = false, .named = false, }, + [aux_sym_select_pattern_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_list_expression_repeat1] = { .visible = false, .named = false, @@ -476,37 +500,37 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { }; enum ts_field_identifiers { - field_condition = 1, - field_element = 2, - field_field = 3, - field_left = 4, - field_namespace = 5, - field_operator = 6, - field_pattern = 7, - field_property = 8, - field_right = 9, - field_type = 10, - field_value = 11, - field_variable = 12, + field_arguments = 1, + field_binding = 2, + field_element = 3, + field_field = 4, + field_left = 5, + field_name = 6, + field_operator = 7, + field_pattern = 8, + field_property = 9, + field_right = 10, + field_type = 11, + field_value = 12, }; static const char * const ts_field_names[] = { [0] = NULL, - [field_condition] = "condition", + [field_arguments] = "arguments", + [field_binding] = "binding", [field_element] = "element", [field_field] = "field", [field_left] = "left", - [field_namespace] = "namespace", + [field_name] = "name", [field_operator] = "operator", [field_pattern] = "pattern", [field_property] = "property", [field_right] = "right", [field_type] = "type", [field_value] = "value", - [field_variable] = "variable", }; -static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { +static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [1] = {.index = 0, .length = 2}, [2] = {.index = 2, .length = 3}, [3] = {.index = 5, .length = 1}, @@ -520,9 +544,11 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [11] = {.index = 23, .length = 4}, [12] = {.index = 27, .length = 2}, [13] = {.index = 29, .length = 2}, - [14] = {.index = 31, .length = 2}, - [15] = {.index = 33, .length = 4}, - [16] = {.index = 37, .length = 2}, + [14] = {.index = 31, .length = 1}, + [15] = {.index = 32, .length = 2}, + [16] = {.index = 34, .length = 3}, + [17] = {.index = 37, .length = 3}, + [18] = {.index = 40, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -570,14 +596,19 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_element, 0, .inherited = true}, {field_element, 1, .inherited = true}, [31] = - {field_condition, 2}, - {field_type, 0}, - [33] = - {field_condition, 3}, - {field_namespace, 2}, - {field_type, 0}, - {field_variable, 4}, + {field_name, 0}, + [32] = + {field_arguments, 2}, + {field_name, 0}, + [34] = + {field_arguments, 2}, + {field_arguments, 3}, + {field_name, 0}, [37] = + {field_binding, 2}, + {field_operator, 1}, + {field_value, 0}, + [40] = {field_pattern, 0}, {field_value, 2}, }; @@ -717,5042 +748,1013 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [120] = 120, [121] = 121, [122] = 122, + [123] = 123, + [124] = 124, + [125] = 125, + [126] = 126, + [127] = 127, + [128] = 128, + [129] = 129, + [130] = 130, + [131] = 131, + [132] = 132, + [133] = 133, + [134] = 134, + [135] = 135, + [136] = 136, + [137] = 137, + [138] = 138, + [139] = 139, + [140] = 140, + [141] = 141, + [142] = 142, + [143] = 143, + [144] = 144, + [145] = 145, + [146] = 146, }; -static inline bool sym_identifier_character_set_1(int32_t c) { - return (c < 43514 - ? (c < 4193 - ? (c < 2707 - ? (c < 1994 - ? (c < 931 - ? (c < 748 - ? (c < 192 - ? (c < 170 - ? (c < '_' - ? (c >= 'A' && c <= 'Z') - : c <= 'z') - : (c <= 170 || (c < 186 - ? c == 181 - : c <= 186))) - : (c <= 214 || (c < 710 - ? (c < 248 - ? (c >= 216 && c <= 246) - : c <= 705) - : (c <= 721 || (c >= 736 && c <= 740))))) - : (c <= 748 || (c < 895 - ? (c < 886 - ? (c < 880 - ? c == 750 - : c <= 884) - : (c <= 887 || (c >= 891 && c <= 893))) - : (c <= 895 || (c < 908 - ? (c < 904 - ? c == 902 - : c <= 906) - : (c <= 908 || (c >= 910 && c <= 929))))))) - : (c <= 1013 || (c < 1649 - ? (c < 1376 - ? (c < 1329 - ? (c < 1162 - ? (c >= 1015 && c <= 1153) - : c <= 1327) - : (c <= 1366 || c == 1369)) - : (c <= 1416 || (c < 1568 - ? (c < 1519 - ? (c >= 1488 && c <= 1514) - : c <= 1522) - : (c <= 1610 || (c >= 1646 && c <= 1647))))) - : (c <= 1747 || (c < 1791 - ? (c < 1774 - ? (c < 1765 - ? c == 1749 - : c <= 1766) - : (c <= 1775 || (c >= 1786 && c <= 1788))) - : (c <= 1791 || (c < 1869 - ? (c < 1810 - ? c == 1808 - : c <= 1839) - : (c <= 1957 || c == 1969)))))))) - : (c <= 2026 || (c < 2482 - ? (c < 2208 - ? (c < 2088 - ? (c < 2048 - ? (c < 2042 - ? (c >= 2036 && c <= 2037) - : c <= 2042) - : (c <= 2069 || (c < 2084 - ? c == 2074 - : c <= 2084))) - : (c <= 2088 || (c < 2160 - ? (c < 2144 - ? (c >= 2112 && c <= 2136) - : c <= 2154) - : (c <= 2183 || (c >= 2185 && c <= 2190))))) - : (c <= 2249 || (c < 2417 - ? (c < 2384 - ? (c < 2365 - ? (c >= 2308 && c <= 2361) - : c <= 2365) - : (c <= 2384 || (c >= 2392 && c <= 2401))) - : (c <= 2432 || (c < 2451 - ? (c < 2447 - ? (c >= 2437 && c <= 2444) - : c <= 2448) - : (c <= 2472 || (c >= 2474 && c <= 2480))))))) - : (c <= 2482 || (c < 2579 - ? (c < 2527 - ? (c < 2510 - ? (c < 2493 - ? (c >= 2486 && c <= 2489) - : c <= 2493) - : (c <= 2510 || (c >= 2524 && c <= 2525))) - : (c <= 2529 || (c < 2565 - ? (c < 2556 - ? (c >= 2544 && c <= 2545) - : c <= 2556) - : (c <= 2570 || (c >= 2575 && c <= 2576))))) - : (c <= 2600 || (c < 2649 - ? (c < 2613 - ? (c < 2610 - ? (c >= 2602 && c <= 2608) - : c <= 2611) - : (c <= 2614 || (c >= 2616 && c <= 2617))) - : (c <= 2652 || (c < 2693 - ? (c < 2674 - ? c == 2654 - : c <= 2676) - : (c <= 2701 || (c >= 2703 && c <= 2705))))))))))) - : (c <= 2728 || (c < 3242 - ? (c < 2962 - ? (c < 2858 - ? (c < 2784 - ? (c < 2741 - ? (c < 2738 - ? (c >= 2730 && c <= 2736) - : c <= 2739) - : (c <= 2745 || (c < 2768 - ? c == 2749 - : c <= 2768))) - : (c <= 2785 || (c < 2831 - ? (c < 2821 - ? c == 2809 - : c <= 2828) - : (c <= 2832 || (c >= 2835 && c <= 2856))))) - : (c <= 2864 || (c < 2911 - ? (c < 2877 - ? (c < 2869 - ? (c >= 2866 && c <= 2867) - : c <= 2873) - : (c <= 2877 || (c >= 2908 && c <= 2909))) - : (c <= 2913 || (c < 2949 - ? (c < 2947 - ? c == 2929 - : c <= 2947) - : (c <= 2954 || (c >= 2958 && c <= 2960))))))) - : (c <= 2965 || (c < 3090 - ? (c < 2984 - ? (c < 2974 - ? (c < 2972 - ? (c >= 2969 && c <= 2970) - : c <= 2972) - : (c <= 2975 || (c >= 2979 && c <= 2980))) - : (c <= 2986 || (c < 3077 - ? (c < 3024 - ? (c >= 2990 && c <= 3001) - : c <= 3024) - : (c <= 3084 || (c >= 3086 && c <= 3088))))) - : (c <= 3112 || (c < 3168 - ? (c < 3160 - ? (c < 3133 - ? (c >= 3114 && c <= 3129) - : c <= 3133) - : (c <= 3162 || c == 3165)) - : (c <= 3169 || (c < 3214 - ? (c < 3205 - ? c == 3200 - : c <= 3212) - : (c <= 3216 || (c >= 3218 && c <= 3240))))))))) - : (c <= 3251 || (c < 3648 - ? (c < 3412 - ? (c < 3332 - ? (c < 3293 - ? (c < 3261 - ? (c >= 3253 && c <= 3257) - : c <= 3261) - : (c <= 3294 || (c < 3313 - ? (c >= 3296 && c <= 3297) - : c <= 3314))) - : (c <= 3340 || (c < 3389 - ? (c < 3346 - ? (c >= 3342 && c <= 3344) - : c <= 3386) - : (c <= 3389 || c == 3406)))) - : (c <= 3414 || (c < 3507 - ? (c < 3461 - ? (c < 3450 - ? (c >= 3423 && c <= 3425) - : c <= 3455) - : (c <= 3478 || (c >= 3482 && c <= 3505))) - : (c <= 3515 || (c < 3585 - ? (c < 3520 - ? c == 3517 - : c <= 3526) - : (c <= 3632 || c == 3634)))))) - : (c <= 3654 || (c < 3782 - ? (c < 3749 - ? (c < 3718 - ? (c < 3716 - ? (c >= 3713 && c <= 3714) - : c <= 3716) - : (c <= 3722 || (c >= 3724 && c <= 3747))) - : (c <= 3749 || (c < 3773 - ? (c < 3762 - ? (c >= 3751 && c <= 3760) - : c <= 3762) - : (c <= 3773 || (c >= 3776 && c <= 3780))))) - : (c <= 3782 || (c < 3976 - ? (c < 3904 - ? (c < 3840 - ? (c >= 3804 && c <= 3807) - : c <= 3840) - : (c <= 3911 || (c >= 3913 && c <= 3948))) - : (c <= 3980 || (c < 4176 - ? (c < 4159 - ? (c >= 4096 && c <= 4138) - : c <= 4159) - : (c <= 4181 || (c >= 4186 && c <= 4189))))))))))))) - : (c <= 4193 || (c < 8134 - ? (c < 6176 - ? (c < 4808 - ? (c < 4688 - ? (c < 4295 - ? (c < 4213 - ? (c < 4206 - ? (c >= 4197 && c <= 4198) - : c <= 4208) - : (c <= 4225 || (c < 4256 - ? c == 4238 - : c <= 4293))) - : (c <= 4295 || (c < 4348 - ? (c < 4304 - ? c == 4301 - : c <= 4346) - : (c <= 4680 || (c >= 4682 && c <= 4685))))) - : (c <= 4694 || (c < 4752 - ? (c < 4704 - ? (c < 4698 - ? c == 4696 - : c <= 4701) - : (c <= 4744 || (c >= 4746 && c <= 4749))) - : (c <= 4784 || (c < 4800 - ? (c < 4792 - ? (c >= 4786 && c <= 4789) - : c <= 4798) - : (c <= 4800 || (c >= 4802 && c <= 4805))))))) - : (c <= 4822 || (c < 5792 - ? (c < 5024 - ? (c < 4888 - ? (c < 4882 - ? (c >= 4824 && c <= 4880) - : c <= 4885) - : (c <= 4954 || (c >= 4992 && c <= 5007))) - : (c <= 5109 || (c < 5743 - ? (c < 5121 - ? (c >= 5112 && c <= 5117) - : c <= 5740) - : (c <= 5759 || (c >= 5761 && c <= 5786))))) - : (c <= 5866 || (c < 5984 - ? (c < 5919 - ? (c < 5888 - ? (c >= 5870 && c <= 5880) - : c <= 5905) - : (c <= 5937 || (c >= 5952 && c <= 5969))) - : (c <= 5996 || (c < 6103 - ? (c < 6016 - ? (c >= 5998 && c <= 6000) - : c <= 6067) - : (c <= 6103 || c == 6108)))))))) - : (c <= 6264 || (c < 7312 - ? (c < 6823 - ? (c < 6512 - ? (c < 6320 - ? (c < 6314 - ? (c >= 6272 && c <= 6312) - : c <= 6314) - : (c <= 6389 || (c < 6480 - ? (c >= 6400 && c <= 6430) - : c <= 6509))) - : (c <= 6516 || (c < 6656 - ? (c < 6576 - ? (c >= 6528 && c <= 6571) - : c <= 6601) - : (c <= 6678 || (c >= 6688 && c <= 6740))))) - : (c <= 6823 || (c < 7098 - ? (c < 7043 - ? (c < 6981 - ? (c >= 6917 && c <= 6963) - : c <= 6988) - : (c <= 7072 || (c >= 7086 && c <= 7087))) - : (c <= 7141 || (c < 7258 - ? (c < 7245 - ? (c >= 7168 && c <= 7203) - : c <= 7247) - : (c <= 7293 || (c >= 7296 && c <= 7304))))))) - : (c <= 7354 || (c < 8008 - ? (c < 7418 - ? (c < 7406 - ? (c < 7401 - ? (c >= 7357 && c <= 7359) - : c <= 7404) - : (c <= 7411 || (c >= 7413 && c <= 7414))) - : (c <= 7418 || (c < 7960 - ? (c < 7680 - ? (c >= 7424 && c <= 7615) - : c <= 7957) - : (c <= 7965 || (c >= 7968 && c <= 8005))))) - : (c <= 8013 || (c < 8031 - ? (c < 8027 - ? (c < 8025 - ? (c >= 8016 && c <= 8023) - : c <= 8025) - : (c <= 8027 || c == 8029)) - : (c <= 8061 || (c < 8126 - ? (c < 8118 - ? (c >= 8064 && c <= 8116) - : c <= 8124) - : (c <= 8126 || (c >= 8130 && c <= 8132))))))))))) - : (c <= 8140 || (c < 12337 - ? (c < 8544 - ? (c < 8458 - ? (c < 8305 - ? (c < 8160 - ? (c < 8150 - ? (c >= 8144 && c <= 8147) - : c <= 8155) - : (c <= 8172 || (c < 8182 - ? (c >= 8178 && c <= 8180) - : c <= 8188))) - : (c <= 8305 || (c < 8450 - ? (c < 8336 - ? c == 8319 - : c <= 8348) - : (c <= 8450 || c == 8455)))) - : (c <= 8467 || (c < 8488 - ? (c < 8484 - ? (c < 8472 - ? c == 8469 - : c <= 8477) - : (c <= 8484 || c == 8486)) - : (c <= 8488 || (c < 8517 - ? (c < 8508 - ? (c >= 8490 && c <= 8505) - : c <= 8511) - : (c <= 8521 || c == 8526)))))) - : (c <= 8584 || (c < 11680 - ? (c < 11559 - ? (c < 11506 - ? (c < 11499 - ? (c >= 11264 && c <= 11492) - : c <= 11502) - : (c <= 11507 || (c >= 11520 && c <= 11557))) - : (c <= 11559 || (c < 11631 - ? (c < 11568 - ? c == 11565 - : c <= 11623) - : (c <= 11631 || (c >= 11648 && c <= 11670))))) - : (c <= 11686 || (c < 11720 - ? (c < 11704 - ? (c < 11696 - ? (c >= 11688 && c <= 11694) - : c <= 11702) - : (c <= 11710 || (c >= 11712 && c <= 11718))) - : (c <= 11726 || (c < 12293 - ? (c < 11736 - ? (c >= 11728 && c <= 11734) - : c <= 11742) - : (c <= 12295 || (c >= 12321 && c <= 12329))))))))) - : (c <= 12341 || (c < 42891 - ? (c < 19968 - ? (c < 12549 - ? (c < 12445 - ? (c < 12353 - ? (c >= 12344 && c <= 12348) - : c <= 12438) - : (c <= 12447 || (c < 12540 - ? (c >= 12449 && c <= 12538) - : c <= 12543))) - : (c <= 12591 || (c < 12784 - ? (c < 12704 - ? (c >= 12593 && c <= 12686) - : c <= 12735) - : (c <= 12799 || (c >= 13312 && c <= 19903))))) - : (c <= 42124 || (c < 42560 - ? (c < 42512 - ? (c < 42240 - ? (c >= 42192 && c <= 42237) - : c <= 42508) - : (c <= 42527 || (c >= 42538 && c <= 42539))) - : (c <= 42606 || (c < 42775 - ? (c < 42656 - ? (c >= 42623 && c <= 42653) - : c <= 42735) - : (c <= 42783 || (c >= 42786 && c <= 42888))))))) - : (c <= 42954 || (c < 43250 - ? (c < 43011 - ? (c < 42965 - ? (c < 42963 - ? (c >= 42960 && c <= 42961) - : c <= 42963) - : (c <= 42969 || (c >= 42994 && c <= 43009))) - : (c <= 43013 || (c < 43072 - ? (c < 43020 - ? (c >= 43015 && c <= 43018) - : c <= 43042) - : (c <= 43123 || (c >= 43138 && c <= 43187))))) - : (c <= 43255 || (c < 43360 - ? (c < 43274 - ? (c < 43261 - ? c == 43259 - : c <= 43262) - : (c <= 43301 || (c >= 43312 && c <= 43334))) - : (c <= 43388 || (c < 43488 - ? (c < 43471 - ? (c >= 43396 && c <= 43442) - : c <= 43471) - : (c <= 43492 || (c >= 43494 && c <= 43503))))))))))))))) - : (c <= 43518 || (c < 70727 - ? (c < 66956 - ? (c < 64914 - ? (c < 43868 - ? (c < 43714 - ? (c < 43646 - ? (c < 43588 - ? (c < 43584 - ? (c >= 43520 && c <= 43560) - : c <= 43586) - : (c <= 43595 || (c < 43642 - ? (c >= 43616 && c <= 43638) - : c <= 43642))) - : (c <= 43695 || (c < 43705 - ? (c < 43701 - ? c == 43697 - : c <= 43702) - : (c <= 43709 || c == 43712)))) - : (c <= 43714 || (c < 43785 - ? (c < 43762 - ? (c < 43744 - ? (c >= 43739 && c <= 43741) - : c <= 43754) - : (c <= 43764 || (c >= 43777 && c <= 43782))) - : (c <= 43790 || (c < 43816 - ? (c < 43808 - ? (c >= 43793 && c <= 43798) - : c <= 43814) - : (c <= 43822 || (c >= 43824 && c <= 43866))))))) - : (c <= 43881 || (c < 64287 - ? (c < 63744 - ? (c < 55216 - ? (c < 44032 - ? (c >= 43888 && c <= 44002) - : c <= 55203) - : (c <= 55238 || (c >= 55243 && c <= 55291))) - : (c <= 64109 || (c < 64275 - ? (c < 64256 - ? (c >= 64112 && c <= 64217) - : c <= 64262) - : (c <= 64279 || c == 64285)))) - : (c <= 64296 || (c < 64323 - ? (c < 64318 - ? (c < 64312 - ? (c >= 64298 && c <= 64310) - : c <= 64316) - : (c <= 64318 || (c >= 64320 && c <= 64321))) - : (c <= 64324 || (c < 64612 - ? (c < 64467 - ? (c >= 64326 && c <= 64433) - : c <= 64605) - : (c <= 64829 || (c >= 64848 && c <= 64911))))))))) - : (c <= 64967 || (c < 65599 - ? (c < 65382 - ? (c < 65147 - ? (c < 65139 - ? (c < 65137 - ? (c >= 65008 && c <= 65017) - : c <= 65137) - : (c <= 65139 || (c < 65145 - ? c == 65143 - : c <= 65145))) - : (c <= 65147 || (c < 65313 - ? (c < 65151 - ? c == 65149 - : c <= 65276) - : (c <= 65338 || (c >= 65345 && c <= 65370))))) - : (c <= 65437 || (c < 65498 - ? (c < 65482 - ? (c < 65474 - ? (c >= 65440 && c <= 65470) - : c <= 65479) - : (c <= 65487 || (c >= 65490 && c <= 65495))) - : (c <= 65500 || (c < 65576 - ? (c < 65549 - ? (c >= 65536 && c <= 65547) - : c <= 65574) - : (c <= 65594 || (c >= 65596 && c <= 65597))))))) - : (c <= 65613 || (c < 66464 - ? (c < 66208 - ? (c < 65856 - ? (c < 65664 - ? (c >= 65616 && c <= 65629) - : c <= 65786) - : (c <= 65908 || (c >= 66176 && c <= 66204))) - : (c <= 66256 || (c < 66384 - ? (c < 66349 - ? (c >= 66304 && c <= 66335) - : c <= 66378) - : (c <= 66421 || (c >= 66432 && c <= 66461))))) - : (c <= 66499 || (c < 66776 - ? (c < 66560 - ? (c < 66513 - ? (c >= 66504 && c <= 66511) - : c <= 66517) - : (c <= 66717 || (c >= 66736 && c <= 66771))) - : (c <= 66811 || (c < 66928 - ? (c < 66864 - ? (c >= 66816 && c <= 66855) - : c <= 66915) - : (c <= 66938 || (c >= 66940 && c <= 66954))))))))))) - : (c <= 66962 || (c < 68864 - ? (c < 67828 - ? (c < 67506 - ? (c < 67072 - ? (c < 66979 - ? (c < 66967 - ? (c >= 66964 && c <= 66965) - : c <= 66977) - : (c <= 66993 || (c < 67003 - ? (c >= 66995 && c <= 67001) - : c <= 67004))) - : (c <= 67382 || (c < 67456 - ? (c < 67424 - ? (c >= 67392 && c <= 67413) - : c <= 67431) - : (c <= 67461 || (c >= 67463 && c <= 67504))))) - : (c <= 67514 || (c < 67644 - ? (c < 67594 - ? (c < 67592 - ? (c >= 67584 && c <= 67589) - : c <= 67592) - : (c <= 67637 || (c >= 67639 && c <= 67640))) - : (c <= 67644 || (c < 67712 - ? (c < 67680 - ? (c >= 67647 && c <= 67669) - : c <= 67702) - : (c <= 67742 || (c >= 67808 && c <= 67826))))))) - : (c <= 67829 || (c < 68224 - ? (c < 68096 - ? (c < 67968 - ? (c < 67872 - ? (c >= 67840 && c <= 67861) - : c <= 67897) - : (c <= 68023 || (c >= 68030 && c <= 68031))) - : (c <= 68096 || (c < 68121 - ? (c < 68117 - ? (c >= 68112 && c <= 68115) - : c <= 68119) - : (c <= 68149 || (c >= 68192 && c <= 68220))))) - : (c <= 68252 || (c < 68448 - ? (c < 68352 - ? (c < 68297 - ? (c >= 68288 && c <= 68295) - : c <= 68324) - : (c <= 68405 || (c >= 68416 && c <= 68437))) - : (c <= 68466 || (c < 68736 - ? (c < 68608 - ? (c >= 68480 && c <= 68497) - : c <= 68680) - : (c <= 68786 || (c >= 68800 && c <= 68850))))))))) - : (c <= 68899 || (c < 70106 - ? (c < 69749 - ? (c < 69488 - ? (c < 69376 - ? (c < 69296 - ? (c >= 69248 && c <= 69289) - : c <= 69297) - : (c <= 69404 || (c < 69424 - ? c == 69415 - : c <= 69445))) - : (c <= 69505 || (c < 69635 - ? (c < 69600 - ? (c >= 69552 && c <= 69572) - : c <= 69622) - : (c <= 69687 || (c >= 69745 && c <= 69746))))) - : (c <= 69749 || (c < 69959 - ? (c < 69891 - ? (c < 69840 - ? (c >= 69763 && c <= 69807) - : c <= 69864) - : (c <= 69926 || c == 69956)) - : (c <= 69959 || (c < 70019 - ? (c < 70006 - ? (c >= 69968 && c <= 70002) - : c <= 70006) - : (c <= 70066 || (c >= 70081 && c <= 70084))))))) - : (c <= 70106 || (c < 70405 - ? (c < 70280 - ? (c < 70163 - ? (c < 70144 - ? c == 70108 - : c <= 70161) - : (c <= 70187 || (c >= 70272 && c <= 70278))) - : (c <= 70280 || (c < 70303 - ? (c < 70287 - ? (c >= 70282 && c <= 70285) - : c <= 70301) - : (c <= 70312 || (c >= 70320 && c <= 70366))))) - : (c <= 70412 || (c < 70453 - ? (c < 70442 - ? (c < 70419 - ? (c >= 70415 && c <= 70416) - : c <= 70440) - : (c <= 70448 || (c >= 70450 && c <= 70451))) - : (c <= 70457 || (c < 70493 - ? (c < 70480 - ? c == 70461 - : c <= 70480) - : (c <= 70497 || (c >= 70656 && c <= 70708))))))))))))) - : (c <= 70730 || (c < 119894 - ? (c < 73056 - ? (c < 72001 - ? (c < 71424 - ? (c < 71128 - ? (c < 70852 - ? (c < 70784 - ? (c >= 70751 && c <= 70753) - : c <= 70831) - : (c <= 70853 || (c < 71040 - ? c == 70855 - : c <= 71086))) - : (c <= 71131 || (c < 71296 - ? (c < 71236 - ? (c >= 71168 && c <= 71215) - : c <= 71236) - : (c <= 71338 || c == 71352)))) - : (c <= 71450 || (c < 71945 - ? (c < 71840 - ? (c < 71680 - ? (c >= 71488 && c <= 71494) - : c <= 71723) - : (c <= 71903 || (c >= 71935 && c <= 71942))) - : (c <= 71945 || (c < 71960 - ? (c < 71957 - ? (c >= 71948 && c <= 71955) - : c <= 71958) - : (c <= 71983 || c == 71999)))))) - : (c <= 72001 || (c < 72349 - ? (c < 72192 - ? (c < 72161 - ? (c < 72106 - ? (c >= 72096 && c <= 72103) - : c <= 72144) - : (c <= 72161 || c == 72163)) - : (c <= 72192 || (c < 72272 - ? (c < 72250 - ? (c >= 72203 && c <= 72242) - : c <= 72250) - : (c <= 72272 || (c >= 72284 && c <= 72329))))) - : (c <= 72349 || (c < 72818 - ? (c < 72714 - ? (c < 72704 - ? (c >= 72368 && c <= 72440) - : c <= 72712) - : (c <= 72750 || c == 72768)) - : (c <= 72847 || (c < 72971 - ? (c < 72968 - ? (c >= 72960 && c <= 72966) - : c <= 72969) - : (c <= 73008 || c == 73030)))))))) - : (c <= 73061 || (c < 93952 - ? (c < 82944 - ? (c < 73728 - ? (c < 73112 - ? (c < 73066 - ? (c >= 73063 && c <= 73064) - : c <= 73097) - : (c <= 73112 || (c < 73648 - ? (c >= 73440 && c <= 73458) - : c <= 73648))) - : (c <= 74649 || (c < 77712 - ? (c < 74880 - ? (c >= 74752 && c <= 74862) - : c <= 75075) - : (c <= 77808 || (c >= 77824 && c <= 78894))))) - : (c <= 83526 || (c < 92928 - ? (c < 92784 - ? (c < 92736 - ? (c >= 92160 && c <= 92728) - : c <= 92766) - : (c <= 92862 || (c >= 92880 && c <= 92909))) - : (c <= 92975 || (c < 93053 - ? (c < 93027 - ? (c >= 92992 && c <= 92995) - : c <= 93047) - : (c <= 93071 || (c >= 93760 && c <= 93823))))))) - : (c <= 94026 || (c < 110589 - ? (c < 94208 - ? (c < 94176 - ? (c < 94099 - ? c == 94032 - : c <= 94111) - : (c <= 94177 || c == 94179)) - : (c <= 100343 || (c < 110576 - ? (c < 101632 - ? (c >= 100352 && c <= 101589) - : c <= 101640) - : (c <= 110579 || (c >= 110581 && c <= 110587))))) - : (c <= 110590 || (c < 113664 - ? (c < 110948 - ? (c < 110928 - ? (c >= 110592 && c <= 110882) - : c <= 110930) - : (c <= 110951 || (c >= 110960 && c <= 111355))) - : (c <= 113770 || (c < 113808 - ? (c < 113792 - ? (c >= 113776 && c <= 113788) - : c <= 113800) - : (c <= 113817 || (c >= 119808 && c <= 119892))))))))))) - : (c <= 119964 || (c < 125259 - ? (c < 120572 - ? (c < 120086 - ? (c < 119995 - ? (c < 119973 - ? (c < 119970 - ? (c >= 119966 && c <= 119967) - : c <= 119970) - : (c <= 119974 || (c < 119982 - ? (c >= 119977 && c <= 119980) - : c <= 119993))) - : (c <= 119995 || (c < 120071 - ? (c < 120005 - ? (c >= 119997 && c <= 120003) - : c <= 120069) - : (c <= 120074 || (c >= 120077 && c <= 120084))))) - : (c <= 120092 || (c < 120138 - ? (c < 120128 - ? (c < 120123 - ? (c >= 120094 && c <= 120121) - : c <= 120126) - : (c <= 120132 || c == 120134)) - : (c <= 120144 || (c < 120514 - ? (c < 120488 - ? (c >= 120146 && c <= 120485) - : c <= 120512) - : (c <= 120538 || (c >= 120540 && c <= 120570))))))) - : (c <= 120596 || (c < 123191 - ? (c < 120714 - ? (c < 120656 - ? (c < 120630 - ? (c >= 120598 && c <= 120628) - : c <= 120654) - : (c <= 120686 || (c >= 120688 && c <= 120712))) - : (c <= 120744 || (c < 122624 - ? (c < 120772 - ? (c >= 120746 && c <= 120770) - : c <= 120779) - : (c <= 122654 || (c >= 123136 && c <= 123180))))) - : (c <= 123197 || (c < 124904 - ? (c < 123584 - ? (c < 123536 - ? c == 123214 - : c <= 123565) - : (c <= 123627 || (c >= 124896 && c <= 124902))) - : (c <= 124907 || (c < 124928 - ? (c < 124912 - ? (c >= 124909 && c <= 124910) - : c <= 124926) - : (c <= 125124 || (c >= 125184 && c <= 125251))))))))) - : (c <= 125259 || (c < 126559 - ? (c < 126535 - ? (c < 126505 - ? (c < 126497 - ? (c < 126469 - ? (c >= 126464 && c <= 126467) - : c <= 126495) - : (c <= 126498 || (c < 126503 - ? c == 126500 - : c <= 126503))) - : (c <= 126514 || (c < 126523 - ? (c < 126521 - ? (c >= 126516 && c <= 126519) - : c <= 126521) - : (c <= 126523 || c == 126530)))) - : (c <= 126535 || (c < 126548 - ? (c < 126541 - ? (c < 126539 - ? c == 126537 - : c <= 126539) - : (c <= 126543 || (c >= 126545 && c <= 126546))) - : (c <= 126548 || (c < 126555 - ? (c < 126553 - ? c == 126551 - : c <= 126553) - : (c <= 126555 || c == 126557)))))) - : (c <= 126559 || (c < 126625 - ? (c < 126580 - ? (c < 126567 - ? (c < 126564 - ? (c >= 126561 && c <= 126562) - : c <= 126564) - : (c <= 126570 || (c >= 126572 && c <= 126578))) - : (c <= 126583 || (c < 126592 - ? (c < 126590 - ? (c >= 126585 && c <= 126588) - : c <= 126590) - : (c <= 126601 || (c >= 126603 && c <= 126619))))) - : (c <= 126627 || (c < 177984 - ? (c < 131072 - ? (c < 126635 - ? (c >= 126629 && c <= 126633) - : c <= 126651) - : (c <= 173791 || (c >= 173824 && c <= 177976))) - : (c <= 178205 || (c < 194560 - ? (c < 183984 - ? (c >= 178208 && c <= 183969) - : c <= 191456) - : (c <= 195101 || (c >= 196608 && c <= 201546))))))))))))))))); -} +const TSCharacterRange sym_identifier_character_set_1[] = { + {'A', 'Z'}, {'_', '_'}, {'a', 'z'}, {0xaa, 0xaa}, {0xb5, 0xb5}, {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6}, + {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ec, 0x2ec}, {0x2ee, 0x2ee}, {0x370, 0x374}, {0x376, 0x377}, {0x37b, 0x37d}, + {0x37f, 0x37f}, {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3f5}, {0x3f7, 0x481}, {0x48a, 0x52f}, + {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x620, 0x64a}, {0x66e, 0x66f}, {0x671, 0x6d3}, + {0x6d5, 0x6d5}, {0x6e5, 0x6e6}, {0x6ee, 0x6ef}, {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710}, {0x712, 0x72f}, {0x74d, 0x7a5}, + {0x7b1, 0x7b1}, {0x7ca, 0x7ea}, {0x7f4, 0x7f5}, {0x7fa, 0x7fa}, {0x800, 0x815}, {0x81a, 0x81a}, {0x824, 0x824}, {0x828, 0x828}, + {0x840, 0x858}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e}, {0x8a0, 0x8c9}, {0x904, 0x939}, {0x93d, 0x93d}, {0x950, 0x950}, + {0x958, 0x961}, {0x971, 0x980}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, + {0x9bd, 0x9bd}, {0x9ce, 0x9ce}, {0x9dc, 0x9dd}, {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0x9fc, 0x9fc}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, + {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa59, 0xa5c}, {0xa5e, 0xa5e}, {0xa72, 0xa74}, + {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabd, 0xabd}, {0xad0, 0xad0}, + {0xae0, 0xae1}, {0xaf9, 0xaf9}, {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb35, 0xb39}, + {0xb3d, 0xb3d}, {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb71, 0xb71}, {0xb83, 0xb83}, {0xb85, 0xb8a}, {0xb8e, 0xb90}, {0xb92, 0xb95}, + {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb9}, {0xbd0, 0xbd0}, {0xc05, 0xc0c}, + {0xc0e, 0xc10}, {0xc12, 0xc28}, {0xc2a, 0xc39}, {0xc3d, 0xc3d}, {0xc58, 0xc5a}, {0xc5d, 0xc5d}, {0xc60, 0xc61}, {0xc80, 0xc80}, + {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbd, 0xcbd}, {0xcdd, 0xcde}, {0xce0, 0xce1}, + {0xcf1, 0xcf2}, {0xd04, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd3a}, {0xd3d, 0xd3d}, {0xd4e, 0xd4e}, {0xd54, 0xd56}, {0xd5f, 0xd61}, + {0xd7a, 0xd7f}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, {0xe01, 0xe30}, {0xe32, 0xe32}, + {0xe40, 0xe46}, {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xeb0}, {0xeb2, 0xeb2}, + {0xebd, 0xebd}, {0xec0, 0xec4}, {0xec6, 0xec6}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf40, 0xf47}, {0xf49, 0xf6c}, {0xf88, 0xf8c}, + {0x1000, 0x102a}, {0x103f, 0x103f}, {0x1050, 0x1055}, {0x105a, 0x105d}, {0x1061, 0x1061}, {0x1065, 0x1066}, {0x106e, 0x1070}, {0x1075, 0x1081}, + {0x108e, 0x108e}, {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256}, + {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c0, 0x12c0}, + {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x1380, 0x138f}, {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, + {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, {0x1700, 0x1711}, {0x171f, 0x1731}, {0x1740, 0x1751}, + {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1780, 0x17b3}, {0x17d7, 0x17d7}, {0x17dc, 0x17dc}, {0x1820, 0x1878}, {0x1880, 0x18a8}, {0x18aa, 0x18aa}, + {0x18b0, 0x18f5}, {0x1900, 0x191e}, {0x1950, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x1a00, 0x1a16}, {0x1a20, 0x1a54}, + {0x1aa7, 0x1aa7}, {0x1b05, 0x1b33}, {0x1b45, 0x1b4c}, {0x1b83, 0x1ba0}, {0x1bae, 0x1baf}, {0x1bba, 0x1be5}, {0x1c00, 0x1c23}, {0x1c4d, 0x1c4f}, + {0x1c5a, 0x1c7d}, {0x1c80, 0x1c8a}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1ce9, 0x1cec}, {0x1cee, 0x1cf3}, {0x1cf5, 0x1cf6}, {0x1cfa, 0x1cfa}, + {0x1d00, 0x1dbf}, {0x1e00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f59, 0x1f59}, {0x1f5b, 0x1f5b}, + {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, + {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x2071, 0x2071}, {0x207f, 0x207f}, {0x2090, 0x209c}, {0x2102, 0x2102}, + {0x2107, 0x2107}, {0x210a, 0x2113}, {0x2115, 0x2115}, {0x2118, 0x211d}, {0x2124, 0x2124}, {0x2126, 0x2126}, {0x2128, 0x2128}, {0x212a, 0x2139}, + {0x213c, 0x213f}, {0x2145, 0x2149}, {0x214e, 0x214e}, {0x2160, 0x2188}, {0x2c00, 0x2ce4}, {0x2ceb, 0x2cee}, {0x2cf2, 0x2cf3}, {0x2d00, 0x2d25}, + {0x2d27, 0x2d27}, {0x2d2d, 0x2d2d}, {0x2d30, 0x2d67}, {0x2d6f, 0x2d6f}, {0x2d80, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, + {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x3005, 0x3007}, {0x3021, 0x3029}, {0x3031, 0x3035}, + {0x3038, 0x303c}, {0x3041, 0x3096}, {0x309d, 0x309f}, {0x30a1, 0x30fa}, {0x30fc, 0x30ff}, {0x3105, 0x312f}, {0x3131, 0x318e}, {0x31a0, 0x31bf}, + {0x31f0, 0x31ff}, {0x3400, 0x4dbf}, {0x4e00, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c}, {0xa610, 0xa61f}, {0xa62a, 0xa62b}, {0xa640, 0xa66e}, + {0xa67f, 0xa69d}, {0xa6a0, 0xa6ef}, {0xa717, 0xa71f}, {0xa722, 0xa788}, {0xa78b, 0xa7cd}, {0xa7d0, 0xa7d1}, {0xa7d3, 0xa7d3}, {0xa7d5, 0xa7dc}, + {0xa7f2, 0xa801}, {0xa803, 0xa805}, {0xa807, 0xa80a}, {0xa80c, 0xa822}, {0xa840, 0xa873}, {0xa882, 0xa8b3}, {0xa8f2, 0xa8f7}, {0xa8fb, 0xa8fb}, + {0xa8fd, 0xa8fe}, {0xa90a, 0xa925}, {0xa930, 0xa946}, {0xa960, 0xa97c}, {0xa984, 0xa9b2}, {0xa9cf, 0xa9cf}, {0xa9e0, 0xa9e4}, {0xa9e6, 0xa9ef}, + {0xa9fa, 0xa9fe}, {0xaa00, 0xaa28}, {0xaa40, 0xaa42}, {0xaa44, 0xaa4b}, {0xaa60, 0xaa76}, {0xaa7a, 0xaa7a}, {0xaa7e, 0xaaaf}, {0xaab1, 0xaab1}, + {0xaab5, 0xaab6}, {0xaab9, 0xaabd}, {0xaac0, 0xaac0}, {0xaac2, 0xaac2}, {0xaadb, 0xaadd}, {0xaae0, 0xaaea}, {0xaaf2, 0xaaf4}, {0xab01, 0xab06}, + {0xab09, 0xab0e}, {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, {0xab30, 0xab5a}, {0xab5c, 0xab69}, {0xab70, 0xabe2}, {0xac00, 0xd7a3}, + {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb1d}, {0xfb1f, 0xfb28}, + {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfc5d}, {0xfc64, 0xfd3d}, + {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdf9}, {0xfe71, 0xfe71}, {0xfe73, 0xfe73}, {0xfe77, 0xfe77}, {0xfe79, 0xfe79}, {0xfe7b, 0xfe7b}, + {0xfe7d, 0xfe7d}, {0xfe7f, 0xfefc}, {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0xff66, 0xff9d}, {0xffa0, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, + {0xffd2, 0xffd7}, {0xffda, 0xffdc}, {0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, {0x10050, 0x1005d}, + {0x10080, 0x100fa}, {0x10140, 0x10174}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, {0x10300, 0x1031f}, {0x1032d, 0x1034a}, {0x10350, 0x10375}, {0x10380, 0x1039d}, + {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, {0x10400, 0x1049d}, {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, + {0x10570, 0x1057a}, {0x1057c, 0x1058a}, {0x1058c, 0x10592}, {0x10594, 0x10595}, {0x10597, 0x105a1}, {0x105a3, 0x105b1}, {0x105b3, 0x105b9}, {0x105bb, 0x105bc}, + {0x105c0, 0x105f3}, {0x10600, 0x10736}, {0x10740, 0x10755}, {0x10760, 0x10767}, {0x10780, 0x10785}, {0x10787, 0x107b0}, {0x107b2, 0x107ba}, {0x10800, 0x10805}, + {0x10808, 0x10808}, {0x1080a, 0x10835}, {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, {0x108e0, 0x108f2}, + {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x10939}, {0x10980, 0x109b7}, {0x109be, 0x109bf}, {0x10a00, 0x10a00}, {0x10a10, 0x10a13}, {0x10a15, 0x10a17}, + {0x10a19, 0x10a35}, {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae4}, {0x10b00, 0x10b35}, {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, + {0x10b80, 0x10b91}, {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10d00, 0x10d23}, {0x10d4a, 0x10d65}, {0x10d6f, 0x10d85}, {0x10e80, 0x10ea9}, + {0x10eb0, 0x10eb1}, {0x10ec2, 0x10ec4}, {0x10f00, 0x10f1c}, {0x10f27, 0x10f27}, {0x10f30, 0x10f45}, {0x10f70, 0x10f81}, {0x10fb0, 0x10fc4}, {0x10fe0, 0x10ff6}, + {0x11003, 0x11037}, {0x11071, 0x11072}, {0x11075, 0x11075}, {0x11083, 0x110af}, {0x110d0, 0x110e8}, {0x11103, 0x11126}, {0x11144, 0x11144}, {0x11147, 0x11147}, + {0x11150, 0x11172}, {0x11176, 0x11176}, {0x11183, 0x111b2}, {0x111c1, 0x111c4}, {0x111da, 0x111da}, {0x111dc, 0x111dc}, {0x11200, 0x11211}, {0x11213, 0x1122b}, + {0x1123f, 0x11240}, {0x11280, 0x11286}, {0x11288, 0x11288}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, {0x1129f, 0x112a8}, {0x112b0, 0x112de}, {0x11305, 0x1130c}, + {0x1130f, 0x11310}, {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333}, {0x11335, 0x11339}, {0x1133d, 0x1133d}, {0x11350, 0x11350}, {0x1135d, 0x11361}, + {0x11380, 0x11389}, {0x1138b, 0x1138b}, {0x1138e, 0x1138e}, {0x11390, 0x113b5}, {0x113b7, 0x113b7}, {0x113d1, 0x113d1}, {0x113d3, 0x113d3}, {0x11400, 0x11434}, + {0x11447, 0x1144a}, {0x1145f, 0x11461}, {0x11480, 0x114af}, {0x114c4, 0x114c5}, {0x114c7, 0x114c7}, {0x11580, 0x115ae}, {0x115d8, 0x115db}, {0x11600, 0x1162f}, + {0x11644, 0x11644}, {0x11680, 0x116aa}, {0x116b8, 0x116b8}, {0x11700, 0x1171a}, {0x11740, 0x11746}, {0x11800, 0x1182b}, {0x118a0, 0x118df}, {0x118ff, 0x11906}, + {0x11909, 0x11909}, {0x1190c, 0x11913}, {0x11915, 0x11916}, {0x11918, 0x1192f}, {0x1193f, 0x1193f}, {0x11941, 0x11941}, {0x119a0, 0x119a7}, {0x119aa, 0x119d0}, + {0x119e1, 0x119e1}, {0x119e3, 0x119e3}, {0x11a00, 0x11a00}, {0x11a0b, 0x11a32}, {0x11a3a, 0x11a3a}, {0x11a50, 0x11a50}, {0x11a5c, 0x11a89}, {0x11a9d, 0x11a9d}, + {0x11ab0, 0x11af8}, {0x11bc0, 0x11be0}, {0x11c00, 0x11c08}, {0x11c0a, 0x11c2e}, {0x11c40, 0x11c40}, {0x11c72, 0x11c8f}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, + {0x11d0b, 0x11d30}, {0x11d46, 0x11d46}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d89}, {0x11d98, 0x11d98}, {0x11ee0, 0x11ef2}, {0x11f02, 0x11f02}, + {0x11f04, 0x11f10}, {0x11f12, 0x11f33}, {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12480, 0x12543}, {0x12f90, 0x12ff0}, {0x13000, 0x1342f}, + {0x13441, 0x13446}, {0x13460, 0x143fa}, {0x14400, 0x14646}, {0x16100, 0x1611d}, {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, {0x16a70, 0x16abe}, {0x16ad0, 0x16aed}, + {0x16b00, 0x16b2f}, {0x16b40, 0x16b43}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16d40, 0x16d6c}, {0x16e40, 0x16e7f}, {0x16f00, 0x16f4a}, {0x16f50, 0x16f50}, + {0x16f93, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x16fe3, 0x16fe3}, {0x17000, 0x187f7}, {0x18800, 0x18cd5}, {0x18cff, 0x18d08}, {0x1aff0, 0x1aff3}, {0x1aff5, 0x1affb}, + {0x1affd, 0x1affe}, {0x1b000, 0x1b122}, {0x1b132, 0x1b132}, {0x1b150, 0x1b152}, {0x1b155, 0x1b155}, {0x1b164, 0x1b167}, {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, + {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, + {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, + {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, + {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, + {0x1d7c4, 0x1d7cb}, {0x1df00, 0x1df1e}, {0x1df25, 0x1df2a}, {0x1e030, 0x1e06d}, {0x1e100, 0x1e12c}, {0x1e137, 0x1e13d}, {0x1e14e, 0x1e14e}, {0x1e290, 0x1e2ad}, + {0x1e2c0, 0x1e2eb}, {0x1e4d0, 0x1e4eb}, {0x1e5d0, 0x1e5ed}, {0x1e5f0, 0x1e5f0}, {0x1e7e0, 0x1e7e6}, {0x1e7e8, 0x1e7eb}, {0x1e7ed, 0x1e7ee}, {0x1e7f0, 0x1e7fe}, + {0x1e800, 0x1e8c4}, {0x1e900, 0x1e943}, {0x1e94b, 0x1e94b}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, {0x1ee24, 0x1ee24}, {0x1ee27, 0x1ee27}, + {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee39, 0x1ee39}, {0x1ee3b, 0x1ee3b}, {0x1ee42, 0x1ee42}, {0x1ee47, 0x1ee47}, {0x1ee49, 0x1ee49}, {0x1ee4b, 0x1ee4b}, + {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee54, 0x1ee54}, {0x1ee57, 0x1ee57}, {0x1ee59, 0x1ee59}, {0x1ee5b, 0x1ee5b}, {0x1ee5d, 0x1ee5d}, {0x1ee5f, 0x1ee5f}, + {0x1ee61, 0x1ee62}, {0x1ee64, 0x1ee64}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee7e, 0x1ee7e}, {0x1ee80, 0x1ee89}, + {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x20000, 0x2a6df}, {0x2a700, 0x2b739}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, + {0x2ceb0, 0x2ebe0}, {0x2ebf0, 0x2ee5d}, {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, {0x31350, 0x323af}, +}; -static inline bool sym_identifier_character_set_2(int32_t c) { - return (c < 43642 - ? (c < 3784 - ? (c < 2759 - ? (c < 2048 - ? (c < 1155 - ? (c < 736 - ? (c < 183 - ? (c < 'a' - ? (c < 'A' - ? (c >= '0' && c <= '9') - : c <= 'Z') - : (c <= 'z' || (c < 181 - ? c == 170 - : c <= 181))) - : (c <= 183 || (c < 216 - ? (c < 192 - ? c == 186 - : c <= 214) - : (c <= 246 || (c < 710 - ? (c >= 248 && c <= 705) - : c <= 721))))) - : (c <= 740 || (c < 895 - ? (c < 768 - ? (c < 750 - ? c == 748 - : c <= 750) - : (c <= 884 || (c < 891 - ? (c >= 886 && c <= 887) - : c <= 893))) - : (c <= 895 || (c < 910 - ? (c < 908 - ? (c >= 902 && c <= 906) - : c <= 908) - : (c <= 929 || (c < 1015 - ? (c >= 931 && c <= 1013) - : c <= 1153))))))) - : (c <= 1159 || (c < 1552 - ? (c < 1471 - ? (c < 1369 - ? (c < 1329 - ? (c >= 1162 && c <= 1327) - : c <= 1366) - : (c <= 1369 || (c < 1425 - ? (c >= 1376 && c <= 1416) - : c <= 1469))) - : (c <= 1471 || (c < 1479 - ? (c < 1476 - ? (c >= 1473 && c <= 1474) - : c <= 1477) - : (c <= 1479 || (c < 1519 - ? (c >= 1488 && c <= 1514) - : c <= 1522))))) - : (c <= 1562 || (c < 1791 - ? (c < 1749 - ? (c < 1646 - ? (c >= 1568 && c <= 1641) - : c <= 1747) - : (c <= 1756 || (c < 1770 - ? (c >= 1759 && c <= 1768) - : c <= 1788))) - : (c <= 1791 || (c < 1984 - ? (c < 1869 - ? (c >= 1808 && c <= 1866) - : c <= 1969) - : (c <= 2037 || (c < 2045 - ? c == 2042 - : c <= 2045))))))))) - : (c <= 2093 || (c < 2561 - ? (c < 2474 - ? (c < 2275 - ? (c < 2160 - ? (c < 2144 - ? (c >= 2112 && c <= 2139) - : c <= 2154) - : (c <= 2183 || (c < 2200 - ? (c >= 2185 && c <= 2190) - : c <= 2273))) - : (c <= 2403 || (c < 2437 - ? (c < 2417 - ? (c >= 2406 && c <= 2415) - : c <= 2435) - : (c <= 2444 || (c < 2451 - ? (c >= 2447 && c <= 2448) - : c <= 2472))))) - : (c <= 2480 || (c < 2519 - ? (c < 2492 - ? (c < 2486 - ? c == 2482 - : c <= 2489) - : (c <= 2500 || (c < 2507 - ? (c >= 2503 && c <= 2504) - : c <= 2510))) - : (c <= 2519 || (c < 2534 - ? (c < 2527 - ? (c >= 2524 && c <= 2525) - : c <= 2531) - : (c <= 2545 || (c < 2558 - ? c == 2556 - : c <= 2558))))))) - : (c <= 2563 || (c < 2641 - ? (c < 2613 - ? (c < 2579 - ? (c < 2575 - ? (c >= 2565 && c <= 2570) - : c <= 2576) - : (c <= 2600 || (c < 2610 - ? (c >= 2602 && c <= 2608) - : c <= 2611))) - : (c <= 2614 || (c < 2622 - ? (c < 2620 - ? (c >= 2616 && c <= 2617) - : c <= 2620) - : (c <= 2626 || (c < 2635 - ? (c >= 2631 && c <= 2632) - : c <= 2637))))) - : (c <= 2641 || (c < 2703 - ? (c < 2662 - ? (c < 2654 - ? (c >= 2649 && c <= 2652) - : c <= 2654) - : (c <= 2677 || (c < 2693 - ? (c >= 2689 && c <= 2691) - : c <= 2701))) - : (c <= 2705 || (c < 2738 - ? (c < 2730 - ? (c >= 2707 && c <= 2728) - : c <= 2736) - : (c <= 2739 || (c < 2748 - ? (c >= 2741 && c <= 2745) - : c <= 2757))))))))))) - : (c <= 2761 || (c < 3174 - ? (c < 2962 - ? (c < 2869 - ? (c < 2817 - ? (c < 2784 - ? (c < 2768 - ? (c >= 2763 && c <= 2765) - : c <= 2768) - : (c <= 2787 || (c < 2809 - ? (c >= 2790 && c <= 2799) - : c <= 2815))) - : (c <= 2819 || (c < 2835 - ? (c < 2831 - ? (c >= 2821 && c <= 2828) - : c <= 2832) - : (c <= 2856 || (c < 2866 - ? (c >= 2858 && c <= 2864) - : c <= 2867))))) - : (c <= 2873 || (c < 2911 - ? (c < 2891 - ? (c < 2887 - ? (c >= 2876 && c <= 2884) - : c <= 2888) - : (c <= 2893 || (c < 2908 - ? (c >= 2901 && c <= 2903) - : c <= 2909))) - : (c <= 2915 || (c < 2946 - ? (c < 2929 - ? (c >= 2918 && c <= 2927) - : c <= 2929) - : (c <= 2947 || (c < 2958 - ? (c >= 2949 && c <= 2954) - : c <= 2960))))))) - : (c <= 2965 || (c < 3046 - ? (c < 2990 - ? (c < 2974 - ? (c < 2972 - ? (c >= 2969 && c <= 2970) - : c <= 2972) - : (c <= 2975 || (c < 2984 - ? (c >= 2979 && c <= 2980) - : c <= 2986))) - : (c <= 3001 || (c < 3018 - ? (c < 3014 - ? (c >= 3006 && c <= 3010) - : c <= 3016) - : (c <= 3021 || (c < 3031 - ? c == 3024 - : c <= 3031))))) - : (c <= 3055 || (c < 3142 - ? (c < 3090 - ? (c < 3086 - ? (c >= 3072 && c <= 3084) - : c <= 3088) - : (c <= 3112 || (c < 3132 - ? (c >= 3114 && c <= 3129) - : c <= 3140))) - : (c <= 3144 || (c < 3160 - ? (c < 3157 - ? (c >= 3146 && c <= 3149) - : c <= 3158) - : (c <= 3162 || (c < 3168 - ? c == 3165 - : c <= 3171))))))))) - : (c <= 3183 || (c < 3457 - ? (c < 3296 - ? (c < 3253 - ? (c < 3214 - ? (c < 3205 - ? (c >= 3200 && c <= 3203) - : c <= 3212) - : (c <= 3216 || (c < 3242 - ? (c >= 3218 && c <= 3240) - : c <= 3251))) - : (c <= 3257 || (c < 3274 - ? (c < 3270 - ? (c >= 3260 && c <= 3268) - : c <= 3272) - : (c <= 3277 || (c < 3293 - ? (c >= 3285 && c <= 3286) - : c <= 3294))))) - : (c <= 3299 || (c < 3398 - ? (c < 3328 - ? (c < 3313 - ? (c >= 3302 && c <= 3311) - : c <= 3314) - : (c <= 3340 || (c < 3346 - ? (c >= 3342 && c <= 3344) - : c <= 3396))) - : (c <= 3400 || (c < 3423 - ? (c < 3412 - ? (c >= 3402 && c <= 3406) - : c <= 3415) - : (c <= 3427 || (c < 3450 - ? (c >= 3430 && c <= 3439) - : c <= 3455))))))) - : (c <= 3459 || (c < 3585 - ? (c < 3530 - ? (c < 3507 - ? (c < 3482 - ? (c >= 3461 && c <= 3478) - : c <= 3505) - : (c <= 3515 || (c < 3520 - ? c == 3517 - : c <= 3526))) - : (c <= 3530 || (c < 3544 - ? (c < 3542 - ? (c >= 3535 && c <= 3540) - : c <= 3542) - : (c <= 3551 || (c < 3570 - ? (c >= 3558 && c <= 3567) - : c <= 3571))))) - : (c <= 3642 || (c < 3724 - ? (c < 3713 - ? (c < 3664 - ? (c >= 3648 && c <= 3662) - : c <= 3673) - : (c <= 3714 || (c < 3718 - ? c == 3716 - : c <= 3722))) - : (c <= 3747 || (c < 3776 - ? (c < 3751 - ? c == 3749 - : c <= 3773) - : (c <= 3780 || c == 3782)))))))))))) - : (c <= 3789 || (c < 8027 - ? (c < 5919 - ? (c < 4696 - ? (c < 3974 - ? (c < 3893 - ? (c < 3840 - ? (c < 3804 - ? (c >= 3792 && c <= 3801) - : c <= 3807) - : (c <= 3840 || (c < 3872 - ? (c >= 3864 && c <= 3865) - : c <= 3881))) - : (c <= 3893 || (c < 3902 - ? (c < 3897 - ? c == 3895 - : c <= 3897) - : (c <= 3911 || (c < 3953 - ? (c >= 3913 && c <= 3948) - : c <= 3972))))) - : (c <= 3991 || (c < 4295 - ? (c < 4096 - ? (c < 4038 - ? (c >= 3993 && c <= 4028) - : c <= 4038) - : (c <= 4169 || (c < 4256 - ? (c >= 4176 && c <= 4253) - : c <= 4293))) - : (c <= 4295 || (c < 4348 - ? (c < 4304 - ? c == 4301 - : c <= 4346) - : (c <= 4680 || (c < 4688 - ? (c >= 4682 && c <= 4685) - : c <= 4694))))))) - : (c <= 4696 || (c < 4888 - ? (c < 4792 - ? (c < 4746 - ? (c < 4704 - ? (c >= 4698 && c <= 4701) - : c <= 4744) - : (c <= 4749 || (c < 4786 - ? (c >= 4752 && c <= 4784) - : c <= 4789))) - : (c <= 4798 || (c < 4808 - ? (c < 4802 - ? c == 4800 - : c <= 4805) - : (c <= 4822 || (c < 4882 - ? (c >= 4824 && c <= 4880) - : c <= 4885))))) - : (c <= 4954 || (c < 5121 - ? (c < 4992 - ? (c < 4969 - ? (c >= 4957 && c <= 4959) - : c <= 4977) - : (c <= 5007 || (c < 5112 - ? (c >= 5024 && c <= 5109) - : c <= 5117))) - : (c <= 5740 || (c < 5792 - ? (c < 5761 - ? (c >= 5743 && c <= 5759) - : c <= 5786) - : (c <= 5866 || (c < 5888 - ? (c >= 5870 && c <= 5880) - : c <= 5909))))))))) - : (c <= 5940 || (c < 6752 - ? (c < 6272 - ? (c < 6103 - ? (c < 5998 - ? (c < 5984 - ? (c >= 5952 && c <= 5971) - : c <= 5996) - : (c <= 6000 || (c < 6016 - ? (c >= 6002 && c <= 6003) - : c <= 6099))) - : (c <= 6103 || (c < 6155 - ? (c < 6112 - ? (c >= 6108 && c <= 6109) - : c <= 6121) - : (c <= 6157 || (c < 6176 - ? (c >= 6159 && c <= 6169) - : c <= 6264))))) - : (c <= 6314 || (c < 6512 - ? (c < 6432 - ? (c < 6400 - ? (c >= 6320 && c <= 6389) - : c <= 6430) - : (c <= 6443 || (c < 6470 - ? (c >= 6448 && c <= 6459) - : c <= 6509))) - : (c <= 6516 || (c < 6608 - ? (c < 6576 - ? (c >= 6528 && c <= 6571) - : c <= 6601) - : (c <= 6618 || (c < 6688 - ? (c >= 6656 && c <= 6683) - : c <= 6750))))))) - : (c <= 6780 || (c < 7245 - ? (c < 6912 - ? (c < 6823 - ? (c < 6800 - ? (c >= 6783 && c <= 6793) - : c <= 6809) - : (c <= 6823 || (c < 6847 - ? (c >= 6832 && c <= 6845) - : c <= 6862))) - : (c <= 6988 || (c < 7040 - ? (c < 7019 - ? (c >= 6992 && c <= 7001) - : c <= 7027) - : (c <= 7155 || (c < 7232 - ? (c >= 7168 && c <= 7223) - : c <= 7241))))) - : (c <= 7293 || (c < 7424 - ? (c < 7357 - ? (c < 7312 - ? (c >= 7296 && c <= 7304) - : c <= 7354) - : (c <= 7359 || (c < 7380 - ? (c >= 7376 && c <= 7378) - : c <= 7418))) - : (c <= 7957 || (c < 8008 - ? (c < 7968 - ? (c >= 7960 && c <= 7965) - : c <= 8005) - : (c <= 8013 || (c < 8025 - ? (c >= 8016 && c <= 8023) - : c <= 8025))))))))))) - : (c <= 8027 || (c < 11728 - ? (c < 8469 - ? (c < 8182 - ? (c < 8130 - ? (c < 8064 - ? (c < 8031 - ? c == 8029 - : c <= 8061) - : (c <= 8116 || (c < 8126 - ? (c >= 8118 && c <= 8124) - : c <= 8126))) - : (c <= 8132 || (c < 8150 - ? (c < 8144 - ? (c >= 8134 && c <= 8140) - : c <= 8147) - : (c <= 8155 || (c < 8178 - ? (c >= 8160 && c <= 8172) - : c <= 8180))))) - : (c <= 8188 || (c < 8400 - ? (c < 8305 - ? (c < 8276 - ? (c >= 8255 && c <= 8256) - : c <= 8276) - : (c <= 8305 || (c < 8336 - ? c == 8319 - : c <= 8348))) - : (c <= 8412 || (c < 8450 - ? (c < 8421 - ? c == 8417 - : c <= 8432) - : (c <= 8450 || (c < 8458 - ? c == 8455 - : c <= 8467))))))) - : (c <= 8469 || (c < 11520 - ? (c < 8508 - ? (c < 8486 - ? (c < 8484 - ? (c >= 8472 && c <= 8477) - : c <= 8484) - : (c <= 8486 || (c < 8490 - ? c == 8488 - : c <= 8505))) - : (c <= 8511 || (c < 8544 - ? (c < 8526 - ? (c >= 8517 && c <= 8521) - : c <= 8526) - : (c <= 8584 || (c < 11499 - ? (c >= 11264 && c <= 11492) - : c <= 11507))))) - : (c <= 11557 || (c < 11680 - ? (c < 11568 - ? (c < 11565 - ? c == 11559 - : c <= 11565) - : (c <= 11623 || (c < 11647 - ? c == 11631 - : c <= 11670))) - : (c <= 11686 || (c < 11704 - ? (c < 11696 - ? (c >= 11688 && c <= 11694) - : c <= 11702) - : (c <= 11710 || (c < 11720 - ? (c >= 11712 && c <= 11718) - : c <= 11726))))))))) - : (c <= 11734 || (c < 42775 - ? (c < 12549 - ? (c < 12344 - ? (c < 12293 - ? (c < 11744 - ? (c >= 11736 && c <= 11742) - : c <= 11775) - : (c <= 12295 || (c < 12337 - ? (c >= 12321 && c <= 12335) - : c <= 12341))) - : (c <= 12348 || (c < 12445 - ? (c < 12441 - ? (c >= 12353 && c <= 12438) - : c <= 12442) - : (c <= 12447 || (c < 12540 - ? (c >= 12449 && c <= 12538) - : c <= 12543))))) - : (c <= 12591 || (c < 42192 - ? (c < 12784 - ? (c < 12704 - ? (c >= 12593 && c <= 12686) - : c <= 12735) - : (c <= 12799 || (c < 19968 - ? (c >= 13312 && c <= 19903) - : c <= 42124))) - : (c <= 42237 || (c < 42560 - ? (c < 42512 - ? (c >= 42240 && c <= 42508) - : c <= 42539) - : (c <= 42607 || (c < 42623 - ? (c >= 42612 && c <= 42621) - : c <= 42737))))))) - : (c <= 42783 || (c < 43259 - ? (c < 42994 - ? (c < 42960 - ? (c < 42891 - ? (c >= 42786 && c <= 42888) - : c <= 42954) - : (c <= 42961 || (c < 42965 - ? c == 42963 - : c <= 42969))) - : (c <= 43047 || (c < 43136 - ? (c < 43072 - ? c == 43052 - : c <= 43123) - : (c <= 43205 || (c < 43232 - ? (c >= 43216 && c <= 43225) - : c <= 43255))))) - : (c <= 43259 || (c < 43488 - ? (c < 43360 - ? (c < 43312 - ? (c >= 43261 && c <= 43309) - : c <= 43347) - : (c <= 43388 || (c < 43471 - ? (c >= 43392 && c <= 43456) - : c <= 43481))) - : (c <= 43518 || (c < 43600 - ? (c < 43584 - ? (c >= 43520 && c <= 43574) - : c <= 43597) - : (c <= 43609 || (c >= 43616 && c <= 43638))))))))))))))) - : (c <= 43714 || (c < 71472 - ? (c < 67644 - ? (c < 65382 - ? (c < 64318 - ? (c < 44012 - ? (c < 43793 - ? (c < 43762 - ? (c < 43744 - ? (c >= 43739 && c <= 43741) - : c <= 43759) - : (c <= 43766 || (c < 43785 - ? (c >= 43777 && c <= 43782) - : c <= 43790))) - : (c <= 43798 || (c < 43824 - ? (c < 43816 - ? (c >= 43808 && c <= 43814) - : c <= 43822) - : (c <= 43866 || (c < 43888 - ? (c >= 43868 && c <= 43881) - : c <= 44010))))) - : (c <= 44013 || (c < 64112 - ? (c < 55216 - ? (c < 44032 - ? (c >= 44016 && c <= 44025) - : c <= 55203) - : (c <= 55238 || (c < 63744 - ? (c >= 55243 && c <= 55291) - : c <= 64109))) - : (c <= 64217 || (c < 64285 - ? (c < 64275 - ? (c >= 64256 && c <= 64262) - : c <= 64279) - : (c <= 64296 || (c < 64312 - ? (c >= 64298 && c <= 64310) - : c <= 64316))))))) - : (c <= 64318 || (c < 65101 - ? (c < 64848 - ? (c < 64326 - ? (c < 64323 - ? (c >= 64320 && c <= 64321) - : c <= 64324) - : (c <= 64433 || (c < 64612 - ? (c >= 64467 && c <= 64605) - : c <= 64829))) - : (c <= 64911 || (c < 65024 - ? (c < 65008 - ? (c >= 64914 && c <= 64967) - : c <= 65017) - : (c <= 65039 || (c < 65075 - ? (c >= 65056 && c <= 65071) - : c <= 65076))))) - : (c <= 65103 || (c < 65149 - ? (c < 65143 - ? (c < 65139 - ? c == 65137 - : c <= 65139) - : (c <= 65143 || (c < 65147 - ? c == 65145 - : c <= 65147))) - : (c <= 65149 || (c < 65313 - ? (c < 65296 - ? (c >= 65151 && c <= 65276) - : c <= 65305) - : (c <= 65338 || (c < 65345 - ? c == 65343 - : c <= 65370))))))))) - : (c <= 65470 || (c < 66560 - ? (c < 65856 - ? (c < 65549 - ? (c < 65490 - ? (c < 65482 - ? (c >= 65474 && c <= 65479) - : c <= 65487) - : (c <= 65495 || (c < 65536 - ? (c >= 65498 && c <= 65500) - : c <= 65547))) - : (c <= 65574 || (c < 65599 - ? (c < 65596 - ? (c >= 65576 && c <= 65594) - : c <= 65597) - : (c <= 65613 || (c < 65664 - ? (c >= 65616 && c <= 65629) - : c <= 65786))))) - : (c <= 65908 || (c < 66349 - ? (c < 66208 - ? (c < 66176 - ? c == 66045 - : c <= 66204) - : (c <= 66256 || (c < 66304 - ? c == 66272 - : c <= 66335))) - : (c <= 66378 || (c < 66464 - ? (c < 66432 - ? (c >= 66384 && c <= 66426) - : c <= 66461) - : (c <= 66499 || (c < 66513 - ? (c >= 66504 && c <= 66511) - : c <= 66517))))))) - : (c <= 66717 || (c < 66995 - ? (c < 66928 - ? (c < 66776 - ? (c < 66736 - ? (c >= 66720 && c <= 66729) - : c <= 66771) - : (c <= 66811 || (c < 66864 - ? (c >= 66816 && c <= 66855) - : c <= 66915))) - : (c <= 66938 || (c < 66964 - ? (c < 66956 - ? (c >= 66940 && c <= 66954) - : c <= 66962) - : (c <= 66965 || (c < 66979 - ? (c >= 66967 && c <= 66977) - : c <= 66993))))) - : (c <= 67001 || (c < 67463 - ? (c < 67392 - ? (c < 67072 - ? (c >= 67003 && c <= 67004) - : c <= 67382) - : (c <= 67413 || (c < 67456 - ? (c >= 67424 && c <= 67431) - : c <= 67461))) - : (c <= 67504 || (c < 67592 - ? (c < 67584 - ? (c >= 67506 && c <= 67514) - : c <= 67589) - : (c <= 67592 || (c < 67639 - ? (c >= 67594 && c <= 67637) - : c <= 67640))))))))))) - : (c <= 67644 || (c < 69968 - ? (c < 68480 - ? (c < 68108 - ? (c < 67840 - ? (c < 67712 - ? (c < 67680 - ? (c >= 67647 && c <= 67669) - : c <= 67702) - : (c <= 67742 || (c < 67828 - ? (c >= 67808 && c <= 67826) - : c <= 67829))) - : (c <= 67861 || (c < 68030 - ? (c < 67968 - ? (c >= 67872 && c <= 67897) - : c <= 68023) - : (c <= 68031 || (c < 68101 - ? (c >= 68096 && c <= 68099) - : c <= 68102))))) - : (c <= 68115 || (c < 68224 - ? (c < 68152 - ? (c < 68121 - ? (c >= 68117 && c <= 68119) - : c <= 68149) - : (c <= 68154 || (c < 68192 - ? c == 68159 - : c <= 68220))) - : (c <= 68252 || (c < 68352 - ? (c < 68297 - ? (c >= 68288 && c <= 68295) - : c <= 68326) - : (c <= 68405 || (c < 68448 - ? (c >= 68416 && c <= 68437) - : c <= 68466))))))) - : (c <= 68497 || (c < 69488 - ? (c < 69248 - ? (c < 68800 - ? (c < 68736 - ? (c >= 68608 && c <= 68680) - : c <= 68786) - : (c <= 68850 || (c < 68912 - ? (c >= 68864 && c <= 68903) - : c <= 68921))) - : (c <= 69289 || (c < 69376 - ? (c < 69296 - ? (c >= 69291 && c <= 69292) - : c <= 69297) - : (c <= 69404 || (c < 69424 - ? c == 69415 - : c <= 69456))))) - : (c <= 69509 || (c < 69826 - ? (c < 69632 - ? (c < 69600 - ? (c >= 69552 && c <= 69572) - : c <= 69622) - : (c <= 69702 || (c < 69759 - ? (c >= 69734 && c <= 69749) - : c <= 69818))) - : (c <= 69826 || (c < 69888 - ? (c < 69872 - ? (c >= 69840 && c <= 69864) - : c <= 69881) - : (c <= 69940 || (c < 69956 - ? (c >= 69942 && c <= 69951) - : c <= 69959))))))))) - : (c <= 70003 || (c < 70471 - ? (c < 70287 - ? (c < 70144 - ? (c < 70089 - ? (c < 70016 - ? c == 70006 - : c <= 70084) - : (c <= 70092 || (c < 70108 - ? (c >= 70094 && c <= 70106) - : c <= 70108))) - : (c <= 70161 || (c < 70272 - ? (c < 70206 - ? (c >= 70163 && c <= 70199) - : c <= 70206) - : (c <= 70278 || (c < 70282 - ? c == 70280 - : c <= 70285))))) - : (c <= 70301 || (c < 70415 - ? (c < 70384 - ? (c < 70320 - ? (c >= 70303 && c <= 70312) - : c <= 70378) - : (c <= 70393 || (c < 70405 - ? (c >= 70400 && c <= 70403) - : c <= 70412))) - : (c <= 70416 || (c < 70450 - ? (c < 70442 - ? (c >= 70419 && c <= 70440) - : c <= 70448) - : (c <= 70451 || (c < 70459 - ? (c >= 70453 && c <= 70457) - : c <= 70468))))))) - : (c <= 70472 || (c < 70864 - ? (c < 70512 - ? (c < 70487 - ? (c < 70480 - ? (c >= 70475 && c <= 70477) - : c <= 70480) - : (c <= 70487 || (c < 70502 - ? (c >= 70493 && c <= 70499) - : c <= 70508))) - : (c <= 70516 || (c < 70750 - ? (c < 70736 - ? (c >= 70656 && c <= 70730) - : c <= 70745) - : (c <= 70753 || (c < 70855 - ? (c >= 70784 && c <= 70853) - : c <= 70855))))) - : (c <= 70873 || (c < 71248 - ? (c < 71128 - ? (c < 71096 - ? (c >= 71040 && c <= 71093) - : c <= 71104) - : (c <= 71133 || (c < 71236 - ? (c >= 71168 && c <= 71232) - : c <= 71236))) - : (c <= 71257 || (c < 71424 - ? (c < 71360 - ? (c >= 71296 && c <= 71352) - : c <= 71369) - : (c <= 71450 || (c >= 71453 && c <= 71467))))))))))))) - : (c <= 71481 || (c < 119973 - ? (c < 82944 - ? (c < 72784 - ? (c < 72096 - ? (c < 71948 - ? (c < 71840 - ? (c < 71680 - ? (c >= 71488 && c <= 71494) - : c <= 71738) - : (c <= 71913 || (c < 71945 - ? (c >= 71935 && c <= 71942) - : c <= 71945))) - : (c <= 71955 || (c < 71991 - ? (c < 71960 - ? (c >= 71957 && c <= 71958) - : c <= 71989) - : (c <= 71992 || (c < 72016 - ? (c >= 71995 && c <= 72003) - : c <= 72025))))) - : (c <= 72103 || (c < 72272 - ? (c < 72163 - ? (c < 72154 - ? (c >= 72106 && c <= 72151) - : c <= 72161) - : (c <= 72164 || (c < 72263 - ? (c >= 72192 && c <= 72254) - : c <= 72263))) - : (c <= 72345 || (c < 72704 - ? (c < 72368 - ? c == 72349 - : c <= 72440) - : (c <= 72712 || (c < 72760 - ? (c >= 72714 && c <= 72758) - : c <= 72768))))))) - : (c <= 72793 || (c < 73063 - ? (c < 72971 - ? (c < 72873 - ? (c < 72850 - ? (c >= 72818 && c <= 72847) - : c <= 72871) - : (c <= 72886 || (c < 72968 - ? (c >= 72960 && c <= 72966) - : c <= 72969))) - : (c <= 73014 || (c < 73023 - ? (c < 73020 - ? c == 73018 - : c <= 73021) - : (c <= 73031 || (c < 73056 - ? (c >= 73040 && c <= 73049) - : c <= 73061))))) - : (c <= 73064 || (c < 73648 - ? (c < 73107 - ? (c < 73104 - ? (c >= 73066 && c <= 73102) - : c <= 73105) - : (c <= 73112 || (c < 73440 - ? (c >= 73120 && c <= 73129) - : c <= 73462))) - : (c <= 73648 || (c < 74880 - ? (c < 74752 - ? (c >= 73728 && c <= 74649) - : c <= 74862) - : (c <= 75075 || (c < 77824 - ? (c >= 77712 && c <= 77808) - : c <= 78894))))))))) - : (c <= 83526 || (c < 110581 - ? (c < 93053 - ? (c < 92880 - ? (c < 92768 - ? (c < 92736 - ? (c >= 92160 && c <= 92728) - : c <= 92766) - : (c <= 92777 || (c < 92864 - ? (c >= 92784 && c <= 92862) - : c <= 92873))) - : (c <= 92909 || (c < 92992 - ? (c < 92928 - ? (c >= 92912 && c <= 92916) - : c <= 92982) - : (c <= 92995 || (c < 93027 - ? (c >= 93008 && c <= 93017) - : c <= 93047))))) - : (c <= 93071 || (c < 94179 - ? (c < 94031 - ? (c < 93952 - ? (c >= 93760 && c <= 93823) - : c <= 94026) - : (c <= 94087 || (c < 94176 - ? (c >= 94095 && c <= 94111) - : c <= 94177))) - : (c <= 94180 || (c < 100352 - ? (c < 94208 - ? (c >= 94192 && c <= 94193) - : c <= 100343) - : (c <= 101589 || (c < 110576 - ? (c >= 101632 && c <= 101640) - : c <= 110579))))))) - : (c <= 110587 || (c < 118576 - ? (c < 113664 - ? (c < 110928 - ? (c < 110592 - ? (c >= 110589 && c <= 110590) - : c <= 110882) - : (c <= 110930 || (c < 110960 - ? (c >= 110948 && c <= 110951) - : c <= 111355))) - : (c <= 113770 || (c < 113808 - ? (c < 113792 - ? (c >= 113776 && c <= 113788) - : c <= 113800) - : (c <= 113817 || (c < 118528 - ? (c >= 113821 && c <= 113822) - : c <= 118573))))) - : (c <= 118598 || (c < 119362 - ? (c < 119163 - ? (c < 119149 - ? (c >= 119141 && c <= 119145) - : c <= 119154) - : (c <= 119170 || (c < 119210 - ? (c >= 119173 && c <= 119179) - : c <= 119213))) - : (c <= 119364 || (c < 119966 - ? (c < 119894 - ? (c >= 119808 && c <= 119892) - : c <= 119964) - : (c <= 119967 || c == 119970)))))))))) - : (c <= 119974 || (c < 124912 - ? (c < 120746 - ? (c < 120134 - ? (c < 120071 - ? (c < 119995 - ? (c < 119982 - ? (c >= 119977 && c <= 119980) - : c <= 119993) - : (c <= 119995 || (c < 120005 - ? (c >= 119997 && c <= 120003) - : c <= 120069))) - : (c <= 120074 || (c < 120094 - ? (c < 120086 - ? (c >= 120077 && c <= 120084) - : c <= 120092) - : (c <= 120121 || (c < 120128 - ? (c >= 120123 && c <= 120126) - : c <= 120132))))) - : (c <= 120134 || (c < 120572 - ? (c < 120488 - ? (c < 120146 - ? (c >= 120138 && c <= 120144) - : c <= 120485) - : (c <= 120512 || (c < 120540 - ? (c >= 120514 && c <= 120538) - : c <= 120570))) - : (c <= 120596 || (c < 120656 - ? (c < 120630 - ? (c >= 120598 && c <= 120628) - : c <= 120654) - : (c <= 120686 || (c < 120714 - ? (c >= 120688 && c <= 120712) - : c <= 120744))))))) - : (c <= 120770 || (c < 122907 - ? (c < 121476 - ? (c < 121344 - ? (c < 120782 - ? (c >= 120772 && c <= 120779) - : c <= 120831) - : (c <= 121398 || (c < 121461 - ? (c >= 121403 && c <= 121452) - : c <= 121461))) - : (c <= 121476 || (c < 122624 - ? (c < 121505 - ? (c >= 121499 && c <= 121503) - : c <= 121519) - : (c <= 122654 || (c < 122888 - ? (c >= 122880 && c <= 122886) - : c <= 122904))))) - : (c <= 122913 || (c < 123214 - ? (c < 123136 - ? (c < 122918 - ? (c >= 122915 && c <= 122916) - : c <= 122922) - : (c <= 123180 || (c < 123200 - ? (c >= 123184 && c <= 123197) - : c <= 123209))) - : (c <= 123214 || (c < 124896 - ? (c < 123584 - ? (c >= 123536 && c <= 123566) - : c <= 123641) - : (c <= 124902 || (c < 124909 - ? (c >= 124904 && c <= 124907) - : c <= 124910))))))))) - : (c <= 124926 || (c < 126557 - ? (c < 126521 - ? (c < 126469 - ? (c < 125184 - ? (c < 125136 - ? (c >= 124928 && c <= 125124) - : c <= 125142) - : (c <= 125259 || (c < 126464 - ? (c >= 125264 && c <= 125273) - : c <= 126467))) - : (c <= 126495 || (c < 126503 - ? (c < 126500 - ? (c >= 126497 && c <= 126498) - : c <= 126500) - : (c <= 126503 || (c < 126516 - ? (c >= 126505 && c <= 126514) - : c <= 126519))))) - : (c <= 126521 || (c < 126541 - ? (c < 126535 - ? (c < 126530 - ? c == 126523 - : c <= 126530) - : (c <= 126535 || (c < 126539 - ? c == 126537 - : c <= 126539))) - : (c <= 126543 || (c < 126551 - ? (c < 126548 - ? (c >= 126545 && c <= 126546) - : c <= 126548) - : (c <= 126551 || (c < 126555 - ? c == 126553 - : c <= 126555))))))) - : (c <= 126557 || (c < 126629 - ? (c < 126580 - ? (c < 126564 - ? (c < 126561 - ? c == 126559 - : c <= 126562) - : (c <= 126564 || (c < 126572 - ? (c >= 126567 && c <= 126570) - : c <= 126578))) - : (c <= 126583 || (c < 126592 - ? (c < 126590 - ? (c >= 126585 && c <= 126588) - : c <= 126590) - : (c <= 126601 || (c < 126625 - ? (c >= 126603 && c <= 126619) - : c <= 126627))))) - : (c <= 126633 || (c < 178208 - ? (c < 131072 - ? (c < 130032 - ? (c >= 126635 && c <= 126651) - : c <= 130041) - : (c <= 173791 || (c < 177984 - ? (c >= 173824 && c <= 177976) - : c <= 178205))) - : (c <= 183969 || (c < 196608 - ? (c < 194560 - ? (c >= 183984 && c <= 191456) - : c <= 195101) - : (c <= 201546 || (c >= 917760 && c <= 917999))))))))))))))))); -} - -static inline bool sym_identifier_character_set_3(int32_t c) { - return (c < 43616 - ? (c < 3782 - ? (c < 2748 - ? (c < 2045 - ? (c < 1015 - ? (c < 710 - ? (c < 181 - ? (c < '_' - ? (c < 'A' - ? (c >= '0' && c <= '9') - : c <= 'Z') - : (c <= '_' || (c < 170 - ? (c >= 'b' && c <= 'z') - : c <= 170))) - : (c <= 181 || (c < 192 - ? (c < 186 - ? c == 183 - : c <= 186) - : (c <= 214 || (c < 248 - ? (c >= 216 && c <= 246) - : c <= 705))))) - : (c <= 721 || (c < 891 - ? (c < 750 - ? (c < 748 - ? (c >= 736 && c <= 740) - : c <= 748) - : (c <= 750 || (c < 886 - ? (c >= 768 && c <= 884) - : c <= 887))) - : (c <= 893 || (c < 908 - ? (c < 902 - ? c == 895 - : c <= 906) - : (c <= 908 || (c < 931 - ? (c >= 910 && c <= 929) - : c <= 1013))))))) - : (c <= 1153 || (c < 1519 - ? (c < 1425 - ? (c < 1329 - ? (c < 1162 - ? (c >= 1155 && c <= 1159) - : c <= 1327) - : (c <= 1366 || (c < 1376 - ? c == 1369 - : c <= 1416))) - : (c <= 1469 || (c < 1476 - ? (c < 1473 - ? c == 1471 - : c <= 1474) - : (c <= 1477 || (c < 1488 - ? c == 1479 - : c <= 1514))))) - : (c <= 1522 || (c < 1770 - ? (c < 1646 - ? (c < 1568 - ? (c >= 1552 && c <= 1562) - : c <= 1641) - : (c <= 1747 || (c < 1759 - ? (c >= 1749 && c <= 1756) - : c <= 1768))) - : (c <= 1788 || (c < 1869 - ? (c < 1808 - ? c == 1791 - : c <= 1866) - : (c <= 1969 || (c < 2042 - ? (c >= 1984 && c <= 2037) - : c <= 2042))))))))) - : (c <= 2045 || (c < 2558 - ? (c < 2451 - ? (c < 2200 - ? (c < 2144 - ? (c < 2112 - ? (c >= 2048 && c <= 2093) - : c <= 2139) - : (c <= 2154 || (c < 2185 - ? (c >= 2160 && c <= 2183) - : c <= 2190))) - : (c <= 2273 || (c < 2417 - ? (c < 2406 - ? (c >= 2275 && c <= 2403) - : c <= 2415) - : (c <= 2435 || (c < 2447 - ? (c >= 2437 && c <= 2444) - : c <= 2448))))) - : (c <= 2472 || (c < 2507 - ? (c < 2486 - ? (c < 2482 - ? (c >= 2474 && c <= 2480) - : c <= 2482) - : (c <= 2489 || (c < 2503 - ? (c >= 2492 && c <= 2500) - : c <= 2504))) - : (c <= 2510 || (c < 2527 - ? (c < 2524 - ? c == 2519 - : c <= 2525) - : (c <= 2531 || (c < 2556 - ? (c >= 2534 && c <= 2545) - : c <= 2556))))))) - : (c <= 2558 || (c < 2635 - ? (c < 2610 - ? (c < 2575 - ? (c < 2565 - ? (c >= 2561 && c <= 2563) - : c <= 2570) - : (c <= 2576 || (c < 2602 - ? (c >= 2579 && c <= 2600) - : c <= 2608))) - : (c <= 2611 || (c < 2620 - ? (c < 2616 - ? (c >= 2613 && c <= 2614) - : c <= 2617) - : (c <= 2620 || (c < 2631 - ? (c >= 2622 && c <= 2626) - : c <= 2632))))) - : (c <= 2637 || (c < 2693 - ? (c < 2654 - ? (c < 2649 - ? c == 2641 - : c <= 2652) - : (c <= 2654 || (c < 2689 - ? (c >= 2662 && c <= 2677) - : c <= 2691))) - : (c <= 2701 || (c < 2730 - ? (c < 2707 - ? (c >= 2703 && c <= 2705) - : c <= 2728) - : (c <= 2736 || (c < 2741 - ? (c >= 2738 && c <= 2739) - : c <= 2745))))))))))) - : (c <= 2757 || (c < 3168 - ? (c < 2958 - ? (c < 2866 - ? (c < 2809 - ? (c < 2768 - ? (c < 2763 - ? (c >= 2759 && c <= 2761) - : c <= 2765) - : (c <= 2768 || (c < 2790 - ? (c >= 2784 && c <= 2787) - : c <= 2799))) - : (c <= 2815 || (c < 2831 - ? (c < 2821 - ? (c >= 2817 && c <= 2819) - : c <= 2828) - : (c <= 2832 || (c < 2858 - ? (c >= 2835 && c <= 2856) - : c <= 2864))))) - : (c <= 2867 || (c < 2908 - ? (c < 2887 - ? (c < 2876 - ? (c >= 2869 && c <= 2873) - : c <= 2884) - : (c <= 2888 || (c < 2901 - ? (c >= 2891 && c <= 2893) - : c <= 2903))) - : (c <= 2909 || (c < 2929 - ? (c < 2918 - ? (c >= 2911 && c <= 2915) - : c <= 2927) - : (c <= 2929 || (c < 2949 - ? (c >= 2946 && c <= 2947) - : c <= 2954))))))) - : (c <= 2960 || (c < 3031 - ? (c < 2984 - ? (c < 2972 - ? (c < 2969 - ? (c >= 2962 && c <= 2965) - : c <= 2970) - : (c <= 2972 || (c < 2979 - ? (c >= 2974 && c <= 2975) - : c <= 2980))) - : (c <= 2986 || (c < 3014 - ? (c < 3006 - ? (c >= 2990 && c <= 3001) - : c <= 3010) - : (c <= 3016 || (c < 3024 - ? (c >= 3018 && c <= 3021) - : c <= 3024))))) - : (c <= 3031 || (c < 3132 - ? (c < 3086 - ? (c < 3072 - ? (c >= 3046 && c <= 3055) - : c <= 3084) - : (c <= 3088 || (c < 3114 - ? (c >= 3090 && c <= 3112) - : c <= 3129))) - : (c <= 3140 || (c < 3157 - ? (c < 3146 - ? (c >= 3142 && c <= 3144) - : c <= 3149) - : (c <= 3158 || (c < 3165 - ? (c >= 3160 && c <= 3162) - : c <= 3165))))))))) - : (c <= 3171 || (c < 3450 - ? (c < 3293 - ? (c < 3242 - ? (c < 3205 - ? (c < 3200 - ? (c >= 3174 && c <= 3183) - : c <= 3203) - : (c <= 3212 || (c < 3218 - ? (c >= 3214 && c <= 3216) - : c <= 3240))) - : (c <= 3251 || (c < 3270 - ? (c < 3260 - ? (c >= 3253 && c <= 3257) - : c <= 3268) - : (c <= 3272 || (c < 3285 - ? (c >= 3274 && c <= 3277) - : c <= 3286))))) - : (c <= 3294 || (c < 3346 - ? (c < 3313 - ? (c < 3302 - ? (c >= 3296 && c <= 3299) - : c <= 3311) - : (c <= 3314 || (c < 3342 - ? (c >= 3328 && c <= 3340) - : c <= 3344))) - : (c <= 3396 || (c < 3412 - ? (c < 3402 - ? (c >= 3398 && c <= 3400) - : c <= 3406) - : (c <= 3415 || (c < 3430 - ? (c >= 3423 && c <= 3427) - : c <= 3439))))))) - : (c <= 3455 || (c < 3570 - ? (c < 3520 - ? (c < 3482 - ? (c < 3461 - ? (c >= 3457 && c <= 3459) - : c <= 3478) - : (c <= 3505 || (c < 3517 - ? (c >= 3507 && c <= 3515) - : c <= 3517))) - : (c <= 3526 || (c < 3542 - ? (c < 3535 - ? c == 3530 - : c <= 3540) - : (c <= 3542 || (c < 3558 - ? (c >= 3544 && c <= 3551) - : c <= 3567))))) - : (c <= 3571 || (c < 3718 - ? (c < 3664 - ? (c < 3648 - ? (c >= 3585 && c <= 3642) - : c <= 3662) - : (c <= 3673 || (c < 3716 - ? (c >= 3713 && c <= 3714) - : c <= 3716))) - : (c <= 3722 || (c < 3751 - ? (c < 3749 - ? (c >= 3724 && c <= 3747) - : c <= 3749) - : (c <= 3773 || (c >= 3776 && c <= 3780))))))))))))) - : (c <= 3782 || (c < 8025 - ? (c < 5888 - ? (c < 4688 - ? (c < 3953 - ? (c < 3872 - ? (c < 3804 - ? (c < 3792 - ? (c >= 3784 && c <= 3789) - : c <= 3801) - : (c <= 3807 || (c < 3864 - ? c == 3840 - : c <= 3865))) - : (c <= 3881 || (c < 3897 - ? (c < 3895 - ? c == 3893 - : c <= 3895) - : (c <= 3897 || (c < 3913 - ? (c >= 3902 && c <= 3911) - : c <= 3948))))) - : (c <= 3972 || (c < 4256 - ? (c < 4038 - ? (c < 3993 - ? (c >= 3974 && c <= 3991) - : c <= 4028) - : (c <= 4038 || (c < 4176 - ? (c >= 4096 && c <= 4169) - : c <= 4253))) - : (c <= 4293 || (c < 4304 - ? (c < 4301 - ? c == 4295 - : c <= 4301) - : (c <= 4346 || (c < 4682 - ? (c >= 4348 && c <= 4680) - : c <= 4685))))))) - : (c <= 4694 || (c < 4882 - ? (c < 4786 - ? (c < 4704 - ? (c < 4698 - ? c == 4696 - : c <= 4701) - : (c <= 4744 || (c < 4752 - ? (c >= 4746 && c <= 4749) - : c <= 4784))) - : (c <= 4789 || (c < 4802 - ? (c < 4800 - ? (c >= 4792 && c <= 4798) - : c <= 4800) - : (c <= 4805 || (c < 4824 - ? (c >= 4808 && c <= 4822) - : c <= 4880))))) - : (c <= 4885 || (c < 5112 - ? (c < 4969 - ? (c < 4957 - ? (c >= 4888 && c <= 4954) - : c <= 4959) - : (c <= 4977 || (c < 5024 - ? (c >= 4992 && c <= 5007) - : c <= 5109))) - : (c <= 5117 || (c < 5761 - ? (c < 5743 - ? (c >= 5121 && c <= 5740) - : c <= 5759) - : (c <= 5786 || (c < 5870 - ? (c >= 5792 && c <= 5866) - : c <= 5880))))))))) - : (c <= 5909 || (c < 6688 - ? (c < 6176 - ? (c < 6016 - ? (c < 5984 - ? (c < 5952 - ? (c >= 5919 && c <= 5940) - : c <= 5971) - : (c <= 5996 || (c < 6002 - ? (c >= 5998 && c <= 6000) - : c <= 6003))) - : (c <= 6099 || (c < 6112 - ? (c < 6108 - ? c == 6103 - : c <= 6109) - : (c <= 6121 || (c < 6159 - ? (c >= 6155 && c <= 6157) - : c <= 6169))))) - : (c <= 6264 || (c < 6470 - ? (c < 6400 - ? (c < 6320 - ? (c >= 6272 && c <= 6314) - : c <= 6389) - : (c <= 6430 || (c < 6448 - ? (c >= 6432 && c <= 6443) - : c <= 6459))) - : (c <= 6509 || (c < 6576 - ? (c < 6528 - ? (c >= 6512 && c <= 6516) - : c <= 6571) - : (c <= 6601 || (c < 6656 - ? (c >= 6608 && c <= 6618) - : c <= 6683))))))) - : (c <= 6750 || (c < 7232 - ? (c < 6847 - ? (c < 6800 - ? (c < 6783 - ? (c >= 6752 && c <= 6780) - : c <= 6793) - : (c <= 6809 || (c < 6832 - ? c == 6823 - : c <= 6845))) - : (c <= 6862 || (c < 7019 - ? (c < 6992 - ? (c >= 6912 && c <= 6988) - : c <= 7001) - : (c <= 7027 || (c < 7168 - ? (c >= 7040 && c <= 7155) - : c <= 7223))))) - : (c <= 7241 || (c < 7380 - ? (c < 7312 - ? (c < 7296 - ? (c >= 7245 && c <= 7293) - : c <= 7304) - : (c <= 7354 || (c < 7376 - ? (c >= 7357 && c <= 7359) - : c <= 7378))) - : (c <= 7418 || (c < 7968 - ? (c < 7960 - ? (c >= 7424 && c <= 7957) - : c <= 7965) - : (c <= 8005 || (c < 8016 - ? (c >= 8008 && c <= 8013) - : c <= 8023))))))))))) - : (c <= 8025 || (c < 11720 - ? (c < 8458 - ? (c < 8178 - ? (c < 8126 - ? (c < 8031 - ? (c < 8029 - ? c == 8027 - : c <= 8029) - : (c <= 8061 || (c < 8118 - ? (c >= 8064 && c <= 8116) - : c <= 8124))) - : (c <= 8126 || (c < 8144 - ? (c < 8134 - ? (c >= 8130 && c <= 8132) - : c <= 8140) - : (c <= 8147 || (c < 8160 - ? (c >= 8150 && c <= 8155) - : c <= 8172))))) - : (c <= 8180 || (c < 8336 - ? (c < 8276 - ? (c < 8255 - ? (c >= 8182 && c <= 8188) - : c <= 8256) - : (c <= 8276 || (c < 8319 - ? c == 8305 - : c <= 8319))) - : (c <= 8348 || (c < 8421 - ? (c < 8417 - ? (c >= 8400 && c <= 8412) - : c <= 8417) - : (c <= 8432 || (c < 8455 - ? c == 8450 - : c <= 8455))))))) - : (c <= 8467 || (c < 11499 - ? (c < 8490 - ? (c < 8484 - ? (c < 8472 - ? c == 8469 - : c <= 8477) - : (c <= 8484 || (c < 8488 - ? c == 8486 - : c <= 8488))) - : (c <= 8505 || (c < 8526 - ? (c < 8517 - ? (c >= 8508 && c <= 8511) - : c <= 8521) - : (c <= 8526 || (c < 11264 - ? (c >= 8544 && c <= 8584) - : c <= 11492))))) - : (c <= 11507 || (c < 11647 - ? (c < 11565 - ? (c < 11559 - ? (c >= 11520 && c <= 11557) - : c <= 11559) - : (c <= 11565 || (c < 11631 - ? (c >= 11568 && c <= 11623) - : c <= 11631))) - : (c <= 11670 || (c < 11696 - ? (c < 11688 - ? (c >= 11680 && c <= 11686) - : c <= 11694) - : (c <= 11702 || (c < 11712 - ? (c >= 11704 && c <= 11710) - : c <= 11718))))))))) - : (c <= 11726 || (c < 42623 - ? (c < 12540 - ? (c < 12337 - ? (c < 11744 - ? (c < 11736 - ? (c >= 11728 && c <= 11734) - : c <= 11742) - : (c <= 11775 || (c < 12321 - ? (c >= 12293 && c <= 12295) - : c <= 12335))) - : (c <= 12341 || (c < 12441 - ? (c < 12353 - ? (c >= 12344 && c <= 12348) - : c <= 12438) - : (c <= 12442 || (c < 12449 - ? (c >= 12445 && c <= 12447) - : c <= 12538))))) - : (c <= 12543 || (c < 19968 - ? (c < 12704 - ? (c < 12593 - ? (c >= 12549 && c <= 12591) - : c <= 12686) - : (c <= 12735 || (c < 13312 - ? (c >= 12784 && c <= 12799) - : c <= 19903))) - : (c <= 42124 || (c < 42512 - ? (c < 42240 - ? (c >= 42192 && c <= 42237) - : c <= 42508) - : (c <= 42539 || (c < 42612 - ? (c >= 42560 && c <= 42607) - : c <= 42621))))))) - : (c <= 42737 || (c < 43232 - ? (c < 42965 - ? (c < 42891 - ? (c < 42786 - ? (c >= 42775 && c <= 42783) - : c <= 42888) - : (c <= 42954 || (c < 42963 - ? (c >= 42960 && c <= 42961) - : c <= 42963))) - : (c <= 42969 || (c < 43072 - ? (c < 43052 - ? (c >= 42994 && c <= 43047) - : c <= 43052) - : (c <= 43123 || (c < 43216 - ? (c >= 43136 && c <= 43205) - : c <= 43225))))) - : (c <= 43255 || (c < 43471 - ? (c < 43312 - ? (c < 43261 - ? c == 43259 - : c <= 43309) - : (c <= 43347 || (c < 43392 - ? (c >= 43360 && c <= 43388) - : c <= 43456))) - : (c <= 43481 || (c < 43584 - ? (c < 43520 - ? (c >= 43488 && c <= 43518) - : c <= 43574) - : (c <= 43597 || (c >= 43600 && c <= 43609))))))))))))))) - : (c <= 43638 || (c < 71453 - ? (c < 67639 - ? (c < 65345 - ? (c < 64312 - ? (c < 43888 - ? (c < 43785 - ? (c < 43744 - ? (c < 43739 - ? (c >= 43642 && c <= 43714) - : c <= 43741) - : (c <= 43759 || (c < 43777 - ? (c >= 43762 && c <= 43766) - : c <= 43782))) - : (c <= 43790 || (c < 43816 - ? (c < 43808 - ? (c >= 43793 && c <= 43798) - : c <= 43814) - : (c <= 43822 || (c < 43868 - ? (c >= 43824 && c <= 43866) - : c <= 43881))))) - : (c <= 44010 || (c < 63744 - ? (c < 44032 - ? (c < 44016 - ? (c >= 44012 && c <= 44013) - : c <= 44025) - : (c <= 55203 || (c < 55243 - ? (c >= 55216 && c <= 55238) - : c <= 55291))) - : (c <= 64109 || (c < 64275 - ? (c < 64256 - ? (c >= 64112 && c <= 64217) - : c <= 64262) - : (c <= 64279 || (c < 64298 - ? (c >= 64285 && c <= 64296) - : c <= 64310))))))) - : (c <= 64316 || (c < 65075 - ? (c < 64612 - ? (c < 64323 - ? (c < 64320 - ? c == 64318 - : c <= 64321) - : (c <= 64324 || (c < 64467 - ? (c >= 64326 && c <= 64433) - : c <= 64605))) - : (c <= 64829 || (c < 65008 - ? (c < 64914 - ? (c >= 64848 && c <= 64911) - : c <= 64967) - : (c <= 65017 || (c < 65056 - ? (c >= 65024 && c <= 65039) - : c <= 65071))))) - : (c <= 65076 || (c < 65147 - ? (c < 65139 - ? (c < 65137 - ? (c >= 65101 && c <= 65103) - : c <= 65137) - : (c <= 65139 || (c < 65145 - ? c == 65143 - : c <= 65145))) - : (c <= 65147 || (c < 65296 - ? (c < 65151 - ? c == 65149 - : c <= 65276) - : (c <= 65305 || (c < 65343 - ? (c >= 65313 && c <= 65338) - : c <= 65343))))))))) - : (c <= 65370 || (c < 66513 - ? (c < 65664 - ? (c < 65536 - ? (c < 65482 - ? (c < 65474 - ? (c >= 65382 && c <= 65470) - : c <= 65479) - : (c <= 65487 || (c < 65498 - ? (c >= 65490 && c <= 65495) - : c <= 65500))) - : (c <= 65547 || (c < 65596 - ? (c < 65576 - ? (c >= 65549 && c <= 65574) - : c <= 65594) - : (c <= 65597 || (c < 65616 - ? (c >= 65599 && c <= 65613) - : c <= 65629))))) - : (c <= 65786 || (c < 66304 - ? (c < 66176 - ? (c < 66045 - ? (c >= 65856 && c <= 65908) - : c <= 66045) - : (c <= 66204 || (c < 66272 - ? (c >= 66208 && c <= 66256) - : c <= 66272))) - : (c <= 66335 || (c < 66432 - ? (c < 66384 - ? (c >= 66349 && c <= 66378) - : c <= 66426) - : (c <= 66461 || (c < 66504 - ? (c >= 66464 && c <= 66499) - : c <= 66511))))))) - : (c <= 66517 || (c < 66979 - ? (c < 66864 - ? (c < 66736 - ? (c < 66720 - ? (c >= 66560 && c <= 66717) - : c <= 66729) - : (c <= 66771 || (c < 66816 - ? (c >= 66776 && c <= 66811) - : c <= 66855))) - : (c <= 66915 || (c < 66956 - ? (c < 66940 - ? (c >= 66928 && c <= 66938) - : c <= 66954) - : (c <= 66962 || (c < 66967 - ? (c >= 66964 && c <= 66965) - : c <= 66977))))) - : (c <= 66993 || (c < 67456 - ? (c < 67072 - ? (c < 67003 - ? (c >= 66995 && c <= 67001) - : c <= 67004) - : (c <= 67382 || (c < 67424 - ? (c >= 67392 && c <= 67413) - : c <= 67431))) - : (c <= 67461 || (c < 67584 - ? (c < 67506 - ? (c >= 67463 && c <= 67504) - : c <= 67514) - : (c <= 67589 || (c < 67594 - ? c == 67592 - : c <= 67637))))))))))) - : (c <= 67640 || (c < 69956 - ? (c < 68448 - ? (c < 68101 - ? (c < 67828 - ? (c < 67680 - ? (c < 67647 - ? c == 67644 - : c <= 67669) - : (c <= 67702 || (c < 67808 - ? (c >= 67712 && c <= 67742) - : c <= 67826))) - : (c <= 67829 || (c < 67968 - ? (c < 67872 - ? (c >= 67840 && c <= 67861) - : c <= 67897) - : (c <= 68023 || (c < 68096 - ? (c >= 68030 && c <= 68031) - : c <= 68099))))) - : (c <= 68102 || (c < 68192 - ? (c < 68121 - ? (c < 68117 - ? (c >= 68108 && c <= 68115) - : c <= 68119) - : (c <= 68149 || (c < 68159 - ? (c >= 68152 && c <= 68154) - : c <= 68159))) - : (c <= 68220 || (c < 68297 - ? (c < 68288 - ? (c >= 68224 && c <= 68252) - : c <= 68295) - : (c <= 68326 || (c < 68416 - ? (c >= 68352 && c <= 68405) - : c <= 68437))))))) - : (c <= 68466 || (c < 69424 - ? (c < 68912 - ? (c < 68736 - ? (c < 68608 - ? (c >= 68480 && c <= 68497) - : c <= 68680) - : (c <= 68786 || (c < 68864 - ? (c >= 68800 && c <= 68850) - : c <= 68903))) - : (c <= 68921 || (c < 69296 - ? (c < 69291 - ? (c >= 69248 && c <= 69289) - : c <= 69292) - : (c <= 69297 || (c < 69415 - ? (c >= 69376 && c <= 69404) - : c <= 69415))))) - : (c <= 69456 || (c < 69759 - ? (c < 69600 - ? (c < 69552 - ? (c >= 69488 && c <= 69509) - : c <= 69572) - : (c <= 69622 || (c < 69734 - ? (c >= 69632 && c <= 69702) - : c <= 69749))) - : (c <= 69818 || (c < 69872 - ? (c < 69840 - ? c == 69826 - : c <= 69864) - : (c <= 69881 || (c < 69942 - ? (c >= 69888 && c <= 69940) - : c <= 69951))))))))) - : (c <= 69959 || (c < 70459 - ? (c < 70282 - ? (c < 70108 - ? (c < 70016 - ? (c < 70006 - ? (c >= 69968 && c <= 70003) - : c <= 70006) - : (c <= 70084 || (c < 70094 - ? (c >= 70089 && c <= 70092) - : c <= 70106))) - : (c <= 70108 || (c < 70206 - ? (c < 70163 - ? (c >= 70144 && c <= 70161) - : c <= 70199) - : (c <= 70206 || (c < 70280 - ? (c >= 70272 && c <= 70278) - : c <= 70280))))) - : (c <= 70285 || (c < 70405 - ? (c < 70320 - ? (c < 70303 - ? (c >= 70287 && c <= 70301) - : c <= 70312) - : (c <= 70378 || (c < 70400 - ? (c >= 70384 && c <= 70393) - : c <= 70403))) - : (c <= 70412 || (c < 70442 - ? (c < 70419 - ? (c >= 70415 && c <= 70416) - : c <= 70440) - : (c <= 70448 || (c < 70453 - ? (c >= 70450 && c <= 70451) - : c <= 70457))))))) - : (c <= 70468 || (c < 70855 - ? (c < 70502 - ? (c < 70480 - ? (c < 70475 - ? (c >= 70471 && c <= 70472) - : c <= 70477) - : (c <= 70480 || (c < 70493 - ? c == 70487 - : c <= 70499))) - : (c <= 70508 || (c < 70736 - ? (c < 70656 - ? (c >= 70512 && c <= 70516) - : c <= 70730) - : (c <= 70745 || (c < 70784 - ? (c >= 70750 && c <= 70753) - : c <= 70853))))) - : (c <= 70855 || (c < 71236 - ? (c < 71096 - ? (c < 71040 - ? (c >= 70864 && c <= 70873) - : c <= 71093) - : (c <= 71104 || (c < 71168 - ? (c >= 71128 && c <= 71133) - : c <= 71232))) - : (c <= 71236 || (c < 71360 - ? (c < 71296 - ? (c >= 71248 && c <= 71257) - : c <= 71352) - : (c <= 71369 || (c >= 71424 && c <= 71450))))))))))))) - : (c <= 71467 || (c < 119973 - ? (c < 77824 - ? (c < 72760 - ? (c < 72016 - ? (c < 71945 - ? (c < 71680 - ? (c < 71488 - ? (c >= 71472 && c <= 71481) - : c <= 71494) - : (c <= 71738 || (c < 71935 - ? (c >= 71840 && c <= 71913) - : c <= 71942))) - : (c <= 71945 || (c < 71960 - ? (c < 71957 - ? (c >= 71948 && c <= 71955) - : c <= 71958) - : (c <= 71989 || (c < 71995 - ? (c >= 71991 && c <= 71992) - : c <= 72003))))) - : (c <= 72025 || (c < 72263 - ? (c < 72154 - ? (c < 72106 - ? (c >= 72096 && c <= 72103) - : c <= 72151) - : (c <= 72161 || (c < 72192 - ? (c >= 72163 && c <= 72164) - : c <= 72254))) - : (c <= 72263 || (c < 72368 - ? (c < 72349 - ? (c >= 72272 && c <= 72345) - : c <= 72349) - : (c <= 72440 || (c < 72714 - ? (c >= 72704 && c <= 72712) - : c <= 72758))))))) - : (c <= 72768 || (c < 73056 - ? (c < 72968 - ? (c < 72850 - ? (c < 72818 - ? (c >= 72784 && c <= 72793) - : c <= 72847) - : (c <= 72871 || (c < 72960 - ? (c >= 72873 && c <= 72886) - : c <= 72966))) - : (c <= 72969 || (c < 73020 - ? (c < 73018 - ? (c >= 72971 && c <= 73014) - : c <= 73018) - : (c <= 73021 || (c < 73040 - ? (c >= 73023 && c <= 73031) - : c <= 73049))))) - : (c <= 73061 || (c < 73440 - ? (c < 73104 - ? (c < 73066 - ? (c >= 73063 && c <= 73064) - : c <= 73102) - : (c <= 73105 || (c < 73120 - ? (c >= 73107 && c <= 73112) - : c <= 73129))) - : (c <= 73462 || (c < 74752 - ? (c < 73728 - ? c == 73648 - : c <= 74649) - : (c <= 74862 || (c < 77712 - ? (c >= 74880 && c <= 75075) - : c <= 77808))))))))) - : (c <= 78894 || (c < 110576 - ? (c < 93027 - ? (c < 92864 - ? (c < 92736 - ? (c < 92160 - ? (c >= 82944 && c <= 83526) - : c <= 92728) - : (c <= 92766 || (c < 92784 - ? (c >= 92768 && c <= 92777) - : c <= 92862))) - : (c <= 92873 || (c < 92928 - ? (c < 92912 - ? (c >= 92880 && c <= 92909) - : c <= 92916) - : (c <= 92982 || (c < 93008 - ? (c >= 92992 && c <= 92995) - : c <= 93017))))) - : (c <= 93047 || (c < 94176 - ? (c < 93952 - ? (c < 93760 - ? (c >= 93053 && c <= 93071) - : c <= 93823) - : (c <= 94026 || (c < 94095 - ? (c >= 94031 && c <= 94087) - : c <= 94111))) - : (c <= 94177 || (c < 94208 - ? (c < 94192 - ? (c >= 94179 && c <= 94180) - : c <= 94193) - : (c <= 100343 || (c < 101632 - ? (c >= 100352 && c <= 101589) - : c <= 101640))))))) - : (c <= 110579 || (c < 118528 - ? (c < 110960 - ? (c < 110592 - ? (c < 110589 - ? (c >= 110581 && c <= 110587) - : c <= 110590) - : (c <= 110882 || (c < 110948 - ? (c >= 110928 && c <= 110930) - : c <= 110951))) - : (c <= 111355 || (c < 113792 - ? (c < 113776 - ? (c >= 113664 && c <= 113770) - : c <= 113788) - : (c <= 113800 || (c < 113821 - ? (c >= 113808 && c <= 113817) - : c <= 113822))))) - : (c <= 118573 || (c < 119210 - ? (c < 119149 - ? (c < 119141 - ? (c >= 118576 && c <= 118598) - : c <= 119145) - : (c <= 119154 || (c < 119173 - ? (c >= 119163 && c <= 119170) - : c <= 119179))) - : (c <= 119213 || (c < 119894 - ? (c < 119808 - ? (c >= 119362 && c <= 119364) - : c <= 119892) - : (c <= 119964 || (c < 119970 - ? (c >= 119966 && c <= 119967) - : c <= 119970))))))))))) - : (c <= 119974 || (c < 124912 - ? (c < 120746 - ? (c < 120134 - ? (c < 120071 - ? (c < 119995 - ? (c < 119982 - ? (c >= 119977 && c <= 119980) - : c <= 119993) - : (c <= 119995 || (c < 120005 - ? (c >= 119997 && c <= 120003) - : c <= 120069))) - : (c <= 120074 || (c < 120094 - ? (c < 120086 - ? (c >= 120077 && c <= 120084) - : c <= 120092) - : (c <= 120121 || (c < 120128 - ? (c >= 120123 && c <= 120126) - : c <= 120132))))) - : (c <= 120134 || (c < 120572 - ? (c < 120488 - ? (c < 120146 - ? (c >= 120138 && c <= 120144) - : c <= 120485) - : (c <= 120512 || (c < 120540 - ? (c >= 120514 && c <= 120538) - : c <= 120570))) - : (c <= 120596 || (c < 120656 - ? (c < 120630 - ? (c >= 120598 && c <= 120628) - : c <= 120654) - : (c <= 120686 || (c < 120714 - ? (c >= 120688 && c <= 120712) - : c <= 120744))))))) - : (c <= 120770 || (c < 122907 - ? (c < 121476 - ? (c < 121344 - ? (c < 120782 - ? (c >= 120772 && c <= 120779) - : c <= 120831) - : (c <= 121398 || (c < 121461 - ? (c >= 121403 && c <= 121452) - : c <= 121461))) - : (c <= 121476 || (c < 122624 - ? (c < 121505 - ? (c >= 121499 && c <= 121503) - : c <= 121519) - : (c <= 122654 || (c < 122888 - ? (c >= 122880 && c <= 122886) - : c <= 122904))))) - : (c <= 122913 || (c < 123214 - ? (c < 123136 - ? (c < 122918 - ? (c >= 122915 && c <= 122916) - : c <= 122922) - : (c <= 123180 || (c < 123200 - ? (c >= 123184 && c <= 123197) - : c <= 123209))) - : (c <= 123214 || (c < 124896 - ? (c < 123584 - ? (c >= 123536 && c <= 123566) - : c <= 123641) - : (c <= 124902 || (c < 124909 - ? (c >= 124904 && c <= 124907) - : c <= 124910))))))))) - : (c <= 124926 || (c < 126557 - ? (c < 126521 - ? (c < 126469 - ? (c < 125184 - ? (c < 125136 - ? (c >= 124928 && c <= 125124) - : c <= 125142) - : (c <= 125259 || (c < 126464 - ? (c >= 125264 && c <= 125273) - : c <= 126467))) - : (c <= 126495 || (c < 126503 - ? (c < 126500 - ? (c >= 126497 && c <= 126498) - : c <= 126500) - : (c <= 126503 || (c < 126516 - ? (c >= 126505 && c <= 126514) - : c <= 126519))))) - : (c <= 126521 || (c < 126541 - ? (c < 126535 - ? (c < 126530 - ? c == 126523 - : c <= 126530) - : (c <= 126535 || (c < 126539 - ? c == 126537 - : c <= 126539))) - : (c <= 126543 || (c < 126551 - ? (c < 126548 - ? (c >= 126545 && c <= 126546) - : c <= 126548) - : (c <= 126551 || (c < 126555 - ? c == 126553 - : c <= 126555))))))) - : (c <= 126557 || (c < 126629 - ? (c < 126580 - ? (c < 126564 - ? (c < 126561 - ? c == 126559 - : c <= 126562) - : (c <= 126564 || (c < 126572 - ? (c >= 126567 && c <= 126570) - : c <= 126578))) - : (c <= 126583 || (c < 126592 - ? (c < 126590 - ? (c >= 126585 && c <= 126588) - : c <= 126590) - : (c <= 126601 || (c < 126625 - ? (c >= 126603 && c <= 126619) - : c <= 126627))))) - : (c <= 126633 || (c < 178208 - ? (c < 131072 - ? (c < 130032 - ? (c >= 126635 && c <= 126651) - : c <= 130041) - : (c <= 173791 || (c < 177984 - ? (c >= 173824 && c <= 177976) - : c <= 178205))) - : (c <= 183969 || (c < 196608 - ? (c < 194560 - ? (c >= 183984 && c <= 191456) - : c <= 195101) - : (c <= 201546 || (c >= 917760 && c <= 917999))))))))))))))))); -} - -static inline bool sym_identifier_character_set_4(int32_t c) { - return (c < 43616 - ? (c < 3782 - ? (c < 2748 - ? (c < 2045 - ? (c < 1015 - ? (c < 710 - ? (c < 181 - ? (c < '_' - ? (c < 'A' - ? (c >= '0' && c <= '9') - : c <= 'Z') - : (c <= '_' || (c < 170 - ? (c >= 'a' && c <= 'z') - : c <= 170))) - : (c <= 181 || (c < 192 - ? (c < 186 - ? c == 183 - : c <= 186) - : (c <= 214 || (c < 248 - ? (c >= 216 && c <= 246) - : c <= 705))))) - : (c <= 721 || (c < 891 - ? (c < 750 - ? (c < 748 - ? (c >= 736 && c <= 740) - : c <= 748) - : (c <= 750 || (c < 886 - ? (c >= 768 && c <= 884) - : c <= 887))) - : (c <= 893 || (c < 908 - ? (c < 902 - ? c == 895 - : c <= 906) - : (c <= 908 || (c < 931 - ? (c >= 910 && c <= 929) - : c <= 1013))))))) - : (c <= 1153 || (c < 1519 - ? (c < 1425 - ? (c < 1329 - ? (c < 1162 - ? (c >= 1155 && c <= 1159) - : c <= 1327) - : (c <= 1366 || (c < 1376 - ? c == 1369 - : c <= 1416))) - : (c <= 1469 || (c < 1476 - ? (c < 1473 - ? c == 1471 - : c <= 1474) - : (c <= 1477 || (c < 1488 - ? c == 1479 - : c <= 1514))))) - : (c <= 1522 || (c < 1770 - ? (c < 1646 - ? (c < 1568 - ? (c >= 1552 && c <= 1562) - : c <= 1641) - : (c <= 1747 || (c < 1759 - ? (c >= 1749 && c <= 1756) - : c <= 1768))) - : (c <= 1788 || (c < 1869 - ? (c < 1808 - ? c == 1791 - : c <= 1866) - : (c <= 1969 || (c < 2042 - ? (c >= 1984 && c <= 2037) - : c <= 2042))))))))) - : (c <= 2045 || (c < 2558 - ? (c < 2451 - ? (c < 2200 - ? (c < 2144 - ? (c < 2112 - ? (c >= 2048 && c <= 2093) - : c <= 2139) - : (c <= 2154 || (c < 2185 - ? (c >= 2160 && c <= 2183) - : c <= 2190))) - : (c <= 2273 || (c < 2417 - ? (c < 2406 - ? (c >= 2275 && c <= 2403) - : c <= 2415) - : (c <= 2435 || (c < 2447 - ? (c >= 2437 && c <= 2444) - : c <= 2448))))) - : (c <= 2472 || (c < 2507 - ? (c < 2486 - ? (c < 2482 - ? (c >= 2474 && c <= 2480) - : c <= 2482) - : (c <= 2489 || (c < 2503 - ? (c >= 2492 && c <= 2500) - : c <= 2504))) - : (c <= 2510 || (c < 2527 - ? (c < 2524 - ? c == 2519 - : c <= 2525) - : (c <= 2531 || (c < 2556 - ? (c >= 2534 && c <= 2545) - : c <= 2556))))))) - : (c <= 2558 || (c < 2635 - ? (c < 2610 - ? (c < 2575 - ? (c < 2565 - ? (c >= 2561 && c <= 2563) - : c <= 2570) - : (c <= 2576 || (c < 2602 - ? (c >= 2579 && c <= 2600) - : c <= 2608))) - : (c <= 2611 || (c < 2620 - ? (c < 2616 - ? (c >= 2613 && c <= 2614) - : c <= 2617) - : (c <= 2620 || (c < 2631 - ? (c >= 2622 && c <= 2626) - : c <= 2632))))) - : (c <= 2637 || (c < 2693 - ? (c < 2654 - ? (c < 2649 - ? c == 2641 - : c <= 2652) - : (c <= 2654 || (c < 2689 - ? (c >= 2662 && c <= 2677) - : c <= 2691))) - : (c <= 2701 || (c < 2730 - ? (c < 2707 - ? (c >= 2703 && c <= 2705) - : c <= 2728) - : (c <= 2736 || (c < 2741 - ? (c >= 2738 && c <= 2739) - : c <= 2745))))))))))) - : (c <= 2757 || (c < 3168 - ? (c < 2958 - ? (c < 2866 - ? (c < 2809 - ? (c < 2768 - ? (c < 2763 - ? (c >= 2759 && c <= 2761) - : c <= 2765) - : (c <= 2768 || (c < 2790 - ? (c >= 2784 && c <= 2787) - : c <= 2799))) - : (c <= 2815 || (c < 2831 - ? (c < 2821 - ? (c >= 2817 && c <= 2819) - : c <= 2828) - : (c <= 2832 || (c < 2858 - ? (c >= 2835 && c <= 2856) - : c <= 2864))))) - : (c <= 2867 || (c < 2908 - ? (c < 2887 - ? (c < 2876 - ? (c >= 2869 && c <= 2873) - : c <= 2884) - : (c <= 2888 || (c < 2901 - ? (c >= 2891 && c <= 2893) - : c <= 2903))) - : (c <= 2909 || (c < 2929 - ? (c < 2918 - ? (c >= 2911 && c <= 2915) - : c <= 2927) - : (c <= 2929 || (c < 2949 - ? (c >= 2946 && c <= 2947) - : c <= 2954))))))) - : (c <= 2960 || (c < 3031 - ? (c < 2984 - ? (c < 2972 - ? (c < 2969 - ? (c >= 2962 && c <= 2965) - : c <= 2970) - : (c <= 2972 || (c < 2979 - ? (c >= 2974 && c <= 2975) - : c <= 2980))) - : (c <= 2986 || (c < 3014 - ? (c < 3006 - ? (c >= 2990 && c <= 3001) - : c <= 3010) - : (c <= 3016 || (c < 3024 - ? (c >= 3018 && c <= 3021) - : c <= 3024))))) - : (c <= 3031 || (c < 3132 - ? (c < 3086 - ? (c < 3072 - ? (c >= 3046 && c <= 3055) - : c <= 3084) - : (c <= 3088 || (c < 3114 - ? (c >= 3090 && c <= 3112) - : c <= 3129))) - : (c <= 3140 || (c < 3157 - ? (c < 3146 - ? (c >= 3142 && c <= 3144) - : c <= 3149) - : (c <= 3158 || (c < 3165 - ? (c >= 3160 && c <= 3162) - : c <= 3165))))))))) - : (c <= 3171 || (c < 3450 - ? (c < 3293 - ? (c < 3242 - ? (c < 3205 - ? (c < 3200 - ? (c >= 3174 && c <= 3183) - : c <= 3203) - : (c <= 3212 || (c < 3218 - ? (c >= 3214 && c <= 3216) - : c <= 3240))) - : (c <= 3251 || (c < 3270 - ? (c < 3260 - ? (c >= 3253 && c <= 3257) - : c <= 3268) - : (c <= 3272 || (c < 3285 - ? (c >= 3274 && c <= 3277) - : c <= 3286))))) - : (c <= 3294 || (c < 3346 - ? (c < 3313 - ? (c < 3302 - ? (c >= 3296 && c <= 3299) - : c <= 3311) - : (c <= 3314 || (c < 3342 - ? (c >= 3328 && c <= 3340) - : c <= 3344))) - : (c <= 3396 || (c < 3412 - ? (c < 3402 - ? (c >= 3398 && c <= 3400) - : c <= 3406) - : (c <= 3415 || (c < 3430 - ? (c >= 3423 && c <= 3427) - : c <= 3439))))))) - : (c <= 3455 || (c < 3570 - ? (c < 3520 - ? (c < 3482 - ? (c < 3461 - ? (c >= 3457 && c <= 3459) - : c <= 3478) - : (c <= 3505 || (c < 3517 - ? (c >= 3507 && c <= 3515) - : c <= 3517))) - : (c <= 3526 || (c < 3542 - ? (c < 3535 - ? c == 3530 - : c <= 3540) - : (c <= 3542 || (c < 3558 - ? (c >= 3544 && c <= 3551) - : c <= 3567))))) - : (c <= 3571 || (c < 3718 - ? (c < 3664 - ? (c < 3648 - ? (c >= 3585 && c <= 3642) - : c <= 3662) - : (c <= 3673 || (c < 3716 - ? (c >= 3713 && c <= 3714) - : c <= 3716))) - : (c <= 3722 || (c < 3751 - ? (c < 3749 - ? (c >= 3724 && c <= 3747) - : c <= 3749) - : (c <= 3773 || (c >= 3776 && c <= 3780))))))))))))) - : (c <= 3782 || (c < 8025 - ? (c < 5888 - ? (c < 4688 - ? (c < 3953 - ? (c < 3872 - ? (c < 3804 - ? (c < 3792 - ? (c >= 3784 && c <= 3789) - : c <= 3801) - : (c <= 3807 || (c < 3864 - ? c == 3840 - : c <= 3865))) - : (c <= 3881 || (c < 3897 - ? (c < 3895 - ? c == 3893 - : c <= 3895) - : (c <= 3897 || (c < 3913 - ? (c >= 3902 && c <= 3911) - : c <= 3948))))) - : (c <= 3972 || (c < 4256 - ? (c < 4038 - ? (c < 3993 - ? (c >= 3974 && c <= 3991) - : c <= 4028) - : (c <= 4038 || (c < 4176 - ? (c >= 4096 && c <= 4169) - : c <= 4253))) - : (c <= 4293 || (c < 4304 - ? (c < 4301 - ? c == 4295 - : c <= 4301) - : (c <= 4346 || (c < 4682 - ? (c >= 4348 && c <= 4680) - : c <= 4685))))))) - : (c <= 4694 || (c < 4882 - ? (c < 4786 - ? (c < 4704 - ? (c < 4698 - ? c == 4696 - : c <= 4701) - : (c <= 4744 || (c < 4752 - ? (c >= 4746 && c <= 4749) - : c <= 4784))) - : (c <= 4789 || (c < 4802 - ? (c < 4800 - ? (c >= 4792 && c <= 4798) - : c <= 4800) - : (c <= 4805 || (c < 4824 - ? (c >= 4808 && c <= 4822) - : c <= 4880))))) - : (c <= 4885 || (c < 5112 - ? (c < 4969 - ? (c < 4957 - ? (c >= 4888 && c <= 4954) - : c <= 4959) - : (c <= 4977 || (c < 5024 - ? (c >= 4992 && c <= 5007) - : c <= 5109))) - : (c <= 5117 || (c < 5761 - ? (c < 5743 - ? (c >= 5121 && c <= 5740) - : c <= 5759) - : (c <= 5786 || (c < 5870 - ? (c >= 5792 && c <= 5866) - : c <= 5880))))))))) - : (c <= 5909 || (c < 6688 - ? (c < 6176 - ? (c < 6016 - ? (c < 5984 - ? (c < 5952 - ? (c >= 5919 && c <= 5940) - : c <= 5971) - : (c <= 5996 || (c < 6002 - ? (c >= 5998 && c <= 6000) - : c <= 6003))) - : (c <= 6099 || (c < 6112 - ? (c < 6108 - ? c == 6103 - : c <= 6109) - : (c <= 6121 || (c < 6159 - ? (c >= 6155 && c <= 6157) - : c <= 6169))))) - : (c <= 6264 || (c < 6470 - ? (c < 6400 - ? (c < 6320 - ? (c >= 6272 && c <= 6314) - : c <= 6389) - : (c <= 6430 || (c < 6448 - ? (c >= 6432 && c <= 6443) - : c <= 6459))) - : (c <= 6509 || (c < 6576 - ? (c < 6528 - ? (c >= 6512 && c <= 6516) - : c <= 6571) - : (c <= 6601 || (c < 6656 - ? (c >= 6608 && c <= 6618) - : c <= 6683))))))) - : (c <= 6750 || (c < 7232 - ? (c < 6847 - ? (c < 6800 - ? (c < 6783 - ? (c >= 6752 && c <= 6780) - : c <= 6793) - : (c <= 6809 || (c < 6832 - ? c == 6823 - : c <= 6845))) - : (c <= 6862 || (c < 7019 - ? (c < 6992 - ? (c >= 6912 && c <= 6988) - : c <= 7001) - : (c <= 7027 || (c < 7168 - ? (c >= 7040 && c <= 7155) - : c <= 7223))))) - : (c <= 7241 || (c < 7380 - ? (c < 7312 - ? (c < 7296 - ? (c >= 7245 && c <= 7293) - : c <= 7304) - : (c <= 7354 || (c < 7376 - ? (c >= 7357 && c <= 7359) - : c <= 7378))) - : (c <= 7418 || (c < 7968 - ? (c < 7960 - ? (c >= 7424 && c <= 7957) - : c <= 7965) - : (c <= 8005 || (c < 8016 - ? (c >= 8008 && c <= 8013) - : c <= 8023))))))))))) - : (c <= 8025 || (c < 11720 - ? (c < 8458 - ? (c < 8178 - ? (c < 8126 - ? (c < 8031 - ? (c < 8029 - ? c == 8027 - : c <= 8029) - : (c <= 8061 || (c < 8118 - ? (c >= 8064 && c <= 8116) - : c <= 8124))) - : (c <= 8126 || (c < 8144 - ? (c < 8134 - ? (c >= 8130 && c <= 8132) - : c <= 8140) - : (c <= 8147 || (c < 8160 - ? (c >= 8150 && c <= 8155) - : c <= 8172))))) - : (c <= 8180 || (c < 8336 - ? (c < 8276 - ? (c < 8255 - ? (c >= 8182 && c <= 8188) - : c <= 8256) - : (c <= 8276 || (c < 8319 - ? c == 8305 - : c <= 8319))) - : (c <= 8348 || (c < 8421 - ? (c < 8417 - ? (c >= 8400 && c <= 8412) - : c <= 8417) - : (c <= 8432 || (c < 8455 - ? c == 8450 - : c <= 8455))))))) - : (c <= 8467 || (c < 11499 - ? (c < 8490 - ? (c < 8484 - ? (c < 8472 - ? c == 8469 - : c <= 8477) - : (c <= 8484 || (c < 8488 - ? c == 8486 - : c <= 8488))) - : (c <= 8505 || (c < 8526 - ? (c < 8517 - ? (c >= 8508 && c <= 8511) - : c <= 8521) - : (c <= 8526 || (c < 11264 - ? (c >= 8544 && c <= 8584) - : c <= 11492))))) - : (c <= 11507 || (c < 11647 - ? (c < 11565 - ? (c < 11559 - ? (c >= 11520 && c <= 11557) - : c <= 11559) - : (c <= 11565 || (c < 11631 - ? (c >= 11568 && c <= 11623) - : c <= 11631))) - : (c <= 11670 || (c < 11696 - ? (c < 11688 - ? (c >= 11680 && c <= 11686) - : c <= 11694) - : (c <= 11702 || (c < 11712 - ? (c >= 11704 && c <= 11710) - : c <= 11718))))))))) - : (c <= 11726 || (c < 42623 - ? (c < 12540 - ? (c < 12337 - ? (c < 11744 - ? (c < 11736 - ? (c >= 11728 && c <= 11734) - : c <= 11742) - : (c <= 11775 || (c < 12321 - ? (c >= 12293 && c <= 12295) - : c <= 12335))) - : (c <= 12341 || (c < 12441 - ? (c < 12353 - ? (c >= 12344 && c <= 12348) - : c <= 12438) - : (c <= 12442 || (c < 12449 - ? (c >= 12445 && c <= 12447) - : c <= 12538))))) - : (c <= 12543 || (c < 19968 - ? (c < 12704 - ? (c < 12593 - ? (c >= 12549 && c <= 12591) - : c <= 12686) - : (c <= 12735 || (c < 13312 - ? (c >= 12784 && c <= 12799) - : c <= 19903))) - : (c <= 42124 || (c < 42512 - ? (c < 42240 - ? (c >= 42192 && c <= 42237) - : c <= 42508) - : (c <= 42539 || (c < 42612 - ? (c >= 42560 && c <= 42607) - : c <= 42621))))))) - : (c <= 42737 || (c < 43232 - ? (c < 42965 - ? (c < 42891 - ? (c < 42786 - ? (c >= 42775 && c <= 42783) - : c <= 42888) - : (c <= 42954 || (c < 42963 - ? (c >= 42960 && c <= 42961) - : c <= 42963))) - : (c <= 42969 || (c < 43072 - ? (c < 43052 - ? (c >= 42994 && c <= 43047) - : c <= 43052) - : (c <= 43123 || (c < 43216 - ? (c >= 43136 && c <= 43205) - : c <= 43225))))) - : (c <= 43255 || (c < 43471 - ? (c < 43312 - ? (c < 43261 - ? c == 43259 - : c <= 43309) - : (c <= 43347 || (c < 43392 - ? (c >= 43360 && c <= 43388) - : c <= 43456))) - : (c <= 43481 || (c < 43584 - ? (c < 43520 - ? (c >= 43488 && c <= 43518) - : c <= 43574) - : (c <= 43597 || (c >= 43600 && c <= 43609))))))))))))))) - : (c <= 43638 || (c < 71453 - ? (c < 67639 - ? (c < 65345 - ? (c < 64312 - ? (c < 43888 - ? (c < 43785 - ? (c < 43744 - ? (c < 43739 - ? (c >= 43642 && c <= 43714) - : c <= 43741) - : (c <= 43759 || (c < 43777 - ? (c >= 43762 && c <= 43766) - : c <= 43782))) - : (c <= 43790 || (c < 43816 - ? (c < 43808 - ? (c >= 43793 && c <= 43798) - : c <= 43814) - : (c <= 43822 || (c < 43868 - ? (c >= 43824 && c <= 43866) - : c <= 43881))))) - : (c <= 44010 || (c < 63744 - ? (c < 44032 - ? (c < 44016 - ? (c >= 44012 && c <= 44013) - : c <= 44025) - : (c <= 55203 || (c < 55243 - ? (c >= 55216 && c <= 55238) - : c <= 55291))) - : (c <= 64109 || (c < 64275 - ? (c < 64256 - ? (c >= 64112 && c <= 64217) - : c <= 64262) - : (c <= 64279 || (c < 64298 - ? (c >= 64285 && c <= 64296) - : c <= 64310))))))) - : (c <= 64316 || (c < 65075 - ? (c < 64612 - ? (c < 64323 - ? (c < 64320 - ? c == 64318 - : c <= 64321) - : (c <= 64324 || (c < 64467 - ? (c >= 64326 && c <= 64433) - : c <= 64605))) - : (c <= 64829 || (c < 65008 - ? (c < 64914 - ? (c >= 64848 && c <= 64911) - : c <= 64967) - : (c <= 65017 || (c < 65056 - ? (c >= 65024 && c <= 65039) - : c <= 65071))))) - : (c <= 65076 || (c < 65147 - ? (c < 65139 - ? (c < 65137 - ? (c >= 65101 && c <= 65103) - : c <= 65137) - : (c <= 65139 || (c < 65145 - ? c == 65143 - : c <= 65145))) - : (c <= 65147 || (c < 65296 - ? (c < 65151 - ? c == 65149 - : c <= 65276) - : (c <= 65305 || (c < 65343 - ? (c >= 65313 && c <= 65338) - : c <= 65343))))))))) - : (c <= 65370 || (c < 66513 - ? (c < 65664 - ? (c < 65536 - ? (c < 65482 - ? (c < 65474 - ? (c >= 65382 && c <= 65470) - : c <= 65479) - : (c <= 65487 || (c < 65498 - ? (c >= 65490 && c <= 65495) - : c <= 65500))) - : (c <= 65547 || (c < 65596 - ? (c < 65576 - ? (c >= 65549 && c <= 65574) - : c <= 65594) - : (c <= 65597 || (c < 65616 - ? (c >= 65599 && c <= 65613) - : c <= 65629))))) - : (c <= 65786 || (c < 66304 - ? (c < 66176 - ? (c < 66045 - ? (c >= 65856 && c <= 65908) - : c <= 66045) - : (c <= 66204 || (c < 66272 - ? (c >= 66208 && c <= 66256) - : c <= 66272))) - : (c <= 66335 || (c < 66432 - ? (c < 66384 - ? (c >= 66349 && c <= 66378) - : c <= 66426) - : (c <= 66461 || (c < 66504 - ? (c >= 66464 && c <= 66499) - : c <= 66511))))))) - : (c <= 66517 || (c < 66979 - ? (c < 66864 - ? (c < 66736 - ? (c < 66720 - ? (c >= 66560 && c <= 66717) - : c <= 66729) - : (c <= 66771 || (c < 66816 - ? (c >= 66776 && c <= 66811) - : c <= 66855))) - : (c <= 66915 || (c < 66956 - ? (c < 66940 - ? (c >= 66928 && c <= 66938) - : c <= 66954) - : (c <= 66962 || (c < 66967 - ? (c >= 66964 && c <= 66965) - : c <= 66977))))) - : (c <= 66993 || (c < 67456 - ? (c < 67072 - ? (c < 67003 - ? (c >= 66995 && c <= 67001) - : c <= 67004) - : (c <= 67382 || (c < 67424 - ? (c >= 67392 && c <= 67413) - : c <= 67431))) - : (c <= 67461 || (c < 67584 - ? (c < 67506 - ? (c >= 67463 && c <= 67504) - : c <= 67514) - : (c <= 67589 || (c < 67594 - ? c == 67592 - : c <= 67637))))))))))) - : (c <= 67640 || (c < 69956 - ? (c < 68448 - ? (c < 68101 - ? (c < 67828 - ? (c < 67680 - ? (c < 67647 - ? c == 67644 - : c <= 67669) - : (c <= 67702 || (c < 67808 - ? (c >= 67712 && c <= 67742) - : c <= 67826))) - : (c <= 67829 || (c < 67968 - ? (c < 67872 - ? (c >= 67840 && c <= 67861) - : c <= 67897) - : (c <= 68023 || (c < 68096 - ? (c >= 68030 && c <= 68031) - : c <= 68099))))) - : (c <= 68102 || (c < 68192 - ? (c < 68121 - ? (c < 68117 - ? (c >= 68108 && c <= 68115) - : c <= 68119) - : (c <= 68149 || (c < 68159 - ? (c >= 68152 && c <= 68154) - : c <= 68159))) - : (c <= 68220 || (c < 68297 - ? (c < 68288 - ? (c >= 68224 && c <= 68252) - : c <= 68295) - : (c <= 68326 || (c < 68416 - ? (c >= 68352 && c <= 68405) - : c <= 68437))))))) - : (c <= 68466 || (c < 69424 - ? (c < 68912 - ? (c < 68736 - ? (c < 68608 - ? (c >= 68480 && c <= 68497) - : c <= 68680) - : (c <= 68786 || (c < 68864 - ? (c >= 68800 && c <= 68850) - : c <= 68903))) - : (c <= 68921 || (c < 69296 - ? (c < 69291 - ? (c >= 69248 && c <= 69289) - : c <= 69292) - : (c <= 69297 || (c < 69415 - ? (c >= 69376 && c <= 69404) - : c <= 69415))))) - : (c <= 69456 || (c < 69759 - ? (c < 69600 - ? (c < 69552 - ? (c >= 69488 && c <= 69509) - : c <= 69572) - : (c <= 69622 || (c < 69734 - ? (c >= 69632 && c <= 69702) - : c <= 69749))) - : (c <= 69818 || (c < 69872 - ? (c < 69840 - ? c == 69826 - : c <= 69864) - : (c <= 69881 || (c < 69942 - ? (c >= 69888 && c <= 69940) - : c <= 69951))))))))) - : (c <= 69959 || (c < 70459 - ? (c < 70282 - ? (c < 70108 - ? (c < 70016 - ? (c < 70006 - ? (c >= 69968 && c <= 70003) - : c <= 70006) - : (c <= 70084 || (c < 70094 - ? (c >= 70089 && c <= 70092) - : c <= 70106))) - : (c <= 70108 || (c < 70206 - ? (c < 70163 - ? (c >= 70144 && c <= 70161) - : c <= 70199) - : (c <= 70206 || (c < 70280 - ? (c >= 70272 && c <= 70278) - : c <= 70280))))) - : (c <= 70285 || (c < 70405 - ? (c < 70320 - ? (c < 70303 - ? (c >= 70287 && c <= 70301) - : c <= 70312) - : (c <= 70378 || (c < 70400 - ? (c >= 70384 && c <= 70393) - : c <= 70403))) - : (c <= 70412 || (c < 70442 - ? (c < 70419 - ? (c >= 70415 && c <= 70416) - : c <= 70440) - : (c <= 70448 || (c < 70453 - ? (c >= 70450 && c <= 70451) - : c <= 70457))))))) - : (c <= 70468 || (c < 70855 - ? (c < 70502 - ? (c < 70480 - ? (c < 70475 - ? (c >= 70471 && c <= 70472) - : c <= 70477) - : (c <= 70480 || (c < 70493 - ? c == 70487 - : c <= 70499))) - : (c <= 70508 || (c < 70736 - ? (c < 70656 - ? (c >= 70512 && c <= 70516) - : c <= 70730) - : (c <= 70745 || (c < 70784 - ? (c >= 70750 && c <= 70753) - : c <= 70853))))) - : (c <= 70855 || (c < 71236 - ? (c < 71096 - ? (c < 71040 - ? (c >= 70864 && c <= 70873) - : c <= 71093) - : (c <= 71104 || (c < 71168 - ? (c >= 71128 && c <= 71133) - : c <= 71232))) - : (c <= 71236 || (c < 71360 - ? (c < 71296 - ? (c >= 71248 && c <= 71257) - : c <= 71352) - : (c <= 71369 || (c >= 71424 && c <= 71450))))))))))))) - : (c <= 71467 || (c < 119973 - ? (c < 77824 - ? (c < 72760 - ? (c < 72016 - ? (c < 71945 - ? (c < 71680 - ? (c < 71488 - ? (c >= 71472 && c <= 71481) - : c <= 71494) - : (c <= 71738 || (c < 71935 - ? (c >= 71840 && c <= 71913) - : c <= 71942))) - : (c <= 71945 || (c < 71960 - ? (c < 71957 - ? (c >= 71948 && c <= 71955) - : c <= 71958) - : (c <= 71989 || (c < 71995 - ? (c >= 71991 && c <= 71992) - : c <= 72003))))) - : (c <= 72025 || (c < 72263 - ? (c < 72154 - ? (c < 72106 - ? (c >= 72096 && c <= 72103) - : c <= 72151) - : (c <= 72161 || (c < 72192 - ? (c >= 72163 && c <= 72164) - : c <= 72254))) - : (c <= 72263 || (c < 72368 - ? (c < 72349 - ? (c >= 72272 && c <= 72345) - : c <= 72349) - : (c <= 72440 || (c < 72714 - ? (c >= 72704 && c <= 72712) - : c <= 72758))))))) - : (c <= 72768 || (c < 73056 - ? (c < 72968 - ? (c < 72850 - ? (c < 72818 - ? (c >= 72784 && c <= 72793) - : c <= 72847) - : (c <= 72871 || (c < 72960 - ? (c >= 72873 && c <= 72886) - : c <= 72966))) - : (c <= 72969 || (c < 73020 - ? (c < 73018 - ? (c >= 72971 && c <= 73014) - : c <= 73018) - : (c <= 73021 || (c < 73040 - ? (c >= 73023 && c <= 73031) - : c <= 73049))))) - : (c <= 73061 || (c < 73440 - ? (c < 73104 - ? (c < 73066 - ? (c >= 73063 && c <= 73064) - : c <= 73102) - : (c <= 73105 || (c < 73120 - ? (c >= 73107 && c <= 73112) - : c <= 73129))) - : (c <= 73462 || (c < 74752 - ? (c < 73728 - ? c == 73648 - : c <= 74649) - : (c <= 74862 || (c < 77712 - ? (c >= 74880 && c <= 75075) - : c <= 77808))))))))) - : (c <= 78894 || (c < 110576 - ? (c < 93027 - ? (c < 92864 - ? (c < 92736 - ? (c < 92160 - ? (c >= 82944 && c <= 83526) - : c <= 92728) - : (c <= 92766 || (c < 92784 - ? (c >= 92768 && c <= 92777) - : c <= 92862))) - : (c <= 92873 || (c < 92928 - ? (c < 92912 - ? (c >= 92880 && c <= 92909) - : c <= 92916) - : (c <= 92982 || (c < 93008 - ? (c >= 92992 && c <= 92995) - : c <= 93017))))) - : (c <= 93047 || (c < 94176 - ? (c < 93952 - ? (c < 93760 - ? (c >= 93053 && c <= 93071) - : c <= 93823) - : (c <= 94026 || (c < 94095 - ? (c >= 94031 && c <= 94087) - : c <= 94111))) - : (c <= 94177 || (c < 94208 - ? (c < 94192 - ? (c >= 94179 && c <= 94180) - : c <= 94193) - : (c <= 100343 || (c < 101632 - ? (c >= 100352 && c <= 101589) - : c <= 101640))))))) - : (c <= 110579 || (c < 118528 - ? (c < 110960 - ? (c < 110592 - ? (c < 110589 - ? (c >= 110581 && c <= 110587) - : c <= 110590) - : (c <= 110882 || (c < 110948 - ? (c >= 110928 && c <= 110930) - : c <= 110951))) - : (c <= 111355 || (c < 113792 - ? (c < 113776 - ? (c >= 113664 && c <= 113770) - : c <= 113788) - : (c <= 113800 || (c < 113821 - ? (c >= 113808 && c <= 113817) - : c <= 113822))))) - : (c <= 118573 || (c < 119210 - ? (c < 119149 - ? (c < 119141 - ? (c >= 118576 && c <= 118598) - : c <= 119145) - : (c <= 119154 || (c < 119173 - ? (c >= 119163 && c <= 119170) - : c <= 119179))) - : (c <= 119213 || (c < 119894 - ? (c < 119808 - ? (c >= 119362 && c <= 119364) - : c <= 119892) - : (c <= 119964 || (c < 119970 - ? (c >= 119966 && c <= 119967) - : c <= 119970))))))))))) - : (c <= 119974 || (c < 124912 - ? (c < 120746 - ? (c < 120134 - ? (c < 120071 - ? (c < 119995 - ? (c < 119982 - ? (c >= 119977 && c <= 119980) - : c <= 119993) - : (c <= 119995 || (c < 120005 - ? (c >= 119997 && c <= 120003) - : c <= 120069))) - : (c <= 120074 || (c < 120094 - ? (c < 120086 - ? (c >= 120077 && c <= 120084) - : c <= 120092) - : (c <= 120121 || (c < 120128 - ? (c >= 120123 && c <= 120126) - : c <= 120132))))) - : (c <= 120134 || (c < 120572 - ? (c < 120488 - ? (c < 120146 - ? (c >= 120138 && c <= 120144) - : c <= 120485) - : (c <= 120512 || (c < 120540 - ? (c >= 120514 && c <= 120538) - : c <= 120570))) - : (c <= 120596 || (c < 120656 - ? (c < 120630 - ? (c >= 120598 && c <= 120628) - : c <= 120654) - : (c <= 120686 || (c < 120714 - ? (c >= 120688 && c <= 120712) - : c <= 120744))))))) - : (c <= 120770 || (c < 122907 - ? (c < 121476 - ? (c < 121344 - ? (c < 120782 - ? (c >= 120772 && c <= 120779) - : c <= 120831) - : (c <= 121398 || (c < 121461 - ? (c >= 121403 && c <= 121452) - : c <= 121461))) - : (c <= 121476 || (c < 122624 - ? (c < 121505 - ? (c >= 121499 && c <= 121503) - : c <= 121519) - : (c <= 122654 || (c < 122888 - ? (c >= 122880 && c <= 122886) - : c <= 122904))))) - : (c <= 122913 || (c < 123214 - ? (c < 123136 - ? (c < 122918 - ? (c >= 122915 && c <= 122916) - : c <= 122922) - : (c <= 123180 || (c < 123200 - ? (c >= 123184 && c <= 123197) - : c <= 123209))) - : (c <= 123214 || (c < 124896 - ? (c < 123584 - ? (c >= 123536 && c <= 123566) - : c <= 123641) - : (c <= 124902 || (c < 124909 - ? (c >= 124904 && c <= 124907) - : c <= 124910))))))))) - : (c <= 124926 || (c < 126557 - ? (c < 126521 - ? (c < 126469 - ? (c < 125184 - ? (c < 125136 - ? (c >= 124928 && c <= 125124) - : c <= 125142) - : (c <= 125259 || (c < 126464 - ? (c >= 125264 && c <= 125273) - : c <= 126467))) - : (c <= 126495 || (c < 126503 - ? (c < 126500 - ? (c >= 126497 && c <= 126498) - : c <= 126500) - : (c <= 126503 || (c < 126516 - ? (c >= 126505 && c <= 126514) - : c <= 126519))))) - : (c <= 126521 || (c < 126541 - ? (c < 126535 - ? (c < 126530 - ? c == 126523 - : c <= 126530) - : (c <= 126535 || (c < 126539 - ? c == 126537 - : c <= 126539))) - : (c <= 126543 || (c < 126551 - ? (c < 126548 - ? (c >= 126545 && c <= 126546) - : c <= 126548) - : (c <= 126551 || (c < 126555 - ? c == 126553 - : c <= 126555))))))) - : (c <= 126557 || (c < 126629 - ? (c < 126580 - ? (c < 126564 - ? (c < 126561 - ? c == 126559 - : c <= 126562) - : (c <= 126564 || (c < 126572 - ? (c >= 126567 && c <= 126570) - : c <= 126578))) - : (c <= 126583 || (c < 126592 - ? (c < 126590 - ? (c >= 126585 && c <= 126588) - : c <= 126590) - : (c <= 126601 || (c < 126625 - ? (c >= 126603 && c <= 126619) - : c <= 126627))))) - : (c <= 126633 || (c < 178208 - ? (c < 131072 - ? (c < 130032 - ? (c >= 126635 && c <= 126651) - : c <= 130041) - : (c <= 173791 || (c < 177984 - ? (c >= 173824 && c <= 177976) - : c <= 178205))) - : (c <= 183969 || (c < 196608 - ? (c < 194560 - ? (c >= 183984 && c <= 191456) - : c <= 195101) - : (c <= 201546 || (c >= 917760 && c <= 917999))))))))))))))))); -} +const TSCharacterRange sym_identifier_character_set_2[] = { + {'0', '9'}, {'A', 'Z'}, {'_', '_'}, {'a', 'z'}, {0xaa, 0xaa}, {0xb5, 0xb5}, {0xb7, 0xb7}, {0xba, 0xba}, + {0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ec, 0x2ec}, {0x2ee, 0x2ee}, {0x300, 0x374}, + {0x376, 0x377}, {0x37b, 0x37d}, {0x37f, 0x37f}, {0x386, 0x38a}, {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3f5}, {0x3f7, 0x481}, + {0x483, 0x487}, {0x48a, 0x52f}, {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588}, {0x591, 0x5bd}, {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, + {0x5c4, 0x5c5}, {0x5c7, 0x5c7}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x610, 0x61a}, {0x620, 0x669}, {0x66e, 0x6d3}, {0x6d5, 0x6dc}, + {0x6df, 0x6e8}, {0x6ea, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x74a}, {0x74d, 0x7b1}, {0x7c0, 0x7f5}, {0x7fa, 0x7fa}, {0x7fd, 0x7fd}, + {0x800, 0x82d}, {0x840, 0x85b}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e}, {0x897, 0x8e1}, {0x8e3, 0x963}, {0x966, 0x96f}, + {0x971, 0x983}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, {0x9bc, 0x9c4}, + {0x9c7, 0x9c8}, {0x9cb, 0x9ce}, {0x9d7, 0x9d7}, {0x9dc, 0x9dd}, {0x9df, 0x9e3}, {0x9e6, 0x9f1}, {0x9fc, 0x9fc}, {0x9fe, 0x9fe}, + {0xa01, 0xa03}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, + {0xa3c, 0xa3c}, {0xa3e, 0xa42}, {0xa47, 0xa48}, {0xa4b, 0xa4d}, {0xa51, 0xa51}, {0xa59, 0xa5c}, {0xa5e, 0xa5e}, {0xa66, 0xa75}, + {0xa81, 0xa83}, {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabc, 0xac5}, + {0xac7, 0xac9}, {0xacb, 0xacd}, {0xad0, 0xad0}, {0xae0, 0xae3}, {0xae6, 0xaef}, {0xaf9, 0xaff}, {0xb01, 0xb03}, {0xb05, 0xb0c}, + {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb35, 0xb39}, {0xb3c, 0xb44}, {0xb47, 0xb48}, {0xb4b, 0xb4d}, + {0xb55, 0xb57}, {0xb5c, 0xb5d}, {0xb5f, 0xb63}, {0xb66, 0xb6f}, {0xb71, 0xb71}, {0xb82, 0xb83}, {0xb85, 0xb8a}, {0xb8e, 0xb90}, + {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb9}, {0xbbe, 0xbc2}, + {0xbc6, 0xbc8}, {0xbca, 0xbcd}, {0xbd0, 0xbd0}, {0xbd7, 0xbd7}, {0xbe6, 0xbef}, {0xc00, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28}, + {0xc2a, 0xc39}, {0xc3c, 0xc44}, {0xc46, 0xc48}, {0xc4a, 0xc4d}, {0xc55, 0xc56}, {0xc58, 0xc5a}, {0xc5d, 0xc5d}, {0xc60, 0xc63}, + {0xc66, 0xc6f}, {0xc80, 0xc83}, {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbc, 0xcc4}, + {0xcc6, 0xcc8}, {0xcca, 0xccd}, {0xcd5, 0xcd6}, {0xcdd, 0xcde}, {0xce0, 0xce3}, {0xce6, 0xcef}, {0xcf1, 0xcf3}, {0xd00, 0xd0c}, + {0xd0e, 0xd10}, {0xd12, 0xd44}, {0xd46, 0xd48}, {0xd4a, 0xd4e}, {0xd54, 0xd57}, {0xd5f, 0xd63}, {0xd66, 0xd6f}, {0xd7a, 0xd7f}, + {0xd81, 0xd83}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, {0xdca, 0xdca}, {0xdcf, 0xdd4}, + {0xdd6, 0xdd6}, {0xdd8, 0xddf}, {0xde6, 0xdef}, {0xdf2, 0xdf3}, {0xe01, 0xe3a}, {0xe40, 0xe4e}, {0xe50, 0xe59}, {0xe81, 0xe82}, + {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xebd}, {0xec0, 0xec4}, {0xec6, 0xec6}, {0xec8, 0xece}, + {0xed0, 0xed9}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf18, 0xf19}, {0xf20, 0xf29}, {0xf35, 0xf35}, {0xf37, 0xf37}, {0xf39, 0xf39}, + {0xf3e, 0xf47}, {0xf49, 0xf6c}, {0xf71, 0xf84}, {0xf86, 0xf97}, {0xf99, 0xfbc}, {0xfc6, 0xfc6}, {0x1000, 0x1049}, {0x1050, 0x109d}, + {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256}, {0x1258, 0x1258}, + {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5}, + {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x135d, 0x135f}, {0x1369, 0x1371}, {0x1380, 0x138f}, {0x13a0, 0x13f5}, + {0x13f8, 0x13fd}, {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, {0x1700, 0x1715}, {0x171f, 0x1734}, + {0x1740, 0x1753}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1772, 0x1773}, {0x1780, 0x17d3}, {0x17d7, 0x17d7}, {0x17dc, 0x17dd}, {0x17e0, 0x17e9}, + {0x180b, 0x180d}, {0x180f, 0x1819}, {0x1820, 0x1878}, {0x1880, 0x18aa}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, {0x1920, 0x192b}, {0x1930, 0x193b}, + {0x1946, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x19d0, 0x19da}, {0x1a00, 0x1a1b}, {0x1a20, 0x1a5e}, {0x1a60, 0x1a7c}, + {0x1a7f, 0x1a89}, {0x1a90, 0x1a99}, {0x1aa7, 0x1aa7}, {0x1ab0, 0x1abd}, {0x1abf, 0x1ace}, {0x1b00, 0x1b4c}, {0x1b50, 0x1b59}, {0x1b6b, 0x1b73}, + {0x1b80, 0x1bf3}, {0x1c00, 0x1c37}, {0x1c40, 0x1c49}, {0x1c4d, 0x1c7d}, {0x1c80, 0x1c8a}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1cd0, 0x1cd2}, + {0x1cd4, 0x1cfa}, {0x1d00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f59, 0x1f59}, {0x1f5b, 0x1f5b}, + {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, + {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x200c, 0x200d}, {0x203f, 0x2040}, {0x2054, 0x2054}, {0x2071, 0x2071}, + {0x207f, 0x207f}, {0x2090, 0x209c}, {0x20d0, 0x20dc}, {0x20e1, 0x20e1}, {0x20e5, 0x20f0}, {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210a, 0x2113}, + {0x2115, 0x2115}, {0x2118, 0x211d}, {0x2124, 0x2124}, {0x2126, 0x2126}, {0x2128, 0x2128}, {0x212a, 0x2139}, {0x213c, 0x213f}, {0x2145, 0x2149}, + {0x214e, 0x214e}, {0x2160, 0x2188}, {0x2c00, 0x2ce4}, {0x2ceb, 0x2cf3}, {0x2d00, 0x2d25}, {0x2d27, 0x2d27}, {0x2d2d, 0x2d2d}, {0x2d30, 0x2d67}, + {0x2d6f, 0x2d6f}, {0x2d7f, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, + {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x2de0, 0x2dff}, {0x3005, 0x3007}, {0x3021, 0x302f}, {0x3031, 0x3035}, {0x3038, 0x303c}, {0x3041, 0x3096}, + {0x3099, 0x309a}, {0x309d, 0x309f}, {0x30a1, 0x30ff}, {0x3105, 0x312f}, {0x3131, 0x318e}, {0x31a0, 0x31bf}, {0x31f0, 0x31ff}, {0x3400, 0x4dbf}, + {0x4e00, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c}, {0xa610, 0xa62b}, {0xa640, 0xa66f}, {0xa674, 0xa67d}, {0xa67f, 0xa6f1}, {0xa717, 0xa71f}, + {0xa722, 0xa788}, {0xa78b, 0xa7cd}, {0xa7d0, 0xa7d1}, {0xa7d3, 0xa7d3}, {0xa7d5, 0xa7dc}, {0xa7f2, 0xa827}, {0xa82c, 0xa82c}, {0xa840, 0xa873}, + {0xa880, 0xa8c5}, {0xa8d0, 0xa8d9}, {0xa8e0, 0xa8f7}, {0xa8fb, 0xa8fb}, {0xa8fd, 0xa92d}, {0xa930, 0xa953}, {0xa960, 0xa97c}, {0xa980, 0xa9c0}, + {0xa9cf, 0xa9d9}, {0xa9e0, 0xa9fe}, {0xaa00, 0xaa36}, {0xaa40, 0xaa4d}, {0xaa50, 0xaa59}, {0xaa60, 0xaa76}, {0xaa7a, 0xaac2}, {0xaadb, 0xaadd}, + {0xaae0, 0xaaef}, {0xaaf2, 0xaaf6}, {0xab01, 0xab06}, {0xab09, 0xab0e}, {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, {0xab30, 0xab5a}, + {0xab5c, 0xab69}, {0xab70, 0xabea}, {0xabec, 0xabed}, {0xabf0, 0xabf9}, {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, + {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, + {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfc5d}, {0xfc64, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdf9}, {0xfe00, 0xfe0f}, + {0xfe20, 0xfe2f}, {0xfe33, 0xfe34}, {0xfe4d, 0xfe4f}, {0xfe71, 0xfe71}, {0xfe73, 0xfe73}, {0xfe77, 0xfe77}, {0xfe79, 0xfe79}, {0xfe7b, 0xfe7b}, + {0xfe7d, 0xfe7d}, {0xfe7f, 0xfefc}, {0xff10, 0xff19}, {0xff21, 0xff3a}, {0xff3f, 0xff3f}, {0xff41, 0xff5a}, {0xff65, 0xffbe}, {0xffc2, 0xffc7}, + {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}, {0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, + {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10140, 0x10174}, {0x101fd, 0x101fd}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, {0x102e0, 0x102e0}, {0x10300, 0x1031f}, + {0x1032d, 0x1034a}, {0x10350, 0x1037a}, {0x10380, 0x1039d}, {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, {0x10400, 0x1049d}, {0x104a0, 0x104a9}, + {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10570, 0x1057a}, {0x1057c, 0x1058a}, {0x1058c, 0x10592}, {0x10594, 0x10595}, + {0x10597, 0x105a1}, {0x105a3, 0x105b1}, {0x105b3, 0x105b9}, {0x105bb, 0x105bc}, {0x105c0, 0x105f3}, {0x10600, 0x10736}, {0x10740, 0x10755}, {0x10760, 0x10767}, + {0x10780, 0x10785}, {0x10787, 0x107b0}, {0x107b2, 0x107ba}, {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835}, {0x10837, 0x10838}, {0x1083c, 0x1083c}, + {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x10939}, {0x10980, 0x109b7}, + {0x109be, 0x109bf}, {0x10a00, 0x10a03}, {0x10a05, 0x10a06}, {0x10a0c, 0x10a13}, {0x10a15, 0x10a17}, {0x10a19, 0x10a35}, {0x10a38, 0x10a3a}, {0x10a3f, 0x10a3f}, + {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae6}, {0x10b00, 0x10b35}, {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, {0x10b80, 0x10b91}, + {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10d00, 0x10d27}, {0x10d30, 0x10d39}, {0x10d40, 0x10d65}, {0x10d69, 0x10d6d}, {0x10d6f, 0x10d85}, + {0x10e80, 0x10ea9}, {0x10eab, 0x10eac}, {0x10eb0, 0x10eb1}, {0x10ec2, 0x10ec4}, {0x10efc, 0x10f1c}, {0x10f27, 0x10f27}, {0x10f30, 0x10f50}, {0x10f70, 0x10f85}, + {0x10fb0, 0x10fc4}, {0x10fe0, 0x10ff6}, {0x11000, 0x11046}, {0x11066, 0x11075}, {0x1107f, 0x110ba}, {0x110c2, 0x110c2}, {0x110d0, 0x110e8}, {0x110f0, 0x110f9}, + {0x11100, 0x11134}, {0x11136, 0x1113f}, {0x11144, 0x11147}, {0x11150, 0x11173}, {0x11176, 0x11176}, {0x11180, 0x111c4}, {0x111c9, 0x111cc}, {0x111ce, 0x111da}, + {0x111dc, 0x111dc}, {0x11200, 0x11211}, {0x11213, 0x11237}, {0x1123e, 0x11241}, {0x11280, 0x11286}, {0x11288, 0x11288}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, + {0x1129f, 0x112a8}, {0x112b0, 0x112ea}, {0x112f0, 0x112f9}, {0x11300, 0x11303}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, {0x11313, 0x11328}, {0x1132a, 0x11330}, + {0x11332, 0x11333}, {0x11335, 0x11339}, {0x1133b, 0x11344}, {0x11347, 0x11348}, {0x1134b, 0x1134d}, {0x11350, 0x11350}, {0x11357, 0x11357}, {0x1135d, 0x11363}, + {0x11366, 0x1136c}, {0x11370, 0x11374}, {0x11380, 0x11389}, {0x1138b, 0x1138b}, {0x1138e, 0x1138e}, {0x11390, 0x113b5}, {0x113b7, 0x113c0}, {0x113c2, 0x113c2}, + {0x113c5, 0x113c5}, {0x113c7, 0x113ca}, {0x113cc, 0x113d3}, {0x113e1, 0x113e2}, {0x11400, 0x1144a}, {0x11450, 0x11459}, {0x1145e, 0x11461}, {0x11480, 0x114c5}, + {0x114c7, 0x114c7}, {0x114d0, 0x114d9}, {0x11580, 0x115b5}, {0x115b8, 0x115c0}, {0x115d8, 0x115dd}, {0x11600, 0x11640}, {0x11644, 0x11644}, {0x11650, 0x11659}, + {0x11680, 0x116b8}, {0x116c0, 0x116c9}, {0x116d0, 0x116e3}, {0x11700, 0x1171a}, {0x1171d, 0x1172b}, {0x11730, 0x11739}, {0x11740, 0x11746}, {0x11800, 0x1183a}, + {0x118a0, 0x118e9}, {0x118ff, 0x11906}, {0x11909, 0x11909}, {0x1190c, 0x11913}, {0x11915, 0x11916}, {0x11918, 0x11935}, {0x11937, 0x11938}, {0x1193b, 0x11943}, + {0x11950, 0x11959}, {0x119a0, 0x119a7}, {0x119aa, 0x119d7}, {0x119da, 0x119e1}, {0x119e3, 0x119e4}, {0x11a00, 0x11a3e}, {0x11a47, 0x11a47}, {0x11a50, 0x11a99}, + {0x11a9d, 0x11a9d}, {0x11ab0, 0x11af8}, {0x11bc0, 0x11be0}, {0x11bf0, 0x11bf9}, {0x11c00, 0x11c08}, {0x11c0a, 0x11c36}, {0x11c38, 0x11c40}, {0x11c50, 0x11c59}, + {0x11c72, 0x11c8f}, {0x11c92, 0x11ca7}, {0x11ca9, 0x11cb6}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, {0x11d0b, 0x11d36}, {0x11d3a, 0x11d3a}, {0x11d3c, 0x11d3d}, + {0x11d3f, 0x11d47}, {0x11d50, 0x11d59}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d8e}, {0x11d90, 0x11d91}, {0x11d93, 0x11d98}, {0x11da0, 0x11da9}, + {0x11ee0, 0x11ef6}, {0x11f00, 0x11f10}, {0x11f12, 0x11f3a}, {0x11f3e, 0x11f42}, {0x11f50, 0x11f5a}, {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12400, 0x1246e}, + {0x12480, 0x12543}, {0x12f90, 0x12ff0}, {0x13000, 0x1342f}, {0x13440, 0x13455}, {0x13460, 0x143fa}, {0x14400, 0x14646}, {0x16100, 0x16139}, {0x16800, 0x16a38}, + {0x16a40, 0x16a5e}, {0x16a60, 0x16a69}, {0x16a70, 0x16abe}, {0x16ac0, 0x16ac9}, {0x16ad0, 0x16aed}, {0x16af0, 0x16af4}, {0x16b00, 0x16b36}, {0x16b40, 0x16b43}, + {0x16b50, 0x16b59}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16d40, 0x16d6c}, {0x16d70, 0x16d79}, {0x16e40, 0x16e7f}, {0x16f00, 0x16f4a}, {0x16f4f, 0x16f87}, + {0x16f8f, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x16fe3, 0x16fe4}, {0x16ff0, 0x16ff1}, {0x17000, 0x187f7}, {0x18800, 0x18cd5}, {0x18cff, 0x18d08}, {0x1aff0, 0x1aff3}, + {0x1aff5, 0x1affb}, {0x1affd, 0x1affe}, {0x1b000, 0x1b122}, {0x1b132, 0x1b132}, {0x1b150, 0x1b152}, {0x1b155, 0x1b155}, {0x1b164, 0x1b167}, {0x1b170, 0x1b2fb}, + {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, {0x1bc9d, 0x1bc9e}, {0x1ccf0, 0x1ccf9}, {0x1cf00, 0x1cf2d}, {0x1cf30, 0x1cf46}, + {0x1d165, 0x1d169}, {0x1d16d, 0x1d172}, {0x1d17b, 0x1d182}, {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, {0x1d242, 0x1d244}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, + {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, + {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550}, + {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, + {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7cb}, {0x1d7ce, 0x1d7ff}, {0x1da00, 0x1da36}, {0x1da3b, 0x1da6c}, {0x1da75, 0x1da75}, + {0x1da84, 0x1da84}, {0x1da9b, 0x1da9f}, {0x1daa1, 0x1daaf}, {0x1df00, 0x1df1e}, {0x1df25, 0x1df2a}, {0x1e000, 0x1e006}, {0x1e008, 0x1e018}, {0x1e01b, 0x1e021}, + {0x1e023, 0x1e024}, {0x1e026, 0x1e02a}, {0x1e030, 0x1e06d}, {0x1e08f, 0x1e08f}, {0x1e100, 0x1e12c}, {0x1e130, 0x1e13d}, {0x1e140, 0x1e149}, {0x1e14e, 0x1e14e}, + {0x1e290, 0x1e2ae}, {0x1e2c0, 0x1e2f9}, {0x1e4d0, 0x1e4f9}, {0x1e5d0, 0x1e5fa}, {0x1e7e0, 0x1e7e6}, {0x1e7e8, 0x1e7eb}, {0x1e7ed, 0x1e7ee}, {0x1e7f0, 0x1e7fe}, + {0x1e800, 0x1e8c4}, {0x1e8d0, 0x1e8d6}, {0x1e900, 0x1e94b}, {0x1e950, 0x1e959}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, {0x1ee24, 0x1ee24}, + {0x1ee27, 0x1ee27}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee39, 0x1ee39}, {0x1ee3b, 0x1ee3b}, {0x1ee42, 0x1ee42}, {0x1ee47, 0x1ee47}, {0x1ee49, 0x1ee49}, + {0x1ee4b, 0x1ee4b}, {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee54, 0x1ee54}, {0x1ee57, 0x1ee57}, {0x1ee59, 0x1ee59}, {0x1ee5b, 0x1ee5b}, {0x1ee5d, 0x1ee5d}, + {0x1ee5f, 0x1ee5f}, {0x1ee61, 0x1ee62}, {0x1ee64, 0x1ee64}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee7e, 0x1ee7e}, + {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x1fbf0, 0x1fbf9}, {0x20000, 0x2a6df}, {0x2a700, 0x2b739}, + {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2ebf0, 0x2ee5d}, {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, {0x31350, 0x323af}, {0xe0100, 0xe01ef}, +}; static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(87); - if (lookahead == '"') ADVANCE(198); - if (lookahead == '(') ADVANCE(108); - if (lookahead == ')') ADVANCE(109); - if (lookahead == '+') ADVANCE(218); - if (lookahead == ',') ADVANCE(106); - if (lookahead == '-') ADVANCE(191); - if (lookahead == '/') ADVANCE(102); - if (lookahead == ':') ADVANCE(211); - if (lookahead == '=') ADVANCE(103); - if (lookahead == '[') ADVANCE(215); - if (lookahead == '\\') ADVANCE(11); - if (lookahead == ']') ADVANCE(216); - if (lookahead == '`') ADVANCE(84); - if (lookahead == 'd') ADVANCE(132); - if (lookahead == 'f') ADVANCE(114); - if (lookahead == 'p') ADVANCE(168); - if (lookahead == 'r') ADVANCE(140); - if (lookahead == 's') ADVANCE(142); - if (lookahead == 't') ADVANCE(169); - if (lookahead == 'u') ADVANCE(161); - if (lookahead == 'v') ADVANCE(117); - if (lookahead == '{') ADVANCE(105); - if (lookahead == '}') ADVANCE(107); + if (eof) ADVANCE(40); + ADVANCE_MAP( + '"', 99, + '(', 61, + ')', 62, + '+', 114, + ',', 59, + '-', 92, + '/', 55, + ':', 104, + '=', 56, + '@', 109, + '[', 111, + '\\', 12, + ']', 112, + '`', 37, + 'a', 76, + 'd', 66, + 'f', 63, + 's', 71, + 't', 78, + 'u', 77, + '{', 58, + '}', 60, + ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(85) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(192); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(188); + lookahead == ' ') SKIP(38); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93); + if (set_contains(sym_identifier_character_set_1, 685, lookahead)) ADVANCE(87); END_STATE(); case 1: - if (lookahead == '\n') SKIP(2) - if (lookahead == '"') ADVANCE(198); - if (lookahead == '/') ADVANCE(195); - if (lookahead == '\\') ADVANCE(11); + if (lookahead == '\n') SKIP(2); + if (lookahead == '"') ADVANCE(99); + if (lookahead == '/') ADVANCE(96); + if (lookahead == '\\') ADVANCE(12); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(196); - if (lookahead != 0) ADVANCE(197); + lookahead == ' ') ADVANCE(97); + if (lookahead != 0) ADVANCE(98); END_STATE(); case 2: - if (lookahead == '\n') SKIP(2) - if (lookahead == '/') ADVANCE(195); + if (lookahead == '\n') SKIP(2); + if (lookahead == '/') ADVANCE(96); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(196); + lookahead == ' ') ADVANCE(97); if (lookahead != 0 && lookahead != '"' && - lookahead != '\\') ADVANCE(197); + lookahead != '\\') ADVANCE(98); END_STATE(); case 3: - if (lookahead == '"') ADVANCE(194); - if (lookahead == '(') ADVANCE(108); - if (lookahead == '+') ADVANCE(10); - if (lookahead == '-') ADVANCE(191); - if (lookahead == '/') ADVANCE(6); - if (lookahead == '=') ADVANCE(103); - if (lookahead == '[') ADVANCE(215); - if (lookahead == '`') ADVANCE(84); - if (lookahead == 'f') ADVANCE(114); - if (lookahead == 's') ADVANCE(143); - if (lookahead == 't') ADVANCE(169); - if (lookahead == 'u') ADVANCE(161); - if (lookahead == '{') ADVANCE(105); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(3) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(192); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(188); + if (lookahead == '\r') ADVANCE(49); + if (lookahead == '\\') ADVANCE(45); + if (lookahead != 0) ADVANCE(48); END_STATE(); case 4: - if (lookahead == '"') ADVANCE(194); - if (lookahead == '-') ADVANCE(191); - if (lookahead == '/') ADVANCE(6); - if (lookahead == '[') ADVANCE(215); - if (lookahead == ']') ADVANCE(216); - if (lookahead == '`') ADVANCE(84); - if (lookahead == 'f') ADVANCE(114); - if (lookahead == 's') ADVANCE(143); - if (lookahead == 't') ADVANCE(169); - if (lookahead == '{') ADVANCE(105); + ADVANCE_MAP( + '"', 95, + '(', 61, + ')', 62, + '-', 92, + '/', 7, + '`', 37, + 'a', 22, + 'd', 16, + 'f', 14, + 't', 23, + '}', 60, + ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(4) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(192); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(188); + lookahead == ' ') SKIP(4); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93); END_STATE(); case 5: - if (lookahead == '"') ADVANCE(194); - if (lookahead == '/') ADVANCE(6); - if (lookahead == '`') ADVANCE(84); - if (lookahead == 'd') ADVANCE(33); - if (lookahead == 'p') ADVANCE(62); - if (lookahead == 'r') ADVANCE(34); - if (lookahead == 's') ADVANCE(59); - if (lookahead == 'v') ADVANCE(20); - if (lookahead == '}') ADVANCE(107); + ADVANCE_MAP( + '"', 95, + '(', 61, + '+', 11, + '-', 92, + '/', 7, + '=', 56, + '[', 111, + '`', 37, + 'f', 63, + 's', 71, + 't', 78, + 'u', 77, + '{', 58, + ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(5) + lookahead == ' ') SKIP(5); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93); + if (set_contains(sym_identifier_character_set_1, 685, lookahead)) ADVANCE(87); END_STATE(); case 6: - if (lookahead == '*') ADVANCE(97); - if (lookahead == '/') ADVANCE(88); + ADVANCE_MAP( + '"', 95, + '-', 92, + '/', 7, + '[', 111, + ']', 112, + '`', 37, + 'f', 63, + 's', 71, + 't', 78, + '{', 58, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(6); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93); + if (set_contains(sym_identifier_character_set_1, 685, lookahead)) ADVANCE(87); END_STATE(); case 7: - if (lookahead == '*') ADVANCE(101); - if (lookahead == '/') ADVANCE(9); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(7); - if (lookahead != 0) ADVANCE(8); + if (lookahead == '*') ADVANCE(50); + if (lookahead == '/') ADVANCE(41); END_STATE(); case 8: - if (lookahead == '*') ADVANCE(101); - if (lookahead != 0) ADVANCE(8); + if (lookahead == '*') ADVANCE(54); + if (lookahead == '/') ADVANCE(10); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(8); + if (lookahead != 0) ADVANCE(9); END_STATE(); case 9: - if (lookahead == '*') ADVANCE(98); - if (lookahead == '/') ADVANCE(89); - if (lookahead != 0) ADVANCE(8); + if (lookahead == '*') ADVANCE(54); + if (lookahead != 0) ADVANCE(9); END_STATE(); case 10: - if (lookahead == '=') ADVANCE(104); + if (lookahead == '*') ADVANCE(51); + if (lookahead == '/') ADVANCE(42); + if (lookahead != 0) ADVANCE(9); END_STATE(); case 11: - if (lookahead == 'U') ADVANCE(82); - if (lookahead == 'u') ADVANCE(78); - if (lookahead == 'x') ADVANCE(76); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(201); - if (lookahead != 0) ADVANCE(199); + if (lookahead == '=') ADVANCE(57); END_STATE(); case 12: - if (lookahead == '_') ADVANCE(72); + if (lookahead == 'U') ADVANCE(36); + if (lookahead == 'u') ADVANCE(32); + if (lookahead == 'x') ADVANCE(30); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(102); + if (lookahead != 0) ADVANCE(100); END_STATE(); case 13: - if (lookahead == '_') ADVANCE(31); + if (lookahead == '`') ADVANCE(94); + if (lookahead != 0) ADVANCE(13); END_STATE(); case 14: - if (lookahead == '_') ADVANCE(73); + if (lookahead == 'a') ADVANCE(20); END_STATE(); case 15: - if (lookahead == '_') ADVANCE(74); - END_STATE(); - case 16: - if (lookahead == '`') ADVANCE(193); - if (lookahead != 0) ADVANCE(16); - END_STATE(); - case 17: - if (lookahead == 'a') ADVANCE(71); - END_STATE(); - case 18: - if (lookahead == 'a') ADVANCE(66); - END_STATE(); - case 19: if (lookahead == 'a') ADVANCE(27); END_STATE(); + case 16: + if (lookahead == 'e') ADVANCE(19); + END_STATE(); + case 17: + if (lookahead == 'e') ADVANCE(88); + END_STATE(); + case 18: + if (lookahead == 'e') ADVANCE(90); + END_STATE(); + case 19: + if (lookahead == 'f') ADVANCE(15); + END_STATE(); case 20: - if (lookahead == 'a') ADVANCE(61); + if (lookahead == 'l') ADVANCE(24); END_STATE(); case 21: - if (lookahead == 'a') ADVANCE(56); + if (lookahead == 'l') ADVANCE(25); END_STATE(); case 22: - if (lookahead == 'a') ADVANCE(63); + if (lookahead == 'n') ADVANCE(28); END_STATE(); case 23: - if (lookahead == 'a') ADVANCE(28); + if (lookahead == 'r') ADVANCE(26); END_STATE(); case 24: - if (lookahead == 'a') ADVANCE(64); + if (lookahead == 's') ADVANCE(18); END_STATE(); case 25: - if (lookahead == 'a') ADVANCE(29); + if (lookahead == 't') ADVANCE(107); END_STATE(); case 26: - if (lookahead == 'a') ADVANCE(65); + if (lookahead == 'u') ADVANCE(17); END_STATE(); case 27: - if (lookahead == 'b') ADVANCE(51); + if (lookahead == 'u') ADVANCE(21); END_STATE(); case 28: - if (lookahead == 'b') ADVANCE(52); + if (lookahead == 'y') ADVANCE(105); END_STATE(); case 29: - if (lookahead == 'b') ADVANCE(53); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(100); END_STATE(); case 30: - if (lookahead == 'c') ADVANCE(69); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(29); END_STATE(); case 31: - if (lookahead == 'c') ADVANCE(60); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(30); END_STATE(); case 32: - if (lookahead == 'd') ADVANCE(70); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(31); END_STATE(); case 33: - if (lookahead == 'e') ADVANCE(40); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(32); END_STATE(); case 34: - if (lookahead == 'e') ADVANCE(50); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(33); END_STATE(); case 35: - if (lookahead == 'e') ADVANCE(203); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(34); END_STATE(); case 36: - if (lookahead == 'e') ADVANCE(205); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(35); END_STATE(); case 37: - if (lookahead == 'e') ADVANCE(209); + if (lookahead != 0 && + lookahead != '`') ADVANCE(13); END_STATE(); case 38: - if (lookahead == 'e') ADVANCE(18); + if (eof) ADVANCE(40); + ADVANCE_MAP( + '"', 95, + '(', 61, + ')', 62, + '+', 114, + ',', 59, + '-', 92, + '/', 55, + ':', 104, + '=', 56, + '@', 109, + '[', 111, + ']', 112, + '`', 37, + 'a', 76, + 'd', 66, + 'f', 63, + 's', 71, + 't', 78, + 'u', 77, + '{', 58, + '}', 60, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(38); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93); + if (set_contains(sym_identifier_character_set_1, 685, lookahead)) ADVANCE(87); END_STATE(); case 39: - if (lookahead == 'e') ADVANCE(14); + if (eof) ADVANCE(40); + ADVANCE_MAP( + '"', 95, + '(', 61, + ')', 62, + '+', 113, + ',', 59, + '/', 7, + ':', 104, + ']', 112, + '`', 37, + '}', 60, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(39); + if (set_contains(sym_identifier_character_set_1, 685, lookahead)) ADVANCE(87); END_STATE(); case 40: - if (lookahead == 'f') ADVANCE(17); - END_STATE(); - case 41: - if (lookahead == 'f') ADVANCE(46); - END_STATE(); - case 42: - if (lookahead == 'g') ADVANCE(13); - END_STATE(); - case 43: - if (lookahead == 'g') ADVANCE(15); - END_STATE(); - case 44: - if (lookahead == 'i') ADVANCE(21); - END_STATE(); - case 45: - if (lookahead == 'i') ADVANCE(19); - END_STATE(); - case 46: - if (lookahead == 'i') ADVANCE(43); - END_STATE(); - case 47: - if (lookahead == 'i') ADVANCE(23); - END_STATE(); - case 48: - if (lookahead == 'i') ADVANCE(25); - END_STATE(); - case 49: - if (lookahead == 'l') ADVANCE(67); - END_STATE(); - case 50: - if (lookahead == 'l') ADVANCE(38); - END_STATE(); - case 51: - if (lookahead == 'l') ADVANCE(35); - END_STATE(); - case 52: - if (lookahead == 'l') ADVANCE(36); - END_STATE(); - case 53: - if (lookahead == 'l') ADVANCE(37); - END_STATE(); - case 54: - if (lookahead == 'n') ADVANCE(42); - END_STATE(); - case 55: - if (lookahead == 'n') ADVANCE(41); - END_STATE(); - case 56: - if (lookahead == 'n') ADVANCE(68); - END_STATE(); - case 57: - if (lookahead == 'o') ADVANCE(32); - END_STATE(); - case 58: - if (lookahead == 'o') ADVANCE(54); - END_STATE(); - case 59: - if (lookahead == 'o') ADVANCE(58); - END_STATE(); - case 60: - if (lookahead == 'o') ADVANCE(55); - END_STATE(); - case 61: - if (lookahead == 'r') ADVANCE(44); - END_STATE(); - case 62: - if (lookahead == 'r') ADVANCE(57); - END_STATE(); - case 63: - if (lookahead == 'r') ADVANCE(45); - END_STATE(); - case 64: - if (lookahead == 'r') ADVANCE(47); - END_STATE(); - case 65: - if (lookahead == 'r') ADVANCE(48); - END_STATE(); - case 66: - if (lookahead == 's') ADVANCE(39); - END_STATE(); - case 67: - if (lookahead == 't') ADVANCE(212); - END_STATE(); - case 68: - if (lookahead == 't') ADVANCE(207); - END_STATE(); - case 69: - if (lookahead == 't') ADVANCE(12); - END_STATE(); - case 70: - if (lookahead == 'u') ADVANCE(30); - END_STATE(); - case 71: - if (lookahead == 'u') ADVANCE(49); - END_STATE(); - case 72: - if (lookahead == 'v') ADVANCE(22); - END_STATE(); - case 73: - if (lookahead == 'v') ADVANCE(24); - END_STATE(); - case 74: - if (lookahead == 'v') ADVANCE(26); - END_STATE(); - case 75: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(199); - END_STATE(); - case 76: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(75); - END_STATE(); - case 77: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(76); - END_STATE(); - case 78: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(77); - END_STATE(); - case 79: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(78); - END_STATE(); - case 80: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(79); - END_STATE(); - case 81: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(80); - END_STATE(); - case 82: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(81); - END_STATE(); - case 83: - if (lookahead != 0 && - lookahead != '\r' && - lookahead != '\\') ADVANCE(94); - if (lookahead == '\r') ADVANCE(96); - if (lookahead == '\\') ADVANCE(95); - END_STATE(); - case 84: - if (lookahead != 0 && - lookahead != '`') ADVANCE(16); - END_STATE(); - case 85: - if (eof) ADVANCE(87); - if (lookahead == '"') ADVANCE(194); - if (lookahead == '(') ADVANCE(108); - if (lookahead == ')') ADVANCE(109); - if (lookahead == '+') ADVANCE(218); - if (lookahead == ',') ADVANCE(106); - if (lookahead == '-') ADVANCE(191); - if (lookahead == '/') ADVANCE(102); - if (lookahead == ':') ADVANCE(211); - if (lookahead == '=') ADVANCE(103); - if (lookahead == '[') ADVANCE(215); - if (lookahead == ']') ADVANCE(216); - if (lookahead == '`') ADVANCE(84); - if (lookahead == 'd') ADVANCE(132); - if (lookahead == 'f') ADVANCE(114); - if (lookahead == 'p') ADVANCE(168); - if (lookahead == 'r') ADVANCE(140); - if (lookahead == 's') ADVANCE(142); - if (lookahead == 't') ADVANCE(169); - if (lookahead == 'u') ADVANCE(161); - if (lookahead == 'v') ADVANCE(117); - if (lookahead == '{') ADVANCE(105); - if (lookahead == '}') ADVANCE(107); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(85) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(192); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(188); - END_STATE(); - case 86: - if (eof) ADVANCE(87); - if (lookahead == '"') ADVANCE(194); - if (lookahead == ')') ADVANCE(109); - if (lookahead == '+') ADVANCE(217); - if (lookahead == ',') ADVANCE(106); - if (lookahead == '/') ADVANCE(6); - if (lookahead == ':') ADVANCE(211); - if (lookahead == ']') ADVANCE(216); - if (lookahead == '`') ADVANCE(84); - if (lookahead == '}') ADVANCE(107); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(86) - if (sym_identifier_character_set_1(lookahead)) ADVANCE(188); - END_STATE(); - case 87: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 88: + case 41: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); END_STATE(); - case 89: + case 42: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); - if (lookahead == '*') ADVANCE(101); - if (lookahead != 0) ADVANCE(8); + if (lookahead == '*') ADVANCE(54); + if (lookahead != 0) ADVANCE(9); END_STATE(); - case 90: + case 43: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); - if (lookahead == '\\') ADVANCE(83); + if (lookahead == '\\') ADVANCE(3); if (lookahead != 0 && - lookahead != '\n') ADVANCE(94); + lookahead != '\n') ADVANCE(48); END_STATE(); - case 91: + case 44: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(197); + lookahead != '\\') ADVANCE(98); END_STATE(); - case 92: + case 45: ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead == '*') ADVANCE(99); - if (lookahead == '/') ADVANCE(90); - if (lookahead == '\\') ADVANCE(83); + if (lookahead == '\r') ADVANCE(49); + if (lookahead == '\\') ADVANCE(45); + if (lookahead != 0) ADVANCE(48); + END_STATE(); + case 46: + ACCEPT_TOKEN(aux_sym_comment_token1); + if (lookahead == '*') ADVANCE(52); + if (lookahead == '/') ADVANCE(43); + if (lookahead == '\\') ADVANCE(3); if (lookahead != 0 && - lookahead != '\n') ADVANCE(94); + lookahead != '\n') ADVANCE(48); END_STATE(); - case 93: + case 47: ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead == '/') ADVANCE(92); - if (lookahead == '\\') ADVANCE(83); + if (lookahead == '/') ADVANCE(46); + if (lookahead == '\\') ADVANCE(3); if (lookahead == '\t' || - (11 <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(93); + (0x0b <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(47); if (lookahead != 0 && - lookahead != '\n') ADVANCE(94); + (lookahead < '\t' || '\r' < lookahead)) ADVANCE(48); END_STATE(); - case 94: + case 48: ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead == '\\') ADVANCE(83); + if (lookahead == '\\') ADVANCE(3); if (lookahead != 0 && - lookahead != '\n') ADVANCE(94); + lookahead != '\n') ADVANCE(48); END_STATE(); - case 95: + case 49: ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead != 0 && - lookahead != '\r' && - lookahead != '\\') ADVANCE(94); - if (lookahead == '\r') ADVANCE(96); - if (lookahead == '\\') ADVANCE(95); + if (lookahead == '\\') ADVANCE(3); + if (lookahead != 0) ADVANCE(48); END_STATE(); - case 96: - ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead != 0 && - lookahead != '\\') ADVANCE(94); - if (lookahead == '\\') ADVANCE(83); - END_STATE(); - case 97: + case 50: ACCEPT_TOKEN(anon_sym_SLASH_STAR); END_STATE(); - case 98: + case 51: ACCEPT_TOKEN(anon_sym_SLASH_STAR); - if (lookahead == '*') ADVANCE(101); + if (lookahead == '*') ADVANCE(54); if (lookahead != 0 && - lookahead != '/') ADVANCE(8); + lookahead != '/') ADVANCE(9); END_STATE(); - case 99: + case 52: ACCEPT_TOKEN(anon_sym_SLASH_STAR); - if (lookahead == '\\') ADVANCE(83); + if (lookahead == '\\') ADVANCE(3); if (lookahead != 0 && - lookahead != '\n') ADVANCE(94); + lookahead != '\n') ADVANCE(48); END_STATE(); - case 100: + case 53: ACCEPT_TOKEN(anon_sym_SLASH_STAR); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(197); + lookahead != '\\') ADVANCE(98); END_STATE(); - case 101: + case 54: ACCEPT_TOKEN(aux_sym_comment_token2); - if (lookahead == '*') ADVANCE(101); + if (lookahead == '*') ADVANCE(54); if (lookahead != 0 && - lookahead != '/') ADVANCE(8); + lookahead != '/') ADVANCE(9); END_STATE(); - case 102: + case 55: ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '*') ADVANCE(97); - if (lookahead == '/') ADVANCE(88); + if (lookahead == '*') ADVANCE(50); + if (lookahead == '/') ADVANCE(41); END_STATE(); - case 103: + case 56: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); - case 104: + case 57: ACCEPT_TOKEN(anon_sym_PLUS_EQ); END_STATE(); - case 105: + case 58: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 106: + case 59: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 107: + case 60: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 108: + case 61: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 109: + case 62: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 110: + case 63: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '_') ADVANCE(185); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(188); + if (lookahead == 'a') ADVANCE(75); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 111: + case 64: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '_') ADVANCE(129); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(188); + if (lookahead == 'a') ADVANCE(84); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 112: + case 65: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '_') ADVANCE(186); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(188); + if (lookahead == 'c') ADVANCE(82); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 113: + case 66: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '_') ADVANCE(187); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(188); + if (lookahead == 'e') ADVANCE(72); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 114: + case 67: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(160); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); + if (lookahead == 'e') ADVANCE(65); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 115: + case 68: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(125); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); + if (lookahead == 'e') ADVANCE(89); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 116: + case 69: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(182); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); + if (lookahead == 'e') ADVANCE(81); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 117: + case 70: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(170); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); + if (lookahead == 'e') ADVANCE(91); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 118: + case 71: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(164); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); + if (lookahead == 'e') ADVANCE(73); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 119: + case 72: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(171); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); + if (lookahead == 'f') ADVANCE(64); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 120: + case 73: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(176); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); + if (lookahead == 'l') ADVANCE(67); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 121: + case 74: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(126); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); + if (lookahead == 'l') ADVANCE(83); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 122: + case 75: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(172); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); + if (lookahead == 'l') ADVANCE(80); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 123: + case 76: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(127); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); + if (lookahead == 'n') ADVANCE(86); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 124: + case 77: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(173); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); + if (lookahead == 'n') ADVANCE(79); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 125: + case 78: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'b') ADVANCE(157); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); + if (lookahead == 'r') ADVANCE(85); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 126: + case 79: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'b') ADVANCE(158); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); + if (lookahead == 's') ADVANCE(69); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 127: + case 80: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'b') ADVANCE(159); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); + if (lookahead == 's') ADVANCE(70); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 128: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'c') ADVANCE(178); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 129: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'c') ADVANCE(167); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 130: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'c') ADVANCE(181); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 131: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'd') ADVANCE(184); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 132: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(146); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 133: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(128); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 134: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(189); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 135: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(177); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 136: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(190); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 137: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(204); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 138: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(206); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 139: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(210); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 140: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(154); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 141: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(120); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 142: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(156); - if (lookahead == 'o') ADVANCE(166); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 143: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(156); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 144: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(112); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 145: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'f') ADVANCE(151); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 146: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'f') ADVANCE(116); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 147: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'g') ADVANCE(111); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 148: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'g') ADVANCE(113); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 149: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(118); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 150: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(115); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 151: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(148); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 152: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(121); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 153: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(123); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 154: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(141); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 155: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(179); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 156: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(133); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 157: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(137); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 158: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(138); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 159: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(139); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 160: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(175); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 161: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(174); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 162: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(147); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 163: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(145); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 164: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(180); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 165: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(131); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 166: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(162); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 167: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(163); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 168: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(165); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 169: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(183); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 170: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(149); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 171: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(150); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 172: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(152); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 173: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(153); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 174: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(135); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 175: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(136); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 176: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(144); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 177: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(214); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 178: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(202); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 179: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(213); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 180: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(208); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 181: + case 81: ACCEPT_TOKEN(sym_identifier); if (lookahead == 't') ADVANCE(110); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 182: + case 82: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(155); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); + if (lookahead == 't') ADVANCE(103); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 183: + case 83: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(134); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); + if (lookahead == 't') ADVANCE(108); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 184: + case 84: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(130); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); + if (lookahead == 'u') ADVANCE(74); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 185: + case 85: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'v') ADVANCE(119); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); + if (lookahead == 'u') ADVANCE(68); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 186: + case 86: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'v') ADVANCE(122); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); + if (lookahead == 'y') ADVANCE(106); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 187: + case 87: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'v') ADVANCE(124); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 188: - ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 189: + case 88: ACCEPT_TOKEN(anon_sym_true); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); - case 190: + case 89: + ACCEPT_TOKEN(anon_sym_true); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); + END_STATE(); + case 90: ACCEPT_TOKEN(anon_sym_false); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); - case 191: + case 91: + ACCEPT_TOKEN(anon_sym_false); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); + END_STATE(); + case 92: ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); - case 192: + case 93: ACCEPT_TOKEN(aux_sym_integer_literal_token1); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(192); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93); END_STATE(); - case 193: + case 94: ACCEPT_TOKEN(sym_raw_string_literal); END_STATE(); - case 194: + case 95: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); - case 195: + case 96: ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); - if (lookahead == '*') ADVANCE(100); - if (lookahead == '/') ADVANCE(91); + if (lookahead == '*') ADVANCE(53); + if (lookahead == '/') ADVANCE(44); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(197); + lookahead != '\\') ADVANCE(98); END_STATE(); - case 196: + case 97: ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); - if (lookahead == '/') ADVANCE(195); + if (lookahead == '/') ADVANCE(96); if (lookahead == '\t' || - (11 <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(196); + (0x0b <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(97); if (lookahead != 0 && - lookahead != '\n' && + (lookahead < '\t' || '\r' < lookahead) && lookahead != '"' && - lookahead != '\\') ADVANCE(197); + lookahead != '\\') ADVANCE(98); END_STATE(); - case 197: + case 98: ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(197); + lookahead != '\\') ADVANCE(98); END_STATE(); - case 198: + case 99: ACCEPT_TOKEN(anon_sym_DQUOTE2); END_STATE(); - case 199: + case 100: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); - case 200: + case 101: ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(199); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(100); END_STATE(); - case 201: + case 102: ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(200); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(101); END_STATE(); - case 202: + case 103: ACCEPT_TOKEN(anon_sym_select); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 203: - ACCEPT_TOKEN(anon_sym_product_variable); - END_STATE(); - case 204: - ACCEPT_TOKEN(anon_sym_product_variable); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 205: - ACCEPT_TOKEN(anon_sym_release_variable); - END_STATE(); - case 206: - ACCEPT_TOKEN(anon_sym_release_variable); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 207: - ACCEPT_TOKEN(anon_sym_variant); - END_STATE(); - case 208: - ACCEPT_TOKEN(anon_sym_variant); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 209: - ACCEPT_TOKEN(anon_sym_soong_config_variable); - END_STATE(); - case 210: - ACCEPT_TOKEN(anon_sym_soong_config_variable); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); - END_STATE(); - case 211: + case 104: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 212: + case 105: + ACCEPT_TOKEN(anon_sym_any); + END_STATE(); + case 106: + ACCEPT_TOKEN(anon_sym_any); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); + END_STATE(); + case 107: ACCEPT_TOKEN(anon_sym_default); END_STATE(); - case 213: + case 108: ACCEPT_TOKEN(anon_sym_default); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 214: + case 109: + ACCEPT_TOKEN(anon_sym_AT); + END_STATE(); + case 110: ACCEPT_TOKEN(anon_sym_unset); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); + if (set_contains(sym_identifier_character_set_2, 800, lookahead)) ADVANCE(87); END_STATE(); - case 215: + case 111: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 216: + case 112: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 217: + case 113: ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); - case 218: + case 114: ACCEPT_TOKEN(anon_sym_PLUS); - if (lookahead == '=') ADVANCE(104); + if (lookahead == '=') ADVANCE(57); END_STATE(); default: return false; } } -static const TSLexMode ts_lex_modes[STATE_COUNT] = { +static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 86}, - [2] = {.lex_state = 3}, - [3] = {.lex_state = 3}, - [4] = {.lex_state = 4}, - [5] = {.lex_state = 4}, - [6] = {.lex_state = 4}, - [7] = {.lex_state = 4}, - [8] = {.lex_state = 4}, - [9] = {.lex_state = 4}, - [10] = {.lex_state = 4}, + [1] = {.lex_state = 39}, + [2] = {.lex_state = 5}, + [3] = {.lex_state = 6}, + [4] = {.lex_state = 6}, + [5] = {.lex_state = 6}, + [6] = {.lex_state = 6}, + [7] = {.lex_state = 6}, + [8] = {.lex_state = 6}, + [9] = {.lex_state = 6}, + [10] = {.lex_state = 6}, [11] = {.lex_state = 4}, - [12] = {.lex_state = 5}, - [13] = {.lex_state = 5}, - [14] = {.lex_state = 5}, - [15] = {.lex_state = 86}, - [16] = {.lex_state = 86}, - [17] = {.lex_state = 86}, - [18] = {.lex_state = 86}, - [19] = {.lex_state = 86}, - [20] = {.lex_state = 86}, - [21] = {.lex_state = 86}, - [22] = {.lex_state = 86}, - [23] = {.lex_state = 86}, - [24] = {.lex_state = 86}, - [25] = {.lex_state = 86}, - [26] = {.lex_state = 86}, - [27] = {.lex_state = 86}, - [28] = {.lex_state = 86}, - [29] = {.lex_state = 86}, - [30] = {.lex_state = 86}, - [31] = {.lex_state = 86}, - [32] = {.lex_state = 86}, - [33] = {.lex_state = 86}, - [34] = {.lex_state = 86}, - [35] = {.lex_state = 86}, - [36] = {.lex_state = 5}, - [37] = {.lex_state = 86}, - [38] = {.lex_state = 86}, - [39] = {.lex_state = 1}, - [40] = {.lex_state = 86}, + [12] = {.lex_state = 4}, + [13] = {.lex_state = 4}, + [14] = {.lex_state = 4}, + [15] = {.lex_state = 4}, + [16] = {.lex_state = 4}, + [17] = {.lex_state = 4}, + [18] = {.lex_state = 4}, + [19] = {.lex_state = 39}, + [20] = {.lex_state = 39}, + [21] = {.lex_state = 39}, + [22] = {.lex_state = 39}, + [23] = {.lex_state = 39}, + [24] = {.lex_state = 39}, + [25] = {.lex_state = 39}, + [26] = {.lex_state = 39}, + [27] = {.lex_state = 39}, + [28] = {.lex_state = 39}, + [29] = {.lex_state = 39}, + [30] = {.lex_state = 39}, + [31] = {.lex_state = 39}, + [32] = {.lex_state = 39}, + [33] = {.lex_state = 39}, + [34] = {.lex_state = 39}, + [35] = {.lex_state = 39}, + [36] = {.lex_state = 39}, + [37] = {.lex_state = 39}, + [38] = {.lex_state = 39}, + [39] = {.lex_state = 39}, + [40] = {.lex_state = 39}, [41] = {.lex_state = 1}, - [42] = {.lex_state = 86}, - [43] = {.lex_state = 1}, - [44] = {.lex_state = 3}, - [45] = {.lex_state = 5}, + [42] = {.lex_state = 5}, + [43] = {.lex_state = 39}, + [44] = {.lex_state = 1}, + [45] = {.lex_state = 39}, [46] = {.lex_state = 0}, - [47] = {.lex_state = 0}, - [48] = {.lex_state = 86}, - [49] = {.lex_state = 86}, - [50] = {.lex_state = 86}, + [47] = {.lex_state = 39}, + [48] = {.lex_state = 1}, + [49] = {.lex_state = 0}, + [50] = {.lex_state = 39}, [51] = {.lex_state = 0}, - [52] = {.lex_state = 86}, - [53] = {.lex_state = 1}, - [54] = {.lex_state = 0}, - [55] = {.lex_state = 0}, - [56] = {.lex_state = 86}, - [57] = {.lex_state = 0}, - [58] = {.lex_state = 86}, + [52] = {.lex_state = 0}, + [53] = {.lex_state = 39}, + [54] = {.lex_state = 39}, + [55] = {.lex_state = 39}, + [56] = {.lex_state = 0}, + [57] = {.lex_state = 39}, + [58] = {.lex_state = 39}, [59] = {.lex_state = 0}, - [60] = {.lex_state = 0}, - [61] = {.lex_state = 86}, - [62] = {.lex_state = 86}, - [63] = {.lex_state = 86}, + [60] = {.lex_state = 39}, + [61] = {.lex_state = 0}, + [62] = {.lex_state = 39}, + [63] = {.lex_state = 0}, [64] = {.lex_state = 0}, - [65] = {.lex_state = 86}, - [66] = {.lex_state = 86}, + [65] = {.lex_state = 0}, + [66] = {.lex_state = 39}, [67] = {.lex_state = 0}, - [68] = {.lex_state = 86}, - [69] = {.lex_state = 86}, - [70] = {.lex_state = 86}, - [71] = {.lex_state = 86}, + [68] = {.lex_state = 0}, + [69] = {.lex_state = 0}, + [70] = {.lex_state = 39}, + [71] = {.lex_state = 39}, [72] = {.lex_state = 0}, - [73] = {.lex_state = 0}, - [74] = {.lex_state = 86}, - [75] = {.lex_state = 86}, - [76] = {.lex_state = 86}, - [77] = {.lex_state = 86}, - [78] = {.lex_state = 86}, - [79] = {.lex_state = 86}, - [80] = {.lex_state = 86}, - [81] = {.lex_state = 0}, - [82] = {.lex_state = 86}, - [83] = {.lex_state = 86}, - [84] = {.lex_state = 86}, - [85] = {.lex_state = 86}, - [86] = {.lex_state = 86}, - [87] = {.lex_state = 86}, - [88] = {.lex_state = 86}, - [89] = {.lex_state = 86}, - [90] = {.lex_state = 0}, + [73] = {.lex_state = 39}, + [74] = {.lex_state = 0}, + [75] = {.lex_state = 0}, + [76] = {.lex_state = 0}, + [77] = {.lex_state = 39}, + [78] = {.lex_state = 0}, + [79] = {.lex_state = 0}, + [80] = {.lex_state = 0}, + [81] = {.lex_state = 39}, + [82] = {.lex_state = 0}, + [83] = {.lex_state = 0}, + [84] = {.lex_state = 0}, + [85] = {.lex_state = 39}, + [86] = {.lex_state = 0}, + [87] = {.lex_state = 0}, + [88] = {.lex_state = 39}, + [89] = {.lex_state = 1}, + [90] = {.lex_state = 39}, [91] = {.lex_state = 0}, - [92] = {.lex_state = 0}, - [93] = {.lex_state = 0}, + [92] = {.lex_state = 39}, + [93] = {.lex_state = 39}, [94] = {.lex_state = 0}, - [95] = {.lex_state = 0}, + [95] = {.lex_state = 39}, [96] = {.lex_state = 0}, [97] = {.lex_state = 0}, - [98] = {.lex_state = 0}, + [98] = {.lex_state = 39}, [99] = {.lex_state = 0}, - [100] = {.lex_state = 0}, - [101] = {.lex_state = 0}, - [102] = {.lex_state = 0}, + [100] = {.lex_state = 39}, + [101] = {.lex_state = 39}, + [102] = {.lex_state = 39}, [103] = {.lex_state = 0}, - [104] = {.lex_state = 0}, - [105] = {.lex_state = 0}, - [106] = {.lex_state = 0}, + [104] = {.lex_state = 39}, + [105] = {.lex_state = 39}, + [106] = {.lex_state = 39}, [107] = {.lex_state = 0}, - [108] = {.lex_state = 0}, - [109] = {.lex_state = 93}, + [108] = {.lex_state = 39}, + [109] = {.lex_state = 39}, [110] = {.lex_state = 0}, - [111] = {.lex_state = 0}, + [111] = {.lex_state = 39}, [112] = {.lex_state = 0}, - [113] = {.lex_state = 0}, - [114] = {.lex_state = 7}, + [113] = {.lex_state = 39}, + [114] = {.lex_state = 0}, [115] = {.lex_state = 0}, - [116] = {.lex_state = 0}, - [117] = {.lex_state = 0}, - [118] = {.lex_state = 0}, + [116] = {.lex_state = 39}, + [117] = {.lex_state = 39}, + [118] = {.lex_state = 39}, [119] = {.lex_state = 0}, - [120] = {.lex_state = 0}, - [121] = {(TSStateId)(-1)}, - [122] = {(TSStateId)(-1)}, + [120] = {.lex_state = 47}, + [121] = {.lex_state = 0}, + [122] = {.lex_state = 0}, + [123] = {.lex_state = 39}, + [124] = {.lex_state = 0}, + [125] = {.lex_state = 0}, + [126] = {.lex_state = 0}, + [127] = {.lex_state = 0}, + [128] = {.lex_state = 0}, + [129] = {.lex_state = 0}, + [130] = {.lex_state = 0}, + [131] = {.lex_state = 8}, + [132] = {.lex_state = 0}, + [133] = {.lex_state = 0}, + [134] = {.lex_state = 0}, + [135] = {.lex_state = 0}, + [136] = {.lex_state = 0}, + [137] = {.lex_state = 0}, + [138] = {.lex_state = 0}, + [139] = {.lex_state = 0}, + [140] = {.lex_state = 0}, + [141] = {.lex_state = 0}, + [142] = {.lex_state = 0}, + [143] = {.lex_state = 0}, + [144] = {.lex_state = 0}, + [145] = {(TSStateId)(-1),}, + [146] = {(TSStateId)(-1),}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { - [0] = { + [STATE(0)] = { [sym_comment] = STATE(0), [ts_builtin_sym_end] = ACTIONS(1), [anon_sym_SLASH_SLASH] = ACTIONS(3), @@ -5775,26 +1777,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DQUOTE2] = ACTIONS(1), [sym_escape_sequence] = ACTIONS(1), [anon_sym_select] = ACTIONS(1), - [anon_sym_product_variable] = ACTIONS(1), - [anon_sym_release_variable] = ACTIONS(1), - [anon_sym_variant] = ACTIONS(1), - [anon_sym_soong_config_variable] = ACTIONS(1), [anon_sym_COLON] = ACTIONS(1), + [anon_sym_any] = ACTIONS(1), [anon_sym_default] = ACTIONS(1), + [anon_sym_AT] = ACTIONS(1), [anon_sym_unset] = ACTIONS(1), [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), [anon_sym_PLUS] = ACTIONS(1), }, - [1] = { - [sym_source_file] = STATE(110), - [sym__definition] = STATE(77), + [STATE(1)] = { + [sym_source_file] = STATE(130), + [sym__definition] = STATE(106), [sym_comment] = STATE(1), - [sym_assignment] = STATE(79), - [sym_module] = STATE(79), - [sym__old_module] = STATE(80), - [sym__new_module] = STATE(84), - [aux_sym_source_file_repeat1] = STATE(17), + [sym_assignment] = STATE(108), + [sym_module] = STATE(108), + [sym__old_module] = STATE(104), + [sym__new_module] = STATE(109), + [aux_sym_source_file_repeat1] = STATE(19), [ts_builtin_sym_end] = ACTIONS(7), [anon_sym_SLASH_SLASH] = ACTIONS(3), [anon_sym_SLASH_STAR] = ACTIONS(5), @@ -5828,16 +1828,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, STATE(2), 1, sym_comment, - STATE(19), 1, + STATE(26), 1, sym_interpreted_string_literal, - STATE(75), 1, + STATE(85), 1, sym__expr, - STATE(119), 1, + STATE(114), 1, sym__case_value, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(26), 7, + STATE(27), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5845,49 +1845,7 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [59] = 17, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_DASH, - ACTIONS(19), 1, - aux_sym_integer_literal_token1, - ACTIONS(21), 1, - sym_raw_string_literal, - ACTIONS(23), 1, - anon_sym_DQUOTE, - ACTIONS(25), 1, - anon_sym_select, - ACTIONS(27), 1, - anon_sym_unset, - ACTIONS(29), 1, - anon_sym_LBRACK, - STATE(3), 1, - sym_comment, - STATE(19), 1, - sym_interpreted_string_literal, - STATE(75), 1, - sym__expr, - STATE(118), 1, - sym__case_value, - ACTIONS(15), 2, - anon_sym_true, - anon_sym_false, - STATE(26), 7, - sym_boolean_literal, - sym_integer_literal, - sym__string_literal, - sym_select_expression, - sym_list_expression, - sym_map_expression, - sym_binary_expression, - [118] = 16, + [59] = 16, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -5910,16 +1868,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(31), 1, anon_sym_RBRACK, - STATE(4), 1, + STATE(3), 1, sym_comment, - STATE(19), 1, + STATE(26), 1, sym_interpreted_string_literal, - STATE(56), 1, + STATE(62), 1, sym__expr, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(26), 7, + STATE(27), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5927,7 +1885,7 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [174] = 16, + [115] = 16, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -5950,16 +1908,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(33), 1, anon_sym_RBRACK, - STATE(5), 1, + STATE(4), 1, sym_comment, - STATE(19), 1, + STATE(26), 1, sym_interpreted_string_literal, - STATE(42), 1, + STATE(47), 1, sym__expr, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(26), 7, + STATE(27), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -5967,7 +1925,7 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [230] = 16, + [171] = 16, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -5990,16 +1948,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(35), 1, anon_sym_RBRACK, - STATE(6), 1, + STATE(5), 1, sym_comment, - STATE(19), 1, + STATE(26), 1, sym_interpreted_string_literal, - STATE(56), 1, + STATE(62), 1, sym__expr, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(26), 7, + STATE(27), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -6007,7 +1965,45 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [286] = 15, + [227] = 15, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + aux_sym_integer_literal_token1, + ACTIONS(21), 1, + sym_raw_string_literal, + ACTIONS(23), 1, + anon_sym_DQUOTE, + ACTIONS(25), 1, + anon_sym_select, + ACTIONS(29), 1, + anon_sym_LBRACK, + STATE(6), 1, + sym_comment, + STATE(26), 1, + sym_interpreted_string_literal, + STATE(31), 1, + sym__expr, + ACTIONS(15), 2, + anon_sym_true, + anon_sym_false, + STATE(27), 7, + sym_boolean_literal, + sym_integer_literal, + sym__string_literal, + sym_select_expression, + sym_list_expression, + sym_map_expression, + sym_binary_expression, + [280] = 15, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6030,14 +2026,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, STATE(7), 1, sym_comment, - STATE(19), 1, + STATE(26), 1, sym_interpreted_string_literal, - STATE(65), 1, + STATE(57), 1, sym__expr, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(26), 7, + STATE(27), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -6045,7 +2041,7 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [339] = 15, + [333] = 15, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6068,14 +2064,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, STATE(8), 1, sym_comment, - STATE(19), 1, + STATE(26), 1, sym_interpreted_string_literal, - STATE(62), 1, + STATE(54), 1, sym__expr, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(26), 7, + STATE(27), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -6083,7 +2079,7 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [392] = 15, + [386] = 15, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6106,14 +2102,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, STATE(9), 1, sym_comment, - STATE(19), 1, + STATE(26), 1, sym_interpreted_string_literal, - STATE(28), 1, + STATE(53), 1, sym__expr, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(26), 7, + STATE(27), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -6121,7 +2117,7 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [445] = 15, + [439] = 15, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6144,14 +2140,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, STATE(10), 1, sym_comment, - STATE(19), 1, + STATE(26), 1, sym_interpreted_string_literal, - STATE(56), 1, + STATE(62), 1, sym__expr, ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(26), 7, + STATE(27), 7, sym_boolean_literal, sym_integer_literal, sym__string_literal, @@ -6159,15 +2155,11 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [498] = 15, + [492] = 17, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - sym_identifier, ACTIONS(17), 1, anon_sym_DASH, ACTIONS(19), 1, @@ -6176,131 +2168,276 @@ static const uint16_t ts_small_parse_table[] = { sym_raw_string_literal, ACTIONS(23), 1, anon_sym_DQUOTE, - ACTIONS(25), 1, - anon_sym_select, - ACTIONS(29), 1, - anon_sym_LBRACK, - STATE(11), 1, - sym_comment, - STATE(19), 1, - sym_interpreted_string_literal, - STATE(58), 1, - sym__expr, - ACTIONS(15), 2, - anon_sym_true, - anon_sym_false, - STATE(26), 7, - sym_boolean_literal, - sym_integer_literal, - sym__string_literal, - sym_select_expression, - sym_list_expression, - sym_map_expression, - sym_binary_expression, - [551] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(21), 1, - sym_raw_string_literal, - ACTIONS(23), 1, - anon_sym_DQUOTE, ACTIONS(37), 1, anon_sym_RBRACE, ACTIONS(39), 1, + anon_sym_LPAREN, + ACTIONS(43), 1, + anon_sym_any, + ACTIONS(45), 1, anon_sym_default, - STATE(12), 1, + STATE(11), 1, sym_comment, - STATE(14), 1, - aux_sym_select_cases_repeat1, - STATE(19), 1, + STATE(26), 1, sym_interpreted_string_literal, - STATE(102), 1, - sym__string_literal, - STATE(103), 1, + STATE(110), 1, sym_select_case, - STATE(113), 1, - sym_default_case, - [588] = 12, + STATE(137), 1, + sym_select_pattern, + STATE(138), 1, + sym__select_pattern, + ACTIONS(41), 2, + anon_sym_true, + anon_sym_false, + STATE(75), 4, + sym_boolean_literal, + sym_integer_literal, + sym__string_literal, + sym_pattern_binding, + [548] = 17, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + aux_sym_integer_literal_token1, ACTIONS(21), 1, sym_raw_string_literal, ACTIONS(23), 1, anon_sym_DQUOTE, ACTIONS(39), 1, + anon_sym_LPAREN, + ACTIONS(43), 1, + anon_sym_any, + ACTIONS(45), 1, anon_sym_default, - ACTIONS(41), 1, + ACTIONS(47), 1, anon_sym_RBRACE, STATE(12), 1, - aux_sym_select_cases_repeat1, + sym_comment, + STATE(26), 1, + sym_interpreted_string_literal, + STATE(76), 1, + sym_select_case, + STATE(137), 1, + sym_select_pattern, + STATE(138), 1, + sym__select_pattern, + ACTIONS(41), 2, + anon_sym_true, + anon_sym_false, + STATE(75), 4, + sym_boolean_literal, + sym_integer_literal, + sym__string_literal, + sym_pattern_binding, + [604] = 17, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + aux_sym_integer_literal_token1, + ACTIONS(21), 1, + sym_raw_string_literal, + ACTIONS(23), 1, + anon_sym_DQUOTE, + ACTIONS(39), 1, + anon_sym_LPAREN, + ACTIONS(43), 1, + anon_sym_any, + ACTIONS(45), 1, + anon_sym_default, + ACTIONS(49), 1, + anon_sym_RBRACE, STATE(13), 1, sym_comment, - STATE(19), 1, + STATE(26), 1, sym_interpreted_string_literal, - STATE(102), 1, - sym__string_literal, - STATE(103), 1, + STATE(110), 1, sym_select_case, - STATE(104), 1, - sym_default_case, - [625] = 9, + STATE(137), 1, + sym_select_pattern, + STATE(138), 1, + sym__select_pattern, + ACTIONS(41), 2, + anon_sym_true, + anon_sym_false, + STATE(75), 4, + sym_boolean_literal, + sym_integer_literal, + sym__string_literal, + sym_pattern_binding, + [660] = 16, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(45), 1, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + aux_sym_integer_literal_token1, + ACTIONS(21), 1, sym_raw_string_literal, - ACTIONS(48), 1, + ACTIONS(23), 1, anon_sym_DQUOTE, - STATE(19), 1, - sym_interpreted_string_literal, - STATE(102), 1, - sym__string_literal, - STATE(103), 1, - sym_select_case, - ACTIONS(43), 2, - anon_sym_RBRACE, + ACTIONS(39), 1, + anon_sym_LPAREN, + ACTIONS(43), 1, + anon_sym_any, + ACTIONS(45), 1, anon_sym_default, - STATE(14), 2, + STATE(14), 1, sym_comment, - aux_sym_select_cases_repeat1, - [655] = 4, + STATE(26), 1, + sym_interpreted_string_literal, + STATE(110), 1, + sym_select_case, + STATE(137), 1, + sym_select_pattern, + STATE(138), 1, + sym__select_pattern, + ACTIONS(41), 2, + anon_sym_true, + anon_sym_false, + STATE(75), 4, + sym_boolean_literal, + sym_integer_literal, + sym__string_literal, + sym_pattern_binding, + [713] = 14, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + aux_sym_integer_literal_token1, + ACTIONS(21), 1, + sym_raw_string_literal, + ACTIONS(23), 1, + anon_sym_DQUOTE, + ACTIONS(43), 1, + anon_sym_any, + ACTIONS(45), 1, + anon_sym_default, + ACTIONS(51), 1, + anon_sym_RPAREN, STATE(15), 1, sym_comment, - ACTIONS(51), 8, - ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - sym_identifier, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_PLUS, - [675] = 4, + STATE(26), 1, + sym_interpreted_string_literal, + STATE(115), 1, + sym__select_pattern, + ACTIONS(41), 2, + anon_sym_true, + anon_sym_false, + STATE(75), 4, + sym_boolean_literal, + sym_integer_literal, + sym__string_literal, + sym_pattern_binding, + [760] = 14, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + aux_sym_integer_literal_token1, + ACTIONS(21), 1, + sym_raw_string_literal, + ACTIONS(23), 1, + anon_sym_DQUOTE, + ACTIONS(43), 1, + anon_sym_any, + ACTIONS(45), 1, + anon_sym_default, + ACTIONS(53), 1, + anon_sym_RPAREN, STATE(16), 1, sym_comment, - ACTIONS(53), 8, - ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - sym_identifier, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_PLUS, - [695] = 10, + STATE(26), 1, + sym_interpreted_string_literal, + STATE(115), 1, + sym__select_pattern, + ACTIONS(41), 2, + anon_sym_true, + anon_sym_false, + STATE(75), 4, + sym_boolean_literal, + sym_integer_literal, + sym__string_literal, + sym_pattern_binding, + [807] = 13, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + aux_sym_integer_literal_token1, + ACTIONS(21), 1, + sym_raw_string_literal, + ACTIONS(23), 1, + anon_sym_DQUOTE, + ACTIONS(43), 1, + anon_sym_any, + ACTIONS(45), 1, + anon_sym_default, + STATE(17), 1, + sym_comment, + STATE(26), 1, + sym_interpreted_string_literal, + STATE(79), 1, + sym__select_pattern, + ACTIONS(41), 2, + anon_sym_true, + anon_sym_false, + STATE(75), 4, + sym_boolean_literal, + sym_integer_literal, + sym__string_literal, + sym_pattern_binding, + [851] = 13, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + aux_sym_integer_literal_token1, + ACTIONS(21), 1, + sym_raw_string_literal, + ACTIONS(23), 1, + anon_sym_DQUOTE, + ACTIONS(43), 1, + anon_sym_any, + ACTIONS(45), 1, + anon_sym_default, + STATE(18), 1, + sym_comment, + STATE(26), 1, + sym_interpreted_string_literal, + STATE(115), 1, + sym__select_pattern, + ACTIONS(41), 2, + anon_sym_true, + anon_sym_false, + STATE(75), 4, + sym_boolean_literal, + sym_integer_literal, + sym__string_literal, + sym_pattern_binding, + [895] = 10, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6309,48 +2446,27 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(55), 1, ts_builtin_sym_end, - STATE(17), 1, - sym_comment, - STATE(18), 1, - aux_sym_source_file_repeat1, - STATE(77), 1, - sym__definition, - STATE(80), 1, - sym__old_module, - STATE(84), 1, - sym__new_module, - STATE(79), 2, - sym_assignment, - sym_module, - [727] = 9, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(57), 1, - ts_builtin_sym_end, - ACTIONS(59), 1, - sym_identifier, - STATE(77), 1, - sym__definition, - STATE(80), 1, - sym__old_module, - STATE(84), 1, - sym__new_module, - STATE(18), 2, - sym_comment, - aux_sym_source_file_repeat1, - STATE(79), 2, - sym_assignment, - sym_module, - [757] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, STATE(19), 1, sym_comment, - ACTIONS(62), 8, + STATE(24), 1, + aux_sym_source_file_repeat1, + STATE(104), 1, + sym__old_module, + STATE(106), 1, + sym__definition, + STATE(109), 1, + sym__new_module, + STATE(108), 2, + sym_assignment, + sym_module, + [927] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(20), 1, + sym_comment, + ACTIONS(57), 8, ts_builtin_sym_end, anon_sym_COMMA, anon_sym_RBRACE, @@ -6359,88 +2475,114 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_RBRACK, anon_sym_PLUS, - [777] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(20), 1, - sym_comment, - ACTIONS(64), 7, - ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - sym_identifier, - anon_sym_RBRACK, - anon_sym_PLUS, - [796] = 4, + [947] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(21), 1, sym_comment, - ACTIONS(66), 7, + ACTIONS(59), 8, ts_builtin_sym_end, anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RPAREN, sym_identifier, + anon_sym_COLON, anon_sym_RBRACK, anon_sym_PLUS, - [815] = 4, + [967] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(22), 1, sym_comment, - ACTIONS(68), 7, + ACTIONS(61), 8, ts_builtin_sym_end, anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RPAREN, sym_identifier, + anon_sym_COLON, anon_sym_RBRACK, anon_sym_PLUS, - [834] = 4, + [987] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(23), 1, sym_comment, - ACTIONS(70), 7, + ACTIONS(63), 8, ts_builtin_sym_end, anon_sym_COMMA, anon_sym_RBRACE, anon_sym_RPAREN, sym_identifier, + anon_sym_COLON, anon_sym_RBRACK, anon_sym_PLUS, - [853] = 4, + [1007] = 9, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(24), 1, - sym_comment, - ACTIONS(72), 7, + ACTIONS(65), 1, ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, + ACTIONS(67), 1, sym_identifier, - anon_sym_RBRACK, - anon_sym_PLUS, - [872] = 4, + STATE(104), 1, + sym__old_module, + STATE(106), 1, + sym__definition, + STATE(109), 1, + sym__new_module, + STATE(24), 2, + sym_comment, + aux_sym_source_file_repeat1, + STATE(108), 2, + sym_assignment, + sym_module, + [1037] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(25), 1, sym_comment, + ACTIONS(70), 8, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_PLUS, + [1057] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(26), 1, + sym_comment, + ACTIONS(72), 8, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_PLUS, + [1077] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(27), 1, + sym_comment, ACTIONS(74), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6449,12 +2591,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [891] = 4, + [1096] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(26), 1, + STATE(28), 1, sym_comment, ACTIONS(76), 7, ts_builtin_sym_end, @@ -6464,12 +2606,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [910] = 4, + [1115] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(27), 1, + STATE(29), 1, sym_comment, ACTIONS(78), 7, ts_builtin_sym_end, @@ -6479,12 +2621,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [929] = 4, + [1134] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(28), 1, + STATE(30), 1, sym_comment, ACTIONS(80), 7, ts_builtin_sym_end, @@ -6494,12 +2636,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [948] = 4, + [1153] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(29), 1, + STATE(31), 1, sym_comment, ACTIONS(82), 7, ts_builtin_sym_end, @@ -6509,12 +2651,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [967] = 4, + [1172] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(30), 1, + STATE(32), 1, sym_comment, ACTIONS(84), 7, ts_builtin_sym_end, @@ -6524,12 +2666,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [986] = 4, + [1191] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(31), 1, + STATE(33), 1, sym_comment, ACTIONS(86), 7, ts_builtin_sym_end, @@ -6539,12 +2681,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [1005] = 4, + [1210] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(32), 1, + STATE(34), 1, sym_comment, ACTIONS(88), 7, ts_builtin_sym_end, @@ -6554,12 +2696,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [1024] = 4, + [1229] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(33), 1, + STATE(35), 1, sym_comment, ACTIONS(90), 7, ts_builtin_sym_end, @@ -6569,12 +2711,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [1043] = 4, + [1248] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(34), 1, + STATE(36), 1, sym_comment, ACTIONS(92), 7, ts_builtin_sym_end, @@ -6584,12 +2726,12 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [1062] = 4, + [1267] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(35), 1, + STATE(37), 1, sym_comment, ACTIONS(94), 7, ts_builtin_sym_end, @@ -6599,68 +2741,37 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [1081] = 6, + [1286] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(98), 1, - anon_sym_soong_config_variable, - STATE(36), 1, - sym_comment, - STATE(98), 2, - sym_select_value, - sym_soong_config_variable, - ACTIONS(96), 3, - anon_sym_product_variable, - anon_sym_release_variable, - anon_sym_variant, - [1103] = 7, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(21), 1, - sym_raw_string_literal, - ACTIONS(23), 1, - anon_sym_DQUOTE, - STATE(19), 1, - sym_interpreted_string_literal, - STATE(37), 1, - sym_comment, - STATE(92), 1, - sym__string_literal, - [1125] = 7, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(21), 1, - sym_raw_string_literal, - ACTIONS(23), 1, - anon_sym_DQUOTE, - STATE(19), 1, - sym_interpreted_string_literal, STATE(38), 1, sym_comment, - STATE(107), 1, - sym__string_literal, - [1147] = 7, - ACTIONS(100), 1, + ACTIONS(96), 7, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + anon_sym_PLUS, + [1305] = 4, + ACTIONS(3), 1, anon_sym_SLASH_SLASH, - ACTIONS(102), 1, + ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(104), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(106), 1, - anon_sym_DQUOTE2, - ACTIONS(108), 1, - sym_escape_sequence, STATE(39), 1, sym_comment, - STATE(43), 1, - aux_sym_interpreted_string_literal_repeat1, - [1169] = 7, + ACTIONS(98), 7, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + anon_sym_PLUS, + [1324] = 8, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6669,148 +2780,157 @@ static const uint16_t ts_small_parse_table[] = { sym_raw_string_literal, ACTIONS(23), 1, anon_sym_DQUOTE, - STATE(19), 1, + ACTIONS(100), 1, + anon_sym_RPAREN, + STATE(26), 1, sym_interpreted_string_literal, STATE(40), 1, sym_comment, - STATE(93), 1, + STATE(68), 1, sym__string_literal, - [1191] = 7, - ACTIONS(100), 1, - anon_sym_SLASH_SLASH, + [1349] = 6, ACTIONS(102), 1, - anon_sym_SLASH_STAR, + anon_sym_SLASH_SLASH, ACTIONS(104), 1, + anon_sym_SLASH_STAR, + ACTIONS(106), 1, aux_sym_interpreted_string_literal_token1, - ACTIONS(108), 1, - sym_escape_sequence, - ACTIONS(110), 1, + ACTIONS(109), 1, anon_sym_DQUOTE2, - STATE(39), 1, - aux_sym_interpreted_string_literal_repeat1, - STATE(41), 1, + ACTIONS(111), 1, + sym_escape_sequence, + STATE(41), 2, sym_comment, - [1213] = 7, + aux_sym_interpreted_string_literal_repeat1, + [1369] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(112), 1, - anon_sym_COMMA, - ACTIONS(114), 1, - anon_sym_RBRACK, ACTIONS(116), 1, - anon_sym_PLUS, + anon_sym_LBRACE, + ACTIONS(118), 1, + anon_sym_LPAREN, STATE(42), 1, sym_comment, - STATE(60), 1, - aux_sym_list_expression_repeat1, - [1235] = 6, - ACTIONS(100), 1, - anon_sym_SLASH_SLASH, - ACTIONS(102), 1, - anon_sym_SLASH_STAR, - ACTIONS(118), 1, - aux_sym_interpreted_string_literal_token1, - ACTIONS(121), 1, - anon_sym_DQUOTE2, - ACTIONS(123), 1, - sym_escape_sequence, - STATE(43), 2, - sym_comment, - aux_sym_interpreted_string_literal_repeat1, - [1255] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(128), 1, - anon_sym_LBRACE, - ACTIONS(130), 1, - anon_sym_LPAREN, - STATE(44), 1, - sym_comment, - ACTIONS(126), 2, + ACTIONS(114), 2, anon_sym_EQ, anon_sym_PLUS_EQ, - [1275] = 4, + [1389] = 7, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(21), 1, + sym_raw_string_literal, + ACTIONS(23), 1, + anon_sym_DQUOTE, + STATE(26), 1, + sym_interpreted_string_literal, + STATE(43), 1, + sym_comment, + STATE(119), 1, + sym__string_literal, + [1411] = 7, + ACTIONS(102), 1, + anon_sym_SLASH_SLASH, + ACTIONS(104), 1, + anon_sym_SLASH_STAR, + ACTIONS(120), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(122), 1, + anon_sym_DQUOTE2, + ACTIONS(124), 1, + sym_escape_sequence, + STATE(41), 1, + aux_sym_interpreted_string_literal_repeat1, + STATE(44), 1, + sym_comment, + [1433] = 7, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(126), 1, + anon_sym_LPAREN, + ACTIONS(128), 1, + sym_identifier, STATE(45), 1, sym_comment, - ACTIONS(43), 4, - anon_sym_RBRACE, - sym_raw_string_literal, - anon_sym_DQUOTE, - anon_sym_default, - [1291] = 6, + STATE(121), 1, + sym_condition, + STATE(124), 1, + sym_select_value, + [1455] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(132), 1, - anon_sym_COMMA, - ACTIONS(134), 1, - anon_sym_RPAREN, + anon_sym_AT, STATE(46), 1, sym_comment, - STATE(51), 1, - aux_sym__new_module_repeat1, - [1310] = 6, + ACTIONS(130), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [1473] = 7, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(136), 1, + ACTIONS(134), 1, anon_sym_COMMA, + ACTIONS(136), 1, + anon_sym_RBRACK, ACTIONS(138), 1, - anon_sym_RBRACE, + anon_sym_PLUS, STATE(47), 1, sym_comment, - STATE(64), 1, - aux_sym__old_module_repeat1, - [1329] = 6, - ACTIONS(3), 1, + STATE(52), 1, + aux_sym_list_expression_repeat1, + [1495] = 7, + ACTIONS(102), 1, anon_sym_SLASH_SLASH, - ACTIONS(5), 1, + ACTIONS(104), 1, anon_sym_SLASH_STAR, + ACTIONS(120), 1, + aux_sym_interpreted_string_literal_token1, + ACTIONS(124), 1, + sym_escape_sequence, ACTIONS(140), 1, - anon_sym_RBRACE, - ACTIONS(142), 1, - sym_identifier, + anon_sym_DQUOTE2, + STATE(44), 1, + aux_sym_interpreted_string_literal_repeat1, STATE(48), 1, sym_comment, - STATE(73), 1, - sym__colon_property, - [1348] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(144), 1, - anon_sym_RPAREN, - ACTIONS(146), 1, - sym_identifier, - STATE(49), 1, - sym_comment, - STATE(72), 1, - sym__equal_property, - [1367] = 6, + [1517] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(142), 1, - sym_identifier, - ACTIONS(148), 1, + anon_sym_COMMA, + ACTIONS(144), 1, + anon_sym_RPAREN, + STATE(49), 1, + sym_comment, + STATE(67), 1, + aux_sym_select_value_repeat1, + [1536] = 6, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(146), 1, anon_sym_RBRACE, + ACTIONS(148), 1, + sym_identifier, STATE(50), 1, sym_comment, - STATE(57), 1, + STATE(91), 1, sym__colon_property, - [1386] = 6, + [1555] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6818,1015 +2938,1369 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(150), 1, anon_sym_COMMA, ACTIONS(152), 1, - anon_sym_RPAREN, + anon_sym_RBRACE, STATE(51), 1, sym_comment, - STATE(67), 1, - aux_sym__new_module_repeat1, - [1405] = 6, + STATE(56), 1, + aux_sym__old_module_repeat1, + [1574] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(142), 1, - sym_identifier, ACTIONS(154), 1, - anon_sym_RBRACE, + anon_sym_COMMA, + ACTIONS(156), 1, + anon_sym_RBRACK, STATE(52), 1, sym_comment, - STATE(73), 1, - sym__colon_property, - [1424] = 5, - ACTIONS(100), 1, + STATE(64), 1, + aux_sym_list_expression_repeat1, + [1593] = 5, + ACTIONS(3), 1, anon_sym_SLASH_SLASH, - ACTIONS(102), 1, + ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(156), 1, - aux_sym_interpreted_string_literal_token1, + ACTIONS(138), 1, + anon_sym_PLUS, STATE(53), 1, sym_comment, ACTIONS(158), 2, - anon_sym_DQUOTE2, - sym_escape_sequence, - [1441] = 6, + ts_builtin_sym_end, + sym_identifier, + [1610] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(160), 1, - anon_sym_COMMA, - ACTIONS(162), 1, - anon_sym_RBRACE, + ACTIONS(138), 1, + anon_sym_PLUS, STATE(54), 1, sym_comment, - STATE(64), 1, - aux_sym__old_module_repeat1, - [1460] = 6, + ACTIONS(160), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [1627] = 6, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(148), 1, + sym_identifier, + ACTIONS(162), 1, + anon_sym_RBRACE, + STATE(55), 1, + sym_comment, + STATE(91), 1, + sym__colon_property, + [1646] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(164), 1, anon_sym_COMMA, - ACTIONS(166), 1, + ACTIONS(167), 1, anon_sym_RBRACE, - STATE(54), 1, - aux_sym__old_module_repeat1, - STATE(55), 1, + STATE(56), 2, sym_comment, - [1479] = 5, + aux_sym__old_module_repeat1, + [1663] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(116), 1, + ACTIONS(138), 1, anon_sym_PLUS, - STATE(56), 1, - sym_comment, - ACTIONS(168), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [1496] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(170), 1, - anon_sym_COMMA, - ACTIONS(172), 1, - anon_sym_RBRACE, - STATE(47), 1, - aux_sym__old_module_repeat1, STATE(57), 1, sym_comment, - [1515] = 5, + ACTIONS(169), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [1680] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(116), 1, - anon_sym_PLUS, + ACTIONS(171), 1, + anon_sym_RPAREN, + ACTIONS(173), 1, + sym_identifier, STATE(58), 1, sym_comment, - ACTIONS(174), 2, - ts_builtin_sym_end, - sym_identifier, - [1532] = 5, + STATE(97), 1, + sym__equal_property, + [1699] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(176), 1, + ACTIONS(175), 1, anon_sym_COMMA, - ACTIONS(179), 1, - anon_sym_RBRACK, + ACTIONS(178), 1, + anon_sym_RPAREN, STATE(59), 2, sym_comment, - aux_sym_list_expression_repeat1, - [1549] = 6, + aux_sym__new_module_repeat1, + [1716] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(181), 1, - anon_sym_COMMA, - ACTIONS(183), 1, - anon_sym_RBRACK, - STATE(59), 1, - aux_sym_list_expression_repeat1, + ACTIONS(148), 1, + sym_identifier, + ACTIONS(180), 1, + anon_sym_RBRACE, STATE(60), 1, sym_comment, - [1568] = 6, + STATE(91), 1, + sym__colon_property, + [1735] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(142), 1, - sym_identifier, - ACTIONS(185), 1, + ACTIONS(182), 1, + anon_sym_COMMA, + ACTIONS(184), 1, anon_sym_RBRACE, - STATE(55), 1, - sym__colon_property, STATE(61), 1, sym_comment, - [1587] = 5, + STATE(86), 1, + aux_sym__old_module_repeat1, + [1754] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(116), 1, + ACTIONS(138), 1, anon_sym_PLUS, STATE(62), 1, sym_comment, - ACTIONS(187), 2, + ACTIONS(186), 2, anon_sym_COMMA, - anon_sym_RBRACE, - [1604] = 6, + anon_sym_RBRACK, + [1771] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(142), 1, - sym_identifier, - ACTIONS(189), 1, - anon_sym_RBRACE, + ACTIONS(188), 1, + anon_sym_COMMA, + ACTIONS(190), 1, + anon_sym_RPAREN, STATE(63), 1, sym_comment, - STATE(73), 1, - sym__colon_property, - [1623] = 5, + STATE(69), 1, + aux_sym__new_module_repeat1, + [1790] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(191), 1, + ACTIONS(192), 1, anon_sym_COMMA, - ACTIONS(194), 1, - anon_sym_RBRACE, + ACTIONS(195), 1, + anon_sym_RBRACK, STATE(64), 2, sym_comment, - aux_sym__old_module_repeat1, - [1640] = 5, + aux_sym_list_expression_repeat1, + [1807] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(116), 1, - anon_sym_PLUS, + ACTIONS(197), 1, + anon_sym_COMMA, + ACTIONS(199), 1, + anon_sym_RBRACE, + STATE(51), 1, + aux_sym__old_module_repeat1, STATE(65), 1, sym_comment, - ACTIONS(196), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [1657] = 6, + [1826] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(146), 1, + ACTIONS(128), 1, sym_identifier, - ACTIONS(198), 1, + ACTIONS(201), 1, anon_sym_RPAREN, STATE(66), 1, sym_comment, - STATE(72), 1, - sym__equal_property, - [1676] = 5, + STATE(96), 1, + sym_condition, + [1845] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(200), 1, - anon_sym_COMMA, + ACTIONS(201), 1, + anon_sym_RPAREN, ACTIONS(203), 1, - anon_sym_RPAREN, - STATE(67), 2, + anon_sym_COMMA, + STATE(67), 1, sym_comment, - aux_sym__new_module_repeat1, - [1693] = 6, + STATE(72), 1, + aux_sym_select_value_repeat1, + [1864] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(146), 1, - sym_identifier, ACTIONS(205), 1, + anon_sym_COMMA, + ACTIONS(207), 1, anon_sym_RPAREN, - STATE(46), 1, - sym__equal_property, STATE(68), 1, sym_comment, - [1712] = 6, + STATE(74), 1, + aux_sym_condition_repeat1, + [1883] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(142), 1, - sym_identifier, - ACTIONS(207), 1, - anon_sym_RBRACE, + ACTIONS(209), 1, + anon_sym_COMMA, + ACTIONS(211), 1, + anon_sym_RPAREN, + STATE(59), 1, + aux_sym__new_module_repeat1, STATE(69), 1, sym_comment, - STATE(73), 1, - sym__colon_property, - [1731] = 4, + [1902] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(148), 1, + sym_identifier, + ACTIONS(213), 1, + anon_sym_RBRACE, + STATE(61), 1, + sym__colon_property, STATE(70), 1, sym_comment, - ACTIONS(209), 2, - ts_builtin_sym_end, - sym_identifier, - [1745] = 5, + [1921] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(146), 1, + ACTIONS(128), 1, sym_identifier, + ACTIONS(215), 1, + anon_sym_RPAREN, STATE(71), 1, sym_comment, - STATE(72), 1, - sym__equal_property, - [1761] = 4, + STATE(96), 1, + sym_condition, + [1940] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(72), 1, - sym_comment, - ACTIONS(211), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [1775] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(73), 1, - sym_comment, - ACTIONS(213), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [1789] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(74), 1, - sym_comment, - ACTIONS(215), 2, - ts_builtin_sym_end, - sym_identifier, - [1803] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(116), 1, - anon_sym_PLUS, ACTIONS(217), 1, anon_sym_COMMA, + ACTIONS(220), 1, + anon_sym_RPAREN, + STATE(72), 2, + sym_comment, + aux_sym_select_value_repeat1, + [1957] = 6, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(173), 1, + sym_identifier, + ACTIONS(222), 1, + anon_sym_RPAREN, + STATE(63), 1, + sym__equal_property, + STATE(73), 1, + sym_comment, + [1976] = 6, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(205), 1, + anon_sym_COMMA, + ACTIONS(224), 1, + anon_sym_RPAREN, + STATE(74), 1, + sym_comment, + STATE(78), 1, + aux_sym_condition_repeat1, + [1995] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, STATE(75), 1, sym_comment, - [1819] = 4, + ACTIONS(130), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [2010] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(226), 1, + anon_sym_COMMA, + ACTIONS(228), 1, + anon_sym_RBRACE, STATE(76), 1, sym_comment, - ACTIONS(219), 2, - ts_builtin_sym_end, - sym_identifier, - [1833] = 4, + STATE(80), 1, + aux_sym_select_cases_repeat1, + [2029] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(148), 1, + sym_identifier, + ACTIONS(230), 1, + anon_sym_RBRACE, + STATE(65), 1, + sym__colon_property, STATE(77), 1, sym_comment, - ACTIONS(221), 2, - ts_builtin_sym_end, - sym_identifier, - [1847] = 4, + [2048] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(78), 1, + ACTIONS(232), 1, + anon_sym_COMMA, + ACTIONS(235), 1, + anon_sym_RPAREN, + STATE(78), 2, sym_comment, - ACTIONS(223), 2, - ts_builtin_sym_end, - sym_identifier, - [1861] = 4, + aux_sym_condition_repeat1, + [2065] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(237), 1, + anon_sym_COMMA, + ACTIONS(239), 1, + anon_sym_RPAREN, STATE(79), 1, sym_comment, - ACTIONS(225), 2, - ts_builtin_sym_end, - sym_identifier, - [1875] = 4, + STATE(82), 1, + aux_sym_select_pattern_repeat1, + [2084] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(49), 1, + anon_sym_RBRACE, + ACTIONS(241), 1, + anon_sym_COMMA, STATE(80), 1, sym_comment, - ACTIONS(227), 2, - ts_builtin_sym_end, - sym_identifier, - [1889] = 5, + STATE(84), 1, + aux_sym_select_cases_repeat1, + [2103] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(229), 1, - anon_sym_LBRACE, + ACTIONS(148), 1, + sym_identifier, + ACTIONS(243), 1, + anon_sym_RBRACE, STATE(81), 1, sym_comment, - STATE(95), 1, - sym_select_cases, - [1905] = 4, + STATE(91), 1, + sym__colon_property, + [2122] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(51), 1, + anon_sym_RPAREN, + ACTIONS(245), 1, + anon_sym_COMMA, STATE(82), 1, sym_comment, - ACTIONS(231), 2, - ts_builtin_sym_end, - sym_identifier, - [1919] = 4, + STATE(87), 1, + aux_sym_select_pattern_repeat1, + [2141] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, STATE(83), 1, sym_comment, - ACTIONS(233), 2, - ts_builtin_sym_end, - sym_identifier, - [1933] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(84), 1, - sym_comment, - ACTIONS(227), 2, - ts_builtin_sym_end, - sym_identifier, - [1947] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(85), 1, - sym_comment, - ACTIONS(235), 2, - ts_builtin_sym_end, - sym_identifier, - [1961] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(86), 1, - sym_comment, - ACTIONS(237), 2, - ts_builtin_sym_end, - sym_identifier, - [1975] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(87), 1, - sym_comment, - ACTIONS(239), 2, - ts_builtin_sym_end, - sym_identifier, - [1989] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(142), 1, - sym_identifier, - STATE(73), 1, - sym__colon_property, - STATE(88), 1, - sym_comment, - [2005] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(89), 1, - sym_comment, - ACTIONS(241), 2, - ts_builtin_sym_end, - sym_identifier, - [2019] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(243), 1, + ACTIONS(247), 3, anon_sym_COMMA, - STATE(90), 1, - sym_comment, - [2032] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(245), 1, - anon_sym_COMMA, - STATE(91), 1, - sym_comment, - [2045] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(247), 1, anon_sym_RPAREN, - STATE(92), 1, - sym_comment, - [2058] = 4, + anon_sym_COLON, + [2156] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(249), 1, anon_sym_COMMA, - STATE(93), 1, - sym_comment, - [2071] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(251), 1, - aux_sym_integer_literal_token1, - STATE(94), 1, - sym_comment, - [2084] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(253), 1, - anon_sym_RPAREN, - STATE(95), 1, - sym_comment, - [2097] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(255), 1, - anon_sym_RPAREN, - STATE(96), 1, - sym_comment, - [2110] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(257), 1, - anon_sym_SLASH, - STATE(97), 1, - sym_comment, - [2123] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(259), 1, - anon_sym_COMMA, - STATE(98), 1, - sym_comment, - [2136] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(261), 1, + ACTIONS(252), 1, anon_sym_RBRACE, - STATE(99), 1, + STATE(84), 2, sym_comment, - [2149] = 4, + aux_sym_select_cases_repeat1, + [2173] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(138), 1, + anon_sym_PLUS, + STATE(85), 1, + sym_comment, + ACTIONS(254), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [2190] = 6, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(256), 1, + anon_sym_COMMA, + ACTIONS(258), 1, + anon_sym_RBRACE, + STATE(56), 1, + aux_sym__old_module_repeat1, + STATE(86), 1, + sym_comment, + [2209] = 5, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(260), 1, + anon_sym_COMMA, ACTIONS(263), 1, anon_sym_RPAREN, - STATE(100), 1, + STATE(87), 2, sym_comment, - [2162] = 4, + aux_sym_select_pattern_repeat1, + [2226] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + ACTIONS(173), 1, + sym_identifier, ACTIONS(265), 1, - anon_sym_COLON, - STATE(101), 1, + anon_sym_RPAREN, + STATE(88), 1, sym_comment, - [2175] = 4, - ACTIONS(3), 1, + STATE(97), 1, + sym__equal_property, + [2245] = 5, + ACTIONS(102), 1, anon_sym_SLASH_SLASH, - ACTIONS(5), 1, + ACTIONS(104), 1, anon_sym_SLASH_STAR, ACTIONS(267), 1, - anon_sym_COLON, - STATE(102), 1, + aux_sym_interpreted_string_literal_token1, + STATE(89), 1, sym_comment, - [2188] = 4, + ACTIONS(269), 2, + anon_sym_DQUOTE2, + sym_escape_sequence, + [2262] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(269), 1, + ACTIONS(128), 1, + sym_identifier, + STATE(49), 1, + sym_condition, + STATE(90), 1, + sym_comment, + [2278] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(91), 1, + sym_comment, + ACTIONS(271), 2, anon_sym_COMMA, - STATE(103), 1, - sym_comment, - [2201] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(271), 1, - anon_sym_COMMA, - STATE(104), 1, - sym_comment, - [2214] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(273), 1, - anon_sym_COLON, - STATE(105), 1, - sym_comment, - [2227] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(275), 1, - anon_sym_EQ, - STATE(106), 1, - sym_comment, - [2240] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(277), 1, - anon_sym_RPAREN, - STATE(107), 1, - sym_comment, - [2253] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(279), 1, - anon_sym_LPAREN, - STATE(108), 1, - sym_comment, - [2266] = 4, - ACTIONS(100), 1, - anon_sym_SLASH_SLASH, - ACTIONS(102), 1, - anon_sym_SLASH_STAR, - ACTIONS(281), 1, - aux_sym_comment_token1, - STATE(109), 1, - sym_comment, - [2279] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(283), 1, - ts_builtin_sym_end, - STATE(110), 1, - sym_comment, + anon_sym_RBRACE, [2292] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(285), 1, - anon_sym_RBRACE, - STATE(111), 1, + STATE(92), 1, sym_comment, - [2305] = 4, + ACTIONS(273), 2, + ts_builtin_sym_end, + sym_identifier, + [2306] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(287), 1, + STATE(93), 1, + sym_comment, + ACTIONS(275), 2, + ts_builtin_sym_end, + sym_identifier, + [2320] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(94), 1, + sym_comment, + ACTIONS(277), 2, + anon_sym_COMMA, anon_sym_RPAREN, - STATE(112), 1, - sym_comment, - [2318] = 4, + [2334] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(289), 1, + STATE(95), 1, + sym_comment, + ACTIONS(279), 2, + ts_builtin_sym_end, + sym_identifier, + [2348] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(96), 1, + sym_comment, + ACTIONS(220), 2, anon_sym_COMMA, - STATE(113), 1, - sym_comment, - [2331] = 4, - ACTIONS(100), 1, - anon_sym_SLASH_SLASH, - ACTIONS(102), 1, - anon_sym_SLASH_STAR, - ACTIONS(291), 1, - aux_sym_comment_token2, - STATE(114), 1, - sym_comment, - [2344] = 4, + anon_sym_RPAREN, + [2362] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(293), 1, - anon_sym_LPAREN, - STATE(115), 1, + STATE(97), 1, sym_comment, - [2357] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(217), 1, + ACTIONS(281), 2, anon_sym_COMMA, - STATE(116), 1, - sym_comment, - [2370] = 4, + anon_sym_RPAREN, + [2376] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(295), 1, - anon_sym_LPAREN, - STATE(117), 1, + STATE(98), 1, sym_comment, - [2383] = 4, + ACTIONS(283), 2, + ts_builtin_sym_end, + sym_identifier, + [2390] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(99), 1, + sym_comment, + ACTIONS(285), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [2404] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(100), 1, + sym_comment, + ACTIONS(287), 2, + ts_builtin_sym_end, + sym_identifier, + [2418] = 5, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(128), 1, + sym_identifier, + STATE(96), 1, + sym_condition, + STATE(101), 1, + sym_comment, + [2434] = 5, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(173), 1, + sym_identifier, + STATE(97), 1, + sym__equal_property, + STATE(102), 1, + sym_comment, + [2450] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(103), 1, + sym_comment, + ACTIONS(289), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [2464] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(104), 1, + sym_comment, + ACTIONS(291), 2, + ts_builtin_sym_end, + sym_identifier, + [2478] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(105), 1, + sym_comment, + ACTIONS(293), 2, + ts_builtin_sym_end, + sym_identifier, + [2492] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(106), 1, + sym_comment, + ACTIONS(295), 2, + ts_builtin_sym_end, + sym_identifier, + [2506] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(297), 1, + anon_sym_LBRACE, + STATE(107), 1, + sym_comment, + STATE(122), 1, + sym_select_cases, + [2522] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(108), 1, + sym_comment, + ACTIONS(299), 2, + ts_builtin_sym_end, + sym_identifier, + [2536] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(109), 1, + sym_comment, + ACTIONS(291), 2, + ts_builtin_sym_end, + sym_identifier, + [2550] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(110), 1, + sym_comment, + ACTIONS(252), 2, anon_sym_COMMA, + anon_sym_RBRACE, + [2564] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(111), 1, + sym_comment, + ACTIONS(301), 2, + ts_builtin_sym_end, + sym_identifier, + [2578] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(112), 1, + sym_comment, + ACTIONS(254), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [2592] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(113), 1, + sym_comment, + ACTIONS(303), 2, + ts_builtin_sym_end, + sym_identifier, + [2606] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(114), 1, + sym_comment, + ACTIONS(305), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [2620] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(115), 1, + sym_comment, + ACTIONS(263), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [2634] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(116), 1, + sym_comment, + ACTIONS(307), 2, + ts_builtin_sym_end, + sym_identifier, + [2648] = 5, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(148), 1, + sym_identifier, + STATE(91), 1, + sym__colon_property, + STATE(117), 1, + sym_comment, + [2664] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, STATE(118), 1, sym_comment, - [2396] = 4, + ACTIONS(309), 2, + ts_builtin_sym_end, + sym_identifier, + [2678] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(299), 1, - anon_sym_COMMA, STATE(119), 1, sym_comment, - [2409] = 4, + ACTIONS(235), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [2692] = 4, + ACTIONS(102), 1, + anon_sym_SLASH_SLASH, + ACTIONS(104), 1, + anon_sym_SLASH_STAR, + ACTIONS(311), 1, + aux_sym_comment_token1, + STATE(120), 1, + sym_comment, + [2705] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(301), 1, - anon_sym_RPAREN, - STATE(120), 1, + ACTIONS(313), 1, + anon_sym_COMMA, + STATE(121), 1, sym_comment, - [2422] = 1, - ACTIONS(303), 1, + [2718] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(315), 1, + anon_sym_RPAREN, + STATE(122), 1, + sym_comment, + [2731] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(317), 1, + sym_identifier, + STATE(123), 1, + sym_comment, + [2744] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(319), 1, + anon_sym_COMMA, + STATE(124), 1, + sym_comment, + [2757] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(321), 1, + anon_sym_RPAREN, + STATE(125), 1, + sym_comment, + [2770] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(323), 1, + anon_sym_LPAREN, + STATE(126), 1, + sym_comment, + [2783] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(325), 1, + anon_sym_RPAREN, + STATE(127), 1, + sym_comment, + [2796] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(327), 1, + anon_sym_EQ, + STATE(128), 1, + sym_comment, + [2809] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(329), 1, + anon_sym_COLON, + STATE(129), 1, + sym_comment, + [2822] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(331), 1, ts_builtin_sym_end, - [2426] = 1, - ACTIONS(305), 1, + STATE(130), 1, + sym_comment, + [2835] = 4, + ACTIONS(102), 1, + anon_sym_SLASH_SLASH, + ACTIONS(104), 1, + anon_sym_SLASH_STAR, + ACTIONS(333), 1, + aux_sym_comment_token2, + STATE(131), 1, + sym_comment, + [2848] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(335), 1, + anon_sym_RPAREN, + STATE(132), 1, + sym_comment, + [2861] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(337), 1, + anon_sym_COLON, + STATE(133), 1, + sym_comment, + [2874] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(339), 1, + anon_sym_COMMA, + STATE(134), 1, + sym_comment, + [2887] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(341), 1, + anon_sym_SLASH, + STATE(135), 1, + sym_comment, + [2900] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(343), 1, + anon_sym_COLON, + STATE(136), 1, + sym_comment, + [2913] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(345), 1, + anon_sym_COLON, + STATE(137), 1, + sym_comment, + [2926] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(347), 1, + anon_sym_COLON, + STATE(138), 1, + sym_comment, + [2939] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(349), 1, + anon_sym_COLON, + STATE(139), 1, + sym_comment, + [2952] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(351), 1, + anon_sym_COMMA, + STATE(140), 1, + sym_comment, + [2965] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(353), 1, + anon_sym_COMMA, + STATE(141), 1, + sym_comment, + [2978] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(355), 1, + anon_sym_RPAREN, + STATE(142), 1, + sym_comment, + [2991] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(357), 1, + aux_sym_integer_literal_token1, + STATE(143), 1, + sym_comment, + [3004] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(359), 1, + anon_sym_LPAREN, + STATE(144), 1, + sym_comment, + [3017] = 1, + ACTIONS(361), 1, + ts_builtin_sym_end, + [3021] = 1, + ACTIONS(363), 1, ts_builtin_sym_end, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, [SMALL_STATE(3)] = 59, - [SMALL_STATE(4)] = 118, - [SMALL_STATE(5)] = 174, - [SMALL_STATE(6)] = 230, - [SMALL_STATE(7)] = 286, - [SMALL_STATE(8)] = 339, - [SMALL_STATE(9)] = 392, - [SMALL_STATE(10)] = 445, - [SMALL_STATE(11)] = 498, - [SMALL_STATE(12)] = 551, - [SMALL_STATE(13)] = 588, - [SMALL_STATE(14)] = 625, - [SMALL_STATE(15)] = 655, - [SMALL_STATE(16)] = 675, - [SMALL_STATE(17)] = 695, - [SMALL_STATE(18)] = 727, - [SMALL_STATE(19)] = 757, - [SMALL_STATE(20)] = 777, - [SMALL_STATE(21)] = 796, - [SMALL_STATE(22)] = 815, - [SMALL_STATE(23)] = 834, - [SMALL_STATE(24)] = 853, - [SMALL_STATE(25)] = 872, - [SMALL_STATE(26)] = 891, - [SMALL_STATE(27)] = 910, - [SMALL_STATE(28)] = 929, - [SMALL_STATE(29)] = 948, - [SMALL_STATE(30)] = 967, - [SMALL_STATE(31)] = 986, - [SMALL_STATE(32)] = 1005, - [SMALL_STATE(33)] = 1024, - [SMALL_STATE(34)] = 1043, - [SMALL_STATE(35)] = 1062, - [SMALL_STATE(36)] = 1081, - [SMALL_STATE(37)] = 1103, - [SMALL_STATE(38)] = 1125, - [SMALL_STATE(39)] = 1147, - [SMALL_STATE(40)] = 1169, - [SMALL_STATE(41)] = 1191, - [SMALL_STATE(42)] = 1213, - [SMALL_STATE(43)] = 1235, - [SMALL_STATE(44)] = 1255, - [SMALL_STATE(45)] = 1275, - [SMALL_STATE(46)] = 1291, - [SMALL_STATE(47)] = 1310, - [SMALL_STATE(48)] = 1329, - [SMALL_STATE(49)] = 1348, - [SMALL_STATE(50)] = 1367, - [SMALL_STATE(51)] = 1386, - [SMALL_STATE(52)] = 1405, - [SMALL_STATE(53)] = 1424, - [SMALL_STATE(54)] = 1441, - [SMALL_STATE(55)] = 1460, - [SMALL_STATE(56)] = 1479, - [SMALL_STATE(57)] = 1496, - [SMALL_STATE(58)] = 1515, - [SMALL_STATE(59)] = 1532, - [SMALL_STATE(60)] = 1549, - [SMALL_STATE(61)] = 1568, - [SMALL_STATE(62)] = 1587, - [SMALL_STATE(63)] = 1604, - [SMALL_STATE(64)] = 1623, - [SMALL_STATE(65)] = 1640, - [SMALL_STATE(66)] = 1657, - [SMALL_STATE(67)] = 1676, - [SMALL_STATE(68)] = 1693, - [SMALL_STATE(69)] = 1712, - [SMALL_STATE(70)] = 1731, - [SMALL_STATE(71)] = 1745, - [SMALL_STATE(72)] = 1761, - [SMALL_STATE(73)] = 1775, - [SMALL_STATE(74)] = 1789, - [SMALL_STATE(75)] = 1803, - [SMALL_STATE(76)] = 1819, - [SMALL_STATE(77)] = 1833, - [SMALL_STATE(78)] = 1847, - [SMALL_STATE(79)] = 1861, - [SMALL_STATE(80)] = 1875, - [SMALL_STATE(81)] = 1889, - [SMALL_STATE(82)] = 1905, - [SMALL_STATE(83)] = 1919, - [SMALL_STATE(84)] = 1933, - [SMALL_STATE(85)] = 1947, - [SMALL_STATE(86)] = 1961, - [SMALL_STATE(87)] = 1975, - [SMALL_STATE(88)] = 1989, - [SMALL_STATE(89)] = 2005, - [SMALL_STATE(90)] = 2019, - [SMALL_STATE(91)] = 2032, - [SMALL_STATE(92)] = 2045, - [SMALL_STATE(93)] = 2058, - [SMALL_STATE(94)] = 2071, - [SMALL_STATE(95)] = 2084, - [SMALL_STATE(96)] = 2097, - [SMALL_STATE(97)] = 2110, - [SMALL_STATE(98)] = 2123, - [SMALL_STATE(99)] = 2136, - [SMALL_STATE(100)] = 2149, - [SMALL_STATE(101)] = 2162, - [SMALL_STATE(102)] = 2175, - [SMALL_STATE(103)] = 2188, - [SMALL_STATE(104)] = 2201, - [SMALL_STATE(105)] = 2214, - [SMALL_STATE(106)] = 2227, - [SMALL_STATE(107)] = 2240, - [SMALL_STATE(108)] = 2253, - [SMALL_STATE(109)] = 2266, - [SMALL_STATE(110)] = 2279, - [SMALL_STATE(111)] = 2292, - [SMALL_STATE(112)] = 2305, - [SMALL_STATE(113)] = 2318, - [SMALL_STATE(114)] = 2331, - [SMALL_STATE(115)] = 2344, - [SMALL_STATE(116)] = 2357, - [SMALL_STATE(117)] = 2370, - [SMALL_STATE(118)] = 2383, - [SMALL_STATE(119)] = 2396, - [SMALL_STATE(120)] = 2409, - [SMALL_STATE(121)] = 2422, - [SMALL_STATE(122)] = 2426, + [SMALL_STATE(4)] = 115, + [SMALL_STATE(5)] = 171, + [SMALL_STATE(6)] = 227, + [SMALL_STATE(7)] = 280, + [SMALL_STATE(8)] = 333, + [SMALL_STATE(9)] = 386, + [SMALL_STATE(10)] = 439, + [SMALL_STATE(11)] = 492, + [SMALL_STATE(12)] = 548, + [SMALL_STATE(13)] = 604, + [SMALL_STATE(14)] = 660, + [SMALL_STATE(15)] = 713, + [SMALL_STATE(16)] = 760, + [SMALL_STATE(17)] = 807, + [SMALL_STATE(18)] = 851, + [SMALL_STATE(19)] = 895, + [SMALL_STATE(20)] = 927, + [SMALL_STATE(21)] = 947, + [SMALL_STATE(22)] = 967, + [SMALL_STATE(23)] = 987, + [SMALL_STATE(24)] = 1007, + [SMALL_STATE(25)] = 1037, + [SMALL_STATE(26)] = 1057, + [SMALL_STATE(27)] = 1077, + [SMALL_STATE(28)] = 1096, + [SMALL_STATE(29)] = 1115, + [SMALL_STATE(30)] = 1134, + [SMALL_STATE(31)] = 1153, + [SMALL_STATE(32)] = 1172, + [SMALL_STATE(33)] = 1191, + [SMALL_STATE(34)] = 1210, + [SMALL_STATE(35)] = 1229, + [SMALL_STATE(36)] = 1248, + [SMALL_STATE(37)] = 1267, + [SMALL_STATE(38)] = 1286, + [SMALL_STATE(39)] = 1305, + [SMALL_STATE(40)] = 1324, + [SMALL_STATE(41)] = 1349, + [SMALL_STATE(42)] = 1369, + [SMALL_STATE(43)] = 1389, + [SMALL_STATE(44)] = 1411, + [SMALL_STATE(45)] = 1433, + [SMALL_STATE(46)] = 1455, + [SMALL_STATE(47)] = 1473, + [SMALL_STATE(48)] = 1495, + [SMALL_STATE(49)] = 1517, + [SMALL_STATE(50)] = 1536, + [SMALL_STATE(51)] = 1555, + [SMALL_STATE(52)] = 1574, + [SMALL_STATE(53)] = 1593, + [SMALL_STATE(54)] = 1610, + [SMALL_STATE(55)] = 1627, + [SMALL_STATE(56)] = 1646, + [SMALL_STATE(57)] = 1663, + [SMALL_STATE(58)] = 1680, + [SMALL_STATE(59)] = 1699, + [SMALL_STATE(60)] = 1716, + [SMALL_STATE(61)] = 1735, + [SMALL_STATE(62)] = 1754, + [SMALL_STATE(63)] = 1771, + [SMALL_STATE(64)] = 1790, + [SMALL_STATE(65)] = 1807, + [SMALL_STATE(66)] = 1826, + [SMALL_STATE(67)] = 1845, + [SMALL_STATE(68)] = 1864, + [SMALL_STATE(69)] = 1883, + [SMALL_STATE(70)] = 1902, + [SMALL_STATE(71)] = 1921, + [SMALL_STATE(72)] = 1940, + [SMALL_STATE(73)] = 1957, + [SMALL_STATE(74)] = 1976, + [SMALL_STATE(75)] = 1995, + [SMALL_STATE(76)] = 2010, + [SMALL_STATE(77)] = 2029, + [SMALL_STATE(78)] = 2048, + [SMALL_STATE(79)] = 2065, + [SMALL_STATE(80)] = 2084, + [SMALL_STATE(81)] = 2103, + [SMALL_STATE(82)] = 2122, + [SMALL_STATE(83)] = 2141, + [SMALL_STATE(84)] = 2156, + [SMALL_STATE(85)] = 2173, + [SMALL_STATE(86)] = 2190, + [SMALL_STATE(87)] = 2209, + [SMALL_STATE(88)] = 2226, + [SMALL_STATE(89)] = 2245, + [SMALL_STATE(90)] = 2262, + [SMALL_STATE(91)] = 2278, + [SMALL_STATE(92)] = 2292, + [SMALL_STATE(93)] = 2306, + [SMALL_STATE(94)] = 2320, + [SMALL_STATE(95)] = 2334, + [SMALL_STATE(96)] = 2348, + [SMALL_STATE(97)] = 2362, + [SMALL_STATE(98)] = 2376, + [SMALL_STATE(99)] = 2390, + [SMALL_STATE(100)] = 2404, + [SMALL_STATE(101)] = 2418, + [SMALL_STATE(102)] = 2434, + [SMALL_STATE(103)] = 2450, + [SMALL_STATE(104)] = 2464, + [SMALL_STATE(105)] = 2478, + [SMALL_STATE(106)] = 2492, + [SMALL_STATE(107)] = 2506, + [SMALL_STATE(108)] = 2522, + [SMALL_STATE(109)] = 2536, + [SMALL_STATE(110)] = 2550, + [SMALL_STATE(111)] = 2564, + [SMALL_STATE(112)] = 2578, + [SMALL_STATE(113)] = 2592, + [SMALL_STATE(114)] = 2606, + [SMALL_STATE(115)] = 2620, + [SMALL_STATE(116)] = 2634, + [SMALL_STATE(117)] = 2648, + [SMALL_STATE(118)] = 2664, + [SMALL_STATE(119)] = 2678, + [SMALL_STATE(120)] = 2692, + [SMALL_STATE(121)] = 2705, + [SMALL_STATE(122)] = 2718, + [SMALL_STATE(123)] = 2731, + [SMALL_STATE(124)] = 2744, + [SMALL_STATE(125)] = 2757, + [SMALL_STATE(126)] = 2770, + [SMALL_STATE(127)] = 2783, + [SMALL_STATE(128)] = 2796, + [SMALL_STATE(129)] = 2809, + [SMALL_STATE(130)] = 2822, + [SMALL_STATE(131)] = 2835, + [SMALL_STATE(132)] = 2848, + [SMALL_STATE(133)] = 2861, + [SMALL_STATE(134)] = 2874, + [SMALL_STATE(135)] = 2887, + [SMALL_STATE(136)] = 2900, + [SMALL_STATE(137)] = 2913, + [SMALL_STATE(138)] = 2926, + [SMALL_STATE(139)] = 2939, + [SMALL_STATE(140)] = 2952, + [SMALL_STATE(141)] = 2965, + [SMALL_STATE(142)] = 2978, + [SMALL_STATE(143)] = 2991, + [SMALL_STATE(144)] = 3004, + [SMALL_STATE(145)] = 3017, + [SMALL_STATE(146)] = 3021, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), - [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), - [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(19), - [48] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2), SHIFT_REPEAT(41), - [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 2), - [53] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 3), - [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [59] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(44), - [62] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 1), - [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 1), - [66] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1), - [68] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 5, .production_id = 11), - [70] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4, .production_id = 6), - [72] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_expression, 6), - [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 3, .production_id = 6), - [76] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), - [78] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4, .production_id = 12), - [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 7), - [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2), - [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 5), - [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 5, .production_id = 12), - [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, .production_id = 11), - [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 2), - [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 3, .production_id = 5), - [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 2), - [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [100] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), - [102] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), - [104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), - [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [118] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(53), - [121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), - [123] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(53), - [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1), - [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2, .production_id = 6), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 2), - [176] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2, .production_id = 13), SHIFT_REPEAT(10), - [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2, .production_id = 13), - [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon_property, 3, .production_id = 8), - [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [191] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 10), SHIFT_REPEAT(88), - [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 10), - [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__equal_property, 3, .production_id = 8), - [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [200] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 10), SHIFT_REPEAT(71), - [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 10), - [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 3, .production_id = 3), - [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, .production_id = 5), - [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, .production_id = 5), - [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 5, .production_id = 9), - [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__case_value, 1), - [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 5, .production_id = 9), - [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1), - [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 5, .production_id = 4), - [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__definition, 1), - [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 1, .production_id = 1), - [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 4, .production_id = 4), - [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 4, .production_id = 4), - [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 5, .production_id = 4), - [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 3, .production_id = 3), - [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 6, .production_id = 9), - [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 6, .production_id = 9), - [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 4, .production_id = 14), - [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_soong_config_variable, 6, .production_id = 15), - [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 5), - [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 2), - [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121), - [283] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 3), - [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), - [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_case, 3, .production_id = 16), - [299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_case, 3, .production_id = 16), - [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 4), - [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), - [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 3), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 3, 0, 0), + [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 1, 0, 0), + [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_integer_literal, 2, 0, 0), + [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [67] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(42), + [70] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 2, 0, 0), + [72] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 1, 0, 0), + [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1, 0, 0), + [76] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, 0, 5), + [78] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 3, 0, 5), + [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 3, 0, 6), + [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 7), + [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4, 0, 6), + [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 4, 0, 11), + [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 2, 0, 0), + [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4, 0, 12), + [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_expression, 6, 0, 0), + [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 5, 0, 12), + [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expression, 5, 0, 11), + [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2, 0, 0), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [102] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), + [104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131), + [106] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(89), + [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2, 0, 0), + [111] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(89), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__select_pattern, 1, 0, 0), + [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, 0, 2), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__colon_property, 3, 0, 8), + [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [164] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, 0, 10), SHIFT_REPEAT(117), + [167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, 0, 10), + [169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__equal_property, 3, 0, 8), + [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [175] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, 0, 10), SHIFT_REPEAT(102), + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, 0, 10), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2, 0, 6), + [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [192] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2, 0, 13), SHIFT_REPEAT(10), + [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expression_repeat1, 2, 0, 13), + [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [217] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_value_repeat1, 2, 0, 0), SHIFT_REPEAT(101), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_select_value_repeat1, 2, 0, 0), + [222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [232] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_condition_repeat1, 2, 0, 0), SHIFT_REPEAT(43), + [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_condition_repeat1, 2, 0, 0), + [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_binding, 3, 0, 17), + [249] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2, 0, 0), SHIFT_REPEAT(14), + [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_select_cases_repeat1, 2, 0, 0), + [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__case_value, 1, 0, 0), + [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [260] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_pattern_repeat1, 2, 0, 0), SHIFT_REPEAT(18), + [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_select_pattern_repeat1, 2, 0, 0), + [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1, 0, 0), + [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 1, 0, 0), + [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_module_repeat1, 2, 0, 5), + [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 4, 0, 4), + [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 5, 0, 9), + [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition, 3, 0, 14), + [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 5, 0, 4), + [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__new_module_repeat1, 2, 0, 5), + [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 5, 0, 9), + [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition, 4, 0, 15), + [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 3, 0, 3), + [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition, 5, 0, 16), + [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 1, 0, 1), + [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 3, 0, 3), + [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1, 0, 0), + [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__definition, 1, 0, 0), + [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 4, 0, 4), + [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 5, 0, 4), + [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_case, 3, 0, 18), + [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_module, 6, 0, 9), + [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__new_module, 6, 0, 9), + [311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), + [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 1, 0, 0), + [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 3, 0, 0), + [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 2, 0, 0), + [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_pattern, 3, 0, 0), + [331] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), + [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 4, 0, 0), + [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_pattern, 5, 0, 0), + [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 3, 0, 0), + [341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146), + [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_pattern, 1, 0, 0), + [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_pattern, 4, 0, 0), + [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 4, 0, 0), + [353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_value, 5, 0, 0), + [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_cases, 5, 0, 0), + [357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2, 0, 0), + [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 3, 0, 0), }; #ifdef __cplusplus extern "C" { #endif -#ifdef _WIN32 -#define extern __declspec(dllexport) +#ifdef TREE_SITTER_HIDE_SYMBOLS +#define TS_PUBLIC +#elif defined(_WIN32) +#define TS_PUBLIC __declspec(dllexport) +#else +#define TS_PUBLIC __attribute__((visibility("default"))) #endif -extern const TSLanguage *tree_sitter_bp(void) { +TS_PUBLIC const TSLanguage *tree_sitter_bp(void) { static const TSLanguage language = { - .version = LANGUAGE_VERSION, + .abi_version = LANGUAGE_VERSION, .symbol_count = SYMBOL_COUNT, .alias_count = ALIAS_COUNT, .token_count = TOKEN_COUNT, @@ -7834,6 +4308,7 @@ extern const TSLanguage *tree_sitter_bp(void) { .state_count = STATE_COUNT, .large_state_count = LARGE_STATE_COUNT, .production_id_count = PRODUCTION_ID_COUNT, + .supertype_count = SUPERTYPE_COUNT, .field_count = FIELD_COUNT, .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, .parse_table = &ts_parse_table[0][0], @@ -7848,9 +4323,16 @@ extern const TSLanguage *tree_sitter_bp(void) { .public_symbol_map = ts_symbol_map, .alias_map = ts_non_terminal_alias_map, .alias_sequences = &ts_alias_sequences[0][0], - .lex_modes = ts_lex_modes, + .lex_modes = (const void*)ts_lex_modes, .lex_fn = ts_lex, .primary_state_ids = ts_primary_state_ids, + .name = "bp", + .max_reserved_word_set_size = 0, + .metadata = { + .major_version = 0, + .minor_version = 7, + .patch_version = 0, + }, }; return &language; } diff --git a/src/tree_sitter/alloc.h b/src/tree_sitter/alloc.h new file mode 100644 index 0000000..1abdd12 --- /dev/null +++ b/src/tree_sitter/alloc.h @@ -0,0 +1,54 @@ +#ifndef TREE_SITTER_ALLOC_H_ +#define TREE_SITTER_ALLOC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +// Allow clients to override allocation functions +#ifdef TREE_SITTER_REUSE_ALLOCATOR + +extern void *(*ts_current_malloc)(size_t size); +extern void *(*ts_current_calloc)(size_t count, size_t size); +extern void *(*ts_current_realloc)(void *ptr, size_t size); +extern void (*ts_current_free)(void *ptr); + +#ifndef ts_malloc +#define ts_malloc ts_current_malloc +#endif +#ifndef ts_calloc +#define ts_calloc ts_current_calloc +#endif +#ifndef ts_realloc +#define ts_realloc ts_current_realloc +#endif +#ifndef ts_free +#define ts_free ts_current_free +#endif + +#else + +#ifndef ts_malloc +#define ts_malloc malloc +#endif +#ifndef ts_calloc +#define ts_calloc calloc +#endif +#ifndef ts_realloc +#define ts_realloc realloc +#endif +#ifndef ts_free +#define ts_free free +#endif + +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ALLOC_H_ diff --git a/src/tree_sitter/array.h b/src/tree_sitter/array.h new file mode 100644 index 0000000..a17a574 --- /dev/null +++ b/src/tree_sitter/array.h @@ -0,0 +1,291 @@ +#ifndef TREE_SITTER_ARRAY_H_ +#define TREE_SITTER_ARRAY_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "./alloc.h" + +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4101) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#endif + +#define Array(T) \ + struct { \ + T *contents; \ + uint32_t size; \ + uint32_t capacity; \ + } + +/// Initialize an array. +#define array_init(self) \ + ((self)->size = 0, (self)->capacity = 0, (self)->contents = NULL) + +/// Create an empty array. +#define array_new() \ + { NULL, 0, 0 } + +/// Get a pointer to the element at a given `index` in the array. +#define array_get(self, _index) \ + (assert((uint32_t)(_index) < (self)->size), &(self)->contents[_index]) + +/// Get a pointer to the first element in the array. +#define array_front(self) array_get(self, 0) + +/// Get a pointer to the last element in the array. +#define array_back(self) array_get(self, (self)->size - 1) + +/// Clear the array, setting its size to zero. Note that this does not free any +/// memory allocated for the array's contents. +#define array_clear(self) ((self)->size = 0) + +/// Reserve `new_capacity` elements of space in the array. If `new_capacity` is +/// less than the array's current capacity, this function has no effect. +#define array_reserve(self, new_capacity) \ + _array__reserve((Array *)(self), array_elem_size(self), new_capacity) + +/// Free any memory allocated for this array. Note that this does not free any +/// memory allocated for the array's contents. +#define array_delete(self) _array__delete((Array *)(self)) + +/// Push a new `element` onto the end of the array. +#define array_push(self, element) \ + (_array__grow((Array *)(self), 1, array_elem_size(self)), \ + (self)->contents[(self)->size++] = (element)) + +/// Increase the array's size by `count` elements. +/// New elements are zero-initialized. +#define array_grow_by(self, count) \ + do { \ + if ((count) == 0) break; \ + _array__grow((Array *)(self), count, array_elem_size(self)); \ + memset((self)->contents + (self)->size, 0, (count) * array_elem_size(self)); \ + (self)->size += (count); \ + } while (0) + +/// Append all elements from one array to the end of another. +#define array_push_all(self, other) \ + array_extend((self), (other)->size, (other)->contents) + +/// Append `count` elements to the end of the array, reading their values from the +/// `contents` pointer. +#define array_extend(self, count, contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), (self)->size, \ + 0, count, contents \ + ) + +/// Remove `old_count` elements from the array starting at the given `index`. At +/// the same index, insert `new_count` new elements, reading their values from the +/// `new_contents` pointer. +#define array_splice(self, _index, old_count, new_count, new_contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), _index, \ + old_count, new_count, new_contents \ + ) + +/// Insert one `element` into the array at the given `index`. +#define array_insert(self, _index, element) \ + _array__splice((Array *)(self), array_elem_size(self), _index, 0, 1, &(element)) + +/// Remove one element from the array at the given `index`. +#define array_erase(self, _index) \ + _array__erase((Array *)(self), array_elem_size(self), _index) + +/// Pop the last element off the array, returning the element by value. +#define array_pop(self) ((self)->contents[--(self)->size]) + +/// Assign the contents of one array to another, reallocating if necessary. +#define array_assign(self, other) \ + _array__assign((Array *)(self), (const Array *)(other), array_elem_size(self)) + +/// Swap one array with another +#define array_swap(self, other) \ + _array__swap((Array *)(self), (Array *)(other)) + +/// Get the size of the array contents +#define array_elem_size(self) (sizeof *(self)->contents) + +/// Search a sorted array for a given `needle` value, using the given `compare` +/// callback to determine the order. +/// +/// If an existing element is found to be equal to `needle`, then the `index` +/// out-parameter is set to the existing value's index, and the `exists` +/// out-parameter is set to true. Otherwise, `index` is set to an index where +/// `needle` should be inserted in order to preserve the sorting, and `exists` +/// is set to false. +#define array_search_sorted_with(self, compare, needle, _index, _exists) \ + _array__search_sorted(self, 0, compare, , needle, _index, _exists) + +/// Search a sorted array for a given `needle` value, using integer comparisons +/// of a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_with`. +#define array_search_sorted_by(self, field, needle, _index, _exists) \ + _array__search_sorted(self, 0, _compare_int, field, needle, _index, _exists) + +/// Insert a given `value` into a sorted array, using the given `compare` +/// callback to determine the order. +#define array_insert_sorted_with(self, compare, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_with(self, compare, &(value), &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +/// Insert a given `value` into a sorted array, using integer comparisons of +/// a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_by`. +#define array_insert_sorted_by(self, field, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_by(self, field, (value) field, &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +// Private + +typedef Array(void) Array; + +/// This is not what you're looking for, see `array_delete`. +static inline void _array__delete(Array *self) { + if (self->contents) { + ts_free(self->contents); + self->contents = NULL; + self->size = 0; + self->capacity = 0; + } +} + +/// This is not what you're looking for, see `array_erase`. +static inline void _array__erase(Array *self, size_t element_size, + uint32_t index) { + assert(index < self->size); + char *contents = (char *)self->contents; + memmove(contents + index * element_size, contents + (index + 1) * element_size, + (self->size - index - 1) * element_size); + self->size--; +} + +/// This is not what you're looking for, see `array_reserve`. +static inline void _array__reserve(Array *self, size_t element_size, uint32_t new_capacity) { + if (new_capacity > self->capacity) { + if (self->contents) { + self->contents = ts_realloc(self->contents, new_capacity * element_size); + } else { + self->contents = ts_malloc(new_capacity * element_size); + } + self->capacity = new_capacity; + } +} + +/// This is not what you're looking for, see `array_assign`. +static inline void _array__assign(Array *self, const Array *other, size_t element_size) { + _array__reserve(self, element_size, other->size); + self->size = other->size; + memcpy(self->contents, other->contents, self->size * element_size); +} + +/// This is not what you're looking for, see `array_swap`. +static inline void _array__swap(Array *self, Array *other) { + Array swap = *other; + *other = *self; + *self = swap; +} + +/// This is not what you're looking for, see `array_push` or `array_grow_by`. +static inline void _array__grow(Array *self, uint32_t count, size_t element_size) { + uint32_t new_size = self->size + count; + if (new_size > self->capacity) { + uint32_t new_capacity = self->capacity * 2; + if (new_capacity < 8) new_capacity = 8; + if (new_capacity < new_size) new_capacity = new_size; + _array__reserve(self, element_size, new_capacity); + } +} + +/// This is not what you're looking for, see `array_splice`. +static inline void _array__splice(Array *self, size_t element_size, + uint32_t index, uint32_t old_count, + uint32_t new_count, const void *elements) { + uint32_t new_size = self->size + new_count - old_count; + uint32_t old_end = index + old_count; + uint32_t new_end = index + new_count; + assert(old_end <= self->size); + + _array__reserve(self, element_size, new_size); + + char *contents = (char *)self->contents; + if (self->size > old_end) { + memmove( + contents + new_end * element_size, + contents + old_end * element_size, + (self->size - old_end) * element_size + ); + } + if (new_count > 0) { + if (elements) { + memcpy( + (contents + index * element_size), + elements, + new_count * element_size + ); + } else { + memset( + (contents + index * element_size), + 0, + new_count * element_size + ); + } + } + self->size += new_count - old_count; +} + +/// A binary search routine, based on Rust's `std::slice::binary_search_by`. +/// This is not what you're looking for, see `array_search_sorted_with` or `array_search_sorted_by`. +#define _array__search_sorted(self, start, compare, suffix, needle, _index, _exists) \ + do { \ + *(_index) = start; \ + *(_exists) = false; \ + uint32_t size = (self)->size - *(_index); \ + if (size == 0) break; \ + int comparison; \ + while (size > 1) { \ + uint32_t half_size = size / 2; \ + uint32_t mid_index = *(_index) + half_size; \ + comparison = compare(&((self)->contents[mid_index] suffix), (needle)); \ + if (comparison <= 0) *(_index) = mid_index; \ + size -= half_size; \ + } \ + comparison = compare(&((self)->contents[*(_index)] suffix), (needle)); \ + if (comparison == 0) *(_exists) = true; \ + else if (comparison < 0) *(_index) += 1; \ + } while (0) + +/// Helper macro for the `_sorted_by` routines below. This takes the left (existing) +/// parameter by reference in order to work with the generic sorting function above. +#define _compare_int(a, b) ((int)*(a) - (int)(b)) + +#ifdef _MSC_VER +#pragma warning(pop) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ARRAY_H_ diff --git a/src/tree_sitter/parser.h b/src/tree_sitter/parser.h index 17b4fde..cdbe64c 100644 --- a/src/tree_sitter/parser.h +++ b/src/tree_sitter/parser.h @@ -18,6 +18,12 @@ typedef uint16_t TSStateId; typedef uint16_t TSSymbol; typedef uint16_t TSFieldId; typedef struct TSLanguage TSLanguage; +typedef struct TSLanguageMetadata TSLanguageMetadata; +typedef struct TSLanguageMetadata { + uint8_t major_version; + uint8_t minor_version; + uint8_t patch_version; +} TSLanguageMetadata; #endif typedef struct { @@ -26,10 +32,11 @@ typedef struct { bool inherited; } TSFieldMapEntry; +// Used to index the field and supertype maps. typedef struct { uint16_t index; uint16_t length; -} TSFieldMapSlice; +} TSMapSlice; typedef struct { bool visible; @@ -47,6 +54,7 @@ struct TSLexer { uint32_t (*get_column)(TSLexer *); bool (*is_at_included_range_start)(const TSLexer *); bool (*eof)(const TSLexer *); + void (*log)(const TSLexer *, const char *, ...); }; typedef enum { @@ -78,6 +86,12 @@ typedef struct { uint16_t external_lex_state; } TSLexMode; +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; + uint16_t reserved_word_set_id; +} TSLexerMode; + typedef union { TSParseAction action; struct { @@ -86,8 +100,13 @@ typedef union { } entry; } TSParseActionEntry; +typedef struct { + int32_t start; + int32_t end; +} TSCharacterRange; + struct TSLanguage { - uint32_t version; + uint32_t abi_version; uint32_t symbol_count; uint32_t alias_count; uint32_t token_count; @@ -103,13 +122,13 @@ struct TSLanguage { const TSParseActionEntry *parse_actions; const char * const *symbol_names; const char * const *field_names; - const TSFieldMapSlice *field_map_slices; + const TSMapSlice *field_map_slices; const TSFieldMapEntry *field_map_entries; const TSSymbolMetadata *symbol_metadata; const TSSymbol *public_symbol_map; const uint16_t *alias_map; const TSSymbol *alias_sequences; - const TSLexMode *lex_modes; + const TSLexerMode *lex_modes; bool (*lex_fn)(TSLexer *, TSStateId); bool (*keyword_lex_fn)(TSLexer *, TSStateId); TSSymbol keyword_capture_token; @@ -123,8 +142,34 @@ struct TSLanguage { void (*deserialize)(void *, const char *, unsigned); } external_scanner; const TSStateId *primary_state_ids; + const char *name; + const TSSymbol *reserved_words; + uint16_t max_reserved_word_set_size; + uint32_t supertype_count; + const TSSymbol *supertype_symbols; + const TSMapSlice *supertype_map_slices; + const TSSymbol *supertype_map_entries; + TSLanguageMetadata metadata; }; +static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { + uint32_t index = 0; + uint32_t size = len - index; + while (size > 1) { + uint32_t half_size = size / 2; + uint32_t mid_index = index + half_size; + const TSCharacterRange *range = &ranges[mid_index]; + if (lookahead >= range->start && lookahead <= range->end) { + return true; + } else if (lookahead > range->end) { + index = mid_index; + } + size -= half_size; + } + const TSCharacterRange *range = &ranges[index]; + return (lookahead >= range->start && lookahead <= range->end); +} + /* * Lexer Macros */ @@ -154,6 +199,17 @@ struct TSLanguage { goto next_state; \ } +#define ADVANCE_MAP(...) \ + { \ + static const uint16_t map[] = { __VA_ARGS__ }; \ + for (uint32_t i = 0; i < sizeof(map) / sizeof(map[0]); i += 2) { \ + if (map[i] == lookahead) { \ + state = map[i + 1]; \ + goto next_state; \ + } \ + } \ + } + #define SKIP(state_value) \ { \ skip = true; \ @@ -203,14 +259,15 @@ struct TSLanguage { } \ }} -#define REDUCE(symbol_val, child_count_val, ...) \ - {{ \ - .reduce = { \ - .type = TSParseActionTypeReduce, \ - .symbol = symbol_val, \ - .child_count = child_count_val, \ - __VA_ARGS__ \ - }, \ +#define REDUCE(symbol_name, children, precedence, prod_id) \ + {{ \ + .reduce = { \ + .type = TSParseActionTypeReduce, \ + .symbol = symbol_name, \ + .child_count = children, \ + .dynamic_precedence = precedence, \ + .production_id = prod_id \ + }, \ }} #define RECOVER() \ diff --git a/test/corpus/comments.txt b/test/corpus/comments.txt index a816b3c..cad3a8c 100644 --- a/test/corpus/comments.txt +++ b/test/corpus/comments.txt @@ -116,6 +116,19 @@ Block comment is not recursive (source_file (comment)) +================================================================================ +Block comment is not recursive (error) +================================================================================ + +/* /* */ */ + +-------------------------------------------------------------------------------- + +(source_file + (comment) + (ERROR + (UNEXPECTED '*'))) + ================================================================================ Unterminated comment ================================================================================ diff --git a/test/corpus/literals.txt b/test/corpus/literals.txt index b1c3fba..82fafae 100644 --- a/test/corpus/literals.txt +++ b/test/corpus/literals.txt @@ -20,6 +20,35 @@ foo = 42 -------------------------------------------------------------------------------- +(source_file + (assignment + (identifier) + (operator) + (integer_literal))) + +================================================================================ +Integer literal (negative) +================================================================================ + +foo = -42 + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (integer_literal))) + + +================================================================================ +Integer literal (negative space) +================================================================================ + +foo = - 42 + +-------------------------------------------------------------------------------- + (source_file (assignment (identifier) diff --git a/test/corpus/select.txt b/test/corpus/select.txt index fb76530..c06c76e 100644 --- a/test/corpus/select.txt +++ b/test/corpus/select.txt @@ -4,6 +4,7 @@ Select foo = select(release_variable("RELEASE_TEST"), { "d": "d2", + any: unset, default: unset, }) @@ -15,22 +16,29 @@ foo = select(release_variable("RELEASE_TEST"), { (operator) (select_expression (select_value - (selection_type) - (interpreted_string_literal)) + (condition + (identifier) + (interpreted_string_literal))) (select_cases (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)) - (default_case + (select_case + (select_pattern + (any)) + (unset)) + (select_case + (select_pattern + (default)) (unset)))))) ================================================================================ -Select (soong config variable) +Select (no trailing comma) ================================================================================ -foo = select(soong_config_variable("my_namespace", "my_var"), { - "foo": unset, - "default": "bar", +foo = select(release_variable("RELEASE_TEST"), { + default: unset }) -------------------------------------------------------------------------------- @@ -40,17 +48,54 @@ foo = select(soong_config_variable("my_namespace", "my_var"), { (identifier) (operator) (select_expression - (soong_config_variable - (selection_type) - (interpreted_string_literal) - (interpreted_string_literal)) + (select_value + (condition + (identifier) + (interpreted_string_literal))) (select_cases (select_case + (select_pattern + (default)) + (unset)))))) + +================================================================================ +Select (soong config variable) +================================================================================ + +foo = select(soong_config_variable("my_namespace", "my_var"), { + "foo": unset, + "default": "bar", + any @ foo: unset, +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (select_expression + (select_value + (condition + (identifier) (interpreted_string_literal) + (interpreted_string_literal))) + (select_cases + (select_case + (select_pattern + (interpreted_string_literal)) (unset)) (select_case - (interpreted_string_literal) - (interpreted_string_literal)))))) + (select_pattern + (interpreted_string_literal)) + (interpreted_string_literal)) + (select_case + (select_pattern + (pattern_binding + (any) + (operator) + (identifier))) + (unset)))))) ================================================================================ Select (no default) @@ -71,20 +116,25 @@ foo = select(variant("arch"), { (operator) (select_expression (select_value - (selection_type) - (interpreted_string_literal)) + (condition + (identifier) + (interpreted_string_literal))) (select_cases (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)) (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)) (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)) (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)))))) ================================================================================ @@ -101,8 +151,9 @@ foo = select(variant("VARIANT"), {}) (operator) (select_expression (select_value - (selection_type) - (interpreted_string_literal)) + (condition + (identifier) + (interpreted_string_literal))) (select_cases)))) ================================================================================ @@ -125,23 +176,29 @@ foo = select(variant("VARIANT"), { (operator) (select_expression (select_value - (selection_type) - (interpreted_string_literal)) + (condition + (identifier) + (interpreted_string_literal))) (select_cases (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)) (select_case - (interpreted_string_literal) - (interpreted_string_literal)) - (ERROR - (default_case - (unset))) - (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)) (select_case - (interpreted_string_literal) + (select_pattern + (default)) + (unset)) + (select_case + (select_pattern + (interpreted_string_literal)) + (interpreted_string_literal)) + (select_case + (select_pattern + (interpreted_string_literal)) (interpreted_string_literal)))))) ================================================================================ @@ -161,13 +218,16 @@ foo = select(variant(), { (operator) (select_expression (select_value - (selection_type) - (MISSING raw_string_literal)) + (condition + (identifier))) (select_cases (select_case - (interpreted_string_literal) + (select_pattern + (interpreted_string_literal)) (unset)) - (default_case + (select_case + (select_pattern + (default)) (interpreted_string_literal)))))) ================================================================================ @@ -185,13 +245,209 @@ foo = select(some_unknown_type("CONDITION"), { (assignment (identifier) (operator) - (ERROR - (identifier) - (identifier) - (interpreted_string_literal) - (interpreted_string_literal)) - (interpreted_string_literal)) - (ERROR)) + (select_expression + (select_value + (condition + (identifier) + (interpreted_string_literal))) + (select_cases + (select_case + (select_pattern + (interpreted_string_literal)) + (interpreted_string_literal)) + (select_case + (select_pattern + (default)) + (interpreted_string_literal)))))) + +================================================================================ +Select (multiple type arguments) +================================================================================ + +foo = select(release_variable("ONE", "TWO"), { + "d": "d2", + default: "f2", +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (select_expression + (select_value + (condition + (identifier) + (interpreted_string_literal) + (interpreted_string_literal))) + (select_cases + (select_case + (select_pattern + (interpreted_string_literal)) + (interpreted_string_literal)) + (select_case + (select_pattern + (default)) + (interpreted_string_literal)))))) + +================================================================================ +Select (trailing comma in arguments) +================================================================================ + +foo = select(some_boolean("VALUE",), { + true: "true", + false: "false", +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (select_expression + (select_value + (condition + (identifier) + (interpreted_string_literal) + (ERROR))) + (select_cases + (select_case + (select_pattern + (boolean_literal)) + (interpreted_string_literal)) + (select_case + (select_pattern + (boolean_literal)) + (interpreted_string_literal)))))) + +================================================================================ +Select (trailing comma in values) +================================================================================ + +foo = select(( + arch(), + os(), +), { + (default, default): "true", +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (select_expression + (select_value + (condition + (identifier)) + (condition + (identifier))) + (select_cases + (select_case + (select_pattern + (default) + (default)) + (interpreted_string_literal)))))) + +================================================================================ +Select (trailing comma in pattern) +================================================================================ + +foo = select((arch(), os()), { + (default, default,): "true", +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (select_expression + (select_value + (condition + (identifier)) + (condition + (identifier))) + (select_cases + (select_case + (select_pattern + (default) + (default)) + (interpreted_string_literal)))))) + +================================================================================ +Select (boolean typed) +================================================================================ + +foo = select(some_boolean("IS_TRUE"), { + true: "true", + false: "false", +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (select_expression + (select_value + (condition + (identifier) + (interpreted_string_literal))) + (select_cases + (select_case + (select_pattern + (boolean_literal)) + (interpreted_string_literal)) + (select_case + (select_pattern + (boolean_literal)) + (interpreted_string_literal)))))) + +================================================================================ +Select (integer typed) +================================================================================ + +foo = select(some_integer("VALUE"), { + 0: "0", + -1: "-1", + 1: "1", + default: "default", +}) + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (select_expression + (select_value + (condition + (identifier) + (interpreted_string_literal))) + (select_cases + (select_case + (select_pattern + (integer_literal)) + (interpreted_string_literal)) + (select_case + (select_pattern + (integer_literal)) + (interpreted_string_literal)) + (select_case + (select_pattern + (integer_literal)) + (interpreted_string_literal)) + (select_case + (select_pattern + (default)) + (interpreted_string_literal)))))) ================================================================================ Select as an identifier diff --git a/test/highlight/builtins.bp b/test/highlight/builtins.bp index 73b32e3..624b106 100644 --- a/test/highlight/builtins.bp +++ b/test/highlight/builtins.bp @@ -2,6 +2,8 @@ foo = select(soong_config_variable("my_namespace", "my_var"), { // ^ function.builtin "foo": unset, // ^ variable.builtin + any: unset, + // <- variable.builtin default: select(variant("VARIANT"), {}), // <- variable.builtin // ^ function.builtin diff --git a/test/highlight/select.bp b/test/highlight/select.bp index b857c1e..254d483 100644 --- a/test/highlight/select.bp +++ b/test/highlight/select.bp @@ -1,6 +1,9 @@ foo = select(soong_config_variable("my_namespace", "my_var"), { // ^ keyword.conditional "foo": unset, + any @ foo: unset, + // ^ operator + // ^ variable default: "bar", }) diff --git a/test/indent/select.bp b/test/indent/select.bp index 6d95b2c..6c432b2 100644 --- a/test/indent/select.bp +++ b/test/indent/select.bp @@ -26,3 +26,35 @@ foo = select( default: 0, } ) + +foo = select(( + arch(), + os(), +), { + (default, default): [], +}) + +foo = select( + (arch(), os()), + { + (default, default): [], + } +) + +// We're really getting into more and more unlikely choices here... +foo = select( + ( + arch(), + os(), + ), + { + (default, default): [], + } +) + +foo = select((arch(), os()), { + ( + default, + default, + ): [], +}) diff --git a/test/indent_spec.lua b/test/indent_spec.lua index f36145d..6620148 100644 --- a/test/indent_spec.lua +++ b/test/indent_spec.lua @@ -1,6 +1,7 @@ package.path = package.path .. ";" .. vim.env.NVIM_TREESITTER .. "/?.lua" local Runner = require("tests.indent.common").Runner +local XFAIL = require("tests.indent.common").XFAIL -- FIXME: path to root local runner = Runner:new(it, ".", { @@ -19,7 +20,7 @@ describe("indent Blueprint:", function() }) runner:whole_file("test/indent/", { expected_failures = { - -- NOTE: none for now + "test/indent/select.bp", }, }) end) @@ -39,9 +40,22 @@ describe("indent Blueprint:", function() runner:new_line("test/indent/select.bp", { on_line = 1, text = 'default: "value"', indent = 4 }, "default case") runner:new_line("test/indent/select.bp", { on_line = 11, text = '"case": "value"', indent = 4 }, "select case, trailing") runner:new_line("test/indent/select.bp", { on_line = 11, text = 'default: "value"', indent = 4 }, "default case, trailing") + runner:new_line("test/indent/select.bp", { on_line = 11, text = '}', indent = 0 }, "select cases closing delimiter") + runner:new_line("test/indent/select.bp", { on_line = 27, text = ')', indent = 0 }, "select expression closing delimiter") runner:new_line("test/indent/select.bp", { on_line = 16, text = '"case": "value"', indent = 8 }, "select case, alternate formatting") runner:new_line("test/indent/select.bp", { on_line = 16, text = 'default: "value"', indent = 8 }, "default case, alternate formatting") - runner:new_line("test/indent/select.bp", { on_line = 26, text = '"case": "value"', indent = 8 }, "select case, trailing, alternate formattingg") - runner:new_line("test/indent/select.bp", { on_line = 26, text = 'default: "value"', indent = 8 }, "default case, trailing, alternate formattingn") + runner:new_line("test/indent/select.bp", { on_line = 26, text = '"case": "value"', indent = 8 }, "select case, trailing, alternate formatting") + runner:new_line("test/indent/select.bp", { on_line = 26, text = 'default: "value"', indent = 8 }, "default case, trailing, alternate formatting") + runner:new_line("test/indent/select.bp", { on_line = 26, text = '}', indent = 4 }, "select cases closing delimiter, alternate formatting") + runner:new_line("test/indent/select.bp", { on_line = 27, text = ')', indent = 0 }, "select expression closing delimiter, alternate formatting") + runner:new_line("test/indent/select.bp", { on_line = 30, text = 'device()', indent = 4 }, "multi-valued select condition, begin") + runner:new_line("test/indent/select.bp", { on_line = 31, text = 'device()', indent = 4 }, "multi-valued select condition, middle") + runner:new_line("test/indent/select.bp", { on_line = 32, text = 'device()', indent = 4 }, "multi-valued select condition, end") + runner:new_line("test/indent/select.bp", { on_line = 46, text = 'device()', indent = 8 }, "multi-valued select condition, begin, alternate formatting") + runner:new_line("test/indent/select.bp", { on_line = 47, text = 'device()', indent = 8 }, "multi-valued select condition, middle, alternate formatting") + runner:new_line("test/indent/select.bp", { on_line = 48, text = 'device()', indent = 8 }, "multi-valued select condition, end, alternate formatting") + runner:new_line("test/indent/select.bp", { on_line = 56, text = 'default,', indent = 8 }, "multi-valued select case, begin", XFAIL) + runner:new_line("test/indent/select.bp", { on_line = 57, text = 'default,', indent = 8 }, "multi-valued select case, middle", XFAIL) + runner:new_line("test/indent/select.bp", { on_line = 58, text = 'default,', indent = 8 }, "multi-valued select case, end", XFAIL) end) end) diff --git a/tree-sitter.json b/tree-sitter.json new file mode 100644 index 0000000..bacee82 --- /dev/null +++ b/tree-sitter.json @@ -0,0 +1,30 @@ +{ + "grammars": [ + { + "name": "bp", + "camelcase": "Bp", + "scope": "source.bp", + "path": ".", + "file-types": [ + "bp" + ], + "injection-regex": "^bp$" + } + ], + "metadata": { + "version": "0.7.0", + "license": "MIT", + "description": "Blueprint grammar for tree-sitter", + "links": { + "repository": "https://github.com/tree-sitter/tree-sitter-bp" + } + }, + "bindings": { + "c": true, + "go": true, + "node": true, + "python": true, + "rust": true, + "swift": true + } +}