diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f363cc5 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,39 @@ +root = true + +[*] +charset = utf-8 + +[*.{json,toml,yml,gyp}] +indent_style = space +indent_size = 2 + +[*.js] +indent_style = space +indent_size = 2 + +[*.{c,cc,h}] +indent_style = space +indent_size = 4 + +[*.rs] +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 + +[parser.c] +indent_size = 2 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..4cb1058 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,11 @@ +* text=auto eol=lf + +src/*.json linguist-generated +src/parser.c linguist-generated +src/tree_sitter/* linguist-generated + +bindings/** linguist-generated +binding.gyp linguist-generated +setup.py linguist-generated +Makefile linguist-generated +Package.swift linguist-generated diff --git a/.gitignore b/.gitignore index 98b2343..443b89e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,139 +1,41 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# npm Lock file -package-lock.json - -# Optional eslint cache -.eslintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# Yarn Lock file -yarn.lock - -# dotenv environment variables file -.env -.env.test - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# Next.js build output -.next - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and *not* Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Generated by Cargo -# will have compiled files and executables -debug/ -target/ - -# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries -# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html +# Rust artifacts Cargo.lock +target/ -# These are backup files generated by rustfmt -**/*.rs.bk - -# Builds +# Node artifacts build/ +prebuilds/ +node_modules/ +*.tgz -# Examples -examples/ - -# TODO -Cargo.lock -node_modules -.node-version -build -*.log -/test.js -/examples/npm -package-lock.json -/target/ +# Swift artifacts +.build/ +Package.resolved + +# Go artifacts +go.sum +_obj/ + +# Python artifacts +__pycache__/ +.venv/ +dist/ +*.egg-info +*.whl + +# C artifacts +*.dSYM/ +*.a +*.so +*.so.* +*.dylib +*.dll +*.pc + +# Example dirs +/examples/*/ + +# Grammar volatiles +*.wasm +*.obj +*.o diff --git a/Cargo.toml b/Cargo.toml index a082279..6620371 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,25 +1,26 @@ [package] name = "tree-sitter-wgsl" -description = "wgsl grammar for the tree-sitter parsing library" -version = "0.0.1" -keywords = ["incremental", "parsing", "wgsl"] +description = "WGSL grammar for tree-sitter" +version = "0.0.7" +license = "BSD-3-Clause" +readme = "README.md" +keywords = ["incremental", "parsing", "tree-sitter", "wgsl"] categories = ["parsing", "text-editors"] repository = "https://github.com/gpuweb/tree-sitter-wgsl" edition = "2021" +autoexamples = false build = "bindings/rust/build.rs" -include = [ - "bindings/rust/*", - "grammar.js", - "queries/*", - "src/*", -] +include = ["bindings/rust/*", "grammar.js", "queries/*", "src/*"] [lib] path = "bindings/rust/lib.rs" [dependencies] -tree-sitter = "~0.20.9" +tree-sitter-language = "0.1" + +[dev-dependencies] +tree-sitter = { version = "0.22" } [build-dependencies] -cc = "1.0" +cc = "1.0.87" diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5de5e84 --- /dev/null +++ b/Makefile @@ -0,0 +1,114 @@ +ifeq ($(OS),Windows_NT) +$(error Windows is not supported) +endif + +VERSION := 0.0.7 + +LANGUAGE_NAME := tree-sitter-wgsl + +# repository +SRC_DIR := src + +PARSER_REPO_URL := $(shell git -C $(SRC_DIR) remote get-url origin 2>/dev/null) + +ifeq ($(PARSER_URL),) + PARSER_URL := $(subst .git,,$(PARSER_REPO_URL)) +ifeq ($(shell echo $(PARSER_URL) | grep '^[a-z][-+.0-9a-z]*://'),) + PARSER_URL := $(subst :,/,$(PARSER_URL)) + PARSER_URL := $(subst git@,https://,$(PARSER_URL)) +endif +endif + +TS ?= tree-sitter + +# install directory layout +PREFIX ?= /usr/local +INCLUDEDIR ?= $(PREFIX)/include +LIBDIR ?= $(PREFIX)/lib +PCLIBDIR ?= $(LIBDIR)/pkgconfig + +# source/object files +PARSER := $(SRC_DIR)/parser.c +EXTRAS := $(filter-out $(PARSER),$(wildcard $(SRC_DIR)/*.c)) +OBJS := $(patsubst %.c,%.o,$(PARSER) $(EXTRAS)) + +# flags +ARFLAGS ?= rcs +override CFLAGS += -I$(SRC_DIR) -std=c11 -fPIC + +# ABI versioning +SONAME_MAJOR := 1 +SONAME_MINOR := 4 + +# OS-specific bits +ifeq ($(shell uname),Darwin) + SOEXT = dylib + SOEXTVER_MAJOR = $(SONAME_MAJOR).$(SOEXT) + SOEXTVER = $(SONAME_MAJOR).$(SONAME_MINOR).$(SOEXT) + LINKSHARED := $(LINKSHARED)-dynamiclib -Wl, + ifneq ($(ADDITIONAL_LIBS),) + LINKSHARED := $(LINKSHARED)$(ADDITIONAL_LIBS), + endif + LINKSHARED := $(LINKSHARED)-install_name,$(LIBDIR)/lib$(LANGUAGE_NAME).$(SOEXTVER),-rpath,@executable_path/../Frameworks +else + SOEXT = so + SOEXTVER_MAJOR = $(SOEXT).$(SONAME_MAJOR) + SOEXTVER = $(SOEXT).$(SONAME_MAJOR).$(SONAME_MINOR) + LINKSHARED := $(LINKSHARED)-shared -Wl, + ifneq ($(ADDITIONAL_LIBS),) + LINKSHARED := $(LINKSHARED)$(ADDITIONAL_LIBS) + endif + LINKSHARED := $(LINKSHARED)-soname,lib$(LANGUAGE_NAME).$(SOEXTVER) +endif +ifneq ($(filter $(shell uname),FreeBSD NetBSD DragonFly),) + PCLIBDIR := $(PREFIX)/libdata/pkgconfig +endif + +all: lib$(LANGUAGE_NAME).a lib$(LANGUAGE_NAME).$(SOEXT) $(LANGUAGE_NAME).pc + +lib$(LANGUAGE_NAME).a: $(OBJS) + $(AR) $(ARFLAGS) $@ $^ + +lib$(LANGUAGE_NAME).$(SOEXT): $(OBJS) + $(CC) $(LDFLAGS) $(LINKSHARED) $^ $(LDLIBS) -o $@ +ifneq ($(STRIP),) + $(STRIP) $@ +endif + +$(LANGUAGE_NAME).pc: bindings/c/$(LANGUAGE_NAME).pc.in + sed -e 's|@URL@|$(PARSER_URL)|' \ + -e 's|@VERSION@|$(VERSION)|' \ + -e 's|@LIBDIR@|$(LIBDIR)|' \ + -e 's|@INCLUDEDIR@|$(INCLUDEDIR)|' \ + -e 's|@REQUIRES@|$(REQUIRES)|' \ + -e 's|@ADDITIONAL_LIBS@|$(ADDITIONAL_LIBS)|' \ + -e 's|=$(PREFIX)|=$${prefix}|' \ + -e 's|@PREFIX@|$(PREFIX)|' $< > $@ + +$(PARSER): $(SRC_DIR)/grammar.json + $(TS) generate --no-bindings $^ + +install: all + install -d '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter '$(DESTDIR)$(PCLIBDIR)' '$(DESTDIR)$(LIBDIR)' + install -m644 bindings/c/$(LANGUAGE_NAME).h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/$(LANGUAGE_NAME).h + install -m644 $(LANGUAGE_NAME).pc '$(DESTDIR)$(PCLIBDIR)'/$(LANGUAGE_NAME).pc + install -m644 lib$(LANGUAGE_NAME).a '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).a + install -m755 lib$(LANGUAGE_NAME).$(SOEXT) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER) + ln -sf lib$(LANGUAGE_NAME).$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) + ln -sf lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXT) + +uninstall: + $(RM) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).a \ + '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER) \ + '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) \ + '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXT) \ + '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/$(LANGUAGE_NAME).h \ + '$(DESTDIR)$(PCLIBDIR)'/$(LANGUAGE_NAME).pc + +clean: + $(RM) $(OBJS) $(LANGUAGE_NAME).pc lib$(LANGUAGE_NAME).a lib$(LANGUAGE_NAME).$(SOEXT) + +test: + $(TS) test + +.PHONY: all install uninstall clean test diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..8d3f747 --- /dev/null +++ b/Package.swift @@ -0,0 +1,61 @@ +// swift-tools-version:5.4 +import PackageDescription + +let package = Package( + name: "TreeSitterWgsl", + products: [ + .library(name: "TreeSitterWgsl", targets: ["TreeSitterWgsl"]), + ], + dependencies: [ + .package(url: "https://github.com/ChimeHQ/SwiftTreeSitter", from: "0.8.0"), + ], + targets: [ + .target( + name: "TreeSitterWgsl", + dependencies: [], + 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. + "src/scanner.c", + ], + resources: [ + .copy("queries") + ], + publicHeadersPath: "bindings/swift", + cSettings: [.headerSearchPath("src")] + ), + .testTarget( + name: "TreeSitterWgslTests", + dependencies: [ + "SwiftTreeSitter", + "TreeSitterWgsl", + ], + path: "bindings/swift/TreeSitterWgslTests" + ) + ], + cLanguageStandard: .c11 +) diff --git a/README.md b/README.md new file mode 100644 index 0000000..b886405 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# `tree-sitter-wgsl` + +This repository contains a [Tree-sitter](https://tree-sitter.github.io/tree-sitter/) grammar for the [WebGPU Shading Language (WGSL)](https://gpuweb.github.io/gpuweb/wgsl/). diff --git a/binding.gyp b/binding.gyp index 3dff5b6..ecb5f6a 100644 --- a/binding.gyp +++ b/binding.gyp @@ -2,18 +2,30 @@ "targets": [ { "target_name": "tree_sitter_wgsl_binding", + "dependencies": [ + " -#include "nan.h" +#include -using namespace v8; +typedef struct TSLanguage TSLanguage; -extern "C" TSLanguage * tree_sitter_wgsl(); +extern "C" TSLanguage *tree_sitter_wgsl(); -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_wgsl()); - - Nan::Set(instance, Nan::New("name").ToLocalChecked(), Nan::New("wgsl").ToLocalChecked()); - Nan::Set(module, Nan::New("exports").ToLocalChecked(), instance); +Napi::Object Init(Napi::Env env, Napi::Object exports) { + exports["name"] = Napi::String::New(env, "wgsl"); + auto language = Napi::External::New(env, tree_sitter_wgsl()); + language.TypeTag(&LANGUAGE_TYPE_TAG); + exports["language"] = language; + return exports; } -NODE_MODULE(tree_sitter_wgsl_binding, Init) - -} // namespace +NODE_API_MODULE(tree_sitter_wgsl_binding, Init) diff --git a/bindings/node/binding_test.js b/bindings/node/binding_test.js new file mode 100644 index 0000000..afede30 --- /dev/null +++ b/bindings/node/binding_test.js @@ -0,0 +1,9 @@ +/// + +const assert = require("node:assert"); +const { test } = require("node:test"); + +test("can load grammar", () => { + const parser = new (require("tree-sitter"))(); + assert.doesNotThrow(() => parser.setLanguage(require("."))); +}); 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 9fc358e..6657bcf 100644 --- a/bindings/node/index.js +++ b/bindings/node/index.js @@ -1,18 +1,6 @@ -try { - module.exports = require("../../build/Release/tree_sitter_wgsl_binding"); -} catch (error1) { - if (error1.code !== 'MODULE_NOT_FOUND') { - throw error1; - } - try { - module.exports = require("../../build/Debug/tree_sitter_wgsl_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/tests/test_binding.py b/bindings/python/tests/test_binding.py new file mode 100644 index 0000000..9ec649d --- /dev/null +++ b/bindings/python/tests/test_binding.py @@ -0,0 +1,11 @@ +from unittest import TestCase + +import tree_sitter, tree_sitter_wgsl + + +class TestLanguage(TestCase): + def test_can_load_grammar(self): + try: + tree_sitter.Language(tree_sitter_wgsl.language()) + except Exception: + self.fail("Error loading WGSL grammar") diff --git a/bindings/python/tree_sitter_wgsl/__init__.py b/bindings/python/tree_sitter_wgsl/__init__.py new file mode 100644 index 0000000..a6294b3 --- /dev/null +++ b/bindings/python/tree_sitter_wgsl/__init__.py @@ -0,0 +1,42 @@ +"""WGSL grammar for tree-sitter""" + +from importlib.resources import files as _files + +from ._binding import language + + +def _get_query(name, file): + query = _files(f"{__package__}.queries") / file + globals()[name] = query.read_text() + return globals()[name] + + +def __getattr__(name): + # NOTE: uncomment these to include any queries that this grammar contains: + + # if name == "HIGHLIGHTS_QUERY": + # return _get_query("HIGHLIGHTS_QUERY", "highlights.scm") + # if name == "INJECTIONS_QUERY": + # return _get_query("INJECTIONS_QUERY", "injections.scm") + # if name == "LOCALS_QUERY": + # return _get_query("LOCALS_QUERY", "locals.scm") + # if name == "TAGS_QUERY": + # return _get_query("TAGS_QUERY", "tags.scm") + + raise AttributeError(f"module {__name__!r} has no attribute {name!r}") + + +__all__ = [ + "language", + # "HIGHLIGHTS_QUERY", + # "INJECTIONS_QUERY", + # "LOCALS_QUERY", + # "TAGS_QUERY", +] + + +def __dir__(): + return sorted(__all__ + [ + "__all__", "__builtins__", "__cached__", "__doc__", "__file__", + "__loader__", "__name__", "__package__", "__path__", "__spec__", + ]) diff --git a/bindings/python/tree_sitter_wgsl/__init__.pyi b/bindings/python/tree_sitter_wgsl/__init__.pyi new file mode 100644 index 0000000..abf6633 --- /dev/null +++ b/bindings/python/tree_sitter_wgsl/__init__.pyi @@ -0,0 +1,10 @@ +from typing import Final + +# NOTE: uncomment these to include any queries that this grammar contains: + +# HIGHLIGHTS_QUERY: Final[str] +# INJECTIONS_QUERY: Final[str] +# LOCALS_QUERY: Final[str] +# TAGS_QUERY: Final[str] + +def language() -> object: ... diff --git a/bindings/python/tree_sitter_wgsl/binding.c b/bindings/python/tree_sitter_wgsl/binding.c new file mode 100644 index 0000000..e3d606d --- /dev/null +++ b/bindings/python/tree_sitter_wgsl/binding.c @@ -0,0 +1,27 @@ +#include + +typedef struct TSLanguage TSLanguage; + +TSLanguage *tree_sitter_wgsl(void); + +static PyObject* _binding_language(PyObject *Py_UNUSED(self), PyObject *Py_UNUSED(args)) { + return PyCapsule_New(tree_sitter_wgsl(), "tree_sitter.Language", NULL); +} + +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_wgsl/py.typed b/bindings/python/tree_sitter_wgsl/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/bindings/rust/build.rs b/bindings/rust/build.rs index c6061f0..7943c17 100644 --- a/bindings/rust/build.rs +++ b/bindings/rust/build.rs @@ -2,39 +2,19 @@ fn main() { let src_dir = std::path::Path::new("src"); let mut c_config = cc::Build::new(); - c_config.include(&src_dir); - c_config - .flag_if_supported("-Wno-unused-parameter") - .flag_if_supported("-Wno-unused-but-set-variable") - .flag_if_supported("-Wno-trigraphs"); + c_config.std("c11").include(src_dir); + + #[cfg(target_env = "msvc")] + c_config.flag("-utf-8"); + let parser_path = src_dir.join("parser.c"); c_config.file(&parser_path); + println!("cargo:rerun-if-changed={}", parser_path.to_str().unwrap()); - // If your language uses an external scanner written in C, - // then include this block of code: - - /* + // NOTE: if your language uses an external scanner, uncomment this block: let scanner_path = src_dir.join("scanner.c"); c_config.file(&scanner_path); println!("cargo:rerun-if-changed={}", scanner_path.to_str().unwrap()); - */ - c_config.compile("parser"); - println!("cargo:rerun-if-changed={}", parser_path.to_str().unwrap()); - - // If your language uses an external scanner written in C++, - // then include this block of code: - - /* - let mut cpp_config = cc::Build::new(); - cpp_config.cpp(true); - cpp_config.include(&src_dir); - cpp_config - .flag_if_supported("-Wno-unused-parameter") - .flag_if_supported("-Wno-unused-but-set-variable"); - let scanner_path = src_dir.join("scanner.cc"); - cpp_config.file(&scanner_path); - cpp_config.compile("scanner"); - println!("cargo:rerun-if-changed={}", scanner_path.to_str().unwrap()); - */ + c_config.compile("tree-sitter-wgsl"); } diff --git a/bindings/rust/lib.rs b/bindings/rust/lib.rs index 04ad5d4..f825209 100644 --- a/bindings/rust/lib.rs +++ b/bindings/rust/lib.rs @@ -1,13 +1,18 @@ -//! This crate provides wgsl language support for the [tree-sitter][] parsing library. +//! This crate provides Wgsl language support for the [tree-sitter][] parsing library. //! //! Typically, you will use the [language][language func] function to add this language to a //! tree-sitter [Parser][], and then use the parser to parse some code: //! //! ``` -//! let code = ""; +//! let code = r#" +//! "#; //! let mut parser = tree_sitter::Parser::new(); -//! parser.set_language(tree_sitter_wgsl::language()).expect("Error loading wgsl grammar"); +//! let language = tree_sitter_wgsl::LANGUAGE; +//! parser +//! .set_language(&language.into()) +//! .expect("Error loading WGSL parser"); //! let tree = parser.parse(code, None).unwrap(); +//! assert!(!tree.root_node().has_error()); //! ``` //! //! [Language]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Language.html @@ -15,30 +20,26 @@ //! [Parser]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Parser.html //! [tree-sitter]: https://tree-sitter.github.io/ -use tree_sitter::Language; +use tree_sitter_language::LanguageFn; extern "C" { - fn tree_sitter_wgsl() -> Language; + fn tree_sitter_wgsl() -> *const (); } -/// Get the tree-sitter [Language][] for this grammar. -/// -/// [Language]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Language.html -pub fn language() -> Language { - unsafe { tree_sitter_wgsl() } -} +/// The tree-sitter [`LanguageFn`] for this grammar. +pub const LANGUAGE: LanguageFn = unsafe { LanguageFn::from_raw(tree_sitter_wgsl) }; /// The content of the [`node-types.json`][] file for this grammar. /// /// [`node-types.json`]: https://tree-sitter.github.io/tree-sitter/using-parsers#static-node-types -pub const NODE_TYPES: &'static str = include_str!("../../src/node-types.json"); +pub const NODE_TYPES: &str = include_str!("../../src/node-types.json"); -// Uncomment these to include any queries that this grammar contains +// NOTE: 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 HIGHLIGHTS_QUERY: &str = include_str!("../../queries/highlights.scm"); +// pub const INJECTIONS_QUERY: &str = include_str!("../../queries/injections.scm"); +// pub const LOCALS_QUERY: &str = include_str!("../../queries/locals.scm"); +// pub const TAGS_QUERY: &str = include_str!("../../queries/tags.scm"); #[cfg(test)] mod tests { @@ -46,7 +47,7 @@ mod tests { fn test_can_load_grammar() { let mut parser = tree_sitter::Parser::new(); parser - .set_language(super::language()) - .expect("Error loading wgsl language"); + .set_language(&super::LANGUAGE.into()) + .expect("Error loading Wgsl parser"); } } diff --git a/bindings/swift/TreeSitterWgsl/wgsl.h b/bindings/swift/TreeSitterWgsl/wgsl.h new file mode 100644 index 0000000..179a8e9 --- /dev/null +++ b/bindings/swift/TreeSitterWgsl/wgsl.h @@ -0,0 +1,16 @@ +#ifndef TREE_SITTER_WGSL_H_ +#define TREE_SITTER_WGSL_H_ + +typedef struct TSLanguage TSLanguage; + +#ifdef __cplusplus +extern "C" { +#endif + +const TSLanguage *tree_sitter_wgsl(void); + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_WGSL_H_ diff --git a/bindings/swift/TreeSitterWgslTests/TreeSitterWgslTests.swift b/bindings/swift/TreeSitterWgslTests/TreeSitterWgslTests.swift new file mode 100644 index 0000000..6d6d68a --- /dev/null +++ b/bindings/swift/TreeSitterWgslTests/TreeSitterWgslTests.swift @@ -0,0 +1,12 @@ +import XCTest +import SwiftTreeSitter +import TreeSitterWgsl + +final class TreeSitterWgslTests: XCTestCase { + func testCanLoadGrammar() throws { + let parser = Parser() + let language = Language(language: tree_sitter_wgsl()) + XCTAssertNoThrow(try parser.setLanguage(language), + "Error loading WGSL grammar") + } +} diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..8e6735f --- /dev/null +++ b/config.toml @@ -0,0 +1,3 @@ +name = "WebGPU Shading Language (WGSL)" +grammar = "wgsl" +path_suffixes = ["wgsl"] diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..f8290eb --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module github.com/gpuweb/tree-sitter-wgsl + +go 1.23 + +require github.com/tree-sitter/go-tree-sitter v0.23 diff --git a/grammar.js b/grammar.js index 5e2f1b0..3be1cf3 100644 --- a/grammar.js +++ b/grammar.js @@ -1,630 +1,298 @@ -// Copyright (C) [2023] World Wide Web Consortium, - // (Massachusetts Institute of Technology, European Research Consortium for - // Informatics and Mathematics, Keio University, Beihang). - // All Rights Reserved. - // - // This work is distributed under the W3C (R) Software License [1] in the hope - // that it will be useful, but WITHOUT ANY WARRANTY; without even the implied - // warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - // - // [1] http://www.w3.org/Consortium/Legal/copyright-software - - // **** This file is auto-generated. Do not edit. **** - - module.exports = grammar({ - name: 'wgsl', - - externals: $ => [ - $._block_comment, - $._disambiguate_template, - $._template_args_start, - $._template_args_end, - $._less_than, - $._less_than_equal, - $._shift_left, - $._shift_left_assign, - $._greater_than, - $._greater_than_equal, - $._shift_right, - $._shift_right_assign, - $._error_sentinel, - ], - - extras: $ => [ - $._comment, - $._block_comment, - $._blankspace, - ], - - inline: $ => [ - $.global_decl, - $._reserved, - ], - - // WGSL has no parsing conflicts. - conflicts: $ => [], - - word: $ => $.ident_pattern_token, - - rules: { - - translation_unit: $ => seq(optional(repeat1($.global_directive)), optional(repeat1($.global_decl))), - global_directive: $ => $.enable_directive, - global_decl: $ => choice( - token(';'), - seq($.global_variable_decl, token(';')), - seq($.global_constant_decl, token(';')), - seq($.type_alias_decl, token(';')), - $.struct_decl, - $.function_decl, - seq($.const_assert_statement, token(';')) - ), - bool_literal: $ => choice( - token('true'), - token('false') - ), - int_literal: $ => choice( - $.decimal_int_literal, - $.hex_int_literal - ), - decimal_int_literal: $ => choice( - token(/0[iu]?/), - token(/[1-9][0-9]*[iu]?/) - ), - hex_int_literal: $ => token(/0[xX][0-9a-fA-F]+[iu]?/), - float_literal: $ => choice( - $.decimal_float_literal, - $.hex_float_literal - ), - decimal_float_literal: $ => choice( - token(/0[fh]/), - token(/[1-9][0-9]*[fh]/), - token(/[0-9]*\.[0-9]+([eE][+-]?[0-9]+)?[fh]?/), - token(/[0-9]+\.[0-9]*([eE][+-]?[0-9]+)?[fh]?/), - token(/[0-9]+[eE][+-]?[0-9]+[fh]?/) - ), - hex_float_literal: $ => choice( - token(/0[xX][0-9a-fA-F]*\.[0-9a-fA-F]+([pP][+-]?[0-9]+[fh]?)?/), - token(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*([pP][+-]?[0-9]+[fh]?)?/), - token(/0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?/) - ), - literal: $ => choice( - $.int_literal, - $.float_literal, - $.bool_literal - ), - ident: $ => $.ident_pattern_token, +// Copyright (C) [2024] World Wide Web Consortium, +// (Massachusetts Institute of Technology, European Research Consortium for +// Informatics and Mathematics, Keio University, Beihang). +// All Rights Reserved. +// +// This work is distributed under the W3C (R) Software License [1] in the hope +// that it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// +// [1] http://www.w3.org/Consortium/Legal/copyright-software + +// **** This file is auto-generated. Do not edit. **** + +module.exports = grammar({ + name: 'wgsl', + + externals: $ => [ + $._block_comment, + $._disambiguate_template, + $._template_args_start, + $._template_args_end, + $._less_than, + $._less_than_equal, + $._shift_left, + $._shift_left_assign, + $._greater_than, + $._greater_than_equal, + $._shift_right, + $._shift_right_assign, + $._error_sentinel, + ], + + extras: $ => [ + $._comment, + $._block_comment, + $._blankspace, + ], + + inline: $ => [ + $.global_decl, + $._reserved, + ], + + // WGSL has no parsing conflicts. + conflicts: $ => [], + + word: $ => $.ident_pattern_token, + + rules: { + translation_unit: $ => seq(repeat($.global_directive), repeat($.global_decl)), + + global_directive: $ => choice($.diagnostic_directive, $.enable_directive, $.requires_directive), + + global_decl: $ => choice(';', seq($.global_variable_decl, ';'), seq($.global_value_decl, ';'), seq($.type_alias_decl, ';'), $.struct_decl, $.function_decl, seq($.const_assert_statement, ';')), + + bool_literal: $ => choice('true', 'false'), + + int_literal: $ => choice($.decimal_int_literal, $.hex_int_literal), + + decimal_int_literal: $ => choice(/0[iu]?/, /[1-9][0-9]*[iu]?/), + + hex_int_literal: $ => /0[xX][0-9a-fA-F]+[iu]?/, + + float_literal: $ => choice($.decimal_float_literal, $.hex_float_literal), + + decimal_float_literal: $ => choice(/0[fh]/, /[1-9][0-9]*[fh]/, /[0-9]*\.[0-9]+([eE][+-]?[0-9]+)?[fh]?/, /[0-9]+\.[0-9]*([eE][+-]?[0-9]+)?[fh]?/, /[0-9]+[eE][+-]?[0-9]+[fh]?/), + + hex_float_literal: $ => choice(/0[xX][0-9a-fA-F]*\.[0-9a-fA-F]+([pP][+-]?[0-9]+[fh]?)?/, /0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*([pP][+-]?[0-9]+[fh]?)?/, /0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?/), + + diagnostic_directive: $ => seq('diagnostic', $.diagnostic_control, ';'), + + literal: $ => choice($.int_literal, $.float_literal, $.bool_literal), + + ident: $ => seq($.ident_pattern_token, $._disambiguate_template), + member_ident: $ => $.ident_pattern_token, - attribute: $ => choice( - seq(token('@'), token('align'), token('('), $.expression, $.attrib_end), - seq(token('@'), token('binding'), token('('), $.expression, $.attrib_end), - seq(token('@'), token('builtin'), token('('), $.builtin_value_name, $.attrib_end), - seq(token('@'), token('const')), - seq(token('@'), token('group'), token('('), $.expression, $.attrib_end), - seq(token('@'), token('id'), token('('), $.expression, $.attrib_end), - seq(token('@'), token('interpolate'), token('('), $.interpolation_type_name, $.attrib_end), - seq(token('@'), token('interpolate'), token('('), $.interpolation_type_name, token(','), $.interpolation_sample_name, $.attrib_end), - seq(token('@'), token('invariant')), - seq(token('@'), token('location'), token('('), $.expression, $.attrib_end), - seq(token('@'), token('size'), token('('), $.expression, $.attrib_end), - seq(token('@'), token('workgroup_size'), token('('), $.expression, $.attrib_end), - seq(token('@'), token('workgroup_size'), token('('), $.expression, token(','), $.expression, $.attrib_end), - seq(token('@'), token('workgroup_size'), token('('), $.expression, token(','), $.expression, token(','), $.expression, $.attrib_end), - seq(token('@'), token('vertex')), - seq(token('@'), token('fragment')), - seq(token('@'), token('compute')) - ), - attrib_end: $ => seq(optional(token(',')), token(')')), - array_type_specifier: $ => seq(token('array'), $._disambiguate_template, $._template_args_start, $.type_specifier, optional(seq(token(','), $.element_count_expression)), $._template_args_end), - element_count_expression: $ => choice( - $.additive_expression, - $.bitwise_expression - ), - struct_decl: $ => seq(token('struct'), $.ident, $.struct_body_decl), - struct_body_decl: $ => seq(token('{'), $.struct_member, optional(repeat1(seq(token(','), $.struct_member))), optional(token(',')), token('}')), - struct_member: $ => seq(optional(repeat1($.attribute)), $.member_ident, token(':'), $.type_specifier), - texture_and_sampler_types: $ => choice( - $.sampler_type, - $.depth_texture_type, - seq($.sampled_texture_type, $._disambiguate_template, $._template_args_start, $.type_specifier, $._template_args_end), - seq($.multisampled_texture_type, $._disambiguate_template, $._template_args_start, $.type_specifier, $._template_args_end), - seq($.storage_texture_type, $._disambiguate_template, $._template_args_start, $.texel_format, token(','), $.access_mode, $._template_args_end) - ), - sampler_type: $ => choice( - token('sampler'), - token('sampler_comparison') - ), - sampled_texture_type: $ => choice( - token('texture_1d'), - token('texture_2d'), - token('texture_2d_array'), - token('texture_3d'), - token('texture_cube'), - token('texture_cube_array') - ), - multisampled_texture_type: $ => token('texture_multisampled_2d'), - storage_texture_type: $ => choice( - token('texture_storage_1d'), - token('texture_storage_2d'), - token('texture_storage_2d_array'), - token('texture_storage_3d') - ), - depth_texture_type: $ => choice( - token('texture_depth_2d'), - token('texture_depth_2d_array'), - token('texture_depth_cube'), - token('texture_depth_cube_array'), - token('texture_depth_multisampled_2d') - ), - type_alias_decl: $ => seq(token('alias'), $.ident, token('='), $.type_specifier), - type_specifier: $ => choice( - $.ident, - $.type_specifier_without_ident - ), - type_specifier_without_ident: $ => choice( - token('bool'), - token('f32'), - token('f16'), - token('i32'), - token('u32'), - seq($.vec_prefix, $._disambiguate_template, $._template_args_start, $.type_specifier, $._template_args_end), - seq($.mat_prefix, $._disambiguate_template, $._template_args_start, $.type_specifier, $._template_args_end), - seq(token('ptr'), $._disambiguate_template, $._template_args_start, $.address_space, token(','), $.type_specifier, optional(seq(token(','), $.access_mode)), $._template_args_end), - $.array_type_specifier, - seq(token('atomic'), $._disambiguate_template, $._template_args_start, $.type_specifier, $._template_args_end), - $.texture_and_sampler_types - ), - vec_prefix: $ => choice( - token('vec2'), - token('vec3'), - token('vec4') - ), - mat_prefix: $ => choice( - token('mat2x2'), - token('mat2x3'), - token('mat2x4'), - token('mat3x2'), - token('mat3x3'), - token('mat3x4'), - token('mat4x2'), - token('mat4x3'), - token('mat4x4') - ), - variable_statement: $ => choice( - $.variable_decl, - seq($.variable_decl, token('='), $.expression), - seq(token('let'), $.optionally_typed_ident, token('='), $.expression), - seq(token('const'), $.optionally_typed_ident, token('='), $.expression) - ), - variable_decl: $ => seq(token('var'), $._disambiguate_template, optional($.variable_qualifier), $.optionally_typed_ident), - optionally_typed_ident: $ => seq($.ident, optional(seq(token(':'), $.type_specifier))), - variable_qualifier: $ => seq($._template_args_start, $.address_space, optional(seq(token(','), $.access_mode)), $._template_args_end), - global_variable_decl: $ => seq(optional(repeat1($.attribute)), $.variable_decl, optional(seq(token('='), $.expression))), - global_constant_decl: $ => choice( - seq(token('const'), $.optionally_typed_ident, token('='), $.expression), - seq(optional(repeat1($.attribute)), token('override'), $.optionally_typed_ident, optional(seq(token('='), $.expression))) - ), - primary_expression: $ => choice( - $.ident, - $.call_expression, - $.literal, - $.paren_expression, - seq(token('bitcast'), $._disambiguate_template, $._template_args_start, $.type_specifier, $._template_args_end, $.paren_expression) - ), + + diagnostic_name_token: $ => $.ident_pattern_token, + + diagnostic_rule_name: $ => choice($.diagnostic_name_token, seq($.diagnostic_name_token, '.', $.diagnostic_name_token)), + + template_list: $ => seq($._template_args_start, $.template_arg_comma_list, $._template_args_end), + + template_arg_comma_list: $ => seq($.template_arg_expression, repeat(seq(',', $.template_arg_expression)), optional(',')), + + template_arg_expression: $ => $.expression, + + align_attr: $ => seq('@', 'align', '(', $.expression, optional(','), ')'), + + binding_attr: $ => seq('@', 'binding', '(', $.expression, optional(','), ')'), + + blend_src_attr: $ => seq('@', 'blend_src', '(', $.expression, optional(','), ')'), + + builtin_attr: $ => seq('@', 'builtin', '(', $.builtin_value_name, optional(','), ')'), + + builtin_value_name: $ => $.ident_pattern_token, + + const_attr: $ => seq('@', 'const'), + + diagnostic_attr: $ => seq('@', 'diagnostic', $.diagnostic_control), + + group_attr: $ => seq('@', 'group', '(', $.expression, optional(','), ')'), + + id_attr: $ => seq('@', 'id', '(', $.expression, optional(','), ')'), + + interpolate_attr: $ => choice(seq('@', 'interpolate', '(', $.interpolate_type_name, optional(','), ')'), seq('@', 'interpolate', '(', $.interpolate_type_name, ',', $.interpolate_sampling_name, optional(','), ')')), + + interpolate_type_name: $ => $.ident_pattern_token, + + interpolate_sampling_name: $ => $.ident_pattern_token, + + invariant_attr: $ => seq('@', 'invariant'), + + location_attr: $ => seq('@', 'location', '(', $.expression, optional(','), ')'), + + must_use_attr: $ => seq('@', 'must_use'), + + size_attr: $ => seq('@', 'size', '(', $.expression, optional(','), ')'), + + workgroup_size_attr: $ => choice(seq('@', 'workgroup_size', '(', $.expression, optional(','), ')'), seq('@', 'workgroup_size', '(', $.expression, ',', $.expression, optional(','), ')'), seq('@', 'workgroup_size', '(', $.expression, ',', $.expression, ',', $.expression, optional(','), ')')), + + vertex_attr: $ => seq('@', 'vertex'), + + fragment_attr: $ => seq('@', 'fragment'), + + compute_attr: $ => seq('@', 'compute'), + + attribute: $ => choice(seq('@', $.ident_pattern_token, optional($.argument_expression_list)), $.align_attr, $.binding_attr, $.blend_src_attr, $.builtin_attr, $.const_attr, $.diagnostic_attr, $.group_attr, $.id_attr, $.interpolate_attr, $.invariant_attr, $.location_attr, $.must_use_attr, $.size_attr, $.workgroup_size_attr, $.vertex_attr, $.fragment_attr, $.compute_attr), + + diagnostic_control: $ => seq('(', $.severity_control_name, ',', $.diagnostic_rule_name, optional(','), ')'), + + struct_decl: $ => seq('struct', $.ident, $.struct_body_decl), + + struct_body_decl: $ => seq('{', $.struct_member, repeat(seq(',', $.struct_member)), optional(','), '}'), + + struct_member: $ => seq(repeat($.attribute), $.member_ident, ':', $.type_specifier), + + type_alias_decl: $ => seq('alias', $.ident, '=', $.type_specifier), + + type_specifier: $ => $.template_elaborated_ident, + + template_elaborated_ident: $ => seq($.ident, $._disambiguate_template, optional($.template_list)), + + variable_or_value_statement: $ => choice($.variable_decl, seq($.variable_decl, '=', $.expression), seq('let', $.optionally_typed_ident, '=', $.expression), seq('const', $.optionally_typed_ident, '=', $.expression)), + + variable_decl: $ => seq('var', $._disambiguate_template, optional($.template_list), $.optionally_typed_ident), + + optionally_typed_ident: $ => seq($.ident, optional(seq(':', $.type_specifier))), + + global_variable_decl: $ => seq(repeat($.attribute), $.variable_decl, optional(seq('=', $.expression))), + + global_value_decl: $ => choice(seq('const', $.optionally_typed_ident, '=', $.expression), seq(repeat($.attribute), 'override', $.optionally_typed_ident, optional(seq('=', $.expression)))), + + primary_expression: $ => choice($.template_elaborated_ident, $.call_expression, $.literal, $.paren_expression), + call_expression: $ => $.call_phrase, - call_phrase: $ => seq($.callable, $.argument_expression_list), - callable: $ => choice( - $.ident, - $.type_specifier_without_ident, - seq($.vec_prefix, $._disambiguate_template), - seq($.mat_prefix, $._disambiguate_template), - seq(token('array'), $._disambiguate_template) - ), - paren_expression: $ => seq(token('('), $.expression, token(')')), - argument_expression_list: $ => seq(token('('), optional($.expression_comma_list), token(')')), - expression_comma_list: $ => seq($.expression, optional(repeat1(seq(token(','), $.expression))), optional(token(','))), - component_or_swizzle_specifier: $ => choice( - seq(token('['), $.expression, token(']'), optional($.component_or_swizzle_specifier)), - seq(token('.'), $.member_ident, optional($.component_or_swizzle_specifier)), - seq(token('.'), $.swizzle_name, optional($.component_or_swizzle_specifier)) - ), - unary_expression: $ => choice( - $.singular_expression, - seq(token('-'), $.unary_expression), - seq(token('!'), $.unary_expression), - seq(token('~'), $.unary_expression), - seq(token('*'), $.unary_expression), - seq(token('&'), $.unary_expression) - ), + + call_phrase: $ => seq($.template_elaborated_ident, $.argument_expression_list), + + paren_expression: $ => seq('(', $.expression, ')'), + + argument_expression_list: $ => seq('(', optional($.expression_comma_list), ')'), + + expression_comma_list: $ => seq($.expression, repeat(seq(',', $.expression)), optional(',')), + + component_or_swizzle_specifier: $ => choice(seq('[', $.expression, ']', optional($.component_or_swizzle_specifier)), seq('.', $.member_ident, optional($.component_or_swizzle_specifier)), seq('.', $.swizzle_name, optional($.component_or_swizzle_specifier))), + + unary_expression: $ => choice($.singular_expression, seq('-', $.unary_expression), seq('!', $.unary_expression), seq('~', $.unary_expression), seq('*', $.unary_expression), seq('&', $.unary_expression)), + singular_expression: $ => seq($.primary_expression, optional($.component_or_swizzle_specifier)), - lhs_expression: $ => choice( - seq($.core_lhs_expression, optional($.component_or_swizzle_specifier)), - seq(token('*'), $.lhs_expression), - seq(token('&'), $.lhs_expression) - ), - core_lhs_expression: $ => choice( - $.ident, - seq(token('('), $.lhs_expression, token(')')) - ), - multiplicative_expression: $ => choice( - $.unary_expression, - seq($.multiplicative_expression, $.multiplicative_operator, $.unary_expression) - ), - multiplicative_operator: $ => choice( - token('*'), - token('/'), - token('%') - ), - additive_expression: $ => choice( - $.multiplicative_expression, - seq($.additive_expression, $.additive_operator, $.multiplicative_expression) - ), - additive_operator: $ => choice( - token('+'), - token('-') - ), - shift_expression: $ => choice( - $.additive_expression, - seq($.unary_expression, $._shift_left, $.unary_expression), - seq($.unary_expression, $._shift_right, $.unary_expression) - ), - relational_expression: $ => choice( - $.shift_expression, - seq($.shift_expression, $._less_than, $.shift_expression), - seq($.shift_expression, $._greater_than, $.shift_expression), - seq($.shift_expression, $._less_than_equal, $.shift_expression), - seq($.shift_expression, $._greater_than_equal, $.shift_expression), - seq($.shift_expression, token('=='), $.shift_expression), - seq($.shift_expression, token('!='), $.shift_expression) - ), - short_circuit_and_expression: $ => choice( - $.relational_expression, - seq($.short_circuit_and_expression, token('&&'), $.relational_expression) - ), - short_circuit_or_expression: $ => choice( - $.relational_expression, - seq($.short_circuit_or_expression, token('||'), $.relational_expression) - ), - binary_or_expression: $ => choice( - $.unary_expression, - seq($.binary_or_expression, token('|'), $.unary_expression) - ), - binary_and_expression: $ => choice( - $.unary_expression, - seq($.binary_and_expression, token('&'), $.unary_expression) - ), - binary_xor_expression: $ => choice( - $.unary_expression, - seq($.binary_xor_expression, token('^'), $.unary_expression) - ), - bitwise_expression: $ => choice( - seq($.binary_and_expression, token('&'), $.unary_expression), - seq($.binary_or_expression, token('|'), $.unary_expression), - seq($.binary_xor_expression, token('^'), $.unary_expression) - ), - expression: $ => choice( - $.relational_expression, - seq($.short_circuit_or_expression, token('||'), $.relational_expression), - seq($.short_circuit_and_expression, token('&&'), $.relational_expression), - $.bitwise_expression - ), - compound_statement: $ => seq(token('{'), optional(repeat1($.statement)), token('}')), - assignment_statement: $ => choice( - seq($.lhs_expression, choice(token('='), $.compound_assignment_operator), $.expression), - seq(token('_'), token('='), $.expression) - ), - compound_assignment_operator: $ => choice( - token('+='), - token('-='), - token('*='), - token('/='), - token('%='), - token('&='), - token('|='), - token('^='), - $._shift_right_assign, - $._shift_left_assign - ), - increment_statement: $ => seq($.lhs_expression, token('++')), - decrement_statement: $ => seq($.lhs_expression, token('--')), - if_statement: $ => seq($.if_clause, optional(repeat1($.else_if_clause)), optional($.else_clause)), - if_clause: $ => seq(token('if'), $.expression, $.compound_statement), - else_if_clause: $ => seq(token('else'), token('if'), $.expression, $.compound_statement), - else_clause: $ => seq(token('else'), $.compound_statement), - switch_statement: $ => seq(token('switch'), $.expression, token('{'), repeat1($.switch_body), token('}')), - switch_body: $ => choice( - $.case_clause, - $.default_alone_clause - ), - case_clause: $ => seq(token('case'), $.case_selectors, optional(token(':')), $.compound_statement), - default_alone_clause: $ => seq(token('default'), optional(token(':')), $.compound_statement), - case_selectors: $ => seq($.case_selector, optional(repeat1(seq(token(','), $.case_selector))), optional(token(','))), - case_selector: $ => choice( - token('default'), - $.expression - ), - loop_statement: $ => seq(token('loop'), token('{'), optional(repeat1($.statement)), optional($.continuing_statement), token('}')), - for_statement: $ => seq(token('for'), token('('), $.for_header, token(')'), $.compound_statement), - for_header: $ => seq(optional($.for_init), token(';'), optional($.expression), token(';'), optional($.for_update)), - for_init: $ => choice( - $.variable_statement, - $.variable_updating_statement, - $.func_call_statement - ), - for_update: $ => choice( - $.variable_updating_statement, - $.func_call_statement - ), - while_statement: $ => seq(token('while'), $.expression, $.compound_statement), - break_statement: $ => token('break'), - break_if_statement: $ => seq(token('break'), token('if'), $.expression, token(';')), - continue_statement: $ => token('continue'), - continuing_statement: $ => seq(token('continuing'), $.continuing_compound_statement), - continuing_compound_statement: $ => seq(token('{'), optional(repeat1($.statement)), optional($.break_if_statement), token('}')), - return_statement: $ => seq(token('return'), optional($.expression)), + + lhs_expression: $ => choice(seq($.core_lhs_expression, optional($.component_or_swizzle_specifier)), seq('*', $.lhs_expression), seq('&', $.lhs_expression)), + + core_lhs_expression: $ => choice(seq($.ident, $._disambiguate_template), seq('(', $.lhs_expression, ')')), + + multiplicative_expression: $ => choice($.unary_expression, seq($.multiplicative_expression, $.multiplicative_operator, $.unary_expression)), + + multiplicative_operator: $ => choice('*', '/', '%'), + + additive_expression: $ => choice($.multiplicative_expression, seq($.additive_expression, $.additive_operator, $.multiplicative_expression)), + + additive_operator: $ => choice('+', '-'), + + shift_expression: $ => choice($.additive_expression, seq($.unary_expression, $._shift_left, $.unary_expression), seq($.unary_expression, $._shift_right, $.unary_expression)), + + relational_expression: $ => choice($.shift_expression, seq($.shift_expression, $._less_than, $.shift_expression), seq($.shift_expression, $._greater_than, $.shift_expression), seq($.shift_expression, $._less_than_equal, $.shift_expression), seq($.shift_expression, $._greater_than_equal, $.shift_expression), seq($.shift_expression, '==', $.shift_expression), seq($.shift_expression, '!=', $.shift_expression)), + + short_circuit_and_expression: $ => choice($.relational_expression, seq($.short_circuit_and_expression, '&&', $.relational_expression)), + + short_circuit_or_expression: $ => choice($.relational_expression, seq($.short_circuit_or_expression, '||', $.relational_expression)), + + binary_or_expression: $ => choice($.unary_expression, seq($.binary_or_expression, '|', $.unary_expression)), + + binary_and_expression: $ => choice($.unary_expression, seq($.binary_and_expression, '&', $.unary_expression)), + + binary_xor_expression: $ => choice($.unary_expression, seq($.binary_xor_expression, '^', $.unary_expression)), + + bitwise_expression: $ => choice(seq($.binary_and_expression, '&', $.unary_expression), seq($.binary_or_expression, '|', $.unary_expression), seq($.binary_xor_expression, '^', $.unary_expression)), + + expression: $ => choice($.relational_expression, seq($.short_circuit_or_expression, '||', $.relational_expression), seq($.short_circuit_and_expression, '&&', $.relational_expression), $.bitwise_expression), + + compound_statement: $ => seq(repeat($.attribute), '{', repeat($.statement), '}'), + + assignment_statement: $ => choice(seq($.lhs_expression, choice('=', $.compound_assignment_operator), $.expression), seq('_', '=', $.expression)), + + compound_assignment_operator: $ => choice('+=', '-=', '*=', '/=', '%=', '&=', '|=', '^=', $._shift_right_assign, $._shift_left_assign), + + increment_statement: $ => seq($.lhs_expression, '++'), + + decrement_statement: $ => seq($.lhs_expression, '--'), + + if_statement: $ => seq(repeat($.attribute), $.if_clause, repeat($.else_if_clause), optional($.else_clause)), + + if_clause: $ => seq('if', $.expression, $.compound_statement), + + else_if_clause: $ => seq('else', 'if', $.expression, $.compound_statement), + + else_clause: $ => seq('else', $.compound_statement), + + switch_statement: $ => seq(repeat($.attribute), 'switch', $.expression, $.switch_body), + + switch_body: $ => seq(repeat($.attribute), '{', repeat1($.switch_clause), '}'), + + switch_clause: $ => choice($.case_clause, $.default_alone_clause), + + case_clause: $ => seq('case', $.case_selectors, optional(':'), $.compound_statement), + + default_alone_clause: $ => seq('default', optional(':'), $.compound_statement), + + case_selectors: $ => seq($.case_selector, repeat(seq(',', $.case_selector)), optional(',')), + + case_selector: $ => choice('default', $.expression), + + loop_statement: $ => seq(repeat($.attribute), 'loop', repeat($.attribute), '{', repeat($.statement), optional($.continuing_statement), '}'), + + for_statement: $ => seq(repeat($.attribute), 'for', '(', $.for_header, ')', $.compound_statement), + + for_header: $ => seq(optional($.for_init), ';', optional($.expression), ';', optional($.for_update)), + + for_init: $ => choice($.variable_or_value_statement, $.variable_updating_statement, $.func_call_statement), + + for_update: $ => choice($.variable_updating_statement, $.func_call_statement), + + while_statement: $ => seq(repeat($.attribute), 'while', $.expression, $.compound_statement), + + break_statement: $ => 'break', + + break_if_statement: $ => seq('break', 'if', $.expression, ';'), + + continue_statement: $ => 'continue', + + continuing_statement: $ => seq('continuing', $.continuing_compound_statement), + + continuing_compound_statement: $ => seq(repeat($.attribute), '{', repeat($.statement), optional($.break_if_statement), '}'), + + return_statement: $ => seq('return', optional($.expression)), + func_call_statement: $ => $.call_phrase, - const_assert_statement: $ => seq(token('const_assert'), $.expression), - statement: $ => choice( - token(';'), - seq($.return_statement, token(';')), - $.if_statement, - $.switch_statement, - $.loop_statement, - $.for_statement, - $.while_statement, - seq($.func_call_statement, token(';')), - seq($.variable_statement, token(';')), - seq($.break_statement, token(';')), - seq($.continue_statement, token(';')), - seq(token('discard'), token(';')), - seq($.variable_updating_statement, token(';')), - $.compound_statement, - seq($.const_assert_statement, token(';')) - ), - variable_updating_statement: $ => choice( - $.assignment_statement, - $.increment_statement, - $.decrement_statement - ), - function_decl: $ => seq(optional(repeat1($.attribute)), $.function_header, $.compound_statement), - function_header: $ => seq(token('fn'), $.ident, token('('), optional($.param_list), token(')'), optional(seq(token('->'), optional(repeat1($.attribute)), $.type_specifier))), - param_list: $ => seq($.param, optional(repeat1(seq(token(','), $.param))), optional(token(','))), - param: $ => seq(optional(repeat1($.attribute)), $.ident, token(':'), $.type_specifier), - enable_directive: $ => seq(token('enable'), $.extension_name, token(';')), - ident_pattern_token: $ => token(/([_\p{XID_Start}][\p{XID_Continue}]+)|([\p{XID_Start}])/uy), - interpolation_type_name: $ => choice( - token('perspective'), - token('linear'), - token('flat') - ), - interpolation_sample_name: $ => choice( - token('center'), - token('centroid'), - token('sample') - ), - builtin_value_name: $ => choice( - token('vertex_index'), - token('instance_index'), - token('position'), - token('front_facing'), - token('frag_depth'), - token('local_invocation_id'), - token('local_invocation_index'), - token('global_invocation_id'), - token('workgroup_id'), - token('num_workgroups'), - token('sample_index'), - token('sample_mask') - ), - access_mode: $ => choice( - token('read'), - token('write'), - token('read_write') - ), - address_space: $ => choice( - token('function'), - token('private'), - token('workgroup'), - token('uniform'), - token('storage') - ), - texel_format: $ => choice( - token('rgba8unorm'), - token('rgba8snorm'), - token('rgba8uint'), - token('rgba8sint'), - token('rgba16uint'), - token('rgba16sint'), - token('rgba16float'), - token('r32uint'), - token('r32sint'), - token('r32float'), - token('rg32uint'), - token('rg32sint'), - token('rg32float'), - token('rgba32uint'), - token('rgba32sint'), - token('rgba32float'), - token('bgra8unorm') - ), - extension_name: $ => token('f16'), - swizzle_name: $ => choice( - token('/[rgba]/'), - token('/[rgba][rgba]/'), - token('/[rgba][rgba][rgba]/'), - token('/[rgba][rgba][rgba][rgba]/'), - token('/[xyzw]/'), - token('/[xyzw][xyzw]/'), - token('/[xyzw][xyzw][xyzw]/'), - token('/[xyzw][xyzw][xyzw][xyzw]/') - ), - _reserved: $ => choice( - token('CompileShader'), - token('ComputeShader'), - token('DomainShader'), - token('GeometryShader'), - token('Hullshader'), - token('NULL'), - token('Self'), - token('abstract'), - token('active'), - token('alignas'), - token('alignof'), - token('as'), - token('asm'), - token('asm_fragment'), - token('async'), - token('attribute'), - token('auto'), - token('await'), - token('become'), - token('bf16'), - token('binding_array'), - token('cast'), - token('catch'), - token('class'), - token('co_await'), - token('co_return'), - token('co_yield'), - token('coherent'), - token('column_major'), - token('common'), - token('compile'), - token('compile_fragment'), - token('concept'), - token('const_cast'), - token('consteval'), - token('constexpr'), - token('constinit'), - token('crate'), - token('debugger'), - token('decltype'), - token('delete'), - token('demote'), - token('demote_to_helper'), - token('do'), - token('dynamic_cast'), - token('enum'), - token('explicit'), - token('export'), - token('extends'), - token('extern'), - token('external'), - token('f64'), - token('fallthrough'), - token('filter'), - token('final'), - token('finally'), - token('friend'), - token('from'), - token('fxgroup'), - token('get'), - token('goto'), - token('groupshared'), - token('handle'), - token('highp'), - token('i16'), - token('i64'), - token('i8'), - token('impl'), - token('implements'), - token('import'), - token('inline'), - token('inout'), - token('instanceof'), - token('interface'), - token('layout'), - token('lowp'), - token('macro'), - token('macro_rules'), - token('match'), - token('mediump'), - token('meta'), - token('mod'), - token('module'), - token('move'), - token('mut'), - token('mutable'), - token('namespace'), - token('new'), - token('nil'), - token('noexcept'), - token('noinline'), - token('nointerpolation'), - token('noperspective'), - token('null'), - token('nullptr'), - token('of'), - token('operator'), - token('package'), - token('packoffset'), - token('partition'), - token('pass'), - token('patch'), - token('pixelfragment'), - token('precise'), - token('precision'), - token('premerge'), - token('priv'), - token('protected'), - token('pub'), - token('public'), - token('quat'), - token('readonly'), - token('ref'), - token('regardless'), - token('register'), - token('reinterpret_cast'), - token('requires'), - token('resource'), - token('restrict'), - token('self'), - token('set'), - token('shared'), - token('signed'), - token('sizeof'), - token('smooth'), - token('snorm'), - token('static'), - token('static_assert'), - token('static_cast'), - token('std'), - token('subroutine'), - token('super'), - token('target'), - token('template'), - token('this'), - token('thread_local'), - token('throw'), - token('trait'), - token('try'), - token('type'), - token('typedef'), - token('typeid'), - token('typename'), - token('typeof'), - token('u16'), - token('u64'), - token('u8'), - token('union'), - token('unless'), - token('unorm'), - token('unsafe'), - token('unsized'), - token('use'), - token('using'), - token('varying'), - token('virtual'), - token('volatile'), - token('wgsl'), - token('where'), - token('with'), - token('writeonly'), - token('yield') - ), - ident: $ => $.ident_pattern_token, - _comment: $ => token(/\/\/.*/), - _blankspace: $ => token(/[\u0020\u0009\u000a\u000b\u000c\u000d\u0085\u200e\u200f\u2028\u2029]/uy) - }, - }); - + + const_assert_statement: $ => seq('const_assert', $.expression), + + statement: $ => choice(';', seq($.return_statement, ';'), $.if_statement, $.switch_statement, $.loop_statement, $.for_statement, $.while_statement, seq($.func_call_statement, ';'), seq($.variable_or_value_statement, ';'), seq($.break_statement, ';'), seq($.continue_statement, ';'), seq('discard', ';'), seq($.variable_updating_statement, ';'), $.compound_statement, seq($.const_assert_statement, ';')), + + variable_updating_statement: $ => choice($.assignment_statement, $.increment_statement, $.decrement_statement), + + function_decl: $ => seq(repeat($.attribute), $.function_header, $.compound_statement), + + function_header: $ => seq('fn', $.ident, '(', optional($.param_list), ')', optional(seq('->', repeat($.attribute), $.template_elaborated_ident))), + + param_list: $ => seq($.param, repeat(seq(',', $.param)), optional(',')), + + param: $ => seq(repeat($.attribute), $.ident, ':', $.type_specifier), + + enable_directive: $ => seq('enable', $.enable_extension_list, ';'), + + enable_extension_list: $ => seq($.enable_extension_name, repeat(seq(',', $.enable_extension_name)), optional(',')), + + requires_directive: $ => seq('requires', $.software_extension_list, ';'), + + software_extension_list: $ => seq($.software_extension_name, repeat(seq(',', $.software_extension_name)), optional(',')), + + enable_extension_name: $ => $.ident_pattern_token, + + software_extension_name: $ => $.ident_pattern_token, + + ident_pattern_token: $ => /([_\p{XID_Start}][\p{XID_Continue}]+)|([\p{XID_Start}])/u, + + severity_control_name: $ => $.ident_pattern_token, + + swizzle_name: $ => choice(/[rgba]/, /[rgba][rgba]/, /[rgba][rgba][rgba]/, /[rgba][rgba][rgba][rgba]/, /[xyzw]/, /[xyzw][xyzw]/, /[xyzw][xyzw][xyzw]/, /[xyzw][xyzw][xyzw][xyzw]/), + + ident: $ => seq($.ident_pattern_token, $._disambiguate_template), + + _comment: $ => /\/\/.*/, + + _blankspace: $ => /[\u0020\u0009\u000a\u000b\u000c\u000d\u0085\u200e\u200f\u2028\u2029]/u + } +}) diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..ca31f0d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,344 @@ +{ + "name": "tree-sitter-wgsl", + "version": "0.0.7", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "tree-sitter-wgsl", + "version": "0.0.7", + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "node-addon-api": "^8.0.0", + "node-gyp-build": "^4.8.1" + }, + "devDependencies": { + "prebuildify": "^6.0.1", + "tree-sitter-cli": "^0.23.0" + }, + "peerDependencies": { + "tree-sitter": "^0.21.1" + }, + "peerDependenciesMeta": { + "tree-sitter": { + "optional": true + } + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/node-abi": { + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.67.0.tgz", + "integrity": "sha512-bLn/fU/ALVBE9wj+p4Y21ZJWYFjUXLXPi/IewyLZkx3ApxKDNBWCKdReeKOtD8dWpOdDCeMyLh6ZewzcLsG2Nw==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.1.0.tgz", + "integrity": "sha512-yBY+qqWSv3dWKGODD6OGE6GnTX7Q2r+4+DfpqxHSHh8x0B4EKP9+wVGLS6U/AM1vxSNNmUEuIV5EGhYwPpfOwQ==", + "license": "MIT", + "engines": { + "node": "^18 || ^20 || >= 21" + } + }, + "node_modules/node-gyp-build": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz", + "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/npm-run-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", + "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/prebuildify": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/prebuildify/-/prebuildify-6.0.1.tgz", + "integrity": "sha512-8Y2oOOateom/s8dNBsGIcnm6AxPmLH4/nanQzL5lQMU+sC0CMhzARZHizwr36pUPLdvBnOkCNQzxg4djuFSgIw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "mkdirp-classic": "^0.5.3", + "node-abi": "^3.3.0", + "npm-run-path": "^3.1.0", + "pump": "^3.0.0", + "tar-fs": "^2.1.0" + }, + "bin": { + "prebuildify": "bin.js" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tree-sitter-cli": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.23.0.tgz", + "integrity": "sha512-/DdQaPCCOrOYGp9FxGdhFUnHIrjhfbYatQXgNIcmaAOpPunpnDj2vsO/H+svsfQLaFsQ1C+BjgPhpbV28zka1w==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "tree-sitter": "cli.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + } + } +} diff --git a/package.json b/package.json index 30b9f85..e0c10de 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,57 @@ { - "name": "tree-sitter-wgsl", - "dependencies": { - "nan": "^2.15.0" - }, - "devDependencies": { - "tree-sitter-cli": "^0.20.7" - }, - "main": "bindings/node" + "name": "tree-sitter-wgsl", + "version": "0.0.7", + "description": "WGSL grammar for tree-sitter", + "repository": "github:gpuweb/tree-sitter-wgsl", + "license": "BSD-3-Clause", + "main": "bindings/node", + "types": "bindings/node", + "keywords": [ + "incremental", + "parsing", + "tree-sitter", + "wgsl" + ], + "files": [ + "grammar.js", + "binding.gyp", + "prebuilds/**", + "bindings/node/*", + "queries/*", + "src/**", + "*.wasm" + ], + "dependencies": { + "node-addon-api": "^8.0.0", + "node-gyp-build": "^4.8.1" + }, + "devDependencies": { + "prebuildify": "^6.0.1", + "tree-sitter-cli": "^0.23.0" + }, + "peerDependencies": { + "tree-sitter": "^0.21.1" + }, + "peerDependenciesMeta": { + "tree-sitter": { + "optional": true + } + }, + "scripts": { + "install": "node-gyp-build", + "prestart": "tree-sitter build --wasm", + "start": "tree-sitter playground", + "test": "node --test bindings/node/*_test.js", + "prebuildify": "prebuildify --napi --strip" + }, + "tree-sitter": [ + { + "scope": "source.wgsl", + "file-types": [ + "wgsl" + ], + "injection-regex": "^wgsl$", + "highlights": "queries/highlights.scm" + } + ] } diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..5bd284e --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,29 @@ +[build-system] +requires = ["setuptools>=42", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "tree-sitter-wgsl" +description = "WGSL grammar for tree-sitter" +version = "0.0.7" +keywords = ["incremental", "parsing", "tree-sitter", "wgsl"] +classifiers = [ + "Intended Audience :: Developers", + "License :: OSI Approved :: The 3-Clause BSD License (BSD-3-Clause)", + "Topic :: Software Development :: Compilers", + "Topic :: Text Processing :: Linguistic", + "Typing :: Typed" +] +requires-python = ">=3.9" +license.text = "BSD-3-Clause" +readme = "README.md" + +[project.urls] +Homepage = "https://github.com/gpuweb/tree-sitter-wgsl" + +[project.optional-dependencies] +core = ["tree-sitter~=0.22"] + +[tool.cibuildwheel] +build = "cp39-*" +build-frontend = "build" diff --git a/queries/highlights.scm b/queries/highlights.scm new file mode 100644 index 0000000..eacd33b --- /dev/null +++ b/queries/highlights.scm @@ -0,0 +1,78 @@ +; Types +(type_specifier) @type +(template_elaborated_ident) @type + +; Functions +(function_decl + (function_header + (ident) @function)) +(call_expression + (call_phrase + (template_elaborated_ident) @function)) + +; Variables and parameters +(param + (ident) @variable.parameter) +(variable_decl + (optionally_typed_ident (ident) @variable)) +(const_assert_statement) @variable + +; Struct and struct members +(struct_decl + (ident) @type) +(struct_member + (member_ident) @property) + +; Attributes +(attribute) @attribute + +; Literals +(bool_literal) @constant.builtin +(int_literal) @number +(float_literal) @float + +; Keywords and storage classes +(global_variable_decl + (variable_decl + (optionally_typed_ident + (ident) @variable))) + +; Control flow +"if" @keyword.control +"else" @keyword.control +"loop" @keyword.control +"for" @keyword.control +"while" @keyword.control +"switch" @keyword.control +"case" @keyword.control +"default" @keyword.control +"break" @keyword.control +"return" @keyword.control +"discard" @keyword.control + +; Declarations +(global_variable_decl) @keyword +(global_value_decl) @keyword +(variable_decl) @keyword + +; Punctuation +"(" @punctuation.bracket +")" @punctuation.bracket +"[" @punctuation.bracket +"]" @punctuation.bracket +"{" @punctuation.bracket +"}" @punctuation.bracket +"," @punctuation.delimiter +"." @punctuation.delimiter +":" @punctuation.delimiter +";" @punctuation.delimiter + +; Builtin functions and types +(builtin_value_name) @function.builtin + +; Additional keywords +"var" @keyword +"let" @keyword +"const" @keyword +"fn" @keyword +"struct" @keyword diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..ab568ba --- /dev/null +++ b/setup.py @@ -0,0 +1,63 @@ +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_wgsl", "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 = "cp39", "abi3" + return python, abi, platform + + +setup( + packages=find_packages("bindings/python"), + package_dir={"": "bindings/python"}, + package_data={ + "tree_sitter_wgsl": ["*.pyi", "py.typed"], + "tree_sitter_wgsl.queries": ["*.scm"], + }, + ext_package="tree_sitter_wgsl", + ext_modules=[ + Extension( + name="_binding", + sources=[ + "bindings/python/tree_sitter_wgsl/binding.c", + "src/parser.c", + # NOTE: if your language uses an external scanner, add it here. + "src/scanner.c", + ], + extra_compile_args=[ + "-std=c11", + "-fvisibility=hidden", + ] if system() != "Windows" else [ + "/std:c11", + "/utf-8", + ], + define_macros=[ + ("Py_LIMITED_API", "0x03090000"), + ("PY_SSIZE_T_CLEAN", None), + ("TREE_SITTER_HIDE_SYMBOLS", 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 bca4fd6..41e851f 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -6,50 +6,44 @@ "type": "SEQ", "members": [ { - "type": "CHOICE", - "members": [ - { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "global_directive" - } - }, - { - "type": "BLANK" - } - ] + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "global_directive" + } }, { - "type": "CHOICE", - "members": [ - { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "global_decl" - } - }, - { - "type": "BLANK" - } - ] + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "global_decl" + } } ] }, "global_directive": { - "type": "SYMBOL", - "name": "enable_directive" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "diagnostic_directive" + }, + { + "type": "SYMBOL", + "name": "enable_directive" + }, + { + "type": "SYMBOL", + "name": "requires_directive" + } + ] }, "global_decl": { "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } + "type": "STRING", + "value": ";" }, { "type": "SEQ", @@ -59,11 +53,8 @@ "name": "global_variable_decl" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } + "type": "STRING", + "value": ";" } ] }, @@ -72,14 +63,11 @@ "members": [ { "type": "SYMBOL", - "name": "global_constant_decl" + "name": "global_value_decl" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } + "type": "STRING", + "value": ";" } ] }, @@ -91,11 +79,8 @@ "name": "type_alias_decl" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } + "type": "STRING", + "value": ";" } ] }, @@ -115,11 +100,8 @@ "name": "const_assert_statement" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } + "type": "STRING", + "value": ";" } ] } @@ -129,18 +111,12 @@ "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "true" - } + "type": "STRING", + "value": "true" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "false" - } + "type": "STRING", + "value": "false" } ] }, @@ -161,27 +137,18 @@ "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "PATTERN", - "value": "0[iu]?" - } + "type": "PATTERN", + "value": "0[iu]?" }, { - "type": "TOKEN", - "content": { - "type": "PATTERN", - "value": "[1-9][0-9]*[iu]?" - } + "type": "PATTERN", + "value": "[1-9][0-9]*[iu]?" } ] }, "hex_int_literal": { - "type": "TOKEN", - "content": { - "type": "PATTERN", - "value": "0[xX][0-9a-fA-F]+[iu]?" - } + "type": "PATTERN", + "value": "0[xX][0-9a-fA-F]+[iu]?" }, "float_literal": { "type": "CHOICE", @@ -200,39 +167,24 @@ "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "PATTERN", - "value": "0[fh]" - } + "type": "PATTERN", + "value": "0[fh]" }, { - "type": "TOKEN", - "content": { - "type": "PATTERN", - "value": "[1-9][0-9]*[fh]" - } + "type": "PATTERN", + "value": "[1-9][0-9]*[fh]" }, { - "type": "TOKEN", - "content": { - "type": "PATTERN", - "value": "[0-9]*\\.[0-9]+([eE][+-]?[0-9]+)?[fh]?" - } + "type": "PATTERN", + "value": "[0-9]*\\.[0-9]+([eE][+-]?[0-9]+)?[fh]?" }, { - "type": "TOKEN", - "content": { - "type": "PATTERN", - "value": "[0-9]+\\.[0-9]*([eE][+-]?[0-9]+)?[fh]?" - } + "type": "PATTERN", + "value": "[0-9]+\\.[0-9]*([eE][+-]?[0-9]+)?[fh]?" }, { - "type": "TOKEN", - "content": { - "type": "PATTERN", - "value": "[0-9]+[eE][+-]?[0-9]+[fh]?" - } + "type": "PATTERN", + "value": "[0-9]+[eE][+-]?[0-9]+[fh]?" } ] }, @@ -240,25 +192,33 @@ "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "PATTERN", - "value": "0[xX][0-9a-fA-F]*\\.[0-9a-fA-F]+([pP][+-]?[0-9]+[fh]?)?" - } + "type": "PATTERN", + "value": "0[xX][0-9a-fA-F]*\\.[0-9a-fA-F]+([pP][+-]?[0-9]+[fh]?)?" }, { - "type": "TOKEN", - "content": { - "type": "PATTERN", - "value": "0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*([pP][+-]?[0-9]+[fh]?)?" - } + "type": "PATTERN", + "value": "0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*([pP][+-]?[0-9]+[fh]?)?" }, { - "type": "TOKEN", - "content": { - "type": "PATTERN", - "value": "0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?" - } + "type": "PATTERN", + "value": "0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?" + } + ] + }, + "diagnostic_directive": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "diagnostic" + }, + { + "type": "SYMBOL", + "name": "diagnostic_control" + }, + { + "type": "STRING", + "value": ";" } ] }, @@ -280,236 +240,403 @@ ] }, "ident": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "ident_pattern_token" + }, + { + "type": "SYMBOL", + "name": "_disambiguate_template" + } + ] + }, + "member_ident": { "type": "SYMBOL", "name": "ident_pattern_token" }, - "member_ident": { + "diagnostic_name_token": { "type": "SYMBOL", "name": "ident_pattern_token" }, - "attribute": { + "diagnostic_rule_name": { "type": "CHOICE", "members": [ + { + "type": "SYMBOL", + "name": "diagnostic_name_token" + }, { "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "align" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } + "type": "SYMBOL", + "name": "diagnostic_name_token" }, { - "type": "SYMBOL", - "name": "expression" + "type": "STRING", + "value": "." }, { "type": "SYMBOL", - "name": "attrib_end" + "name": "diagnostic_name_token" } ] + } + ] + }, + "template_list": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_template_args_start" }, { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "binding" - } - }, - { - "type": "TOKEN", - "content": { + "type": "SYMBOL", + "name": "template_arg_comma_list" + }, + { + "type": "SYMBOL", + "name": "_template_args_end" + } + ] + }, + "template_arg_comma_list": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "template_arg_expression" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { "type": "STRING", - "value": "(" + "value": "," + }, + { + "type": "SYMBOL", + "name": "template_arg_expression" } - }, + ] + } + }, + { + "type": "CHOICE", + "members": [ { - "type": "SYMBOL", - "name": "expression" + "type": "STRING", + "value": "," }, { - "type": "SYMBOL", - "name": "attrib_end" + "type": "BLANK" } ] + } + ] + }, + "template_arg_expression": { + "type": "SYMBOL", + "name": "expression" + }, + "align_attr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" }, { - "type": "SEQ", + "type": "STRING", + "value": "align" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "builtin" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } - }, - { - "type": "SYMBOL", - "name": "builtin_value_name" + "type": "STRING", + "value": "," }, { - "type": "SYMBOL", - "name": "attrib_end" + "type": "BLANK" } ] }, { - "type": "SEQ", + "type": "STRING", + "value": ")" + } + ] + }, + "binding_attr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "STRING", + "value": "binding" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } + "type": "STRING", + "value": "," }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "const" - } + "type": "BLANK" } ] }, { - "type": "SEQ", + "type": "STRING", + "value": ")" + } + ] + }, + "blend_src_attr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "STRING", + "value": "blend_src" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } + "type": "STRING", + "value": "," }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "group" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } - }, + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "builtin_attr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "STRING", + "value": "builtin" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "builtin_value_name" + }, + { + "type": "CHOICE", + "members": [ { - "type": "SYMBOL", - "name": "expression" + "type": "STRING", + "value": "," }, { - "type": "SYMBOL", - "name": "attrib_end" + "type": "BLANK" } ] }, { - "type": "SEQ", + "type": "STRING", + "value": ")" + } + ] + }, + "builtin_value_name": { + "type": "SYMBOL", + "name": "ident_pattern_token" + }, + "const_attr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "STRING", + "value": "const" + } + ] + }, + "diagnostic_attr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "STRING", + "value": "diagnostic" + }, + { + "type": "SYMBOL", + "name": "diagnostic_control" + } + ] + }, + "group_attr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "STRING", + "value": "group" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "id" - } + "type": "STRING", + "value": "," }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } - }, + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "id_attr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "STRING", + "value": "id" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "CHOICE", + "members": [ { - "type": "SYMBOL", - "name": "expression" + "type": "STRING", + "value": "," }, { - "type": "SYMBOL", - "name": "attrib_end" + "type": "BLANK" } ] }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "interpolate_attr": { + "type": "CHOICE", + "members": [ { "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } + "type": "STRING", + "value": "@" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "interpolate" - } + "type": "STRING", + "value": "interpolate" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } + "type": "STRING", + "value": "(" }, { "type": "SYMBOL", - "name": "interpolation_type_name" + "name": "interpolate_type_name" }, { - "type": "SYMBOL", - "name": "attrib_end" + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" } ] }, @@ -517,165 +644,194 @@ "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } + "type": "STRING", + "value": "@" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "interpolate" - } + "type": "STRING", + "value": "interpolate" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } + "type": "STRING", + "value": "(" }, { "type": "SYMBOL", - "name": "interpolation_type_name" + "name": "interpolate_type_name" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } + "type": "STRING", + "value": "," }, { "type": "SYMBOL", - "name": "interpolation_sample_name" + "name": "interpolate_sampling_name" }, { - "type": "SYMBOL", - "name": "attrib_end" + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" } ] + } + ] + }, + "interpolate_type_name": { + "type": "SYMBOL", + "name": "ident_pattern_token" + }, + "interpolate_sampling_name": { + "type": "SYMBOL", + "name": "ident_pattern_token" + }, + "invariant_attr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" }, { - "type": "SEQ", + "type": "STRING", + "value": "invariant" + } + ] + }, + "location_attr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "STRING", + "value": "location" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } + "type": "STRING", + "value": "," }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "invariant" - } + "type": "BLANK" } ] }, { - "type": "SEQ", + "type": "STRING", + "value": ")" + } + ] + }, + "must_use_attr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "STRING", + "value": "must_use" + } + ] + }, + "size_attr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "STRING", + "value": "size" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "location" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } - }, - { - "type": "SYMBOL", - "name": "expression" + "type": "STRING", + "value": "," }, { - "type": "SYMBOL", - "name": "attrib_end" + "type": "BLANK" } ] }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "workgroup_size_attr": { + "type": "CHOICE", + "members": [ { "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } + "type": "STRING", + "value": "@" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "size" - } + "type": "STRING", + "value": "workgroup_size" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } + "type": "STRING", + "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { - "type": "SYMBOL", - "name": "attrib_end" - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "workgroup_size" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } - }, - { - "type": "SYMBOL", - "name": "expression" + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] }, { - "type": "SYMBOL", - "name": "attrib_end" + "type": "STRING", + "value": ")" } ] }, @@ -683,44 +839,44 @@ "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } + "type": "STRING", + "value": "@" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "workgroup_size" - } + "type": "STRING", + "value": "workgroup_size" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } + "type": "STRING", + "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } + "type": "STRING", + "value": "," }, { "type": "SYMBOL", "name": "expression" }, { - "type": "SYMBOL", - "name": "attrib_end" + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" } ] }, @@ -728,184 +884,219 @@ "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } + "type": "STRING", + "value": "@" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "workgroup_size" - } + "type": "STRING", + "value": "workgroup_size" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } + "type": "STRING", + "value": "(" }, { "type": "SYMBOL", "name": "expression" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } + "type": "STRING", + "value": "," }, { "type": "SYMBOL", "name": "expression" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } + "type": "STRING", + "value": "," }, { "type": "SYMBOL", "name": "expression" }, { - "type": "SYMBOL", - "name": "attrib_end" - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "vertex" - } + "type": "STRING", + "value": ")" } ] + } + ] + }, + "vertex_attr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" }, { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "fragment" - } - } - ] + "type": "STRING", + "value": "vertex" + } + ] + }, + "fragment_attr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" }, { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "@" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "compute" - } - } - ] + "type": "STRING", + "value": "fragment" } ] }, - "attrib_end": { + "compute_attr": { "type": "SEQ", "members": [ { - "type": "CHOICE", + "type": "STRING", + "value": "@" + }, + { + "type": "STRING", + "value": "compute" + } + ] + }, + "attribute": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } + "type": "STRING", + "value": "@" }, { - "type": "BLANK" + "type": "SYMBOL", + "name": "ident_pattern_token" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "argument_expression_list" + }, + { + "type": "BLANK" + } + ] } ] }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ")" - } + "type": "SYMBOL", + "name": "align_attr" + }, + { + "type": "SYMBOL", + "name": "binding_attr" + }, + { + "type": "SYMBOL", + "name": "blend_src_attr" + }, + { + "type": "SYMBOL", + "name": "builtin_attr" + }, + { + "type": "SYMBOL", + "name": "const_attr" + }, + { + "type": "SYMBOL", + "name": "diagnostic_attr" + }, + { + "type": "SYMBOL", + "name": "group_attr" + }, + { + "type": "SYMBOL", + "name": "id_attr" + }, + { + "type": "SYMBOL", + "name": "interpolate_attr" + }, + { + "type": "SYMBOL", + "name": "invariant_attr" + }, + { + "type": "SYMBOL", + "name": "location_attr" + }, + { + "type": "SYMBOL", + "name": "must_use_attr" + }, + { + "type": "SYMBOL", + "name": "size_attr" + }, + { + "type": "SYMBOL", + "name": "workgroup_size_attr" + }, + { + "type": "SYMBOL", + "name": "vertex_attr" + }, + { + "type": "SYMBOL", + "name": "fragment_attr" + }, + { + "type": "SYMBOL", + "name": "compute_attr" } ] }, - "array_type_specifier": { + "diagnostic_control": { "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "array" - } + "type": "STRING", + "value": "(" }, { "type": "SYMBOL", - "name": "_disambiguate_template" + "name": "severity_control_name" }, { - "type": "SYMBOL", - "name": "_template_args_start" + "type": "STRING", + "value": "," }, { "type": "SYMBOL", - "name": "type_specifier" + "name": "diagnostic_rule_name" }, { "type": "CHOICE", "members": [ { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } - }, - { - "type": "SYMBOL", - "name": "element_count_expression" - } - ] + "type": "STRING", + "value": "," }, { "type": "BLANK" @@ -913,21 +1104,8 @@ ] }, { - "type": "SYMBOL", - "name": "_template_args_end" - } - ] - }, - "element_count_expression": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "additive_expression" - }, - { - "type": "SYMBOL", - "name": "bitwise_expression" + "type": "STRING", + "value": ")" } ] }, @@ -935,11 +1113,8 @@ "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "struct" - } + "type": "STRING", + "value": "struct" }, { "type": "SYMBOL", @@ -955,52 +1130,35 @@ "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "{" - } + "type": "STRING", + "value": "{" }, { "type": "SYMBOL", "name": "struct_member" }, { - "type": "CHOICE", - "members": [ - { - "type": "REPEAT1", - "content": { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } - }, - { - "type": "SYMBOL", - "name": "struct_member" - } - ] + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "struct_member" } - }, - { - "type": "BLANK" - } - ] + ] + } }, { "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } + "type": "STRING", + "value": "," }, { "type": "BLANK" @@ -1008,11 +1166,8 @@ ] }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "}" - } + "type": "STRING", + "value": "}" } ] }, @@ -1020,30 +1175,19 @@ "type": "SEQ", "members": [ { - "type": "CHOICE", - "members": [ - { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "attribute" - } - }, - { - "type": "BLANK" - } - ] + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute" + } }, { "type": "SYMBOL", "name": "member_ident" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ":" - } + "type": "STRING", + "value": ":" }, { "type": "SYMBOL", @@ -1051,39 +1195,77 @@ } ] }, - "texture_and_sampler_types": { - "type": "CHOICE", + "type_alias_decl": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "alias" + }, + { + "type": "SYMBOL", + "name": "ident" + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "type_specifier" + } + ] + }, + "type_specifier": { + "type": "SYMBOL", + "name": "template_elaborated_ident" + }, + "template_elaborated_ident": { + "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "sampler_type" + "name": "ident" }, { "type": "SYMBOL", - "name": "depth_texture_type" + "name": "_disambiguate_template" }, { - "type": "SEQ", + "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "sampled_texture_type" + "name": "template_list" }, { - "type": "SYMBOL", - "name": "_disambiguate_template" - }, + "type": "BLANK" + } + ] + } + ] + }, + "variable_or_value_statement": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "variable_decl" + }, + { + "type": "SEQ", + "members": [ { "type": "SYMBOL", - "name": "_template_args_start" + "name": "variable_decl" }, { - "type": "SYMBOL", - "name": "type_specifier" + "type": "STRING", + "value": "=" }, { "type": "SYMBOL", - "name": "_template_args_end" + "name": "expression" } ] }, @@ -1091,24 +1273,20 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "multisampled_texture_type" - }, - { - "type": "SYMBOL", - "name": "_disambiguate_template" + "type": "STRING", + "value": "let" }, { "type": "SYMBOL", - "name": "_template_args_start" + "name": "optionally_typed_ident" }, { - "type": "SYMBOL", - "name": "type_specifier" + "type": "STRING", + "value": "=" }, { "type": "SYMBOL", - "name": "_template_args_end" + "name": "expression" } ] }, @@ -1116,311 +1294,142 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "storage_texture_type" - }, - { - "type": "SYMBOL", - "name": "_disambiguate_template" - }, - { - "type": "SYMBOL", - "name": "_template_args_start" + "type": "STRING", + "value": "const" }, { "type": "SYMBOL", - "name": "texel_format" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } + "name": "optionally_typed_ident" }, { - "type": "SYMBOL", - "name": "access_mode" + "type": "STRING", + "value": "=" }, { "type": "SYMBOL", - "name": "_template_args_end" + "name": "expression" } ] } ] }, - "sampler_type": { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "sampler" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "sampler_comparison" - } - } - ] - }, - "sampled_texture_type": { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_1d" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_2d" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_2d_array" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_3d" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_cube" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_cube_array" - } - } - ] - }, - "multisampled_texture_type": { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_multisampled_2d" - } - }, - "storage_texture_type": { - "type": "CHOICE", + "variable_decl": { + "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_storage_1d" - } + "type": "STRING", + "value": "var" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_storage_2d" - } + "type": "SYMBOL", + "name": "_disambiguate_template" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_storage_2d_array" - } + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "template_list" + }, + { + "type": "BLANK" + } + ] }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_storage_3d" - } + "type": "SYMBOL", + "name": "optionally_typed_ident" } ] }, - "depth_texture_type": { - "type": "CHOICE", + "optionally_typed_ident": { + "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_depth_2d" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_depth_2d_array" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_depth_cube" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_depth_cube_array" - } + "type": "SYMBOL", + "name": "ident" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "texture_depth_multisampled_2d" - } + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "type_specifier" + } + ] + }, + { + "type": "BLANK" + } + ] } ] }, - "type_alias_decl": { + "global_variable_decl": { "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "alias" - } - }, - { - "type": "SYMBOL", - "name": "ident" - }, - { - "type": "TOKEN", + "type": "REPEAT", "content": { - "type": "STRING", - "value": "=" + "type": "SYMBOL", + "name": "attribute" } }, { "type": "SYMBOL", - "name": "type_specifier" - } - ] - }, - "type_specifier": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "ident" + "name": "variable_decl" }, { - "type": "SYMBOL", - "name": "type_specifier_without_ident" + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + { + "type": "BLANK" + } + ] } ] }, - "type_specifier_without_ident": { + "global_value_decl": { "type": "CHOICE", "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "bool" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "f32" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "f16" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "i32" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "u32" - } - }, - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "vec_prefix" - }, - { - "type": "SYMBOL", - "name": "_disambiguate_template" - }, - { - "type": "SYMBOL", - "name": "_template_args_start" - }, - { - "type": "SYMBOL", - "name": "type_specifier" - }, - { - "type": "SYMBOL", - "name": "_template_args_end" - } - ] - }, { "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "mat_prefix" - }, - { - "type": "SYMBOL", - "name": "_disambiguate_template" + "type": "STRING", + "value": "const" }, { "type": "SYMBOL", - "name": "_template_args_start" + "name": "optionally_typed_ident" }, { - "type": "SYMBOL", - "name": "type_specifier" + "type": "STRING", + "value": "=" }, { "type": "SYMBOL", - "name": "_template_args_end" + "name": "expression" } ] }, @@ -1428,34 +1437,19 @@ "type": "SEQ", "members": [ { - "type": "TOKEN", + "type": "REPEAT", "content": { - "type": "STRING", - "value": "ptr" + "type": "SYMBOL", + "name": "attribute" } }, { - "type": "SYMBOL", - "name": "_disambiguate_template" - }, - { - "type": "SYMBOL", - "name": "_template_args_start" - }, - { - "type": "SYMBOL", - "name": "address_space" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } + "type": "STRING", + "value": "override" }, { "type": "SYMBOL", - "name": "type_specifier" + "name": "optionally_typed_ident" }, { "type": "CHOICE", @@ -1464,15 +1458,12 @@ "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } + "type": "STRING", + "value": "=" }, { "type": "SYMBOL", - "name": "access_mode" + "name": "expression" } ] }, @@ -1480,169 +1471,157 @@ "type": "BLANK" } ] - }, - { - "type": "SYMBOL", - "name": "_template_args_end" } ] + } + ] + }, + "primary_expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "template_elaborated_ident" }, { "type": "SYMBOL", - "name": "array_type_specifier" + "name": "call_expression" }, { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "atomic" - } - }, - { - "type": "SYMBOL", - "name": "_disambiguate_template" - }, - { - "type": "SYMBOL", - "name": "_template_args_start" - }, - { - "type": "SYMBOL", - "name": "type_specifier" - }, - { - "type": "SYMBOL", - "name": "_template_args_end" - } - ] + "type": "SYMBOL", + "name": "literal" }, { "type": "SYMBOL", - "name": "texture_and_sampler_types" + "name": "paren_expression" } ] }, - "vec_prefix": { - "type": "CHOICE", + "call_expression": { + "type": "SYMBOL", + "name": "call_phrase" + }, + "call_phrase": { + "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "vec2" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "vec3" - } + "type": "SYMBOL", + "name": "template_elaborated_ident" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "vec4" - } + "type": "SYMBOL", + "name": "argument_expression_list" } ] }, - "mat_prefix": { - "type": "CHOICE", + "paren_expression": { + "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "mat2x2" - } + "type": "STRING", + "value": "(" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "mat2x3" - } + "type": "SYMBOL", + "name": "expression" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "mat2x4" - } - }, + "type": "STRING", + "value": ")" + } + ] + }, + "argument_expression_list": { + "type": "SEQ", + "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "mat3x2" - } + "type": "STRING", + "value": "(" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "mat3x3" - } + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression_comma_list" + }, + { + "type": "BLANK" + } + ] }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "mat3x4" - } - }, + "type": "STRING", + "value": ")" + } + ] + }, + "expression_comma_list": { + "type": "SEQ", + "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "mat4x2" - } + "type": "SYMBOL", + "name": "expression" }, { - "type": "TOKEN", + "type": "REPEAT", "content": { - "type": "STRING", - "value": "mat4x3" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] } }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "mat4x4" - } + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] } ] }, - "variable_statement": { + "component_or_swizzle_specifier": { "type": "CHOICE", "members": [ - { - "type": "SYMBOL", - "name": "variable_decl" - }, { "type": "SEQ", "members": [ + { + "type": "STRING", + "value": "[" + }, { "type": "SYMBOL", - "name": "variable_decl" + "name": "expression" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "=" - } + "type": "STRING", + "value": "]" }, { - "type": "SYMBOL", - "name": "expression" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "component_or_swizzle_specifier" + }, + { + "type": "BLANK" + } + ] } ] }, @@ -1650,26 +1629,24 @@ "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "let" - } + "type": "STRING", + "value": "." }, { "type": "SYMBOL", - "name": "optionally_typed_ident" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "=" - } + "name": "member_ident" }, { - "type": "SYMBOL", - "name": "expression" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "component_or_swizzle_specifier" + }, + { + "type": "BLANK" + } + ] } ] }, @@ -1677,88 +1654,116 @@ "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "const" - } + "type": "STRING", + "value": "." }, { "type": "SYMBOL", - "name": "optionally_typed_ident" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "=" - } + "name": "swizzle_name" }, { - "type": "SYMBOL", - "name": "expression" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "component_or_swizzle_specifier" + }, + { + "type": "BLANK" + } + ] } ] } ] }, - "variable_decl": { - "type": "SEQ", + "unary_expression": { + "type": "CHOICE", "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "var" - } - }, { "type": "SYMBOL", - "name": "_disambiguate_template" + "name": "singular_expression" }, { - "type": "CHOICE", + "type": "SEQ", "members": [ + { + "type": "STRING", + "value": "-" + }, { "type": "SYMBOL", - "name": "variable_qualifier" + "name": "unary_expression" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "!" }, { - "type": "BLANK" + "type": "SYMBOL", + "name": "unary_expression" } ] }, { - "type": "SYMBOL", - "name": "optionally_typed_ident" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "~" + }, + { + "type": "SYMBOL", + "name": "unary_expression" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "*" + }, + { + "type": "SYMBOL", + "name": "unary_expression" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "&" + }, + { + "type": "SYMBOL", + "name": "unary_expression" + } + ] } ] }, - "optionally_typed_ident": { + "singular_expression": { "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "ident" + "name": "primary_expression" }, { "type": "CHOICE", "members": [ { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ":" - } - }, - { - "type": "SYMBOL", - "name": "type_specifier" - } - ] + "type": "SYMBOL", + "name": "component_or_swizzle_specifier" }, { "type": "BLANK" @@ -1767,273 +1772,196 @@ } ] }, - "variable_qualifier": { - "type": "SEQ", + "lhs_expression": { + "type": "CHOICE", "members": [ { - "type": "SYMBOL", - "name": "_template_args_start" - }, - { - "type": "SYMBOL", - "name": "address_space" - }, - { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "SEQ", + "type": "SYMBOL", + "name": "core_lhs_expression" + }, + { + "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } + "type": "SYMBOL", + "name": "component_or_swizzle_specifier" }, { - "type": "SYMBOL", - "name": "access_mode" + "type": "BLANK" } ] - }, - { - "type": "BLANK" } ] }, { - "type": "SYMBOL", - "name": "_template_args_end" - } - ] - }, - "global_variable_decl": { - "type": "SEQ", - "members": [ - { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "attribute" - } + "type": "STRING", + "value": "*" }, { - "type": "BLANK" + "type": "SYMBOL", + "name": "lhs_expression" } ] }, { - "type": "SYMBOL", - "name": "variable_decl" - }, - { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "=" - } - }, - { - "type": "SYMBOL", - "name": "expression" - } - ] + "type": "STRING", + "value": "&" }, { - "type": "BLANK" + "type": "SYMBOL", + "name": "lhs_expression" } ] } ] }, - "global_constant_decl": { + "core_lhs_expression": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "const" - } + "type": "SYMBOL", + "name": "ident" }, { "type": "SYMBOL", - "name": "optionally_typed_ident" - }, + "name": "_disambiguate_template" + } + ] + }, + { + "type": "SEQ", + "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "=" - } + "type": "STRING", + "value": "(" }, { "type": "SYMBOL", - "name": "expression" + "name": "lhs_expression" + }, + { + "type": "STRING", + "value": ")" } ] + } + ] + }, + "multiplicative_expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "unary_expression" }, { "type": "SEQ", "members": [ { - "type": "CHOICE", - "members": [ - { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "attribute" - } - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "override" - } + "type": "SYMBOL", + "name": "multiplicative_expression" }, { "type": "SYMBOL", - "name": "optionally_typed_ident" + "name": "multiplicative_operator" }, { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "=" - } - }, - { - "type": "SYMBOL", - "name": "expression" - } - ] - }, - { - "type": "BLANK" - } - ] + "type": "SYMBOL", + "name": "unary_expression" } ] } ] }, - "primary_expression": { + "multiplicative_operator": { "type": "CHOICE", "members": [ { - "type": "SYMBOL", - "name": "ident" + "type": "STRING", + "value": "*" }, { - "type": "SYMBOL", - "name": "call_expression" + "type": "STRING", + "value": "/" }, { - "type": "SYMBOL", - "name": "literal" - }, + "type": "STRING", + "value": "%" + } + ] + }, + "additive_expression": { + "type": "CHOICE", + "members": [ { "type": "SYMBOL", - "name": "paren_expression" + "name": "multiplicative_expression" }, { "type": "SEQ", "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "bitcast" - } - }, - { - "type": "SYMBOL", - "name": "_disambiguate_template" - }, - { - "type": "SYMBOL", - "name": "_template_args_start" - }, { "type": "SYMBOL", - "name": "type_specifier" + "name": "additive_expression" }, { "type": "SYMBOL", - "name": "_template_args_end" + "name": "additive_operator" }, { "type": "SYMBOL", - "name": "paren_expression" + "name": "multiplicative_expression" } ] } ] }, - "call_expression": { - "type": "SYMBOL", - "name": "call_phrase" - }, - "call_phrase": { - "type": "SEQ", + "additive_operator": { + "type": "CHOICE", "members": [ { - "type": "SYMBOL", - "name": "callable" + "type": "STRING", + "value": "+" }, { - "type": "SYMBOL", - "name": "argument_expression_list" + "type": "STRING", + "value": "-" } ] }, - "callable": { + "shift_expression": { "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "ident" - }, - { - "type": "SYMBOL", - "name": "type_specifier_without_ident" + "name": "additive_expression" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "vec_prefix" + "name": "unary_expression" }, { "type": "SYMBOL", - "name": "_disambiguate_template" + "name": "_shift_left" + }, + { + "type": "SYMBOL", + "name": "unary_expression" } ] }, @@ -2042,172 +1970,92 @@ "members": [ { "type": "SYMBOL", - "name": "mat_prefix" + "name": "unary_expression" }, { "type": "SYMBOL", - "name": "_disambiguate_template" - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "array" - } + "name": "_shift_right" }, { "type": "SYMBOL", - "name": "_disambiguate_template" + "name": "unary_expression" } ] } ] }, - "paren_expression": { - "type": "SEQ", + "relational_expression": { + "type": "CHOICE", "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } - }, { "type": "SYMBOL", - "name": "expression" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ")" - } - } - ] - }, - "argument_expression_list": { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } + "name": "shift_expression" }, { - "type": "CHOICE", + "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "expression_comma_list" + "name": "shift_expression" }, { - "type": "BLANK" + "type": "SYMBOL", + "name": "_less_than" + }, + { + "type": "SYMBOL", + "name": "shift_expression" } ] }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ")" - } - } - ] - }, - "expression_comma_list": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "expression" - }, - { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "REPEAT1", - "content": { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } - }, - { - "type": "SYMBOL", - "name": "expression" - } - ] - } + "type": "SYMBOL", + "name": "shift_expression" }, { - "type": "BLANK" + "type": "SYMBOL", + "name": "_greater_than" + }, + { + "type": "SYMBOL", + "name": "shift_expression" } ] }, { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } + "type": "SYMBOL", + "name": "shift_expression" }, { - "type": "BLANK" + "type": "SYMBOL", + "name": "_less_than_equal" + }, + { + "type": "SYMBOL", + "name": "shift_expression" } ] - } - ] - }, - "component_or_swizzle_specifier": { - "type": "CHOICE", - "members": [ + }, { "type": "SEQ", "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "[" - } - }, { "type": "SYMBOL", - "name": "expression" + "name": "shift_expression" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "]" - } + "type": "SYMBOL", + "name": "_greater_than_equal" }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "component_or_swizzle_specifier" - }, - { - "type": "BLANK" - } - ] + "type": "SYMBOL", + "name": "shift_expression" } ] }, @@ -2215,27 +2063,16 @@ "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "." - } + "type": "SYMBOL", + "name": "shift_expression" }, { - "type": "SYMBOL", - "name": "member_ident" + "type": "STRING", + "value": "==" }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "component_or_swizzle_specifier" - }, - { - "type": "BLANK" - } - ] + "type": "SYMBOL", + "name": "shift_expression" } ] }, @@ -2243,112 +2080,116 @@ "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "." - } + "type": "SYMBOL", + "name": "shift_expression" }, { - "type": "SYMBOL", - "name": "swizzle_name" + "type": "STRING", + "value": "!=" }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "component_or_swizzle_specifier" - }, - { - "type": "BLANK" - } - ] + "type": "SYMBOL", + "name": "shift_expression" } ] } ] }, - "unary_expression": { + "short_circuit_and_expression": { "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "singular_expression" + "name": "relational_expression" }, { "type": "SEQ", "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "-" - } - }, { "type": "SYMBOL", - "name": "unary_expression" - } - ] - }, - { - "type": "SEQ", - "members": [ + "name": "short_circuit_and_expression" + }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "!" - } + "type": "STRING", + "value": "&&" }, { "type": "SYMBOL", - "name": "unary_expression" + "name": "relational_expression" } ] + } + ] + }, + "short_circuit_or_expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "relational_expression" }, { "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "~" - } + "type": "SYMBOL", + "name": "short_circuit_or_expression" + }, + { + "type": "STRING", + "value": "||" }, { "type": "SYMBOL", - "name": "unary_expression" + "name": "relational_expression" } ] + } + ] + }, + "binary_or_expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "unary_expression" }, { "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "*" - } + "type": "SYMBOL", + "name": "binary_or_expression" + }, + { + "type": "STRING", + "value": "|" }, { "type": "SYMBOL", "name": "unary_expression" } ] + } + ] + }, + "binary_and_expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "unary_expression" }, { "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "&" - } + "type": "SYMBOL", + "name": "binary_and_expression" + }, + { + "type": "STRING", + "value": "&" }, { "type": "SYMBOL", @@ -2358,28 +2199,33 @@ } ] }, - "singular_expression": { - "type": "SEQ", + "binary_xor_expression": { + "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "primary_expression" + "name": "unary_expression" }, { - "type": "CHOICE", + "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "component_or_swizzle_specifier" + "name": "binary_xor_expression" }, { - "type": "BLANK" + "type": "STRING", + "value": "^" + }, + { + "type": "SYMBOL", + "name": "unary_expression" } ] } ] }, - "lhs_expression": { + "bitwise_expression": { "type": "CHOICE", "members": [ { @@ -2387,35 +2233,15 @@ "members": [ { "type": "SYMBOL", - "name": "core_lhs_expression" + "name": "binary_and_expression" }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "component_or_swizzle_specifier" - }, - { - "type": "BLANK" - } - ] - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "*" - } + "type": "STRING", + "value": "&" }, { "type": "SYMBOL", - "name": "lhs_expression" + "name": "unary_expression" } ] }, @@ -2423,170 +2249,138 @@ "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "&" - } + "type": "SYMBOL", + "name": "binary_or_expression" + }, + { + "type": "STRING", + "value": "|" }, { "type": "SYMBOL", - "name": "lhs_expression" + "name": "unary_expression" } ] - } - ] - }, - "core_lhs_expression": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "ident" }, { "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } + "type": "SYMBOL", + "name": "binary_xor_expression" }, { - "type": "SYMBOL", - "name": "lhs_expression" + "type": "STRING", + "value": "^" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ")" - } + "type": "SYMBOL", + "name": "unary_expression" } ] } ] }, - "multiplicative_expression": { + "expression": { "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "unary_expression" + "name": "relational_expression" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "multiplicative_expression" + "name": "short_circuit_or_expression" }, { - "type": "SYMBOL", - "name": "multiplicative_operator" + "type": "STRING", + "value": "||" }, { "type": "SYMBOL", - "name": "unary_expression" + "name": "relational_expression" } ] - } - ] - }, - "multiplicative_operator": { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "*" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "/" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "%" - } - } - ] - }, - "additive_expression": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "multiplicative_expression" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "additive_expression" + "name": "short_circuit_and_expression" }, { - "type": "SYMBOL", - "name": "additive_operator" + "type": "STRING", + "value": "&&" }, { "type": "SYMBOL", - "name": "multiplicative_expression" + "name": "relational_expression" } ] + }, + { + "type": "SYMBOL", + "name": "bitwise_expression" } ] }, - "additive_operator": { - "type": "CHOICE", + "compound_statement": { + "type": "SEQ", "members": [ { - "type": "TOKEN", + "type": "REPEAT", "content": { - "type": "STRING", - "value": "+" + "type": "SYMBOL", + "name": "attribute" } }, { - "type": "TOKEN", + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", "content": { - "type": "STRING", - "value": "-" + "type": "SYMBOL", + "name": "statement" } + }, + { + "type": "STRING", + "value": "}" } ] }, - "shift_expression": { + "assignment_statement": { "type": "CHOICE", "members": [ - { - "type": "SYMBOL", - "name": "additive_expression" - }, { "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "unary_expression" + "name": "lhs_expression" }, { - "type": "SYMBOL", - "name": "_shift_left" + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "compound_assignment_operator" + } + ] }, { "type": "SYMBOL", - "name": "unary_expression" + "name": "expression" } ] }, @@ -2594,420 +2388,284 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "unary_expression" + "type": "STRING", + "value": "_" }, { - "type": "SYMBOL", - "name": "_shift_right" + "type": "STRING", + "value": "=" }, { "type": "SYMBOL", - "name": "unary_expression" + "name": "expression" } ] } ] }, - "relational_expression": { + "compound_assignment_operator": { "type": "CHOICE", "members": [ { - "type": "SYMBOL", - "name": "shift_expression" + "type": "STRING", + "value": "+=" }, { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "shift_expression" - }, - { - "type": "SYMBOL", - "name": "_less_than" - }, - { - "type": "SYMBOL", - "name": "shift_expression" - } - ] + "type": "STRING", + "value": "-=" }, { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "shift_expression" - }, - { - "type": "SYMBOL", - "name": "_greater_than" - }, - { - "type": "SYMBOL", - "name": "shift_expression" - } - ] + "type": "STRING", + "value": "*=" }, { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "shift_expression" - }, - { - "type": "SYMBOL", - "name": "_less_than_equal" - }, - { - "type": "SYMBOL", - "name": "shift_expression" - } - ] + "type": "STRING", + "value": "/=" }, { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "shift_expression" - }, - { - "type": "SYMBOL", - "name": "_greater_than_equal" - }, - { - "type": "SYMBOL", - "name": "shift_expression" - } - ] + "type": "STRING", + "value": "%=" }, { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "shift_expression" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "==" - } - }, - { - "type": "SYMBOL", - "name": "shift_expression" - } - ] + "type": "STRING", + "value": "&=" }, { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "shift_expression" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "!=" - } - }, - { - "type": "SYMBOL", - "name": "shift_expression" - } - ] + "type": "STRING", + "value": "|=" + }, + { + "type": "STRING", + "value": "^=" + }, + { + "type": "SYMBOL", + "name": "_shift_right_assign" + }, + { + "type": "SYMBOL", + "name": "_shift_left_assign" } ] }, - "short_circuit_and_expression": { - "type": "CHOICE", + "increment_statement": { + "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "relational_expression" + "name": "lhs_expression" }, { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "short_circuit_and_expression" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "&&" - } - }, - { - "type": "SYMBOL", - "name": "relational_expression" - } - ] + "type": "STRING", + "value": "++" } ] }, - "short_circuit_or_expression": { - "type": "CHOICE", + "decrement_statement": { + "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "relational_expression" + "name": "lhs_expression" }, { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "short_circuit_or_expression" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "||" - } - }, - { - "type": "SYMBOL", - "name": "relational_expression" - } - ] + "type": "STRING", + "value": "--" } ] }, - "binary_or_expression": { - "type": "CHOICE", + "if_statement": { + "type": "SEQ", "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute" + } + }, { "type": "SYMBOL", - "name": "unary_expression" + "name": "if_clause" }, { - "type": "SEQ", + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "else_if_clause" + } + }, + { + "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "binary_or_expression" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "|" - } + "name": "else_clause" }, { - "type": "SYMBOL", - "name": "unary_expression" + "type": "BLANK" } ] } ] }, - "binary_and_expression": { - "type": "CHOICE", + "if_clause": { + "type": "SEQ", "members": [ + { + "type": "STRING", + "value": "if" + }, { "type": "SYMBOL", - "name": "unary_expression" + "name": "expression" }, { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "binary_and_expression" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "&" - } - }, - { - "type": "SYMBOL", - "name": "unary_expression" - } - ] + "type": "SYMBOL", + "name": "compound_statement" } ] }, - "binary_xor_expression": { - "type": "CHOICE", + "else_if_clause": { + "type": "SEQ", "members": [ + { + "type": "STRING", + "value": "else" + }, + { + "type": "STRING", + "value": "if" + }, { "type": "SYMBOL", - "name": "unary_expression" + "name": "expression" }, { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "binary_xor_expression" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "^" - } - }, - { - "type": "SYMBOL", - "name": "unary_expression" - } - ] + "type": "SYMBOL", + "name": "compound_statement" } ] }, - "bitwise_expression": { - "type": "CHOICE", + "else_clause": { + "type": "SEQ", "members": [ { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "binary_and_expression" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "&" - } - }, - { - "type": "SYMBOL", - "name": "unary_expression" - } - ] + "type": "STRING", + "value": "else" }, { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "binary_or_expression" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "|" - } - }, - { - "type": "SYMBOL", - "name": "unary_expression" - } - ] + "type": "SYMBOL", + "name": "compound_statement" + } + ] + }, + "switch_statement": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute" + } }, { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "binary_xor_expression" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "^" - } - }, - { - "type": "SYMBOL", - "name": "unary_expression" - } - ] + "type": "STRING", + "value": "switch" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "switch_body" } ] }, - "expression": { + "switch_body": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute" + } + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "switch_clause" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "switch_clause": { "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "relational_expression" + "name": "case_clause" }, { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "short_circuit_or_expression" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "||" - } - }, - { - "type": "SYMBOL", - "name": "relational_expression" - } - ] + "type": "SYMBOL", + "name": "default_alone_clause" + } + ] + }, + "case_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "case" }, { - "type": "SEQ", + "type": "SYMBOL", + "name": "case_selectors" + }, + { + "type": "CHOICE", "members": [ { - "type": "SYMBOL", - "name": "short_circuit_and_expression" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "&&" - } + "type": "STRING", + "value": ":" }, { - "type": "SYMBOL", - "name": "relational_expression" + "type": "BLANK" } ] }, { "type": "SYMBOL", - "name": "bitwise_expression" + "name": "compound_statement" } ] }, - "compound_statement": { + "default_alone_clause": { "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "{" - } + "type": "STRING", + "value": "default" }, { "type": "CHOICE", "members": [ { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "statement" - } + "type": "STRING", + "value": ":" }, { "type": "BLANK" @@ -3015,200 +2673,184 @@ ] }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "}" - } + "type": "SYMBOL", + "name": "compound_statement" } ] }, - "assignment_statement": { - "type": "CHOICE", + "case_selectors": { + "type": "SEQ", "members": [ { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "lhs_expression" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "=" - } - }, - { - "type": "SYMBOL", - "name": "compound_assignment_operator" - } - ] - }, - { - "type": "SYMBOL", - "name": "expression" - } - ] + "type": "SYMBOL", + "name": "case_selector" }, { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { "type": "STRING", - "value": "_" + "value": "," + }, + { + "type": "SYMBOL", + "name": "case_selector" } - }, + ] + } + }, + { + "type": "CHOICE", + "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "=" - } + "type": "STRING", + "value": "," }, { - "type": "SYMBOL", - "name": "expression" + "type": "BLANK" } ] } ] }, - "compound_assignment_operator": { + "case_selector": { "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "+=" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "-=" - } + "type": "STRING", + "value": "default" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "*=" - } - }, + "type": "SYMBOL", + "name": "expression" + } + ] + }, + "loop_statement": { + "type": "SEQ", + "members": [ { - "type": "TOKEN", + "type": "REPEAT", "content": { - "type": "STRING", - "value": "/=" + "type": "SYMBOL", + "name": "attribute" } }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "%=" - } + "type": "STRING", + "value": "loop" }, { - "type": "TOKEN", + "type": "REPEAT", "content": { - "type": "STRING", - "value": "&=" + "type": "SYMBOL", + "name": "attribute" } }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "|=" - } + "type": "STRING", + "value": "{" }, { - "type": "TOKEN", + "type": "REPEAT", "content": { - "type": "STRING", - "value": "^=" + "type": "SYMBOL", + "name": "statement" } }, { - "type": "SYMBOL", - "name": "_shift_right_assign" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "continuing_statement" + }, + { + "type": "BLANK" + } + ] }, { - "type": "SYMBOL", - "name": "_shift_left_assign" + "type": "STRING", + "value": "}" } ] }, - "increment_statement": { + "for_statement": { "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "lhs_expression" - }, - { - "type": "TOKEN", + "type": "REPEAT", "content": { - "type": "STRING", - "value": "++" + "type": "SYMBOL", + "name": "attribute" } - } - ] - }, - "decrement_statement": { - "type": "SEQ", - "members": [ + }, + { + "type": "STRING", + "value": "for" + }, + { + "type": "STRING", + "value": "(" + }, { "type": "SYMBOL", - "name": "lhs_expression" + "name": "for_header" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "--" - } + "type": "STRING", + "value": ")" + }, + { + "type": "SYMBOL", + "name": "compound_statement" } ] }, - "if_statement": { + "for_header": { "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "if_clause" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "for_init" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" }, { "type": "CHOICE", "members": [ { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "else_if_clause" - } + "type": "SYMBOL", + "name": "expression" }, { "type": "BLANK" } ] }, + { + "type": "STRING", + "value": ";" + }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "else_clause" + "name": "for_update" }, { "type": "BLANK" @@ -3217,142 +2859,129 @@ } ] }, - "if_clause": { - "type": "SEQ", + "for_init": { + "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "if" - } + "type": "SYMBOL", + "name": "variable_or_value_statement" }, { "type": "SYMBOL", - "name": "expression" + "name": "variable_updating_statement" }, { "type": "SYMBOL", - "name": "compound_statement" + "name": "func_call_statement" } ] }, - "else_if_clause": { - "type": "SEQ", + "for_update": { + "type": "CHOICE", "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "else" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "if" - } - }, { "type": "SYMBOL", - "name": "expression" + "name": "variable_updating_statement" }, { "type": "SYMBOL", - "name": "compound_statement" + "name": "func_call_statement" } ] }, - "else_clause": { + "while_statement": { "type": "SEQ", "members": [ { - "type": "TOKEN", + "type": "REPEAT", "content": { - "type": "STRING", - "value": "else" + "type": "SYMBOL", + "name": "attribute" } }, + { + "type": "STRING", + "value": "while" + }, + { + "type": "SYMBOL", + "name": "expression" + }, { "type": "SYMBOL", "name": "compound_statement" } ] }, - "switch_statement": { + "break_statement": { + "type": "STRING", + "value": "break" + }, + "break_if_statement": { "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "switch" - } - }, - { - "type": "SYMBOL", - "name": "expression" + "type": "STRING", + "value": "break" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "{" - } + "type": "STRING", + "value": "if" }, { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "switch_body" - } + "type": "SYMBOL", + "name": "expression" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "}" - } + "type": "STRING", + "value": ";" } ] }, - "switch_body": { - "type": "CHOICE", + "continue_statement": { + "type": "STRING", + "value": "continue" + }, + "continuing_statement": { + "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "case_clause" + "type": "STRING", + "value": "continuing" }, { "type": "SYMBOL", - "name": "default_alone_clause" + "name": "continuing_compound_statement" } ] }, - "case_clause": { + "continuing_compound_statement": { "type": "SEQ", "members": [ { - "type": "TOKEN", + "type": "REPEAT", "content": { - "type": "STRING", - "value": "case" + "type": "SYMBOL", + "name": "attribute" } }, { - "type": "SYMBOL", - "name": "case_selectors" + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "statement" + } }, { "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ":" - } + "type": "SYMBOL", + "name": "break_if_statement" }, { "type": "BLANK" @@ -3360,2411 +2989,515 @@ ] }, { - "type": "SYMBOL", - "name": "compound_statement" + "type": "STRING", + "value": "}" } ] }, - "default_alone_clause": { + "return_statement": { "type": "SEQ", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "default" - } + "type": "STRING", + "value": "return" }, { "type": "CHOICE", "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ":" - } + "type": "SYMBOL", + "name": "expression" }, { "type": "BLANK" } ] + } + ] + }, + "func_call_statement": { + "type": "SYMBOL", + "name": "call_phrase" + }, + "const_assert_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "const_assert" }, { "type": "SYMBOL", - "name": "compound_statement" + "name": "expression" } ] }, - "case_selectors": { - "type": "SEQ", + "statement": { + "type": "CHOICE", "members": [ { - "type": "SYMBOL", - "name": "case_selector" + "type": "STRING", + "value": ";" }, { - "type": "CHOICE", - "members": [ - { - "type": "REPEAT1", - "content": { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } - }, - { - "type": "SYMBOL", - "name": "case_selector" - } - ] - } - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } - }, - { - "type": "BLANK" - } - ] - } - ] - }, - "case_selector": { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "default" - } - }, - { - "type": "SYMBOL", - "name": "expression" - } - ] - }, - "loop_statement": { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "loop" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "{" - } - }, - { - "type": "CHOICE", - "members": [ - { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "statement" - } - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "CHOICE", + "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "continuing_statement" + "name": "return_statement" }, { - "type": "BLANK" + "type": "STRING", + "value": ";" } ] }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "}" - } - } - ] - }, - "for_statement": { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "for" - } + "type": "SYMBOL", + "name": "if_statement" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } + "type": "SYMBOL", + "name": "switch_statement" }, { "type": "SYMBOL", - "name": "for_header" + "name": "loop_statement" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ")" - } + "type": "SYMBOL", + "name": "for_statement" }, { "type": "SYMBOL", - "name": "compound_statement" - } - ] - }, - "for_header": { - "type": "SEQ", - "members": [ + "name": "while_statement" + }, { - "type": "CHOICE", + "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "for_init" + "name": "func_call_statement" }, { - "type": "BLANK" + "type": "STRING", + "value": ";" } ] }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } - }, - { - "type": "CHOICE", + "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "expression" + "name": "variable_or_value_statement" }, { - "type": "BLANK" + "type": "STRING", + "value": ";" } ] }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } - }, - { - "type": "CHOICE", + "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "for_update" + "name": "break_statement" }, { - "type": "BLANK" + "type": "STRING", + "value": ";" } ] - } - ] - }, - "for_init": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "variable_statement" - }, - { - "type": "SYMBOL", - "name": "variable_updating_statement" - }, - { - "type": "SYMBOL", - "name": "func_call_statement" - } - ] - }, - "for_update": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "variable_updating_statement" - }, - { - "type": "SYMBOL", - "name": "func_call_statement" - } - ] - }, - "while_statement": { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "while" - } - }, - { - "type": "SYMBOL", - "name": "expression" - }, - { - "type": "SYMBOL", - "name": "compound_statement" - } - ] - }, - "break_statement": { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "break" - } - }, - "break_if_statement": { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "break" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "if" - } - }, - { - "type": "SYMBOL", - "name": "expression" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } - } - ] - }, - "continue_statement": { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "continue" - } - }, - "continuing_statement": { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "continuing" - } - }, - { - "type": "SYMBOL", - "name": "continuing_compound_statement" - } - ] - }, - "continuing_compound_statement": { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "{" - } }, { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "statement" - } + "type": "SYMBOL", + "name": "continue_statement" }, { - "type": "BLANK" + "type": "STRING", + "value": ";" } ] }, { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "break_if_statement" + "type": "STRING", + "value": "discard" }, { - "type": "BLANK" + "type": "STRING", + "value": ";" } ] }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "}" - } - } - ] - }, - "return_statement": { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "return" - } - }, - { - "type": "CHOICE", + "type": "SEQ", "members": [ { "type": "SYMBOL", - "name": "expression" + "name": "variable_updating_statement" }, - { - "type": "BLANK" - } - ] - } - ] - }, - "func_call_statement": { - "type": "SYMBOL", - "name": "call_phrase" - }, - "const_assert_statement": { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "const_assert" - } - }, - { - "type": "SYMBOL", - "name": "expression" - } - ] - }, - "statement": { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } - }, - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "return_statement" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } - } - ] - }, - { - "type": "SYMBOL", - "name": "if_statement" - }, - { - "type": "SYMBOL", - "name": "switch_statement" - }, - { - "type": "SYMBOL", - "name": "loop_statement" - }, - { - "type": "SYMBOL", - "name": "for_statement" - }, - { - "type": "SYMBOL", - "name": "while_statement" - }, - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "func_call_statement" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "variable_statement" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "break_statement" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "continue_statement" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "discard" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "variable_updating_statement" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } - } - ] - }, - { - "type": "SYMBOL", - "name": "compound_statement" - }, - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "const_assert_statement" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } - } - ] - } - ] - }, - "variable_updating_statement": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "assignment_statement" - }, - { - "type": "SYMBOL", - "name": "increment_statement" - }, - { - "type": "SYMBOL", - "name": "decrement_statement" - } - ] - }, - "function_decl": { - "type": "SEQ", - "members": [ - { - "type": "CHOICE", - "members": [ - { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "attribute" - } - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "SYMBOL", - "name": "function_header" - }, - { - "type": "SYMBOL", - "name": "compound_statement" - } - ] - }, - "function_header": { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "fn" - } - }, - { - "type": "SYMBOL", - "name": "ident" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "(" - } - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "param_list" - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ")" - } - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "->" - } - }, - { - "type": "CHOICE", - "members": [ - { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "attribute" - } - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "SYMBOL", - "name": "type_specifier" - } - ] - }, - { - "type": "BLANK" - } - ] - } - ] - }, - "param_list": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "param" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "REPEAT1", - "content": { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } - }, - { - "type": "SYMBOL", - "name": "param" - } - ] - } - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "," - } - }, - { - "type": "BLANK" - } - ] - } - ] - }, - "param": { - "type": "SEQ", - "members": [ - { - "type": "CHOICE", - "members": [ - { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "attribute" - } - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "SYMBOL", - "name": "ident" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ":" - } - }, - { - "type": "SYMBOL", - "name": "type_specifier" - } - ] - }, - "enable_directive": { - "type": "SEQ", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "enable" - } - }, - { - "type": "SYMBOL", - "name": "extension_name" - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": ";" - } - } - ] - }, - "ident_pattern_token": { - "type": "TOKEN", - "content": { - "type": "PATTERN", - "value": "([_\\p{XID_Start}][\\p{XID_Continue}]+)|([\\p{XID_Start}])" - } - }, - "interpolation_type_name": { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "perspective" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "linear" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "flat" - } - } - ] - }, - "interpolation_sample_name": { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "center" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "centroid" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "sample" - } - } - ] - }, - "builtin_value_name": { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "vertex_index" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "instance_index" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "position" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "front_facing" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "frag_depth" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "local_invocation_id" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "local_invocation_index" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "global_invocation_id" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "workgroup_id" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "num_workgroups" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "sample_index" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "sample_mask" - } - } - ] - }, - "access_mode": { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "read" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "write" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "read_write" - } - } - ] - }, - "address_space": { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "function" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "private" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "workgroup" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "uniform" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "storage" - } - } - ] - }, - "texel_format": { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "rgba8unorm" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "rgba8snorm" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "rgba8uint" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "rgba8sint" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "rgba16uint" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "rgba16sint" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "rgba16float" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "r32uint" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "r32sint" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "r32float" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "rg32uint" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "rg32sint" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "rg32float" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "rgba32uint" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "rgba32sint" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "rgba32float" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "bgra8unorm" - } - } - ] - }, - "extension_name": { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "f16" - } - }, - "swizzle_name": { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "/[rgba]/" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "/[rgba][rgba]/" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "/[rgba][rgba][rgba]/" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "/[rgba][rgba][rgba][rgba]/" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "/[xyzw]/" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "/[xyzw][xyzw]/" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "/[xyzw][xyzw][xyzw]/" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "/[xyzw][xyzw][xyzw][xyzw]/" - } - } - ] - }, - "_reserved": { - "type": "CHOICE", - "members": [ - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "CompileShader" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "ComputeShader" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "DomainShader" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "GeometryShader" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "Hullshader" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "NULL" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "Self" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "abstract" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "active" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "alignas" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "alignof" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "as" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "asm" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "asm_fragment" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "async" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "attribute" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "auto" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "await" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "become" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "bf16" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "binding_array" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "cast" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "catch" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "class" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "co_await" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "co_return" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "co_yield" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "coherent" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "column_major" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "common" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "compile" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "compile_fragment" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "concept" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "const_cast" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "consteval" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "constexpr" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "constinit" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "crate" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "debugger" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "decltype" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "delete" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "demote" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "demote_to_helper" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "do" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "dynamic_cast" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "enum" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "explicit" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "export" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "extends" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "extern" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "external" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "f64" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "fallthrough" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "filter" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "final" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "finally" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "friend" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "from" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "fxgroup" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "get" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "goto" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "groupshared" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "handle" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "highp" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "i16" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "i64" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "i8" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "impl" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "implements" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "import" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "inline" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "inout" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "instanceof" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "interface" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "layout" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "lowp" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "macro" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "macro_rules" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "match" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "mediump" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "meta" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "mod" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "module" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "move" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "mut" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "mutable" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "namespace" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "new" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "nil" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "noexcept" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "noinline" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "nointerpolation" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "noperspective" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "null" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "nullptr" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "of" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "operator" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "package" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "packoffset" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "partition" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "pass" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "patch" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "pixelfragment" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "precise" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "precision" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "premerge" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "priv" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "protected" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "pub" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "public" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "quat" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "readonly" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "ref" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "regardless" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "register" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "reinterpret_cast" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "requires" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "resource" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "restrict" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "self" - } - }, - { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "set" - } + { + "type": "STRING", + "value": ";" + } + ] }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "shared" - } + "type": "SYMBOL", + "name": "compound_statement" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "signed" - } - }, + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "const_assert_statement" + }, + { + "type": "STRING", + "value": ";" + } + ] + } + ] + }, + "variable_updating_statement": { + "type": "CHOICE", + "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "sizeof" - } + "type": "SYMBOL", + "name": "assignment_statement" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "smooth" - } + "type": "SYMBOL", + "name": "increment_statement" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "snorm" - } - }, + "type": "SYMBOL", + "name": "decrement_statement" + } + ] + }, + "function_decl": { + "type": "SEQ", + "members": [ { - "type": "TOKEN", + "type": "REPEAT", "content": { - "type": "STRING", - "value": "static" + "type": "SYMBOL", + "name": "attribute" } }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "static_assert" - } + "type": "SYMBOL", + "name": "function_header" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "static_cast" - } - }, + "type": "SYMBOL", + "name": "compound_statement" + } + ] + }, + "function_header": { + "type": "SEQ", + "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "std" - } + "type": "STRING", + "value": "fn" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "subroutine" - } + "type": "SYMBOL", + "name": "ident" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "super" - } + "type": "STRING", + "value": "(" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "target" - } + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "param_list" + }, + { + "type": "BLANK" + } + ] }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "template" - } + "type": "STRING", + "value": ")" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "this" - } - }, + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "->" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute" + } + }, + { + "type": "SYMBOL", + "name": "template_elaborated_ident" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "param_list": { + "type": "SEQ", + "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "thread_local" - } + "type": "SYMBOL", + "name": "param" }, { - "type": "TOKEN", + "type": "REPEAT", "content": { - "type": "STRING", - "value": "throw" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "param" + } + ] } }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "trait" - } - }, + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "param": { + "type": "SEQ", + "members": [ { - "type": "TOKEN", + "type": "REPEAT", "content": { - "type": "STRING", - "value": "try" + "type": "SYMBOL", + "name": "attribute" } }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "type" - } + "type": "SYMBOL", + "name": "ident" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "typedef" - } + "type": "STRING", + "value": ":" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "typeid" - } - }, + "type": "SYMBOL", + "name": "type_specifier" + } + ] + }, + "enable_directive": { + "type": "SEQ", + "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "typename" - } + "type": "STRING", + "value": "enable" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "typeof" - } + "type": "SYMBOL", + "name": "enable_extension_list" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "u16" - } - }, + "type": "STRING", + "value": ";" + } + ] + }, + "enable_extension_list": { + "type": "SEQ", + "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "u64" - } + "type": "SYMBOL", + "name": "enable_extension_name" }, { - "type": "TOKEN", + "type": "REPEAT", "content": { - "type": "STRING", - "value": "u8" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "enable_extension_name" + } + ] } }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "union" - } - }, + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "requires_directive": { + "type": "SEQ", + "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "unless" - } + "type": "STRING", + "value": "requires" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "unorm" - } + "type": "SYMBOL", + "name": "software_extension_list" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "unsafe" - } - }, + "type": "STRING", + "value": ";" + } + ] + }, + "software_extension_list": { + "type": "SEQ", + "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "unsized" - } + "type": "SYMBOL", + "name": "software_extension_name" }, { - "type": "TOKEN", + "type": "REPEAT", "content": { - "type": "STRING", - "value": "use" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "software_extension_name" + } + ] } }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "using" - } - }, + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "enable_extension_name": { + "type": "SYMBOL", + "name": "ident_pattern_token" + }, + "software_extension_name": { + "type": "SYMBOL", + "name": "ident_pattern_token" + }, + "ident_pattern_token": { + "type": "PATTERN", + "value": "([_\\p{XID_Start}][\\p{XID_Continue}]+)|([\\p{XID_Start}])", + "flags": "u" + }, + "severity_control_name": { + "type": "SYMBOL", + "name": "ident_pattern_token" + }, + "swizzle_name": { + "type": "CHOICE", + "members": [ { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "varying" - } + "type": "PATTERN", + "value": "[rgba]" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "virtual" - } + "type": "PATTERN", + "value": "[rgba][rgba]" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "volatile" - } + "type": "PATTERN", + "value": "[rgba][rgba][rgba]" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "wgsl" - } + "type": "PATTERN", + "value": "[rgba][rgba][rgba][rgba]" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "where" - } + "type": "PATTERN", + "value": "[xyzw]" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "with" - } + "type": "PATTERN", + "value": "[xyzw][xyzw]" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "writeonly" - } + "type": "PATTERN", + "value": "[xyzw][xyzw][xyzw]" }, { - "type": "TOKEN", - "content": { - "type": "STRING", - "value": "yield" - } + "type": "PATTERN", + "value": "[xyzw][xyzw][xyzw][xyzw]" } ] }, "_comment": { - "type": "TOKEN", - "content": { - "type": "PATTERN", - "value": "\\/\\/.*" - } + "type": "PATTERN", + "value": "\\/\\/.*" }, "_blankspace": { - "type": "TOKEN", - "content": { - "type": "PATTERN", - "value": "[\\u0020\\u0009\\u000a\\u000b\\u000c\\u000d\\u0085\\u200e\\u200f\\u2028\\u2029]" - } + "type": "PATTERN", + "value": "[\\u0020\\u0009\\u000a\\u000b\\u000c\\u000d\\u0085\\u200e\\u200f\\u2028\\u2029]", + "flags": "u" } }, "extras": [ @@ -5838,9 +3571,7 @@ } ], "inline": [ - "global_decl", - "_reserved" + "global_decl" ], "supertypes": [] } - diff --git a/src/node-types.json b/src/node-types.json index 42c65f1..d3cb3ec 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -1,9 +1,4 @@ [ - { - "type": "access_mode", - "named": true, - "fields": {} - }, { "type": "additive_expression", "named": true, @@ -33,39 +28,30 @@ "fields": {} }, { - "type": "address_space", - "named": true, - "fields": {} - }, - { - "type": "argument_expression_list", + "type": "align_attr", "named": true, "fields": {}, "children": { "multiple": false, - "required": false, + "required": true, "types": [ { - "type": "expression_comma_list", + "type": "expression", "named": true } ] } }, { - "type": "array_type_specifier", + "type": "argument_expression_list", "named": true, "fields": {}, "children": { - "multiple": true, - "required": true, + "multiple": false, + "required": false, "types": [ { - "type": "element_count_expression", - "named": true - }, - { - "type": "type_specifier", + "type": "expression_comma_list", "named": true } ] @@ -94,37 +80,88 @@ ] } }, - { - "type": "attrib_end", - "named": true, - "fields": {} - }, { "type": "attribute", "named": true, "fields": {}, "children": { "multiple": true, - "required": false, + "required": true, "types": [ { - "type": "attrib_end", + "type": "align_attr", "named": true }, { - "type": "builtin_value_name", + "type": "argument_expression_list", "named": true }, { - "type": "expression", + "type": "binding_attr", + "named": true + }, + { + "type": "blend_src_attr", + "named": true + }, + { + "type": "builtin_attr", + "named": true + }, + { + "type": "compute_attr", + "named": true + }, + { + "type": "const_attr", + "named": true + }, + { + "type": "diagnostic_attr", + "named": true + }, + { + "type": "fragment_attr", + "named": true + }, + { + "type": "group_attr", + "named": true + }, + { + "type": "id_attr", + "named": true + }, + { + "type": "ident_pattern_token", + "named": true + }, + { + "type": "interpolate_attr", + "named": true + }, + { + "type": "invariant_attr", + "named": true + }, + { + "type": "location_attr", + "named": true + }, + { + "type": "must_use_attr", "named": true }, { - "type": "interpolation_sample_name", + "type": "size_attr", "named": true }, { - "type": "interpolation_type_name", + "type": "vertex_attr", + "named": true + }, + { + "type": "workgroup_size_attr", "named": true } ] @@ -187,6 +224,21 @@ ] } }, + { + "type": "binding_attr", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, { "type": "bitwise_expression", "named": true, @@ -214,6 +266,21 @@ ] } }, + { + "type": "blend_src_attr", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, { "type": "bool_literal", "named": true, @@ -240,12 +307,7 @@ "fields": {} }, { - "type": "builtin_value_name", - "named": true, - "fields": {} - }, - { - "type": "call_expression", + "type": "builtin_attr", "named": true, "fields": {}, "children": { @@ -253,53 +315,56 @@ "required": true, "types": [ { - "type": "call_phrase", + "type": "builtin_value_name", "named": true } ] } }, { - "type": "call_phrase", + "type": "builtin_value_name", "named": true, "fields": {}, "children": { - "multiple": true, + "multiple": false, "required": true, "types": [ { - "type": "argument_expression_list", - "named": true - }, - { - "type": "callable", + "type": "ident_pattern_token", "named": true } ] } }, { - "type": "callable", + "type": "call_expression", "named": true, "fields": {}, "children": { "multiple": false, - "required": false, + "required": true, "types": [ { - "type": "ident", - "named": true - }, - { - "type": "mat_prefix", + "type": "call_phrase", "named": true - }, + } + ] + } + }, + { + "type": "call_phrase", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ { - "type": "type_specifier_without_ident", + "type": "argument_expression_list", "named": true }, { - "type": "vec_prefix", + "type": "template_elaborated_ident", "named": true } ] @@ -394,6 +459,10 @@ "multiple": true, "required": false, "types": [ + { + "type": "attribute", + "named": true + }, { "type": "statement", "named": true @@ -401,6 +470,11 @@ ] } }, + { + "type": "compute_attr", + "named": true, + "fields": {} + }, { "type": "const_assert_statement", "named": true, @@ -416,6 +490,11 @@ ] } }, + { + "type": "const_attr", + "named": true, + "fields": {} + }, { "type": "continuing_compound_statement", "named": true, @@ -424,6 +503,10 @@ "multiple": true, "required": false, "types": [ + { + "type": "attribute", + "named": true + }, { "type": "break_if_statement", "named": true @@ -510,24 +593,79 @@ } }, { - "type": "depth_texture_type", + "type": "diagnostic_attr", "named": true, - "fields": {} + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "diagnostic_control", + "named": true + } + ] + } }, { - "type": "element_count_expression", + "type": "diagnostic_control", "named": true, "fields": {}, "children": { - "multiple": false, + "multiple": true, "required": true, "types": [ { - "type": "additive_expression", + "type": "diagnostic_rule_name", "named": true }, { - "type": "bitwise_expression", + "type": "severity_control_name", + "named": true + } + ] + } + }, + { + "type": "diagnostic_directive", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "diagnostic_control", + "named": true + } + ] + } + }, + { + "type": "diagnostic_name_token", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "ident_pattern_token", + "named": true + } + ] + } + }, + { + "type": "diagnostic_rule_name", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "diagnostic_name_token", "named": true } ] @@ -576,7 +714,37 @@ "required": true, "types": [ { - "type": "extension_name", + "type": "enable_extension_list", + "named": true + } + ] + } + }, + { + "type": "enable_extension_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "enable_extension_name", + "named": true + } + ] + } + }, + { + "type": "enable_extension_name", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "ident_pattern_token", "named": true } ] @@ -624,11 +792,6 @@ ] } }, - { - "type": "extension_name", - "named": true, - "fields": {} - }, { "type": "float_literal", "named": true, @@ -684,7 +847,7 @@ "named": true }, { - "type": "variable_statement", + "type": "variable_or_value_statement", "named": true }, { @@ -702,6 +865,10 @@ "multiple": true, "required": true, "types": [ + { + "type": "attribute", + "named": true + }, { "type": "compound_statement", "named": true @@ -732,6 +899,11 @@ ] } }, + { + "type": "fragment_attr", + "named": true, + "fields": {} + }, { "type": "func_call_statement", "named": true, @@ -791,45 +963,53 @@ "named": true }, { - "type": "type_specifier", + "type": "template_elaborated_ident", "named": true } ] } }, { - "type": "global_constant_decl", + "type": "global_directive", "named": true, "fields": {}, "children": { - "multiple": true, + "multiple": false, "required": true, "types": [ { - "type": "attribute", + "type": "diagnostic_directive", "named": true }, { - "type": "expression", + "type": "enable_directive", "named": true }, { - "type": "optionally_typed_ident", + "type": "requires_directive", "named": true } ] } }, { - "type": "global_directive", + "type": "global_value_decl", "named": true, "fields": {}, "children": { - "multiple": false, + "multiple": true, "required": true, "types": [ { - "type": "enable_directive", + "type": "attribute", + "named": true + }, + { + "type": "expression", + "named": true + }, + { + "type": "optionally_typed_ident", "named": true } ] @@ -858,11 +1038,41 @@ ] } }, + { + "type": "group_attr", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, { "type": "hex_float_literal", "named": true, "fields": {} }, + { + "type": "id_attr", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, { "type": "ident", "named": true, @@ -905,6 +1115,10 @@ "multiple": true, "required": true, "types": [ + { + "type": "attribute", + "named": true + }, { "type": "else_clause", "named": true @@ -955,12 +1169,56 @@ } }, { - "type": "interpolation_sample_name", + "type": "interpolate_attr", "named": true, - "fields": {} + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "interpolate_sampling_name", + "named": true + }, + { + "type": "interpolate_type_name", + "named": true + } + ] + } + }, + { + "type": "interpolate_sampling_name", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "ident_pattern_token", + "named": true + } + ] + } + }, + { + "type": "interpolate_type_name", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "ident_pattern_token", + "named": true + } + ] + } }, { - "type": "interpolation_type_name", + "type": "invariant_attr", "named": true, "fields": {} }, @@ -1010,6 +1268,21 @@ ] } }, + { + "type": "location_attr", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, { "type": "loop_statement", "named": true, @@ -1018,6 +1291,10 @@ "multiple": true, "required": false, "types": [ + { + "type": "attribute", + "named": true + }, { "type": "continuing_statement", "named": true @@ -1029,11 +1306,6 @@ ] } }, - { - "type": "mat_prefix", - "named": true, - "fields": {} - }, { "type": "member_ident", "named": true, @@ -1077,6 +1349,11 @@ "named": true, "fields": {} }, + { + "type": "must_use_attr", + "named": true, + "fields": {} + }, { "type": "optionally_typed_ident", "named": true, @@ -1154,17 +1431,13 @@ "named": true, "fields": {}, "children": { - "multiple": true, + "multiple": false, "required": true, "types": [ { "type": "call_expression", "named": true }, - { - "type": "ident", - "named": true - }, { "type": "literal", "named": true @@ -1174,7 +1447,7 @@ "named": true }, { - "type": "type_specifier", + "type": "template_elaborated_ident", "named": true } ] @@ -1196,29 +1469,49 @@ } }, { - "type": "return_statement", + "type": "requires_directive", "named": true, "fields": {}, "children": { "multiple": false, - "required": false, + "required": true, "types": [ { - "type": "expression", + "type": "software_extension_list", "named": true } ] } }, { - "type": "sampled_texture_type", + "type": "return_statement", "named": true, - "fields": {} + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } }, { - "type": "sampler_type", + "type": "severity_control_name", "named": true, - "fields": {} + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "ident_pattern_token", + "named": true + } + ] + } }, { "type": "shift_expression", @@ -1296,6 +1589,51 @@ ] } }, + { + "type": "size_attr", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "software_extension_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "software_extension_name", + "named": true + } + ] + } + }, + { + "type": "software_extension_name", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "ident_pattern_token", + "named": true + } + ] + } + }, { "type": "statement", "named": true, @@ -1345,7 +1683,7 @@ "named": true }, { - "type": "variable_statement", + "type": "variable_or_value_statement", "named": true }, { @@ -1359,11 +1697,6 @@ ] } }, - { - "type": "storage_texture_type", - "named": true, - "fields": {} - }, { "type": "struct_body_decl", "named": true, @@ -1425,6 +1758,25 @@ "type": "switch_body", "named": true, "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute", + "named": true + }, + { + "type": "switch_clause", + "named": true + } + ] + } + }, + { + "type": "switch_clause", + "named": true, + "fields": {}, "children": { "multiple": false, "required": true, @@ -1448,6 +1800,10 @@ "multiple": true, "required": true, "types": [ + { + "type": "attribute", + "named": true + }, { "type": "expression", "named": true @@ -1465,12 +1821,7 @@ "fields": {} }, { - "type": "texel_format", - "named": true, - "fields": {} - }, - { - "type": "texture_and_sampler_types", + "type": "template_arg_comma_list", "named": true, "fields": {}, "children": { @@ -1478,81 +1829,29 @@ "required": true, "types": [ { - "type": "access_mode", - "named": true - }, - { - "type": "depth_texture_type", - "named": true - }, - { - "type": "multisampled_texture_type", - "named": true - }, - { - "type": "sampled_texture_type", - "named": true - }, - { - "type": "sampler_type", - "named": true - }, - { - "type": "storage_texture_type", - "named": true - }, - { - "type": "texel_format", - "named": true - }, - { - "type": "type_specifier", + "type": "template_arg_expression", "named": true } ] } }, { - "type": "translation_unit", + "type": "template_arg_expression", "named": true, "fields": {}, "children": { - "multiple": true, - "required": false, + "multiple": false, + "required": true, "types": [ { - "type": "const_assert_statement", - "named": true - }, - { - "type": "function_decl", - "named": true - }, - { - "type": "global_constant_decl", - "named": true - }, - { - "type": "global_directive", - "named": true - }, - { - "type": "global_variable_decl", - "named": true - }, - { - "type": "struct_decl", - "named": true - }, - { - "type": "type_alias_decl", + "type": "expression", "named": true } ] } }, { - "type": "type_alias_decl", + "type": "template_elaborated_ident", "named": true, "fields": {}, "children": { @@ -1564,14 +1863,14 @@ "named": true }, { - "type": "type_specifier", + "type": "template_list", "named": true } ] } }, { - "type": "type_specifier", + "type": "template_list", "named": true, "fields": {}, "children": { @@ -1579,18 +1878,14 @@ "required": true, "types": [ { - "type": "ident", - "named": true - }, - { - "type": "type_specifier_without_ident", + "type": "template_arg_comma_list", "named": true } ] } }, { - "type": "type_specifier_without_ident", + "type": "translation_unit", "named": true, "fields": {}, "children": { @@ -1598,76 +1893,91 @@ "required": false, "types": [ { - "type": "access_mode", + "type": "const_assert_statement", "named": true }, { - "type": "address_space", + "type": "function_decl", "named": true }, { - "type": "array_type_specifier", + "type": "global_directive", "named": true }, { - "type": "mat_prefix", + "type": "global_value_decl", "named": true }, { - "type": "texture_and_sampler_types", + "type": "global_variable_decl", "named": true }, { - "type": "type_specifier", + "type": "struct_decl", "named": true }, { - "type": "vec_prefix", + "type": "type_alias_decl", "named": true } ] } }, { - "type": "unary_expression", + "type": "type_alias_decl", "named": true, "fields": {}, "children": { - "multiple": false, + "multiple": true, "required": true, "types": [ { - "type": "singular_expression", + "type": "ident", "named": true }, { - "type": "unary_expression", + "type": "type_specifier", "named": true } ] } }, { - "type": "variable_decl", + "type": "type_specifier", "named": true, "fields": {}, "children": { - "multiple": true, + "multiple": false, "required": true, "types": [ { - "type": "optionally_typed_ident", + "type": "template_elaborated_ident", + "named": true + } + ] + } + }, + { + "type": "unary_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "singular_expression", "named": true }, { - "type": "variable_qualifier", + "type": "unary_expression", "named": true } ] } }, { - "type": "variable_qualifier", + "type": "variable_decl", "named": true, "fields": {}, "children": { @@ -1675,18 +1985,18 @@ "required": true, "types": [ { - "type": "access_mode", + "type": "optionally_typed_ident", "named": true }, { - "type": "address_space", + "type": "template_list", "named": true } ] } }, { - "type": "variable_statement", + "type": "variable_or_value_statement", "named": true, "fields": {}, "children": { @@ -1732,7 +2042,7 @@ } }, { - "type": "vec_prefix", + "type": "vertex_attr", "named": true, "fields": {} }, @@ -1744,6 +2054,10 @@ "multiple": true, "required": true, "types": [ + { + "type": "attribute", + "named": true + }, { "type": "compound_statement", "named": true @@ -1755,6 +2069,21 @@ ] } }, + { + "type": "workgroup_size_attr", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, { "type": "!", "named": false @@ -1843,38 +2172,6 @@ "type": "/=", "named": false }, - { - "type": "/[rgba]/", - "named": false - }, - { - "type": "/[rgba][rgba]/", - "named": false - }, - { - "type": "/[rgba][rgba][rgba]/", - "named": false - }, - { - "type": "/[rgba][rgba][rgba][rgba]/", - "named": false - }, - { - "type": "/[xyzw]/", - "named": false - }, - { - "type": "/[xyzw][xyzw]/", - "named": false - }, - { - "type": "/[xyzw][xyzw][xyzw]/", - "named": false - }, - { - "type": "/[xyzw][xyzw][xyzw][xyzw]/", - "named": false - }, { "type": ":", "named": false @@ -1895,34 +2192,6 @@ "type": "@", "named": false }, - { - "type": "CompileShader", - "named": false - }, - { - "type": "ComputeShader", - "named": false - }, - { - "type": "DomainShader", - "named": false - }, - { - "type": "GeometryShader", - "named": false - }, - { - "type": "Hullshader", - "named": false - }, - { - "type": "NULL", - "named": false - }, - { - "type": "Self", - "named": false - }, { "type": "[", "named": false @@ -1943,14 +2212,6 @@ "type": "_", "named": false }, - { - "type": "abstract", - "named": false - }, - { - "type": "active", - "named": false - }, { "type": "alias", "named": false @@ -1959,76 +2220,12 @@ "type": "align", "named": false }, - { - "type": "alignas", - "named": false - }, - { - "type": "alignof", - "named": false - }, - { - "type": "array", - "named": false - }, - { - "type": "as", - "named": false - }, - { - "type": "asm", - "named": false - }, - { - "type": "asm_fragment", - "named": false - }, - { - "type": "async", - "named": false - }, - { - "type": "atomic", - "named": false - }, - { - "type": "attribute", - "named": false - }, - { - "type": "auto", - "named": false - }, - { - "type": "await", - "named": false - }, - { - "type": "become", - "named": false - }, - { - "type": "bf16", - "named": false - }, - { - "type": "bgra8unorm", - "named": false - }, { "type": "binding", "named": false }, { - "type": "binding_array", - "named": false - }, - { - "type": "bitcast", - "named": false - }, - { - "type": "bool", + "type": "blend_src", "named": false }, { @@ -2044,1009 +2241,149 @@ "named": false }, { - "type": "cast", - "named": false - }, - { - "type": "catch", - "named": false - }, - { - "type": "center", - "named": false - }, - { - "type": "centroid", - "named": false - }, - { - "type": "class", - "named": false - }, - { - "type": "co_await", - "named": false - }, - { - "type": "co_return", + "type": "compute", "named": false }, { - "type": "co_yield", + "type": "const", "named": false }, { - "type": "coherent", + "type": "const_assert", "named": false }, { - "type": "column_major", - "named": false + "type": "continue_statement", + "named": true }, { - "type": "common", + "type": "continuing", "named": false }, { - "type": "compile", + "type": "default", "named": false }, { - "type": "compile_fragment", + "type": "diagnostic", "named": false }, { - "type": "compute", + "type": "discard", "named": false }, { - "type": "concept", + "type": "else", "named": false }, { - "type": "const", + "type": "enable", "named": false }, { - "type": "const_assert", + "type": "false", "named": false }, { - "type": "const_cast", + "type": "fn", "named": false }, { - "type": "consteval", + "type": "for", "named": false }, { - "type": "constexpr", + "type": "fragment", "named": false }, { - "type": "constinit", + "type": "group", "named": false }, { - "type": "continue_statement", + "type": "hex_int_literal", "named": true }, { - "type": "continuing", - "named": false - }, - { - "type": "crate", - "named": false - }, - { - "type": "debugger", - "named": false - }, - { - "type": "decltype", + "type": "id", "named": false }, { - "type": "default", - "named": false + "type": "ident_pattern_token", + "named": true }, { - "type": "delete", + "type": "if", "named": false }, { - "type": "demote", + "type": "interpolate", "named": false }, { - "type": "demote_to_helper", + "type": "invariant", "named": false }, { - "type": "discard", + "type": "let", "named": false }, { - "type": "do", + "type": "location", "named": false }, { - "type": "dynamic_cast", + "type": "loop", "named": false }, { - "type": "else", + "type": "must_use", "named": false }, { - "type": "enable", + "type": "override", "named": false }, { - "type": "enum", + "type": "requires", "named": false }, { - "type": "explicit", + "type": "return", "named": false }, { - "type": "export", + "type": "size", "named": false }, { - "type": "extends", + "type": "struct", "named": false }, { - "type": "extern", + "type": "switch", "named": false }, { - "type": "external", + "type": "true", "named": false }, { - "type": "f16", + "type": "var", "named": false }, { - "type": "f32", + "type": "vertex", "named": false }, { - "type": "f64", - "named": false - }, - { - "type": "fallthrough", - "named": false - }, - { - "type": "false", - "named": false - }, - { - "type": "filter", - "named": false - }, - { - "type": "final", - "named": false - }, - { - "type": "finally", - "named": false - }, - { - "type": "flat", - "named": false - }, - { - "type": "fn", - "named": false - }, - { - "type": "for", - "named": false - }, - { - "type": "frag_depth", - "named": false - }, - { - "type": "fragment", - "named": false - }, - { - "type": "friend", - "named": false - }, - { - "type": "from", - "named": false - }, - { - "type": "front_facing", - "named": false - }, - { - "type": "function", - "named": false - }, - { - "type": "fxgroup", - "named": false - }, - { - "type": "get", - "named": false - }, - { - "type": "global_invocation_id", - "named": false - }, - { - "type": "goto", - "named": false - }, - { - "type": "group", - "named": false - }, - { - "type": "groupshared", - "named": false - }, - { - "type": "handle", - "named": false - }, - { - "type": "hex_int_literal", - "named": true - }, - { - "type": "highp", - "named": false - }, - { - "type": "i16", - "named": false - }, - { - "type": "i32", - "named": false - }, - { - "type": "i64", - "named": false - }, - { - "type": "i8", - "named": false - }, - { - "type": "id", - "named": false - }, - { - "type": "ident_pattern_token", - "named": true - }, - { - "type": "if", - "named": false - }, - { - "type": "impl", - "named": false - }, - { - "type": "implements", - "named": false - }, - { - "type": "import", - "named": false - }, - { - "type": "inline", - "named": false - }, - { - "type": "inout", - "named": false - }, - { - "type": "instance_index", - "named": false - }, - { - "type": "instanceof", - "named": false - }, - { - "type": "interface", - "named": false - }, - { - "type": "interpolate", - "named": false - }, - { - "type": "invariant", - "named": false - }, - { - "type": "layout", - "named": false - }, - { - "type": "let", - "named": false - }, - { - "type": "linear", - "named": false - }, - { - "type": "local_invocation_id", - "named": false - }, - { - "type": "local_invocation_index", - "named": false - }, - { - "type": "location", - "named": false - }, - { - "type": "loop", - "named": false - }, - { - "type": "lowp", - "named": false - }, - { - "type": "macro", - "named": false - }, - { - "type": "macro_rules", - "named": false - }, - { - "type": "mat2x2", - "named": false - }, - { - "type": "mat2x3", - "named": false - }, - { - "type": "mat2x4", - "named": false - }, - { - "type": "mat3x2", - "named": false - }, - { - "type": "mat3x3", - "named": false - }, - { - "type": "mat3x4", - "named": false - }, - { - "type": "mat4x2", - "named": false - }, - { - "type": "mat4x3", - "named": false - }, - { - "type": "mat4x4", - "named": false - }, - { - "type": "match", - "named": false - }, - { - "type": "mediump", - "named": false - }, - { - "type": "meta", - "named": false - }, - { - "type": "mod", - "named": false - }, - { - "type": "module", - "named": false - }, - { - "type": "move", - "named": false - }, - { - "type": "multisampled_texture_type", - "named": true - }, - { - "type": "mut", - "named": false - }, - { - "type": "mutable", - "named": false - }, - { - "type": "namespace", - "named": false - }, - { - "type": "new", - "named": false - }, - { - "type": "nil", - "named": false - }, - { - "type": "noexcept", - "named": false - }, - { - "type": "noinline", - "named": false - }, - { - "type": "nointerpolation", - "named": false - }, - { - "type": "noperspective", - "named": false - }, - { - "type": "null", - "named": false - }, - { - "type": "nullptr", - "named": false - }, - { - "type": "num_workgroups", - "named": false - }, - { - "type": "of", - "named": false - }, - { - "type": "operator", - "named": false - }, - { - "type": "override", - "named": false - }, - { - "type": "package", - "named": false - }, - { - "type": "packoffset", - "named": false - }, - { - "type": "partition", - "named": false - }, - { - "type": "pass", - "named": false - }, - { - "type": "patch", - "named": false - }, - { - "type": "perspective", - "named": false - }, - { - "type": "pixelfragment", - "named": false - }, - { - "type": "position", - "named": false - }, - { - "type": "precise", - "named": false - }, - { - "type": "precision", - "named": false - }, - { - "type": "premerge", - "named": false - }, - { - "type": "priv", - "named": false - }, - { - "type": "private", - "named": false - }, - { - "type": "protected", - "named": false - }, - { - "type": "ptr", - "named": false - }, - { - "type": "pub", - "named": false - }, - { - "type": "public", - "named": false - }, - { - "type": "quat", - "named": false - }, - { - "type": "r32float", - "named": false - }, - { - "type": "r32sint", - "named": false - }, - { - "type": "r32uint", - "named": false - }, - { - "type": "read", - "named": false - }, - { - "type": "read_write", - "named": false - }, - { - "type": "readonly", - "named": false - }, - { - "type": "ref", - "named": false - }, - { - "type": "regardless", - "named": false - }, - { - "type": "register", - "named": false - }, - { - "type": "reinterpret_cast", - "named": false - }, - { - "type": "requires", - "named": false - }, - { - "type": "resource", - "named": false - }, - { - "type": "restrict", - "named": false - }, - { - "type": "return", - "named": false - }, - { - "type": "rg32float", - "named": false - }, - { - "type": "rg32sint", - "named": false - }, - { - "type": "rg32uint", - "named": false - }, - { - "type": "rgba16float", - "named": false - }, - { - "type": "rgba16sint", - "named": false - }, - { - "type": "rgba16uint", - "named": false - }, - { - "type": "rgba32float", - "named": false - }, - { - "type": "rgba32sint", - "named": false - }, - { - "type": "rgba32uint", - "named": false - }, - { - "type": "rgba8sint", - "named": false - }, - { - "type": "rgba8snorm", - "named": false - }, - { - "type": "rgba8uint", - "named": false - }, - { - "type": "rgba8unorm", - "named": false - }, - { - "type": "sample", - "named": false - }, - { - "type": "sample_index", - "named": false - }, - { - "type": "sample_mask", - "named": false - }, - { - "type": "sampler", - "named": false - }, - { - "type": "sampler_comparison", - "named": false - }, - { - "type": "self", - "named": false - }, - { - "type": "set", - "named": false - }, - { - "type": "shared", - "named": false - }, - { - "type": "signed", - "named": false - }, - { - "type": "size", - "named": false - }, - { - "type": "sizeof", - "named": false - }, - { - "type": "smooth", - "named": false - }, - { - "type": "snorm", - "named": false - }, - { - "type": "static", - "named": false - }, - { - "type": "static_assert", - "named": false - }, - { - "type": "static_cast", - "named": false - }, - { - "type": "std", - "named": false - }, - { - "type": "storage", - "named": false - }, - { - "type": "struct", - "named": false - }, - { - "type": "subroutine", - "named": false - }, - { - "type": "super", - "named": false - }, - { - "type": "switch", - "named": false - }, - { - "type": "target", - "named": false - }, - { - "type": "template", - "named": false - }, - { - "type": "texture_1d", - "named": false - }, - { - "type": "texture_2d", - "named": false - }, - { - "type": "texture_2d_array", - "named": false - }, - { - "type": "texture_3d", - "named": false - }, - { - "type": "texture_cube", - "named": false - }, - { - "type": "texture_cube_array", - "named": false - }, - { - "type": "texture_depth_2d", - "named": false - }, - { - "type": "texture_depth_2d_array", - "named": false - }, - { - "type": "texture_depth_cube", - "named": false - }, - { - "type": "texture_depth_cube_array", - "named": false - }, - { - "type": "texture_depth_multisampled_2d", - "named": false - }, - { - "type": "texture_storage_1d", - "named": false - }, - { - "type": "texture_storage_2d", - "named": false - }, - { - "type": "texture_storage_2d_array", - "named": false - }, - { - "type": "texture_storage_3d", - "named": false - }, - { - "type": "this", - "named": false - }, - { - "type": "thread_local", - "named": false - }, - { - "type": "throw", - "named": false - }, - { - "type": "trait", - "named": false - }, - { - "type": "true", - "named": false - }, - { - "type": "try", - "named": false - }, - { - "type": "type", - "named": false - }, - { - "type": "typedef", - "named": false - }, - { - "type": "typeid", - "named": false - }, - { - "type": "typename", - "named": false - }, - { - "type": "typeof", - "named": false - }, - { - "type": "u16", - "named": false - }, - { - "type": "u32", - "named": false - }, - { - "type": "u64", - "named": false - }, - { - "type": "u8", - "named": false - }, - { - "type": "uniform", - "named": false - }, - { - "type": "union", - "named": false - }, - { - "type": "unless", - "named": false - }, - { - "type": "unorm", - "named": false - }, - { - "type": "unsafe", - "named": false - }, - { - "type": "unsized", - "named": false - }, - { - "type": "use", - "named": false - }, - { - "type": "using", - "named": false - }, - { - "type": "var", - "named": false - }, - { - "type": "varying", - "named": false - }, - { - "type": "vec2", - "named": false - }, - { - "type": "vec3", - "named": false - }, - { - "type": "vec4", - "named": false - }, - { - "type": "vertex", - "named": false - }, - { - "type": "vertex_index", - "named": false - }, - { - "type": "virtual", - "named": false - }, - { - "type": "volatile", - "named": false - }, - { - "type": "wgsl", - "named": false - }, - { - "type": "where", - "named": false - }, - { - "type": "while", - "named": false - }, - { - "type": "with", - "named": false - }, - { - "type": "workgroup", - "named": false - }, - { - "type": "workgroup_id", + "type": "while", "named": false }, { "type": "workgroup_size", "named": false }, - { - "type": "write", - "named": false - }, - { - "type": "writeonly", - "named": false - }, - { - "type": "yield", - "named": false - }, { "type": "{", "named": false diff --git a/src/parser.c b/src/parser.c index 304cdfb..5618cad 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1,22 +1,21 @@ -#include +#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 675 -#define LARGE_STATE_COUNT 93 -#define SYMBOL_COUNT 467 +#define STATE_COUNT 896 +#define LARGE_STATE_COUNT 17 +#define SYMBOL_COUNT 245 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 355 +#define TOKEN_COUNT 115 #define EXTERNAL_TOKEN_COUNT 13 #define FIELD_COUNT 0 -#define MAX_ALIAS_SEQUENCE_LENGTH 9 +#define MAX_ALIAS_SEQUENCE_LENGTH 10 #define PRODUCTION_ID_COUNT 1 -enum { +enum ts_symbol_identifiers { sym_ident_pattern_token = 1, anon_sym_SEMI = 2, anon_sym_true = 3, @@ -32,457 +31,235 @@ enum { aux_sym_hex_float_literal_token1 = 13, aux_sym_hex_float_literal_token2 = 14, aux_sym_hex_float_literal_token3 = 15, - anon_sym_AT = 16, - anon_sym_align = 17, - anon_sym_LPAREN = 18, - anon_sym_binding = 19, - anon_sym_builtin = 20, - anon_sym_const = 21, - anon_sym_group = 22, - anon_sym_id = 23, - anon_sym_interpolate = 24, - anon_sym_COMMA = 25, - anon_sym_invariant = 26, - anon_sym_location = 27, - anon_sym_size = 28, - anon_sym_workgroup_size = 29, - anon_sym_vertex = 30, - anon_sym_fragment = 31, - anon_sym_compute = 32, - anon_sym_RPAREN = 33, - anon_sym_array = 34, - anon_sym_struct = 35, - anon_sym_LBRACE = 36, - anon_sym_RBRACE = 37, - anon_sym_COLON = 38, - anon_sym_sampler = 39, - anon_sym_sampler_comparison = 40, - anon_sym_texture_1d = 41, - anon_sym_texture_2d = 42, - anon_sym_texture_2d_array = 43, - anon_sym_texture_3d = 44, - anon_sym_texture_cube = 45, - anon_sym_texture_cube_array = 46, - sym_multisampled_texture_type = 47, - anon_sym_texture_storage_1d = 48, - anon_sym_texture_storage_2d = 49, - anon_sym_texture_storage_2d_array = 50, - anon_sym_texture_storage_3d = 51, - anon_sym_texture_depth_2d = 52, - anon_sym_texture_depth_2d_array = 53, - anon_sym_texture_depth_cube = 54, - anon_sym_texture_depth_cube_array = 55, - anon_sym_texture_depth_multisampled_2d = 56, - anon_sym_alias = 57, - anon_sym_EQ = 58, - anon_sym_bool = 59, - anon_sym_f32 = 60, - anon_sym_f16 = 61, - anon_sym_i32 = 62, - anon_sym_u32 = 63, - anon_sym_ptr = 64, - anon_sym_atomic = 65, - anon_sym_vec2 = 66, - anon_sym_vec3 = 67, - anon_sym_vec4 = 68, - anon_sym_mat2x2 = 69, - anon_sym_mat2x3 = 70, - anon_sym_mat2x4 = 71, - anon_sym_mat3x2 = 72, - anon_sym_mat3x3 = 73, - anon_sym_mat3x4 = 74, - anon_sym_mat4x2 = 75, - anon_sym_mat4x3 = 76, - anon_sym_mat4x4 = 77, - anon_sym_let = 78, - anon_sym_var = 79, - anon_sym_override = 80, - anon_sym_bitcast = 81, - anon_sym_LBRACK = 82, - anon_sym_RBRACK = 83, - anon_sym_DOT = 84, - anon_sym_DASH = 85, - anon_sym_BANG = 86, - anon_sym_TILDE = 87, - anon_sym_STAR = 88, - anon_sym_AMP = 89, - anon_sym_SLASH = 90, - anon_sym_PERCENT = 91, - anon_sym_PLUS = 92, - anon_sym_EQ_EQ = 93, - anon_sym_BANG_EQ = 94, - anon_sym_AMP_AMP = 95, - anon_sym_PIPE_PIPE = 96, - anon_sym_PIPE = 97, - anon_sym_CARET = 98, - anon_sym__ = 99, - anon_sym_PLUS_EQ = 100, - anon_sym_DASH_EQ = 101, - anon_sym_STAR_EQ = 102, - anon_sym_SLASH_EQ = 103, - anon_sym_PERCENT_EQ = 104, - anon_sym_AMP_EQ = 105, - anon_sym_PIPE_EQ = 106, - anon_sym_CARET_EQ = 107, - anon_sym_PLUS_PLUS = 108, - anon_sym_DASH_DASH = 109, - anon_sym_if = 110, - anon_sym_else = 111, - anon_sym_switch = 112, - anon_sym_case = 113, - anon_sym_default = 114, - anon_sym_loop = 115, - anon_sym_for = 116, - anon_sym_while = 117, - anon_sym_break = 118, - sym_continue_statement = 119, - anon_sym_continuing = 120, - anon_sym_return = 121, - anon_sym_const_assert = 122, - anon_sym_discard = 123, - anon_sym_fn = 124, - anon_sym_DASH_GT = 125, - anon_sym_enable = 126, - anon_sym_perspective = 127, - anon_sym_linear = 128, - anon_sym_flat = 129, - anon_sym_center = 130, - anon_sym_centroid = 131, - anon_sym_sample = 132, - anon_sym_vertex_index = 133, - anon_sym_instance_index = 134, - anon_sym_position = 135, - anon_sym_front_facing = 136, - anon_sym_frag_depth = 137, - anon_sym_local_invocation_id = 138, - anon_sym_local_invocation_index = 139, - anon_sym_global_invocation_id = 140, - anon_sym_workgroup_id = 141, - anon_sym_num_workgroups = 142, - anon_sym_sample_index = 143, - anon_sym_sample_mask = 144, - anon_sym_read = 145, - anon_sym_write = 146, - anon_sym_read_write = 147, - anon_sym_function = 148, - anon_sym_private = 149, - anon_sym_workgroup = 150, - anon_sym_uniform = 151, - anon_sym_storage = 152, - anon_sym_rgba8unorm = 153, - anon_sym_rgba8snorm = 154, - anon_sym_rgba8uint = 155, - anon_sym_rgba8sint = 156, - anon_sym_rgba16uint = 157, - anon_sym_rgba16sint = 158, - anon_sym_rgba16float = 159, - anon_sym_r32uint = 160, - anon_sym_r32sint = 161, - anon_sym_r32float = 162, - anon_sym_rg32uint = 163, - anon_sym_rg32sint = 164, - anon_sym_rg32float = 165, - anon_sym_rgba32uint = 166, - anon_sym_rgba32sint = 167, - anon_sym_rgba32float = 168, - anon_sym_bgra8unorm = 169, - anon_sym_SLASH_LBRACKrgba_RBRACK_SLASH = 170, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH = 171, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH = 172, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH = 173, - anon_sym_SLASH_LBRACKxyzw_RBRACK_SLASH = 174, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH = 175, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH = 176, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH = 177, - anon_sym_CompileShader = 178, - anon_sym_ComputeShader = 179, - anon_sym_DomainShader = 180, - anon_sym_GeometryShader = 181, - anon_sym_Hullshader = 182, - anon_sym_NULL = 183, - anon_sym_Self = 184, - anon_sym_abstract = 185, - anon_sym_active = 186, - anon_sym_alignas = 187, - anon_sym_alignof = 188, - anon_sym_as = 189, - anon_sym_asm = 190, - anon_sym_asm_fragment = 191, - anon_sym_async = 192, - anon_sym_attribute = 193, - anon_sym_auto = 194, - anon_sym_await = 195, - anon_sym_become = 196, - anon_sym_bf16 = 197, - anon_sym_binding_array = 198, - anon_sym_cast = 199, - anon_sym_catch = 200, - anon_sym_class = 201, - anon_sym_co_await = 202, - anon_sym_co_return = 203, - anon_sym_co_yield = 204, - anon_sym_coherent = 205, - anon_sym_column_major = 206, - anon_sym_common = 207, - anon_sym_compile = 208, - anon_sym_compile_fragment = 209, - anon_sym_concept = 210, - anon_sym_const_cast = 211, - anon_sym_consteval = 212, - anon_sym_constexpr = 213, - anon_sym_constinit = 214, - anon_sym_crate = 215, - anon_sym_debugger = 216, - anon_sym_decltype = 217, - anon_sym_delete = 218, - anon_sym_demote = 219, - anon_sym_demote_to_helper = 220, - anon_sym_do = 221, - anon_sym_dynamic_cast = 222, - anon_sym_enum = 223, - anon_sym_explicit = 224, - anon_sym_export = 225, - anon_sym_extends = 226, - anon_sym_extern = 227, - anon_sym_external = 228, - anon_sym_f64 = 229, - anon_sym_fallthrough = 230, - anon_sym_filter = 231, - anon_sym_final = 232, - anon_sym_finally = 233, - anon_sym_friend = 234, - anon_sym_from = 235, - anon_sym_fxgroup = 236, - anon_sym_get = 237, - anon_sym_goto = 238, - anon_sym_groupshared = 239, - anon_sym_handle = 240, - anon_sym_highp = 241, - anon_sym_i16 = 242, - anon_sym_i64 = 243, - anon_sym_i8 = 244, - anon_sym_impl = 245, - anon_sym_implements = 246, - anon_sym_import = 247, - anon_sym_inline = 248, - anon_sym_inout = 249, - anon_sym_instanceof = 250, - anon_sym_interface = 251, - anon_sym_layout = 252, - anon_sym_lowp = 253, - anon_sym_macro = 254, - anon_sym_macro_rules = 255, - anon_sym_match = 256, - anon_sym_mediump = 257, - anon_sym_meta = 258, - anon_sym_mod = 259, - anon_sym_module = 260, - anon_sym_move = 261, - anon_sym_mut = 262, - anon_sym_mutable = 263, - anon_sym_namespace = 264, - anon_sym_new = 265, - anon_sym_nil = 266, - anon_sym_noexcept = 267, - anon_sym_noinline = 268, - anon_sym_nointerpolation = 269, - anon_sym_noperspective = 270, - anon_sym_null = 271, - anon_sym_nullptr = 272, - anon_sym_of = 273, - anon_sym_operator = 274, - anon_sym_package = 275, - anon_sym_packoffset = 276, - anon_sym_partition = 277, - anon_sym_pass = 278, - anon_sym_patch = 279, - anon_sym_pixelfragment = 280, - anon_sym_precise = 281, - anon_sym_precision = 282, - anon_sym_premerge = 283, - anon_sym_priv = 284, - anon_sym_protected = 285, - anon_sym_pub = 286, - anon_sym_public = 287, - anon_sym_quat = 288, - anon_sym_readonly = 289, - anon_sym_ref = 290, - anon_sym_regardless = 291, - anon_sym_register = 292, - anon_sym_reinterpret_cast = 293, - anon_sym_requires = 294, - anon_sym_resource = 295, - anon_sym_restrict = 296, - anon_sym_self = 297, - anon_sym_set = 298, - anon_sym_shared = 299, - anon_sym_signed = 300, - anon_sym_sizeof = 301, - anon_sym_smooth = 302, - anon_sym_snorm = 303, - anon_sym_static = 304, - anon_sym_static_assert = 305, - anon_sym_static_cast = 306, - anon_sym_std = 307, - anon_sym_subroutine = 308, - anon_sym_super = 309, - anon_sym_target = 310, - anon_sym_template = 311, - anon_sym_this = 312, - anon_sym_thread_local = 313, - anon_sym_throw = 314, - anon_sym_trait = 315, - anon_sym_try = 316, - anon_sym_type = 317, - anon_sym_typedef = 318, - anon_sym_typeid = 319, - anon_sym_typename = 320, - anon_sym_typeof = 321, - anon_sym_u16 = 322, - anon_sym_u64 = 323, - anon_sym_u8 = 324, - anon_sym_union = 325, - anon_sym_unless = 326, - anon_sym_unorm = 327, - anon_sym_unsafe = 328, - anon_sym_unsized = 329, - anon_sym_use = 330, - anon_sym_using = 331, - anon_sym_varying = 332, - anon_sym_virtual = 333, - anon_sym_volatile = 334, - anon_sym_wgsl = 335, - anon_sym_where = 336, - anon_sym_with = 337, - anon_sym_writeonly = 338, - anon_sym_yield = 339, - sym__comment = 340, - sym__blankspace = 341, - sym__block_comment = 342, - sym__disambiguate_template = 343, - sym__template_args_start = 344, - sym__template_args_end = 345, - sym__less_than = 346, - sym__less_than_equal = 347, - sym__shift_left = 348, - sym__shift_left_assign = 349, - sym__greater_than = 350, - sym__greater_than_equal = 351, - sym__shift_right = 352, - sym__shift_right_assign = 353, - sym__error_sentinel = 354, - sym_translation_unit = 355, - sym_global_directive = 356, - sym_bool_literal = 357, - sym_int_literal = 358, - sym_decimal_int_literal = 359, - sym_float_literal = 360, - sym_decimal_float_literal = 361, - sym_hex_float_literal = 362, - sym_literal = 363, - sym_ident = 364, - sym_member_ident = 365, - sym_attribute = 366, - sym_attrib_end = 367, - sym_array_type_specifier = 368, - sym_element_count_expression = 369, - sym_struct_decl = 370, - sym_struct_body_decl = 371, - sym_struct_member = 372, - sym_texture_and_sampler_types = 373, - sym_sampler_type = 374, - sym_sampled_texture_type = 375, - sym_storage_texture_type = 376, - sym_depth_texture_type = 377, - sym_type_alias_decl = 378, - sym_type_specifier = 379, - sym_type_specifier_without_ident = 380, - sym_vec_prefix = 381, - sym_mat_prefix = 382, - sym_variable_statement = 383, - sym_variable_decl = 384, - sym_optionally_typed_ident = 385, - sym_variable_qualifier = 386, - sym_global_variable_decl = 387, - sym_global_constant_decl = 388, - sym_primary_expression = 389, - sym_call_expression = 390, - sym_call_phrase = 391, - sym_callable = 392, - sym_paren_expression = 393, - sym_argument_expression_list = 394, - sym_expression_comma_list = 395, - sym_component_or_swizzle_specifier = 396, - sym_unary_expression = 397, - sym_singular_expression = 398, - sym_lhs_expression = 399, - sym_core_lhs_expression = 400, - sym_multiplicative_expression = 401, - sym_multiplicative_operator = 402, - sym_additive_expression = 403, - sym_additive_operator = 404, - sym_shift_expression = 405, - sym_relational_expression = 406, - sym_short_circuit_and_expression = 407, - sym_short_circuit_or_expression = 408, - sym_binary_or_expression = 409, - sym_binary_and_expression = 410, - sym_binary_xor_expression = 411, - sym_bitwise_expression = 412, - sym_expression = 413, - sym_compound_statement = 414, - sym_assignment_statement = 415, - sym_compound_assignment_operator = 416, - sym_increment_statement = 417, - sym_decrement_statement = 418, - sym_if_statement = 419, - sym_if_clause = 420, - sym_else_if_clause = 421, - sym_else_clause = 422, - sym_switch_statement = 423, - sym_switch_body = 424, - sym_case_clause = 425, - sym_default_alone_clause = 426, - sym_case_selectors = 427, - sym_case_selector = 428, - sym_loop_statement = 429, - sym_for_statement = 430, - sym_for_header = 431, - sym_for_init = 432, - sym_for_update = 433, - sym_while_statement = 434, - sym_break_statement = 435, - sym_break_if_statement = 436, - sym_continuing_statement = 437, - sym_continuing_compound_statement = 438, - sym_return_statement = 439, - sym_func_call_statement = 440, - sym_const_assert_statement = 441, - sym_statement = 442, - sym_variable_updating_statement = 443, - sym_function_decl = 444, - sym_function_header = 445, - sym_param_list = 446, - sym_param = 447, - sym_enable_directive = 448, - sym_interpolation_type_name = 449, - sym_interpolation_sample_name = 450, - sym_builtin_value_name = 451, - sym_access_mode = 452, - sym_address_space = 453, - sym_texel_format = 454, - sym_extension_name = 455, - sym_swizzle_name = 456, - aux_sym_translation_unit_repeat1 = 457, - aux_sym_translation_unit_repeat2 = 458, - aux_sym_struct_body_decl_repeat1 = 459, - aux_sym_struct_member_repeat1 = 460, - aux_sym_expression_comma_list_repeat1 = 461, - aux_sym_compound_statement_repeat1 = 462, - aux_sym_if_statement_repeat1 = 463, - aux_sym_switch_statement_repeat1 = 464, - aux_sym_case_selectors_repeat1 = 465, - aux_sym_param_list_repeat1 = 466, + anon_sym_diagnostic = 16, + anon_sym_DOT = 17, + anon_sym_COMMA = 18, + anon_sym_AT = 19, + anon_sym_align = 20, + anon_sym_LPAREN = 21, + anon_sym_RPAREN = 22, + anon_sym_binding = 23, + anon_sym_blend_src = 24, + anon_sym_builtin = 25, + anon_sym_const = 26, + anon_sym_group = 27, + anon_sym_id = 28, + anon_sym_interpolate = 29, + anon_sym_invariant = 30, + anon_sym_location = 31, + anon_sym_must_use = 32, + anon_sym_size = 33, + anon_sym_workgroup_size = 34, + anon_sym_vertex = 35, + anon_sym_fragment = 36, + anon_sym_compute = 37, + anon_sym_struct = 38, + anon_sym_LBRACE = 39, + anon_sym_RBRACE = 40, + anon_sym_COLON = 41, + anon_sym_alias = 42, + anon_sym_EQ = 43, + anon_sym_let = 44, + anon_sym_var = 45, + anon_sym_override = 46, + anon_sym_LBRACK = 47, + anon_sym_RBRACK = 48, + anon_sym_DASH = 49, + anon_sym_BANG = 50, + anon_sym_TILDE = 51, + anon_sym_STAR = 52, + anon_sym_AMP = 53, + anon_sym_SLASH = 54, + anon_sym_PERCENT = 55, + anon_sym_PLUS = 56, + anon_sym_EQ_EQ = 57, + anon_sym_BANG_EQ = 58, + anon_sym_AMP_AMP = 59, + anon_sym_PIPE_PIPE = 60, + anon_sym_PIPE = 61, + anon_sym_CARET = 62, + anon_sym__ = 63, + anon_sym_PLUS_EQ = 64, + anon_sym_DASH_EQ = 65, + anon_sym_STAR_EQ = 66, + anon_sym_SLASH_EQ = 67, + anon_sym_PERCENT_EQ = 68, + anon_sym_AMP_EQ = 69, + anon_sym_PIPE_EQ = 70, + anon_sym_CARET_EQ = 71, + anon_sym_PLUS_PLUS = 72, + anon_sym_DASH_DASH = 73, + anon_sym_if = 74, + anon_sym_else = 75, + anon_sym_switch = 76, + anon_sym_case = 77, + anon_sym_default = 78, + anon_sym_loop = 79, + anon_sym_for = 80, + anon_sym_while = 81, + anon_sym_break = 82, + sym_continue_statement = 83, + anon_sym_continuing = 84, + anon_sym_return = 85, + anon_sym_const_assert = 86, + anon_sym_discard = 87, + anon_sym_fn = 88, + anon_sym_DASH_GT = 89, + anon_sym_enable = 90, + anon_sym_requires = 91, + aux_sym_swizzle_name_token1 = 92, + aux_sym_swizzle_name_token2 = 93, + aux_sym_swizzle_name_token3 = 94, + aux_sym_swizzle_name_token4 = 95, + aux_sym_swizzle_name_token5 = 96, + aux_sym_swizzle_name_token6 = 97, + aux_sym_swizzle_name_token7 = 98, + aux_sym_swizzle_name_token8 = 99, + sym__comment = 100, + sym__blankspace = 101, + sym__block_comment = 102, + sym__disambiguate_template = 103, + sym__template_args_start = 104, + sym__template_args_end = 105, + sym__less_than = 106, + sym__less_than_equal = 107, + sym__shift_left = 108, + sym__shift_left_assign = 109, + sym__greater_than = 110, + sym__greater_than_equal = 111, + sym__shift_right = 112, + sym__shift_right_assign = 113, + sym__error_sentinel = 114, + sym_translation_unit = 115, + sym_global_directive = 116, + sym_bool_literal = 117, + sym_int_literal = 118, + sym_decimal_int_literal = 119, + sym_float_literal = 120, + sym_decimal_float_literal = 121, + sym_hex_float_literal = 122, + sym_diagnostic_directive = 123, + sym_literal = 124, + sym_ident = 125, + sym_member_ident = 126, + sym_diagnostic_name_token = 127, + sym_diagnostic_rule_name = 128, + sym_template_list = 129, + sym_template_arg_comma_list = 130, + sym_template_arg_expression = 131, + sym_align_attr = 132, + sym_binding_attr = 133, + sym_blend_src_attr = 134, + sym_builtin_attr = 135, + sym_builtin_value_name = 136, + sym_const_attr = 137, + sym_diagnostic_attr = 138, + sym_group_attr = 139, + sym_id_attr = 140, + sym_interpolate_attr = 141, + sym_interpolate_type_name = 142, + sym_interpolate_sampling_name = 143, + sym_invariant_attr = 144, + sym_location_attr = 145, + sym_must_use_attr = 146, + sym_size_attr = 147, + sym_workgroup_size_attr = 148, + sym_vertex_attr = 149, + sym_fragment_attr = 150, + sym_compute_attr = 151, + sym_attribute = 152, + sym_diagnostic_control = 153, + sym_struct_decl = 154, + sym_struct_body_decl = 155, + sym_struct_member = 156, + sym_type_alias_decl = 157, + sym_type_specifier = 158, + sym_template_elaborated_ident = 159, + sym_variable_or_value_statement = 160, + sym_variable_decl = 161, + sym_optionally_typed_ident = 162, + sym_global_variable_decl = 163, + sym_global_value_decl = 164, + sym_primary_expression = 165, + sym_call_expression = 166, + sym_call_phrase = 167, + sym_paren_expression = 168, + sym_argument_expression_list = 169, + sym_expression_comma_list = 170, + sym_component_or_swizzle_specifier = 171, + sym_unary_expression = 172, + sym_singular_expression = 173, + sym_lhs_expression = 174, + sym_core_lhs_expression = 175, + sym_multiplicative_expression = 176, + sym_multiplicative_operator = 177, + sym_additive_expression = 178, + sym_additive_operator = 179, + sym_shift_expression = 180, + sym_relational_expression = 181, + sym_short_circuit_and_expression = 182, + sym_short_circuit_or_expression = 183, + sym_binary_or_expression = 184, + sym_binary_and_expression = 185, + sym_binary_xor_expression = 186, + sym_bitwise_expression = 187, + sym_expression = 188, + sym_compound_statement = 189, + sym_assignment_statement = 190, + sym_compound_assignment_operator = 191, + sym_increment_statement = 192, + sym_decrement_statement = 193, + sym_if_statement = 194, + sym_if_clause = 195, + sym_else_if_clause = 196, + sym_else_clause = 197, + sym_switch_statement = 198, + sym_switch_body = 199, + sym_switch_clause = 200, + sym_case_clause = 201, + sym_default_alone_clause = 202, + sym_case_selectors = 203, + sym_case_selector = 204, + sym_loop_statement = 205, + sym_for_statement = 206, + sym_for_header = 207, + sym_for_init = 208, + sym_for_update = 209, + sym_while_statement = 210, + sym_break_statement = 211, + sym_break_if_statement = 212, + sym_continuing_statement = 213, + sym_continuing_compound_statement = 214, + sym_return_statement = 215, + sym_func_call_statement = 216, + sym_const_assert_statement = 217, + sym_statement = 218, + sym_variable_updating_statement = 219, + sym_function_decl = 220, + sym_function_header = 221, + sym_param_list = 222, + sym_param = 223, + sym_enable_directive = 224, + sym_enable_extension_list = 225, + sym_requires_directive = 226, + sym_software_extension_list = 227, + sym_enable_extension_name = 228, + sym_software_extension_name = 229, + sym_severity_control_name = 230, + sym_swizzle_name = 231, + aux_sym_translation_unit_repeat1 = 232, + aux_sym_translation_unit_repeat2 = 233, + aux_sym_template_arg_comma_list_repeat1 = 234, + aux_sym_struct_body_decl_repeat1 = 235, + aux_sym_struct_member_repeat1 = 236, + aux_sym_expression_comma_list_repeat1 = 237, + aux_sym_compound_statement_repeat1 = 238, + aux_sym_if_statement_repeat1 = 239, + aux_sym_switch_body_repeat1 = 240, + aux_sym_case_selectors_repeat1 = 241, + aux_sym_param_list_repeat1 = 242, + aux_sym_enable_extension_list_repeat1 = 243, + aux_sym_software_extension_list_repeat1 = 244, }; static const char * const ts_symbol_names[] = { @@ -502,75 +279,39 @@ static const char * const ts_symbol_names[] = { [aux_sym_hex_float_literal_token1] = "hex_float_literal_token1", [aux_sym_hex_float_literal_token2] = "hex_float_literal_token2", [aux_sym_hex_float_literal_token3] = "hex_float_literal_token3", + [anon_sym_diagnostic] = "diagnostic", + [anon_sym_DOT] = ".", + [anon_sym_COMMA] = ",", [anon_sym_AT] = "@", [anon_sym_align] = "align", [anon_sym_LPAREN] = "(", + [anon_sym_RPAREN] = ")", [anon_sym_binding] = "binding", + [anon_sym_blend_src] = "blend_src", [anon_sym_builtin] = "builtin", [anon_sym_const] = "const", [anon_sym_group] = "group", [anon_sym_id] = "id", [anon_sym_interpolate] = "interpolate", - [anon_sym_COMMA] = ",", [anon_sym_invariant] = "invariant", [anon_sym_location] = "location", + [anon_sym_must_use] = "must_use", [anon_sym_size] = "size", [anon_sym_workgroup_size] = "workgroup_size", [anon_sym_vertex] = "vertex", [anon_sym_fragment] = "fragment", [anon_sym_compute] = "compute", - [anon_sym_RPAREN] = ")", - [anon_sym_array] = "array", [anon_sym_struct] = "struct", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", [anon_sym_COLON] = ":", - [anon_sym_sampler] = "sampler", - [anon_sym_sampler_comparison] = "sampler_comparison", - [anon_sym_texture_1d] = "texture_1d", - [anon_sym_texture_2d] = "texture_2d", - [anon_sym_texture_2d_array] = "texture_2d_array", - [anon_sym_texture_3d] = "texture_3d", - [anon_sym_texture_cube] = "texture_cube", - [anon_sym_texture_cube_array] = "texture_cube_array", - [sym_multisampled_texture_type] = "multisampled_texture_type", - [anon_sym_texture_storage_1d] = "texture_storage_1d", - [anon_sym_texture_storage_2d] = "texture_storage_2d", - [anon_sym_texture_storage_2d_array] = "texture_storage_2d_array", - [anon_sym_texture_storage_3d] = "texture_storage_3d", - [anon_sym_texture_depth_2d] = "texture_depth_2d", - [anon_sym_texture_depth_2d_array] = "texture_depth_2d_array", - [anon_sym_texture_depth_cube] = "texture_depth_cube", - [anon_sym_texture_depth_cube_array] = "texture_depth_cube_array", - [anon_sym_texture_depth_multisampled_2d] = "texture_depth_multisampled_2d", [anon_sym_alias] = "alias", [anon_sym_EQ] = "=", - [anon_sym_bool] = "bool", - [anon_sym_f32] = "f32", - [anon_sym_f16] = "f16", - [anon_sym_i32] = "i32", - [anon_sym_u32] = "u32", - [anon_sym_ptr] = "ptr", - [anon_sym_atomic] = "atomic", - [anon_sym_vec2] = "vec2", - [anon_sym_vec3] = "vec3", - [anon_sym_vec4] = "vec4", - [anon_sym_mat2x2] = "mat2x2", - [anon_sym_mat2x3] = "mat2x3", - [anon_sym_mat2x4] = "mat2x4", - [anon_sym_mat3x2] = "mat3x2", - [anon_sym_mat3x3] = "mat3x3", - [anon_sym_mat3x4] = "mat3x4", - [anon_sym_mat4x2] = "mat4x2", - [anon_sym_mat4x3] = "mat4x3", - [anon_sym_mat4x4] = "mat4x4", [anon_sym_let] = "let", [anon_sym_var] = "var", [anon_sym_override] = "override", - [anon_sym_bitcast] = "bitcast", [anon_sym_LBRACK] = "[", [anon_sym_RBRACK] = "]", - [anon_sym_DOT] = ".", [anon_sym_DASH] = "-", [anon_sym_BANG] = "!", [anon_sym_TILDE] = "~", @@ -613,219 +354,15 @@ static const char * const ts_symbol_names[] = { [anon_sym_fn] = "fn", [anon_sym_DASH_GT] = "->", [anon_sym_enable] = "enable", - [anon_sym_perspective] = "perspective", - [anon_sym_linear] = "linear", - [anon_sym_flat] = "flat", - [anon_sym_center] = "center", - [anon_sym_centroid] = "centroid", - [anon_sym_sample] = "sample", - [anon_sym_vertex_index] = "vertex_index", - [anon_sym_instance_index] = "instance_index", - [anon_sym_position] = "position", - [anon_sym_front_facing] = "front_facing", - [anon_sym_frag_depth] = "frag_depth", - [anon_sym_local_invocation_id] = "local_invocation_id", - [anon_sym_local_invocation_index] = "local_invocation_index", - [anon_sym_global_invocation_id] = "global_invocation_id", - [anon_sym_workgroup_id] = "workgroup_id", - [anon_sym_num_workgroups] = "num_workgroups", - [anon_sym_sample_index] = "sample_index", - [anon_sym_sample_mask] = "sample_mask", - [anon_sym_read] = "read", - [anon_sym_write] = "write", - [anon_sym_read_write] = "read_write", - [anon_sym_function] = "function", - [anon_sym_private] = "private", - [anon_sym_workgroup] = "workgroup", - [anon_sym_uniform] = "uniform", - [anon_sym_storage] = "storage", - [anon_sym_rgba8unorm] = "rgba8unorm", - [anon_sym_rgba8snorm] = "rgba8snorm", - [anon_sym_rgba8uint] = "rgba8uint", - [anon_sym_rgba8sint] = "rgba8sint", - [anon_sym_rgba16uint] = "rgba16uint", - [anon_sym_rgba16sint] = "rgba16sint", - [anon_sym_rgba16float] = "rgba16float", - [anon_sym_r32uint] = "r32uint", - [anon_sym_r32sint] = "r32sint", - [anon_sym_r32float] = "r32float", - [anon_sym_rg32uint] = "rg32uint", - [anon_sym_rg32sint] = "rg32sint", - [anon_sym_rg32float] = "rg32float", - [anon_sym_rgba32uint] = "rgba32uint", - [anon_sym_rgba32sint] = "rgba32sint", - [anon_sym_rgba32float] = "rgba32float", - [anon_sym_bgra8unorm] = "bgra8unorm", - [anon_sym_SLASH_LBRACKrgba_RBRACK_SLASH] = "/[rgba]/", - [anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH] = "/[rgba][rgba]/", - [anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH] = "/[rgba][rgba][rgba]/", - [anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH] = "/[rgba][rgba][rgba][rgba]/", - [anon_sym_SLASH_LBRACKxyzw_RBRACK_SLASH] = "/[xyzw]/", - [anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH] = "/[xyzw][xyzw]/", - [anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH] = "/[xyzw][xyzw][xyzw]/", - [anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH] = "/[xyzw][xyzw][xyzw][xyzw]/", - [anon_sym_CompileShader] = "CompileShader", - [anon_sym_ComputeShader] = "ComputeShader", - [anon_sym_DomainShader] = "DomainShader", - [anon_sym_GeometryShader] = "GeometryShader", - [anon_sym_Hullshader] = "Hullshader", - [anon_sym_NULL] = "NULL", - [anon_sym_Self] = "Self", - [anon_sym_abstract] = "abstract", - [anon_sym_active] = "active", - [anon_sym_alignas] = "alignas", - [anon_sym_alignof] = "alignof", - [anon_sym_as] = "as", - [anon_sym_asm] = "asm", - [anon_sym_asm_fragment] = "asm_fragment", - [anon_sym_async] = "async", - [anon_sym_attribute] = "attribute", - [anon_sym_auto] = "auto", - [anon_sym_await] = "await", - [anon_sym_become] = "become", - [anon_sym_bf16] = "bf16", - [anon_sym_binding_array] = "binding_array", - [anon_sym_cast] = "cast", - [anon_sym_catch] = "catch", - [anon_sym_class] = "class", - [anon_sym_co_await] = "co_await", - [anon_sym_co_return] = "co_return", - [anon_sym_co_yield] = "co_yield", - [anon_sym_coherent] = "coherent", - [anon_sym_column_major] = "column_major", - [anon_sym_common] = "common", - [anon_sym_compile] = "compile", - [anon_sym_compile_fragment] = "compile_fragment", - [anon_sym_concept] = "concept", - [anon_sym_const_cast] = "const_cast", - [anon_sym_consteval] = "consteval", - [anon_sym_constexpr] = "constexpr", - [anon_sym_constinit] = "constinit", - [anon_sym_crate] = "crate", - [anon_sym_debugger] = "debugger", - [anon_sym_decltype] = "decltype", - [anon_sym_delete] = "delete", - [anon_sym_demote] = "demote", - [anon_sym_demote_to_helper] = "demote_to_helper", - [anon_sym_do] = "do", - [anon_sym_dynamic_cast] = "dynamic_cast", - [anon_sym_enum] = "enum", - [anon_sym_explicit] = "explicit", - [anon_sym_export] = "export", - [anon_sym_extends] = "extends", - [anon_sym_extern] = "extern", - [anon_sym_external] = "external", - [anon_sym_f64] = "f64", - [anon_sym_fallthrough] = "fallthrough", - [anon_sym_filter] = "filter", - [anon_sym_final] = "final", - [anon_sym_finally] = "finally", - [anon_sym_friend] = "friend", - [anon_sym_from] = "from", - [anon_sym_fxgroup] = "fxgroup", - [anon_sym_get] = "get", - [anon_sym_goto] = "goto", - [anon_sym_groupshared] = "groupshared", - [anon_sym_handle] = "handle", - [anon_sym_highp] = "highp", - [anon_sym_i16] = "i16", - [anon_sym_i64] = "i64", - [anon_sym_i8] = "i8", - [anon_sym_impl] = "impl", - [anon_sym_implements] = "implements", - [anon_sym_import] = "import", - [anon_sym_inline] = "inline", - [anon_sym_inout] = "inout", - [anon_sym_instanceof] = "instanceof", - [anon_sym_interface] = "interface", - [anon_sym_layout] = "layout", - [anon_sym_lowp] = "lowp", - [anon_sym_macro] = "macro", - [anon_sym_macro_rules] = "macro_rules", - [anon_sym_match] = "match", - [anon_sym_mediump] = "mediump", - [anon_sym_meta] = "meta", - [anon_sym_mod] = "mod", - [anon_sym_module] = "module", - [anon_sym_move] = "move", - [anon_sym_mut] = "mut", - [anon_sym_mutable] = "mutable", - [anon_sym_namespace] = "namespace", - [anon_sym_new] = "new", - [anon_sym_nil] = "nil", - [anon_sym_noexcept] = "noexcept", - [anon_sym_noinline] = "noinline", - [anon_sym_nointerpolation] = "nointerpolation", - [anon_sym_noperspective] = "noperspective", - [anon_sym_null] = "null", - [anon_sym_nullptr] = "nullptr", - [anon_sym_of] = "of", - [anon_sym_operator] = "operator", - [anon_sym_package] = "package", - [anon_sym_packoffset] = "packoffset", - [anon_sym_partition] = "partition", - [anon_sym_pass] = "pass", - [anon_sym_patch] = "patch", - [anon_sym_pixelfragment] = "pixelfragment", - [anon_sym_precise] = "precise", - [anon_sym_precision] = "precision", - [anon_sym_premerge] = "premerge", - [anon_sym_priv] = "priv", - [anon_sym_protected] = "protected", - [anon_sym_pub] = "pub", - [anon_sym_public] = "public", - [anon_sym_quat] = "quat", - [anon_sym_readonly] = "readonly", - [anon_sym_ref] = "ref", - [anon_sym_regardless] = "regardless", - [anon_sym_register] = "register", - [anon_sym_reinterpret_cast] = "reinterpret_cast", [anon_sym_requires] = "requires", - [anon_sym_resource] = "resource", - [anon_sym_restrict] = "restrict", - [anon_sym_self] = "self", - [anon_sym_set] = "set", - [anon_sym_shared] = "shared", - [anon_sym_signed] = "signed", - [anon_sym_sizeof] = "sizeof", - [anon_sym_smooth] = "smooth", - [anon_sym_snorm] = "snorm", - [anon_sym_static] = "static", - [anon_sym_static_assert] = "static_assert", - [anon_sym_static_cast] = "static_cast", - [anon_sym_std] = "std", - [anon_sym_subroutine] = "subroutine", - [anon_sym_super] = "super", - [anon_sym_target] = "target", - [anon_sym_template] = "template", - [anon_sym_this] = "this", - [anon_sym_thread_local] = "thread_local", - [anon_sym_throw] = "throw", - [anon_sym_trait] = "trait", - [anon_sym_try] = "try", - [anon_sym_type] = "type", - [anon_sym_typedef] = "typedef", - [anon_sym_typeid] = "typeid", - [anon_sym_typename] = "typename", - [anon_sym_typeof] = "typeof", - [anon_sym_u16] = "u16", - [anon_sym_u64] = "u64", - [anon_sym_u8] = "u8", - [anon_sym_union] = "union", - [anon_sym_unless] = "unless", - [anon_sym_unorm] = "unorm", - [anon_sym_unsafe] = "unsafe", - [anon_sym_unsized] = "unsized", - [anon_sym_use] = "use", - [anon_sym_using] = "using", - [anon_sym_varying] = "varying", - [anon_sym_virtual] = "virtual", - [anon_sym_volatile] = "volatile", - [anon_sym_wgsl] = "wgsl", - [anon_sym_where] = "where", - [anon_sym_with] = "with", - [anon_sym_writeonly] = "writeonly", - [anon_sym_yield] = "yield", + [aux_sym_swizzle_name_token1] = "swizzle_name_token1", + [aux_sym_swizzle_name_token2] = "swizzle_name_token2", + [aux_sym_swizzle_name_token3] = "swizzle_name_token3", + [aux_sym_swizzle_name_token4] = "swizzle_name_token4", + [aux_sym_swizzle_name_token5] = "swizzle_name_token5", + [aux_sym_swizzle_name_token6] = "swizzle_name_token6", + [aux_sym_swizzle_name_token7] = "swizzle_name_token7", + [aux_sym_swizzle_name_token8] = "swizzle_name_token8", [sym__comment] = "_comment", [sym__blankspace] = "_blankspace", [sym__block_comment] = "_block_comment", @@ -849,36 +386,51 @@ static const char * const ts_symbol_names[] = { [sym_float_literal] = "float_literal", [sym_decimal_float_literal] = "decimal_float_literal", [sym_hex_float_literal] = "hex_float_literal", + [sym_diagnostic_directive] = "diagnostic_directive", [sym_literal] = "literal", [sym_ident] = "ident", [sym_member_ident] = "member_ident", + [sym_diagnostic_name_token] = "diagnostic_name_token", + [sym_diagnostic_rule_name] = "diagnostic_rule_name", + [sym_template_list] = "template_list", + [sym_template_arg_comma_list] = "template_arg_comma_list", + [sym_template_arg_expression] = "template_arg_expression", + [sym_align_attr] = "align_attr", + [sym_binding_attr] = "binding_attr", + [sym_blend_src_attr] = "blend_src_attr", + [sym_builtin_attr] = "builtin_attr", + [sym_builtin_value_name] = "builtin_value_name", + [sym_const_attr] = "const_attr", + [sym_diagnostic_attr] = "diagnostic_attr", + [sym_group_attr] = "group_attr", + [sym_id_attr] = "id_attr", + [sym_interpolate_attr] = "interpolate_attr", + [sym_interpolate_type_name] = "interpolate_type_name", + [sym_interpolate_sampling_name] = "interpolate_sampling_name", + [sym_invariant_attr] = "invariant_attr", + [sym_location_attr] = "location_attr", + [sym_must_use_attr] = "must_use_attr", + [sym_size_attr] = "size_attr", + [sym_workgroup_size_attr] = "workgroup_size_attr", + [sym_vertex_attr] = "vertex_attr", + [sym_fragment_attr] = "fragment_attr", + [sym_compute_attr] = "compute_attr", [sym_attribute] = "attribute", - [sym_attrib_end] = "attrib_end", - [sym_array_type_specifier] = "array_type_specifier", - [sym_element_count_expression] = "element_count_expression", + [sym_diagnostic_control] = "diagnostic_control", [sym_struct_decl] = "struct_decl", [sym_struct_body_decl] = "struct_body_decl", [sym_struct_member] = "struct_member", - [sym_texture_and_sampler_types] = "texture_and_sampler_types", - [sym_sampler_type] = "sampler_type", - [sym_sampled_texture_type] = "sampled_texture_type", - [sym_storage_texture_type] = "storage_texture_type", - [sym_depth_texture_type] = "depth_texture_type", [sym_type_alias_decl] = "type_alias_decl", [sym_type_specifier] = "type_specifier", - [sym_type_specifier_without_ident] = "type_specifier_without_ident", - [sym_vec_prefix] = "vec_prefix", - [sym_mat_prefix] = "mat_prefix", - [sym_variable_statement] = "variable_statement", + [sym_template_elaborated_ident] = "template_elaborated_ident", + [sym_variable_or_value_statement] = "variable_or_value_statement", [sym_variable_decl] = "variable_decl", [sym_optionally_typed_ident] = "optionally_typed_ident", - [sym_variable_qualifier] = "variable_qualifier", [sym_global_variable_decl] = "global_variable_decl", - [sym_global_constant_decl] = "global_constant_decl", + [sym_global_value_decl] = "global_value_decl", [sym_primary_expression] = "primary_expression", [sym_call_expression] = "call_expression", [sym_call_phrase] = "call_phrase", - [sym_callable] = "callable", [sym_paren_expression] = "paren_expression", [sym_argument_expression_list] = "argument_expression_list", [sym_expression_comma_list] = "expression_comma_list", @@ -911,6 +463,7 @@ static const char * const ts_symbol_names[] = { [sym_else_clause] = "else_clause", [sym_switch_statement] = "switch_statement", [sym_switch_body] = "switch_body", + [sym_switch_clause] = "switch_clause", [sym_case_clause] = "case_clause", [sym_default_alone_clause] = "default_alone_clause", [sym_case_selectors] = "case_selectors", @@ -935,24 +488,26 @@ static const char * const ts_symbol_names[] = { [sym_param_list] = "param_list", [sym_param] = "param", [sym_enable_directive] = "enable_directive", - [sym_interpolation_type_name] = "interpolation_type_name", - [sym_interpolation_sample_name] = "interpolation_sample_name", - [sym_builtin_value_name] = "builtin_value_name", - [sym_access_mode] = "access_mode", - [sym_address_space] = "address_space", - [sym_texel_format] = "texel_format", - [sym_extension_name] = "extension_name", + [sym_enable_extension_list] = "enable_extension_list", + [sym_requires_directive] = "requires_directive", + [sym_software_extension_list] = "software_extension_list", + [sym_enable_extension_name] = "enable_extension_name", + [sym_software_extension_name] = "software_extension_name", + [sym_severity_control_name] = "severity_control_name", [sym_swizzle_name] = "swizzle_name", [aux_sym_translation_unit_repeat1] = "translation_unit_repeat1", [aux_sym_translation_unit_repeat2] = "translation_unit_repeat2", + [aux_sym_template_arg_comma_list_repeat1] = "template_arg_comma_list_repeat1", [aux_sym_struct_body_decl_repeat1] = "struct_body_decl_repeat1", [aux_sym_struct_member_repeat1] = "struct_member_repeat1", [aux_sym_expression_comma_list_repeat1] = "expression_comma_list_repeat1", [aux_sym_compound_statement_repeat1] = "compound_statement_repeat1", [aux_sym_if_statement_repeat1] = "if_statement_repeat1", - [aux_sym_switch_statement_repeat1] = "switch_statement_repeat1", + [aux_sym_switch_body_repeat1] = "switch_body_repeat1", [aux_sym_case_selectors_repeat1] = "case_selectors_repeat1", [aux_sym_param_list_repeat1] = "param_list_repeat1", + [aux_sym_enable_extension_list_repeat1] = "enable_extension_list_repeat1", + [aux_sym_software_extension_list_repeat1] = "software_extension_list_repeat1", }; static const TSSymbol ts_symbol_map[] = { @@ -972,75 +527,39 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_hex_float_literal_token1] = aux_sym_hex_float_literal_token1, [aux_sym_hex_float_literal_token2] = aux_sym_hex_float_literal_token2, [aux_sym_hex_float_literal_token3] = aux_sym_hex_float_literal_token3, + [anon_sym_diagnostic] = anon_sym_diagnostic, + [anon_sym_DOT] = anon_sym_DOT, + [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_AT] = anon_sym_AT, [anon_sym_align] = anon_sym_align, [anon_sym_LPAREN] = anon_sym_LPAREN, + [anon_sym_RPAREN] = anon_sym_RPAREN, [anon_sym_binding] = anon_sym_binding, + [anon_sym_blend_src] = anon_sym_blend_src, [anon_sym_builtin] = anon_sym_builtin, [anon_sym_const] = anon_sym_const, [anon_sym_group] = anon_sym_group, [anon_sym_id] = anon_sym_id, [anon_sym_interpolate] = anon_sym_interpolate, - [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_invariant] = anon_sym_invariant, [anon_sym_location] = anon_sym_location, + [anon_sym_must_use] = anon_sym_must_use, [anon_sym_size] = anon_sym_size, [anon_sym_workgroup_size] = anon_sym_workgroup_size, [anon_sym_vertex] = anon_sym_vertex, [anon_sym_fragment] = anon_sym_fragment, [anon_sym_compute] = anon_sym_compute, - [anon_sym_RPAREN] = anon_sym_RPAREN, - [anon_sym_array] = anon_sym_array, [anon_sym_struct] = anon_sym_struct, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, [anon_sym_COLON] = anon_sym_COLON, - [anon_sym_sampler] = anon_sym_sampler, - [anon_sym_sampler_comparison] = anon_sym_sampler_comparison, - [anon_sym_texture_1d] = anon_sym_texture_1d, - [anon_sym_texture_2d] = anon_sym_texture_2d, - [anon_sym_texture_2d_array] = anon_sym_texture_2d_array, - [anon_sym_texture_3d] = anon_sym_texture_3d, - [anon_sym_texture_cube] = anon_sym_texture_cube, - [anon_sym_texture_cube_array] = anon_sym_texture_cube_array, - [sym_multisampled_texture_type] = sym_multisampled_texture_type, - [anon_sym_texture_storage_1d] = anon_sym_texture_storage_1d, - [anon_sym_texture_storage_2d] = anon_sym_texture_storage_2d, - [anon_sym_texture_storage_2d_array] = anon_sym_texture_storage_2d_array, - [anon_sym_texture_storage_3d] = anon_sym_texture_storage_3d, - [anon_sym_texture_depth_2d] = anon_sym_texture_depth_2d, - [anon_sym_texture_depth_2d_array] = anon_sym_texture_depth_2d_array, - [anon_sym_texture_depth_cube] = anon_sym_texture_depth_cube, - [anon_sym_texture_depth_cube_array] = anon_sym_texture_depth_cube_array, - [anon_sym_texture_depth_multisampled_2d] = anon_sym_texture_depth_multisampled_2d, [anon_sym_alias] = anon_sym_alias, [anon_sym_EQ] = anon_sym_EQ, - [anon_sym_bool] = anon_sym_bool, - [anon_sym_f32] = anon_sym_f32, - [anon_sym_f16] = anon_sym_f16, - [anon_sym_i32] = anon_sym_i32, - [anon_sym_u32] = anon_sym_u32, - [anon_sym_ptr] = anon_sym_ptr, - [anon_sym_atomic] = anon_sym_atomic, - [anon_sym_vec2] = anon_sym_vec2, - [anon_sym_vec3] = anon_sym_vec3, - [anon_sym_vec4] = anon_sym_vec4, - [anon_sym_mat2x2] = anon_sym_mat2x2, - [anon_sym_mat2x3] = anon_sym_mat2x3, - [anon_sym_mat2x4] = anon_sym_mat2x4, - [anon_sym_mat3x2] = anon_sym_mat3x2, - [anon_sym_mat3x3] = anon_sym_mat3x3, - [anon_sym_mat3x4] = anon_sym_mat3x4, - [anon_sym_mat4x2] = anon_sym_mat4x2, - [anon_sym_mat4x3] = anon_sym_mat4x3, - [anon_sym_mat4x4] = anon_sym_mat4x4, [anon_sym_let] = anon_sym_let, [anon_sym_var] = anon_sym_var, [anon_sym_override] = anon_sym_override, - [anon_sym_bitcast] = anon_sym_bitcast, [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_RBRACK] = anon_sym_RBRACK, - [anon_sym_DOT] = anon_sym_DOT, [anon_sym_DASH] = anon_sym_DASH, [anon_sym_BANG] = anon_sym_BANG, [anon_sym_TILDE] = anon_sym_TILDE, @@ -1083,219 +602,15 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_fn] = anon_sym_fn, [anon_sym_DASH_GT] = anon_sym_DASH_GT, [anon_sym_enable] = anon_sym_enable, - [anon_sym_perspective] = anon_sym_perspective, - [anon_sym_linear] = anon_sym_linear, - [anon_sym_flat] = anon_sym_flat, - [anon_sym_center] = anon_sym_center, - [anon_sym_centroid] = anon_sym_centroid, - [anon_sym_sample] = anon_sym_sample, - [anon_sym_vertex_index] = anon_sym_vertex_index, - [anon_sym_instance_index] = anon_sym_instance_index, - [anon_sym_position] = anon_sym_position, - [anon_sym_front_facing] = anon_sym_front_facing, - [anon_sym_frag_depth] = anon_sym_frag_depth, - [anon_sym_local_invocation_id] = anon_sym_local_invocation_id, - [anon_sym_local_invocation_index] = anon_sym_local_invocation_index, - [anon_sym_global_invocation_id] = anon_sym_global_invocation_id, - [anon_sym_workgroup_id] = anon_sym_workgroup_id, - [anon_sym_num_workgroups] = anon_sym_num_workgroups, - [anon_sym_sample_index] = anon_sym_sample_index, - [anon_sym_sample_mask] = anon_sym_sample_mask, - [anon_sym_read] = anon_sym_read, - [anon_sym_write] = anon_sym_write, - [anon_sym_read_write] = anon_sym_read_write, - [anon_sym_function] = anon_sym_function, - [anon_sym_private] = anon_sym_private, - [anon_sym_workgroup] = anon_sym_workgroup, - [anon_sym_uniform] = anon_sym_uniform, - [anon_sym_storage] = anon_sym_storage, - [anon_sym_rgba8unorm] = anon_sym_rgba8unorm, - [anon_sym_rgba8snorm] = anon_sym_rgba8snorm, - [anon_sym_rgba8uint] = anon_sym_rgba8uint, - [anon_sym_rgba8sint] = anon_sym_rgba8sint, - [anon_sym_rgba16uint] = anon_sym_rgba16uint, - [anon_sym_rgba16sint] = anon_sym_rgba16sint, - [anon_sym_rgba16float] = anon_sym_rgba16float, - [anon_sym_r32uint] = anon_sym_r32uint, - [anon_sym_r32sint] = anon_sym_r32sint, - [anon_sym_r32float] = anon_sym_r32float, - [anon_sym_rg32uint] = anon_sym_rg32uint, - [anon_sym_rg32sint] = anon_sym_rg32sint, - [anon_sym_rg32float] = anon_sym_rg32float, - [anon_sym_rgba32uint] = anon_sym_rgba32uint, - [anon_sym_rgba32sint] = anon_sym_rgba32sint, - [anon_sym_rgba32float] = anon_sym_rgba32float, - [anon_sym_bgra8unorm] = anon_sym_bgra8unorm, - [anon_sym_SLASH_LBRACKrgba_RBRACK_SLASH] = anon_sym_SLASH_LBRACKrgba_RBRACK_SLASH, - [anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH] = anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - [anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH] = anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - [anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH] = anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - [anon_sym_SLASH_LBRACKxyzw_RBRACK_SLASH] = anon_sym_SLASH_LBRACKxyzw_RBRACK_SLASH, - [anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH] = anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - [anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH] = anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - [anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH] = anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - [anon_sym_CompileShader] = anon_sym_CompileShader, - [anon_sym_ComputeShader] = anon_sym_ComputeShader, - [anon_sym_DomainShader] = anon_sym_DomainShader, - [anon_sym_GeometryShader] = anon_sym_GeometryShader, - [anon_sym_Hullshader] = anon_sym_Hullshader, - [anon_sym_NULL] = anon_sym_NULL, - [anon_sym_Self] = anon_sym_Self, - [anon_sym_abstract] = anon_sym_abstract, - [anon_sym_active] = anon_sym_active, - [anon_sym_alignas] = anon_sym_alignas, - [anon_sym_alignof] = anon_sym_alignof, - [anon_sym_as] = anon_sym_as, - [anon_sym_asm] = anon_sym_asm, - [anon_sym_asm_fragment] = anon_sym_asm_fragment, - [anon_sym_async] = anon_sym_async, - [anon_sym_attribute] = anon_sym_attribute, - [anon_sym_auto] = anon_sym_auto, - [anon_sym_await] = anon_sym_await, - [anon_sym_become] = anon_sym_become, - [anon_sym_bf16] = anon_sym_bf16, - [anon_sym_binding_array] = anon_sym_binding_array, - [anon_sym_cast] = anon_sym_cast, - [anon_sym_catch] = anon_sym_catch, - [anon_sym_class] = anon_sym_class, - [anon_sym_co_await] = anon_sym_co_await, - [anon_sym_co_return] = anon_sym_co_return, - [anon_sym_co_yield] = anon_sym_co_yield, - [anon_sym_coherent] = anon_sym_coherent, - [anon_sym_column_major] = anon_sym_column_major, - [anon_sym_common] = anon_sym_common, - [anon_sym_compile] = anon_sym_compile, - [anon_sym_compile_fragment] = anon_sym_compile_fragment, - [anon_sym_concept] = anon_sym_concept, - [anon_sym_const_cast] = anon_sym_const_cast, - [anon_sym_consteval] = anon_sym_consteval, - [anon_sym_constexpr] = anon_sym_constexpr, - [anon_sym_constinit] = anon_sym_constinit, - [anon_sym_crate] = anon_sym_crate, - [anon_sym_debugger] = anon_sym_debugger, - [anon_sym_decltype] = anon_sym_decltype, - [anon_sym_delete] = anon_sym_delete, - [anon_sym_demote] = anon_sym_demote, - [anon_sym_demote_to_helper] = anon_sym_demote_to_helper, - [anon_sym_do] = anon_sym_do, - [anon_sym_dynamic_cast] = anon_sym_dynamic_cast, - [anon_sym_enum] = anon_sym_enum, - [anon_sym_explicit] = anon_sym_explicit, - [anon_sym_export] = anon_sym_export, - [anon_sym_extends] = anon_sym_extends, - [anon_sym_extern] = anon_sym_extern, - [anon_sym_external] = anon_sym_external, - [anon_sym_f64] = anon_sym_f64, - [anon_sym_fallthrough] = anon_sym_fallthrough, - [anon_sym_filter] = anon_sym_filter, - [anon_sym_final] = anon_sym_final, - [anon_sym_finally] = anon_sym_finally, - [anon_sym_friend] = anon_sym_friend, - [anon_sym_from] = anon_sym_from, - [anon_sym_fxgroup] = anon_sym_fxgroup, - [anon_sym_get] = anon_sym_get, - [anon_sym_goto] = anon_sym_goto, - [anon_sym_groupshared] = anon_sym_groupshared, - [anon_sym_handle] = anon_sym_handle, - [anon_sym_highp] = anon_sym_highp, - [anon_sym_i16] = anon_sym_i16, - [anon_sym_i64] = anon_sym_i64, - [anon_sym_i8] = anon_sym_i8, - [anon_sym_impl] = anon_sym_impl, - [anon_sym_implements] = anon_sym_implements, - [anon_sym_import] = anon_sym_import, - [anon_sym_inline] = anon_sym_inline, - [anon_sym_inout] = anon_sym_inout, - [anon_sym_instanceof] = anon_sym_instanceof, - [anon_sym_interface] = anon_sym_interface, - [anon_sym_layout] = anon_sym_layout, - [anon_sym_lowp] = anon_sym_lowp, - [anon_sym_macro] = anon_sym_macro, - [anon_sym_macro_rules] = anon_sym_macro_rules, - [anon_sym_match] = anon_sym_match, - [anon_sym_mediump] = anon_sym_mediump, - [anon_sym_meta] = anon_sym_meta, - [anon_sym_mod] = anon_sym_mod, - [anon_sym_module] = anon_sym_module, - [anon_sym_move] = anon_sym_move, - [anon_sym_mut] = anon_sym_mut, - [anon_sym_mutable] = anon_sym_mutable, - [anon_sym_namespace] = anon_sym_namespace, - [anon_sym_new] = anon_sym_new, - [anon_sym_nil] = anon_sym_nil, - [anon_sym_noexcept] = anon_sym_noexcept, - [anon_sym_noinline] = anon_sym_noinline, - [anon_sym_nointerpolation] = anon_sym_nointerpolation, - [anon_sym_noperspective] = anon_sym_noperspective, - [anon_sym_null] = anon_sym_null, - [anon_sym_nullptr] = anon_sym_nullptr, - [anon_sym_of] = anon_sym_of, - [anon_sym_operator] = anon_sym_operator, - [anon_sym_package] = anon_sym_package, - [anon_sym_packoffset] = anon_sym_packoffset, - [anon_sym_partition] = anon_sym_partition, - [anon_sym_pass] = anon_sym_pass, - [anon_sym_patch] = anon_sym_patch, - [anon_sym_pixelfragment] = anon_sym_pixelfragment, - [anon_sym_precise] = anon_sym_precise, - [anon_sym_precision] = anon_sym_precision, - [anon_sym_premerge] = anon_sym_premerge, - [anon_sym_priv] = anon_sym_priv, - [anon_sym_protected] = anon_sym_protected, - [anon_sym_pub] = anon_sym_pub, - [anon_sym_public] = anon_sym_public, - [anon_sym_quat] = anon_sym_quat, - [anon_sym_readonly] = anon_sym_readonly, - [anon_sym_ref] = anon_sym_ref, - [anon_sym_regardless] = anon_sym_regardless, - [anon_sym_register] = anon_sym_register, - [anon_sym_reinterpret_cast] = anon_sym_reinterpret_cast, [anon_sym_requires] = anon_sym_requires, - [anon_sym_resource] = anon_sym_resource, - [anon_sym_restrict] = anon_sym_restrict, - [anon_sym_self] = anon_sym_self, - [anon_sym_set] = anon_sym_set, - [anon_sym_shared] = anon_sym_shared, - [anon_sym_signed] = anon_sym_signed, - [anon_sym_sizeof] = anon_sym_sizeof, - [anon_sym_smooth] = anon_sym_smooth, - [anon_sym_snorm] = anon_sym_snorm, - [anon_sym_static] = anon_sym_static, - [anon_sym_static_assert] = anon_sym_static_assert, - [anon_sym_static_cast] = anon_sym_static_cast, - [anon_sym_std] = anon_sym_std, - [anon_sym_subroutine] = anon_sym_subroutine, - [anon_sym_super] = anon_sym_super, - [anon_sym_target] = anon_sym_target, - [anon_sym_template] = anon_sym_template, - [anon_sym_this] = anon_sym_this, - [anon_sym_thread_local] = anon_sym_thread_local, - [anon_sym_throw] = anon_sym_throw, - [anon_sym_trait] = anon_sym_trait, - [anon_sym_try] = anon_sym_try, - [anon_sym_type] = anon_sym_type, - [anon_sym_typedef] = anon_sym_typedef, - [anon_sym_typeid] = anon_sym_typeid, - [anon_sym_typename] = anon_sym_typename, - [anon_sym_typeof] = anon_sym_typeof, - [anon_sym_u16] = anon_sym_u16, - [anon_sym_u64] = anon_sym_u64, - [anon_sym_u8] = anon_sym_u8, - [anon_sym_union] = anon_sym_union, - [anon_sym_unless] = anon_sym_unless, - [anon_sym_unorm] = anon_sym_unorm, - [anon_sym_unsafe] = anon_sym_unsafe, - [anon_sym_unsized] = anon_sym_unsized, - [anon_sym_use] = anon_sym_use, - [anon_sym_using] = anon_sym_using, - [anon_sym_varying] = anon_sym_varying, - [anon_sym_virtual] = anon_sym_virtual, - [anon_sym_volatile] = anon_sym_volatile, - [anon_sym_wgsl] = anon_sym_wgsl, - [anon_sym_where] = anon_sym_where, - [anon_sym_with] = anon_sym_with, - [anon_sym_writeonly] = anon_sym_writeonly, - [anon_sym_yield] = anon_sym_yield, + [aux_sym_swizzle_name_token1] = aux_sym_swizzle_name_token1, + [aux_sym_swizzle_name_token2] = aux_sym_swizzle_name_token2, + [aux_sym_swizzle_name_token3] = aux_sym_swizzle_name_token3, + [aux_sym_swizzle_name_token4] = aux_sym_swizzle_name_token4, + [aux_sym_swizzle_name_token5] = aux_sym_swizzle_name_token5, + [aux_sym_swizzle_name_token6] = aux_sym_swizzle_name_token6, + [aux_sym_swizzle_name_token7] = aux_sym_swizzle_name_token7, + [aux_sym_swizzle_name_token8] = aux_sym_swizzle_name_token8, [sym__comment] = sym__comment, [sym__blankspace] = sym__blankspace, [sym__block_comment] = sym__block_comment, @@ -1319,36 +634,51 @@ static const TSSymbol ts_symbol_map[] = { [sym_float_literal] = sym_float_literal, [sym_decimal_float_literal] = sym_decimal_float_literal, [sym_hex_float_literal] = sym_hex_float_literal, + [sym_diagnostic_directive] = sym_diagnostic_directive, [sym_literal] = sym_literal, [sym_ident] = sym_ident, [sym_member_ident] = sym_member_ident, + [sym_diagnostic_name_token] = sym_diagnostic_name_token, + [sym_diagnostic_rule_name] = sym_diagnostic_rule_name, + [sym_template_list] = sym_template_list, + [sym_template_arg_comma_list] = sym_template_arg_comma_list, + [sym_template_arg_expression] = sym_template_arg_expression, + [sym_align_attr] = sym_align_attr, + [sym_binding_attr] = sym_binding_attr, + [sym_blend_src_attr] = sym_blend_src_attr, + [sym_builtin_attr] = sym_builtin_attr, + [sym_builtin_value_name] = sym_builtin_value_name, + [sym_const_attr] = sym_const_attr, + [sym_diagnostic_attr] = sym_diagnostic_attr, + [sym_group_attr] = sym_group_attr, + [sym_id_attr] = sym_id_attr, + [sym_interpolate_attr] = sym_interpolate_attr, + [sym_interpolate_type_name] = sym_interpolate_type_name, + [sym_interpolate_sampling_name] = sym_interpolate_sampling_name, + [sym_invariant_attr] = sym_invariant_attr, + [sym_location_attr] = sym_location_attr, + [sym_must_use_attr] = sym_must_use_attr, + [sym_size_attr] = sym_size_attr, + [sym_workgroup_size_attr] = sym_workgroup_size_attr, + [sym_vertex_attr] = sym_vertex_attr, + [sym_fragment_attr] = sym_fragment_attr, + [sym_compute_attr] = sym_compute_attr, [sym_attribute] = sym_attribute, - [sym_attrib_end] = sym_attrib_end, - [sym_array_type_specifier] = sym_array_type_specifier, - [sym_element_count_expression] = sym_element_count_expression, + [sym_diagnostic_control] = sym_diagnostic_control, [sym_struct_decl] = sym_struct_decl, [sym_struct_body_decl] = sym_struct_body_decl, [sym_struct_member] = sym_struct_member, - [sym_texture_and_sampler_types] = sym_texture_and_sampler_types, - [sym_sampler_type] = sym_sampler_type, - [sym_sampled_texture_type] = sym_sampled_texture_type, - [sym_storage_texture_type] = sym_storage_texture_type, - [sym_depth_texture_type] = sym_depth_texture_type, [sym_type_alias_decl] = sym_type_alias_decl, [sym_type_specifier] = sym_type_specifier, - [sym_type_specifier_without_ident] = sym_type_specifier_without_ident, - [sym_vec_prefix] = sym_vec_prefix, - [sym_mat_prefix] = sym_mat_prefix, - [sym_variable_statement] = sym_variable_statement, + [sym_template_elaborated_ident] = sym_template_elaborated_ident, + [sym_variable_or_value_statement] = sym_variable_or_value_statement, [sym_variable_decl] = sym_variable_decl, [sym_optionally_typed_ident] = sym_optionally_typed_ident, - [sym_variable_qualifier] = sym_variable_qualifier, [sym_global_variable_decl] = sym_global_variable_decl, - [sym_global_constant_decl] = sym_global_constant_decl, + [sym_global_value_decl] = sym_global_value_decl, [sym_primary_expression] = sym_primary_expression, [sym_call_expression] = sym_call_expression, [sym_call_phrase] = sym_call_phrase, - [sym_callable] = sym_callable, [sym_paren_expression] = sym_paren_expression, [sym_argument_expression_list] = sym_argument_expression_list, [sym_expression_comma_list] = sym_expression_comma_list, @@ -1381,6 +711,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_else_clause] = sym_else_clause, [sym_switch_statement] = sym_switch_statement, [sym_switch_body] = sym_switch_body, + [sym_switch_clause] = sym_switch_clause, [sym_case_clause] = sym_case_clause, [sym_default_alone_clause] = sym_default_alone_clause, [sym_case_selectors] = sym_case_selectors, @@ -1405,24 +736,26 @@ static const TSSymbol ts_symbol_map[] = { [sym_param_list] = sym_param_list, [sym_param] = sym_param, [sym_enable_directive] = sym_enable_directive, - [sym_interpolation_type_name] = sym_interpolation_type_name, - [sym_interpolation_sample_name] = sym_interpolation_sample_name, - [sym_builtin_value_name] = sym_builtin_value_name, - [sym_access_mode] = sym_access_mode, - [sym_address_space] = sym_address_space, - [sym_texel_format] = sym_texel_format, - [sym_extension_name] = sym_extension_name, + [sym_enable_extension_list] = sym_enable_extension_list, + [sym_requires_directive] = sym_requires_directive, + [sym_software_extension_list] = sym_software_extension_list, + [sym_enable_extension_name] = sym_enable_extension_name, + [sym_software_extension_name] = sym_software_extension_name, + [sym_severity_control_name] = sym_severity_control_name, [sym_swizzle_name] = sym_swizzle_name, [aux_sym_translation_unit_repeat1] = aux_sym_translation_unit_repeat1, [aux_sym_translation_unit_repeat2] = aux_sym_translation_unit_repeat2, + [aux_sym_template_arg_comma_list_repeat1] = aux_sym_template_arg_comma_list_repeat1, [aux_sym_struct_body_decl_repeat1] = aux_sym_struct_body_decl_repeat1, [aux_sym_struct_member_repeat1] = aux_sym_struct_member_repeat1, [aux_sym_expression_comma_list_repeat1] = aux_sym_expression_comma_list_repeat1, [aux_sym_compound_statement_repeat1] = aux_sym_compound_statement_repeat1, [aux_sym_if_statement_repeat1] = aux_sym_if_statement_repeat1, - [aux_sym_switch_statement_repeat1] = aux_sym_switch_statement_repeat1, + [aux_sym_switch_body_repeat1] = aux_sym_switch_body_repeat1, [aux_sym_case_selectors_repeat1] = aux_sym_case_selectors_repeat1, [aux_sym_param_list_repeat1] = aux_sym_param_list_repeat1, + [aux_sym_enable_extension_list_repeat1] = aux_sym_enable_extension_list_repeat1, + [aux_sym_software_extension_list_repeat1] = aux_sym_software_extension_list_repeat1, }; static const TSSymbolMetadata ts_symbol_metadata[] = { @@ -1490,6 +823,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [anon_sym_diagnostic] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_COMMA] = { + .visible = true, + .named = false, + }, [anon_sym_AT] = { .visible = true, .named = false, @@ -1502,10 +847,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_RPAREN] = { + .visible = true, + .named = false, + }, [anon_sym_binding] = { .visible = true, .named = false, }, + [anon_sym_blend_src] = { + .visible = true, + .named = false, + }, [anon_sym_builtin] = { .visible = true, .named = false, @@ -1526,15 +879,15 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_COMMA] = { + [anon_sym_invariant] = { .visible = true, .named = false, }, - [anon_sym_invariant] = { + [anon_sym_location] = { .visible = true, .named = false, }, - [anon_sym_location] = { + [anon_sym_must_use] = { .visible = true, .named = false, }, @@ -1558,14 +911,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_RPAREN] = { - .visible = true, - .named = false, - }, - [anon_sym_array] = { - .visible = true, - .named = false, - }, [anon_sym_struct] = { .visible = true, .named = false, @@ -1582,78 +927,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_sampler] = { - .visible = true, - .named = false, - }, - [anon_sym_sampler_comparison] = { - .visible = true, - .named = false, - }, - [anon_sym_texture_1d] = { - .visible = true, - .named = false, - }, - [anon_sym_texture_2d] = { - .visible = true, - .named = false, - }, - [anon_sym_texture_2d_array] = { - .visible = true, - .named = false, - }, - [anon_sym_texture_3d] = { - .visible = true, - .named = false, - }, - [anon_sym_texture_cube] = { - .visible = true, - .named = false, - }, - [anon_sym_texture_cube_array] = { - .visible = true, - .named = false, - }, - [sym_multisampled_texture_type] = { - .visible = true, - .named = true, - }, - [anon_sym_texture_storage_1d] = { - .visible = true, - .named = false, - }, - [anon_sym_texture_storage_2d] = { - .visible = true, - .named = false, - }, - [anon_sym_texture_storage_2d_array] = { - .visible = true, - .named = false, - }, - [anon_sym_texture_storage_3d] = { - .visible = true, - .named = false, - }, - [anon_sym_texture_depth_2d] = { - .visible = true, - .named = false, - }, - [anon_sym_texture_depth_2d_array] = { - .visible = true, - .named = false, - }, - [anon_sym_texture_depth_cube] = { - .visible = true, - .named = false, - }, - [anon_sym_texture_depth_cube_array] = { - .visible = true, - .named = false, - }, - [anon_sym_texture_depth_multisampled_2d] = { - .visible = true, - .named = false, - }, [anon_sym_alias] = { .visible = true, .named = false, @@ -1662,82 +935,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_bool] = { - .visible = true, - .named = false, - }, - [anon_sym_f32] = { - .visible = true, - .named = false, - }, - [anon_sym_f16] = { - .visible = true, - .named = false, - }, - [anon_sym_i32] = { - .visible = true, - .named = false, - }, - [anon_sym_u32] = { - .visible = true, - .named = false, - }, - [anon_sym_ptr] = { - .visible = true, - .named = false, - }, - [anon_sym_atomic] = { - .visible = true, - .named = false, - }, - [anon_sym_vec2] = { - .visible = true, - .named = false, - }, - [anon_sym_vec3] = { - .visible = true, - .named = false, - }, - [anon_sym_vec4] = { - .visible = true, - .named = false, - }, - [anon_sym_mat2x2] = { - .visible = true, - .named = false, - }, - [anon_sym_mat2x3] = { - .visible = true, - .named = false, - }, - [anon_sym_mat2x4] = { - .visible = true, - .named = false, - }, - [anon_sym_mat3x2] = { - .visible = true, - .named = false, - }, - [anon_sym_mat3x3] = { - .visible = true, - .named = false, - }, - [anon_sym_mat3x4] = { - .visible = true, - .named = false, - }, - [anon_sym_mat4x2] = { - .visible = true, - .named = false, - }, - [anon_sym_mat4x3] = { - .visible = true, - .named = false, - }, - [anon_sym_mat4x4] = { - .visible = true, - .named = false, - }, [anon_sym_let] = { .visible = true, .named = false, @@ -1750,10 +947,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_bitcast] = { - .visible = true, - .named = false, - }, [anon_sym_LBRACK] = { .visible = true, .named = false, @@ -1762,10 +955,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_DOT] = { - .visible = true, - .named = false, - }, [anon_sym_DASH] = { .visible = true, .named = false, @@ -1934,18564 +1123,5190 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_perspective] = { + [anon_sym_requires] = { .visible = true, .named = false, }, - [anon_sym_linear] = { - .visible = true, + [aux_sym_swizzle_name_token1] = { + .visible = false, .named = false, }, - [anon_sym_flat] = { - .visible = true, + [aux_sym_swizzle_name_token2] = { + .visible = false, .named = false, }, - [anon_sym_center] = { - .visible = true, + [aux_sym_swizzle_name_token3] = { + .visible = false, .named = false, }, - [anon_sym_centroid] = { - .visible = true, + [aux_sym_swizzle_name_token4] = { + .visible = false, .named = false, }, - [anon_sym_sample] = { - .visible = true, + [aux_sym_swizzle_name_token5] = { + .visible = false, .named = false, }, - [anon_sym_vertex_index] = { - .visible = true, + [aux_sym_swizzle_name_token6] = { + .visible = false, .named = false, }, - [anon_sym_instance_index] = { - .visible = true, + [aux_sym_swizzle_name_token7] = { + .visible = false, .named = false, }, - [anon_sym_position] = { - .visible = true, + [aux_sym_swizzle_name_token8] = { + .visible = false, .named = false, }, - [anon_sym_front_facing] = { - .visible = true, - .named = false, + [sym__comment] = { + .visible = false, + .named = true, }, - [anon_sym_frag_depth] = { - .visible = true, - .named = false, + [sym__blankspace] = { + .visible = false, + .named = true, }, - [anon_sym_local_invocation_id] = { - .visible = true, - .named = false, + [sym__block_comment] = { + .visible = false, + .named = true, }, - [anon_sym_local_invocation_index] = { - .visible = true, - .named = false, + [sym__disambiguate_template] = { + .visible = false, + .named = true, }, - [anon_sym_global_invocation_id] = { - .visible = true, - .named = false, + [sym__template_args_start] = { + .visible = false, + .named = true, }, - [anon_sym_workgroup_id] = { - .visible = true, - .named = false, + [sym__template_args_end] = { + .visible = false, + .named = true, }, - [anon_sym_num_workgroups] = { - .visible = true, - .named = false, + [sym__less_than] = { + .visible = false, + .named = true, }, - [anon_sym_sample_index] = { - .visible = true, - .named = false, + [sym__less_than_equal] = { + .visible = false, + .named = true, }, - [anon_sym_sample_mask] = { - .visible = true, - .named = false, + [sym__shift_left] = { + .visible = false, + .named = true, }, - [anon_sym_read] = { - .visible = true, - .named = false, + [sym__shift_left_assign] = { + .visible = false, + .named = true, }, - [anon_sym_write] = { - .visible = true, - .named = false, + [sym__greater_than] = { + .visible = false, + .named = true, }, - [anon_sym_read_write] = { - .visible = true, - .named = false, + [sym__greater_than_equal] = { + .visible = false, + .named = true, }, - [anon_sym_function] = { - .visible = true, - .named = false, + [sym__shift_right] = { + .visible = false, + .named = true, }, - [anon_sym_private] = { - .visible = true, - .named = false, + [sym__shift_right_assign] = { + .visible = false, + .named = true, }, - [anon_sym_workgroup] = { - .visible = true, - .named = false, + [sym__error_sentinel] = { + .visible = false, + .named = true, }, - [anon_sym_uniform] = { + [sym_translation_unit] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_storage] = { + [sym_global_directive] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_rgba8unorm] = { + [sym_bool_literal] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_rgba8snorm] = { + [sym_int_literal] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_rgba8uint] = { + [sym_decimal_int_literal] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_rgba8sint] = { + [sym_float_literal] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_rgba16uint] = { + [sym_decimal_float_literal] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_rgba16sint] = { + [sym_hex_float_literal] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_rgba16float] = { + [sym_diagnostic_directive] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_r32uint] = { + [sym_literal] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_r32sint] = { + [sym_ident] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_r32float] = { + [sym_member_ident] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_rg32uint] = { + [sym_diagnostic_name_token] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_rg32sint] = { + [sym_diagnostic_rule_name] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_rg32float] = { + [sym_template_list] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_rgba32uint] = { + [sym_template_arg_comma_list] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_rgba32sint] = { + [sym_template_arg_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_rgba32float] = { + [sym_align_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_bgra8unorm] = { + [sym_binding_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_SLASH_LBRACKrgba_RBRACK_SLASH] = { + [sym_blend_src_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH] = { + [sym_builtin_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH] = { + [sym_builtin_value_name] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH] = { + [sym_const_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_SLASH_LBRACKxyzw_RBRACK_SLASH] = { + [sym_diagnostic_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH] = { + [sym_group_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH] = { + [sym_id_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH] = { + [sym_interpolate_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_CompileShader] = { + [sym_interpolate_type_name] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_ComputeShader] = { + [sym_interpolate_sampling_name] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_DomainShader] = { + [sym_invariant_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_GeometryShader] = { + [sym_location_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_Hullshader] = { + [sym_must_use_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_NULL] = { + [sym_size_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_Self] = { + [sym_workgroup_size_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_abstract] = { + [sym_vertex_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_active] = { + [sym_fragment_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_alignas] = { + [sym_compute_attr] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_alignof] = { + [sym_attribute] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_as] = { + [sym_diagnostic_control] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_asm] = { + [sym_struct_decl] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_asm_fragment] = { + [sym_struct_body_decl] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_async] = { + [sym_struct_member] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_attribute] = { + [sym_type_alias_decl] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_auto] = { + [sym_type_specifier] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_await] = { + [sym_template_elaborated_ident] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_become] = { + [sym_variable_or_value_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_bf16] = { + [sym_variable_decl] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_binding_array] = { + [sym_optionally_typed_ident] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_cast] = { + [sym_global_variable_decl] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_catch] = { + [sym_global_value_decl] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_class] = { + [sym_primary_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_co_await] = { + [sym_call_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_co_return] = { + [sym_call_phrase] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_co_yield] = { + [sym_paren_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_coherent] = { + [sym_argument_expression_list] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_column_major] = { + [sym_expression_comma_list] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_common] = { + [sym_component_or_swizzle_specifier] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_compile] = { + [sym_unary_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_compile_fragment] = { + [sym_singular_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_concept] = { + [sym_lhs_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_const_cast] = { + [sym_core_lhs_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_consteval] = { + [sym_multiplicative_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_constexpr] = { + [sym_multiplicative_operator] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_constinit] = { + [sym_additive_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_crate] = { + [sym_additive_operator] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_debugger] = { + [sym_shift_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_decltype] = { + [sym_relational_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_delete] = { + [sym_short_circuit_and_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_demote] = { + [sym_short_circuit_or_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_demote_to_helper] = { + [sym_binary_or_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_do] = { + [sym_binary_and_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_dynamic_cast] = { + [sym_binary_xor_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_enum] = { + [sym_bitwise_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_explicit] = { + [sym_expression] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_export] = { + [sym_compound_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_extends] = { + [sym_assignment_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_extern] = { + [sym_compound_assignment_operator] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_external] = { + [sym_increment_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_f64] = { + [sym_decrement_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_fallthrough] = { + [sym_if_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_filter] = { + [sym_if_clause] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_final] = { + [sym_else_if_clause] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_finally] = { + [sym_else_clause] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_friend] = { + [sym_switch_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_from] = { + [sym_switch_body] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_fxgroup] = { + [sym_switch_clause] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_get] = { + [sym_case_clause] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_goto] = { + [sym_default_alone_clause] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_groupshared] = { + [sym_case_selectors] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_handle] = { + [sym_case_selector] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_highp] = { + [sym_loop_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_i16] = { + [sym_for_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_i64] = { + [sym_for_header] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_i8] = { + [sym_for_init] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_impl] = { + [sym_for_update] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_implements] = { + [sym_while_statement] = { .visible = true, - .named = false, - }, - [anon_sym_import] = { - .visible = true, - .named = false, - }, - [anon_sym_inline] = { - .visible = true, - .named = false, - }, - [anon_sym_inout] = { - .visible = true, - .named = false, - }, - [anon_sym_instanceof] = { - .visible = true, - .named = false, - }, - [anon_sym_interface] = { - .visible = true, - .named = false, - }, - [anon_sym_layout] = { - .visible = true, - .named = false, - }, - [anon_sym_lowp] = { - .visible = true, - .named = false, - }, - [anon_sym_macro] = { - .visible = true, - .named = false, - }, - [anon_sym_macro_rules] = { - .visible = true, - .named = false, - }, - [anon_sym_match] = { - .visible = true, - .named = false, - }, - [anon_sym_mediump] = { - .visible = true, - .named = false, - }, - [anon_sym_meta] = { - .visible = true, - .named = false, - }, - [anon_sym_mod] = { - .visible = true, - .named = false, - }, - [anon_sym_module] = { - .visible = true, - .named = false, - }, - [anon_sym_move] = { - .visible = true, - .named = false, - }, - [anon_sym_mut] = { - .visible = true, - .named = false, - }, - [anon_sym_mutable] = { - .visible = true, - .named = false, - }, - [anon_sym_namespace] = { - .visible = true, - .named = false, - }, - [anon_sym_new] = { - .visible = true, - .named = false, - }, - [anon_sym_nil] = { - .visible = true, - .named = false, - }, - [anon_sym_noexcept] = { - .visible = true, - .named = false, - }, - [anon_sym_noinline] = { - .visible = true, - .named = false, - }, - [anon_sym_nointerpolation] = { - .visible = true, - .named = false, - }, - [anon_sym_noperspective] = { - .visible = true, - .named = false, - }, - [anon_sym_null] = { - .visible = true, - .named = false, - }, - [anon_sym_nullptr] = { - .visible = true, - .named = false, - }, - [anon_sym_of] = { - .visible = true, - .named = false, - }, - [anon_sym_operator] = { - .visible = true, - .named = false, - }, - [anon_sym_package] = { - .visible = true, - .named = false, - }, - [anon_sym_packoffset] = { - .visible = true, - .named = false, - }, - [anon_sym_partition] = { - .visible = true, - .named = false, - }, - [anon_sym_pass] = { - .visible = true, - .named = false, - }, - [anon_sym_patch] = { - .visible = true, - .named = false, - }, - [anon_sym_pixelfragment] = { - .visible = true, - .named = false, - }, - [anon_sym_precise] = { - .visible = true, - .named = false, - }, - [anon_sym_precision] = { - .visible = true, - .named = false, - }, - [anon_sym_premerge] = { - .visible = true, - .named = false, - }, - [anon_sym_priv] = { - .visible = true, - .named = false, - }, - [anon_sym_protected] = { - .visible = true, - .named = false, - }, - [anon_sym_pub] = { - .visible = true, - .named = false, - }, - [anon_sym_public] = { - .visible = true, - .named = false, - }, - [anon_sym_quat] = { - .visible = true, - .named = false, - }, - [anon_sym_readonly] = { - .visible = true, - .named = false, - }, - [anon_sym_ref] = { - .visible = true, - .named = false, - }, - [anon_sym_regardless] = { - .visible = true, - .named = false, - }, - [anon_sym_register] = { - .visible = true, - .named = false, - }, - [anon_sym_reinterpret_cast] = { - .visible = true, - .named = false, - }, - [anon_sym_requires] = { - .visible = true, - .named = false, - }, - [anon_sym_resource] = { - .visible = true, - .named = false, - }, - [anon_sym_restrict] = { - .visible = true, - .named = false, - }, - [anon_sym_self] = { - .visible = true, - .named = false, - }, - [anon_sym_set] = { - .visible = true, - .named = false, - }, - [anon_sym_shared] = { - .visible = true, - .named = false, + .named = true, }, - [anon_sym_signed] = { + [sym_break_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_sizeof] = { + [sym_break_if_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_smooth] = { + [sym_continuing_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_snorm] = { + [sym_continuing_compound_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_static] = { + [sym_return_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_static_assert] = { + [sym_func_call_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_static_cast] = { + [sym_const_assert_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_std] = { + [sym_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_subroutine] = { + [sym_variable_updating_statement] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_super] = { + [sym_function_decl] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_target] = { + [sym_function_header] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_template] = { + [sym_param_list] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_this] = { + [sym_param] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_thread_local] = { + [sym_enable_directive] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_throw] = { + [sym_enable_extension_list] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_trait] = { + [sym_requires_directive] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_try] = { + [sym_software_extension_list] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_type] = { + [sym_enable_extension_name] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_typedef] = { + [sym_software_extension_name] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_typeid] = { + [sym_severity_control_name] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_typename] = { + [sym_swizzle_name] = { .visible = true, - .named = false, + .named = true, }, - [anon_sym_typeof] = { - .visible = true, + [aux_sym_translation_unit_repeat1] = { + .visible = false, .named = false, }, - [anon_sym_u16] = { - .visible = true, + [aux_sym_translation_unit_repeat2] = { + .visible = false, .named = false, }, - [anon_sym_u64] = { - .visible = true, + [aux_sym_template_arg_comma_list_repeat1] = { + .visible = false, .named = false, }, - [anon_sym_u8] = { - .visible = true, + [aux_sym_struct_body_decl_repeat1] = { + .visible = false, .named = false, }, - [anon_sym_union] = { - .visible = true, + [aux_sym_struct_member_repeat1] = { + .visible = false, .named = false, }, - [anon_sym_unless] = { - .visible = true, + [aux_sym_expression_comma_list_repeat1] = { + .visible = false, .named = false, }, - [anon_sym_unorm] = { - .visible = true, + [aux_sym_compound_statement_repeat1] = { + .visible = false, .named = false, }, - [anon_sym_unsafe] = { - .visible = true, + [aux_sym_if_statement_repeat1] = { + .visible = false, .named = false, }, - [anon_sym_unsized] = { - .visible = true, + [aux_sym_switch_body_repeat1] = { + .visible = false, .named = false, }, - [anon_sym_use] = { - .visible = true, + [aux_sym_case_selectors_repeat1] = { + .visible = false, .named = false, }, - [anon_sym_using] = { - .visible = true, + [aux_sym_param_list_repeat1] = { + .visible = false, .named = false, }, - [anon_sym_varying] = { - .visible = true, + [aux_sym_enable_extension_list_repeat1] = { + .visible = false, .named = false, }, - [anon_sym_virtual] = { - .visible = true, + [aux_sym_software_extension_list_repeat1] = { + .visible = false, .named = false, }, - [anon_sym_volatile] = { - .visible = true, - .named = false, - }, - [anon_sym_wgsl] = { - .visible = true, - .named = false, - }, - [anon_sym_where] = { - .visible = true, - .named = false, - }, - [anon_sym_with] = { - .visible = true, - .named = false, - }, - [anon_sym_writeonly] = { - .visible = true, - .named = false, - }, - [anon_sym_yield] = { - .visible = true, - .named = false, - }, - [sym__comment] = { - .visible = false, - .named = true, - }, - [sym__blankspace] = { - .visible = false, - .named = true, - }, - [sym__block_comment] = { - .visible = false, - .named = true, - }, - [sym__disambiguate_template] = { - .visible = false, - .named = true, - }, - [sym__template_args_start] = { - .visible = false, - .named = true, - }, - [sym__template_args_end] = { - .visible = false, - .named = true, - }, - [sym__less_than] = { - .visible = false, - .named = true, - }, - [sym__less_than_equal] = { - .visible = false, - .named = true, - }, - [sym__shift_left] = { - .visible = false, - .named = true, - }, - [sym__shift_left_assign] = { - .visible = false, - .named = true, - }, - [sym__greater_than] = { - .visible = false, - .named = true, - }, - [sym__greater_than_equal] = { - .visible = false, - .named = true, - }, - [sym__shift_right] = { - .visible = false, - .named = true, - }, - [sym__shift_right_assign] = { - .visible = false, - .named = true, - }, - [sym__error_sentinel] = { - .visible = false, - .named = true, - }, - [sym_translation_unit] = { - .visible = true, - .named = true, - }, - [sym_global_directive] = { - .visible = true, - .named = true, - }, - [sym_bool_literal] = { - .visible = true, - .named = true, - }, - [sym_int_literal] = { - .visible = true, - .named = true, - }, - [sym_decimal_int_literal] = { - .visible = true, - .named = true, - }, - [sym_float_literal] = { - .visible = true, - .named = true, - }, - [sym_decimal_float_literal] = { - .visible = true, - .named = true, - }, - [sym_hex_float_literal] = { - .visible = true, - .named = true, - }, - [sym_literal] = { - .visible = true, - .named = true, - }, - [sym_ident] = { - .visible = true, - .named = true, - }, - [sym_member_ident] = { - .visible = true, - .named = true, - }, - [sym_attribute] = { - .visible = true, - .named = true, - }, - [sym_attrib_end] = { - .visible = true, - .named = true, - }, - [sym_array_type_specifier] = { - .visible = true, - .named = true, - }, - [sym_element_count_expression] = { - .visible = true, - .named = true, - }, - [sym_struct_decl] = { - .visible = true, - .named = true, - }, - [sym_struct_body_decl] = { - .visible = true, - .named = true, - }, - [sym_struct_member] = { - .visible = true, - .named = true, - }, - [sym_texture_and_sampler_types] = { - .visible = true, - .named = true, - }, - [sym_sampler_type] = { - .visible = true, - .named = true, - }, - [sym_sampled_texture_type] = { - .visible = true, - .named = true, - }, - [sym_storage_texture_type] = { - .visible = true, - .named = true, - }, - [sym_depth_texture_type] = { - .visible = true, - .named = true, - }, - [sym_type_alias_decl] = { - .visible = true, - .named = true, - }, - [sym_type_specifier] = { - .visible = true, - .named = true, - }, - [sym_type_specifier_without_ident] = { - .visible = true, - .named = true, - }, - [sym_vec_prefix] = { - .visible = true, - .named = true, - }, - [sym_mat_prefix] = { - .visible = true, - .named = true, - }, - [sym_variable_statement] = { - .visible = true, - .named = true, - }, - [sym_variable_decl] = { - .visible = true, - .named = true, - }, - [sym_optionally_typed_ident] = { - .visible = true, - .named = true, - }, - [sym_variable_qualifier] = { - .visible = true, - .named = true, - }, - [sym_global_variable_decl] = { - .visible = true, - .named = true, - }, - [sym_global_constant_decl] = { - .visible = true, - .named = true, - }, - [sym_primary_expression] = { - .visible = true, - .named = true, - }, - [sym_call_expression] = { - .visible = true, - .named = true, - }, - [sym_call_phrase] = { - .visible = true, - .named = true, - }, - [sym_callable] = { - .visible = true, - .named = true, - }, - [sym_paren_expression] = { - .visible = true, - .named = true, - }, - [sym_argument_expression_list] = { - .visible = true, - .named = true, - }, - [sym_expression_comma_list] = { - .visible = true, - .named = true, - }, - [sym_component_or_swizzle_specifier] = { - .visible = true, - .named = true, - }, - [sym_unary_expression] = { - .visible = true, - .named = true, - }, - [sym_singular_expression] = { - .visible = true, - .named = true, - }, - [sym_lhs_expression] = { - .visible = true, - .named = true, - }, - [sym_core_lhs_expression] = { - .visible = true, - .named = true, - }, - [sym_multiplicative_expression] = { - .visible = true, - .named = true, - }, - [sym_multiplicative_operator] = { - .visible = true, - .named = true, - }, - [sym_additive_expression] = { - .visible = true, - .named = true, - }, - [sym_additive_operator] = { - .visible = true, - .named = true, - }, - [sym_shift_expression] = { - .visible = true, - .named = true, - }, - [sym_relational_expression] = { - .visible = true, - .named = true, - }, - [sym_short_circuit_and_expression] = { - .visible = true, - .named = true, - }, - [sym_short_circuit_or_expression] = { - .visible = true, - .named = true, - }, - [sym_binary_or_expression] = { - .visible = true, - .named = true, - }, - [sym_binary_and_expression] = { - .visible = true, - .named = true, - }, - [sym_binary_xor_expression] = { - .visible = true, - .named = true, - }, - [sym_bitwise_expression] = { - .visible = true, - .named = true, - }, - [sym_expression] = { - .visible = true, - .named = true, - }, - [sym_compound_statement] = { - .visible = true, - .named = true, - }, - [sym_assignment_statement] = { - .visible = true, - .named = true, - }, - [sym_compound_assignment_operator] = { - .visible = true, - .named = true, - }, - [sym_increment_statement] = { - .visible = true, - .named = true, - }, - [sym_decrement_statement] = { - .visible = true, - .named = true, - }, - [sym_if_statement] = { - .visible = true, - .named = true, - }, - [sym_if_clause] = { - .visible = true, - .named = true, - }, - [sym_else_if_clause] = { - .visible = true, - .named = true, - }, - [sym_else_clause] = { - .visible = true, - .named = true, - }, - [sym_switch_statement] = { - .visible = true, - .named = true, - }, - [sym_switch_body] = { - .visible = true, - .named = true, - }, - [sym_case_clause] = { - .visible = true, - .named = true, - }, - [sym_default_alone_clause] = { - .visible = true, - .named = true, - }, - [sym_case_selectors] = { - .visible = true, - .named = true, - }, - [sym_case_selector] = { - .visible = true, - .named = true, - }, - [sym_loop_statement] = { - .visible = true, - .named = true, - }, - [sym_for_statement] = { - .visible = true, - .named = true, - }, - [sym_for_header] = { - .visible = true, - .named = true, - }, - [sym_for_init] = { - .visible = true, - .named = true, - }, - [sym_for_update] = { - .visible = true, - .named = true, - }, - [sym_while_statement] = { - .visible = true, - .named = true, - }, - [sym_break_statement] = { - .visible = true, - .named = true, - }, - [sym_break_if_statement] = { - .visible = true, - .named = true, - }, - [sym_continuing_statement] = { - .visible = true, - .named = true, - }, - [sym_continuing_compound_statement] = { - .visible = true, - .named = true, - }, - [sym_return_statement] = { - .visible = true, - .named = true, - }, - [sym_func_call_statement] = { - .visible = true, - .named = true, - }, - [sym_const_assert_statement] = { - .visible = true, - .named = true, - }, - [sym_statement] = { - .visible = true, - .named = true, - }, - [sym_variable_updating_statement] = { - .visible = true, - .named = true, - }, - [sym_function_decl] = { - .visible = true, - .named = true, - }, - [sym_function_header] = { - .visible = true, - .named = true, - }, - [sym_param_list] = { - .visible = true, - .named = true, - }, - [sym_param] = { - .visible = true, - .named = true, - }, - [sym_enable_directive] = { - .visible = true, - .named = true, - }, - [sym_interpolation_type_name] = { - .visible = true, - .named = true, - }, - [sym_interpolation_sample_name] = { - .visible = true, - .named = true, - }, - [sym_builtin_value_name] = { - .visible = true, - .named = true, - }, - [sym_access_mode] = { - .visible = true, - .named = true, - }, - [sym_address_space] = { - .visible = true, - .named = true, - }, - [sym_texel_format] = { - .visible = true, - .named = true, - }, - [sym_extension_name] = { - .visible = true, - .named = true, - }, - [sym_swizzle_name] = { - .visible = true, - .named = true, - }, - [aux_sym_translation_unit_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_translation_unit_repeat2] = { - .visible = false, - .named = false, - }, - [aux_sym_struct_body_decl_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_struct_member_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_expression_comma_list_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_compound_statement_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_if_statement_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_switch_statement_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_case_selectors_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_param_list_repeat1] = { - .visible = false, - .named = false, - }, -}; - -static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { - [0] = {0}, -}; - -static const uint16_t ts_non_terminal_alias_map[] = { - 0, -}; - -static const TSStateId ts_primary_state_ids[STATE_COUNT] = { - [0] = 0, - [1] = 1, - [2] = 2, - [3] = 3, - [4] = 4, - [5] = 5, - [6] = 5, - [7] = 7, - [8] = 5, - [9] = 5, - [10] = 5, - [11] = 5, - [12] = 12, - [13] = 13, - [14] = 14, - [15] = 15, - [16] = 16, - [17] = 17, - [18] = 18, - [19] = 19, - [20] = 19, - [21] = 21, - [22] = 19, - [23] = 23, - [24] = 21, - [25] = 19, - [26] = 26, - [27] = 21, - [28] = 28, - [29] = 29, - [30] = 30, - [31] = 31, - [32] = 32, - [33] = 19, - [34] = 34, - [35] = 35, - [36] = 21, - [37] = 37, - [38] = 38, - [39] = 39, - [40] = 40, - [41] = 41, - [42] = 42, - [43] = 43, - [44] = 19, - [45] = 45, - [46] = 21, - [47] = 47, - [48] = 21, - [49] = 19, - [50] = 50, - [51] = 51, - [52] = 52, - [53] = 53, - [54] = 54, - [55] = 55, - [56] = 55, - [57] = 57, - [58] = 58, - [59] = 59, - [60] = 59, - [61] = 61, - [62] = 61, - [63] = 61, - [64] = 61, - [65] = 65, - [66] = 66, - [67] = 67, - [68] = 68, - [69] = 68, - [70] = 70, - [71] = 71, - [72] = 70, - [73] = 65, - [74] = 70, - [75] = 68, - [76] = 70, - [77] = 65, - [78] = 65, - [79] = 70, - [80] = 70, - [81] = 67, - [82] = 66, - [83] = 71, - [84] = 84, - [85] = 85, - [86] = 86, - [87] = 87, - [88] = 88, - [89] = 89, - [90] = 90, - [91] = 91, - [92] = 92, - [93] = 93, - [94] = 94, - [95] = 95, - [96] = 96, - [97] = 97, - [98] = 98, - [99] = 99, - [100] = 100, - [101] = 101, - [102] = 102, - [103] = 103, - [104] = 104, - [105] = 105, - [106] = 106, - [107] = 107, - [108] = 108, - [109] = 109, - [110] = 110, - [111] = 111, - [112] = 112, - [113] = 113, - [114] = 114, - [115] = 115, - [116] = 116, - [117] = 117, - [118] = 118, - [119] = 119, - [120] = 120, - [121] = 121, - [122] = 122, - [123] = 119, - [124] = 116, - [125] = 113, - [126] = 120, - [127] = 116, - [128] = 128, - [129] = 116, - [130] = 116, - [131] = 116, - [132] = 118, - [133] = 133, - [134] = 134, - [135] = 135, - [136] = 136, - [137] = 137, - [138] = 138, - [139] = 139, - [140] = 140, - [141] = 141, - [142] = 142, - [143] = 143, - [144] = 144, - [145] = 145, - [146] = 146, - [147] = 147, - [148] = 148, - [149] = 149, - [150] = 150, - [151] = 151, - [152] = 152, - [153] = 153, - [154] = 154, - [155] = 155, - [156] = 156, - [157] = 157, - [158] = 158, - [159] = 159, - [160] = 160, - [161] = 161, - [162] = 162, - [163] = 163, - [164] = 164, - [165] = 165, - [166] = 166, - [167] = 167, - [168] = 141, - [169] = 142, - [170] = 144, - [171] = 140, - [172] = 143, - [173] = 156, - [174] = 150, - [175] = 159, - [176] = 146, - [177] = 148, - [178] = 152, - [179] = 179, - [180] = 158, - [181] = 155, - [182] = 182, - [183] = 160, - [184] = 151, - [185] = 147, - [186] = 153, - [187] = 149, - [188] = 157, - [189] = 145, - [190] = 154, - [191] = 191, - [192] = 192, - [193] = 193, - [194] = 194, - [195] = 141, - [196] = 196, - [197] = 164, - [198] = 163, - [199] = 167, - [200] = 165, - [201] = 166, - [202] = 202, - [203] = 203, - [204] = 143, - [205] = 141, - [206] = 140, - [207] = 144, - [208] = 142, - [209] = 143, - [210] = 140, - [211] = 203, - [212] = 142, - [213] = 144, - [214] = 214, - [215] = 157, - [216] = 147, - [217] = 150, - [218] = 156, - [219] = 147, - [220] = 149, - [221] = 159, - [222] = 152, - [223] = 148, - [224] = 145, - [225] = 154, - [226] = 151, - [227] = 146, - [228] = 153, - [229] = 158, - [230] = 151, - [231] = 160, - [232] = 148, - [233] = 150, - [234] = 154, - [235] = 145, - [236] = 149, - [237] = 158, - [238] = 159, - [239] = 156, - [240] = 155, - [241] = 157, - [242] = 152, - [243] = 160, - [244] = 155, - [245] = 146, - [246] = 153, - [247] = 143, - [248] = 143, - [249] = 249, - [250] = 250, - [251] = 141, - [252] = 144, - [253] = 140, - [254] = 142, - [255] = 141, - [256] = 142, - [257] = 182, - [258] = 166, - [259] = 148, - [260] = 159, - [261] = 151, - [262] = 165, - [263] = 263, - [264] = 167, - [265] = 163, - [266] = 163, - [267] = 152, - [268] = 167, - [269] = 156, - [270] = 155, - [271] = 156, - [272] = 158, - [273] = 165, - [274] = 154, - [275] = 164, - [276] = 164, - [277] = 157, - [278] = 146, - [279] = 157, - [280] = 280, - [281] = 145, - [282] = 166, - [283] = 160, - [284] = 153, - [285] = 150, - [286] = 147, - [287] = 149, - [288] = 288, - [289] = 182, - [290] = 193, - [291] = 291, - [292] = 292, - [293] = 194, - [294] = 294, - [295] = 295, - [296] = 296, - [297] = 165, - [298] = 194, - [299] = 291, - [300] = 141, - [301] = 164, - [302] = 302, - [303] = 202, - [304] = 196, - [305] = 163, - [306] = 167, - [307] = 193, - [308] = 164, - [309] = 166, - [310] = 166, - [311] = 144, - [312] = 142, - [313] = 143, - [314] = 140, - [315] = 315, - [316] = 159, - [317] = 214, - [318] = 152, - [319] = 153, - [320] = 147, - [321] = 155, - [322] = 315, - [323] = 154, - [324] = 158, - [325] = 315, - [326] = 315, - [327] = 327, - [328] = 151, - [329] = 146, - [330] = 145, - [331] = 150, - [332] = 148, - [333] = 156, - [334] = 315, - [335] = 315, - [336] = 149, - [337] = 157, - [338] = 338, - [339] = 160, - [340] = 315, - [341] = 341, - [342] = 342, - [343] = 343, - [344] = 344, - [345] = 345, - [346] = 214, - [347] = 347, - [348] = 348, - [349] = 166, - [350] = 165, - [351] = 167, - [352] = 163, - [353] = 164, - [354] = 354, - [355] = 355, - [356] = 356, - [357] = 357, - [358] = 295, - [359] = 359, - [360] = 360, - [361] = 361, - [362] = 362, - [363] = 363, - [364] = 193, - [365] = 365, - [366] = 366, - [367] = 367, - [368] = 368, - [369] = 362, - [370] = 370, - [371] = 371, - [372] = 372, - [373] = 194, - [374] = 365, - [375] = 375, - [376] = 376, - [377] = 377, - [378] = 378, - [379] = 379, - [380] = 380, - [381] = 381, - [382] = 382, - [383] = 383, - [384] = 384, - [385] = 385, - [386] = 386, - [387] = 387, - [388] = 388, - [389] = 196, - [390] = 390, - [391] = 391, - [392] = 392, - [393] = 393, - [394] = 394, - [395] = 390, - [396] = 396, - [397] = 202, - [398] = 398, - [399] = 399, - [400] = 400, - [401] = 401, - [402] = 402, - [403] = 403, - [404] = 404, - [405] = 405, - [406] = 406, - [407] = 407, - [408] = 405, - [409] = 409, - [410] = 410, - [411] = 411, - [412] = 407, - [413] = 250, - [414] = 414, - [415] = 415, - [416] = 416, - [417] = 417, - [418] = 418, - [419] = 419, - [420] = 420, - [421] = 421, - [422] = 422, - [423] = 423, - [424] = 424, - [425] = 425, - [426] = 426, - [427] = 427, - [428] = 263, - [429] = 429, - [430] = 430, - [431] = 431, - [432] = 432, - [433] = 433, - [434] = 280, - [435] = 435, - [436] = 436, - [437] = 437, - [438] = 438, - [439] = 439, - [440] = 440, - [441] = 441, - [442] = 442, - [443] = 443, - [444] = 444, - [445] = 445, - [446] = 446, - [447] = 447, - [448] = 448, - [449] = 387, - [450] = 368, - [451] = 451, - [452] = 452, - [453] = 363, - [454] = 383, - [455] = 385, - [456] = 379, - [457] = 457, - [458] = 458, - [459] = 386, - [460] = 384, - [461] = 360, - [462] = 380, - [463] = 463, - [464] = 464, - [465] = 465, - [466] = 372, - [467] = 467, - [468] = 468, - [469] = 469, - [470] = 470, - [471] = 471, - [472] = 472, - [473] = 473, - [474] = 470, - [475] = 475, - [476] = 473, - [477] = 473, - [478] = 470, - [479] = 479, - [480] = 473, - [481] = 481, - [482] = 482, - [483] = 470, - [484] = 473, - [485] = 475, - [486] = 470, - [487] = 487, - [488] = 488, - [489] = 489, - [490] = 490, - [491] = 470, - [492] = 361, - [493] = 493, - [494] = 494, - [495] = 495, - [496] = 496, - [497] = 497, - [498] = 498, - [499] = 366, - [500] = 473, - [501] = 501, - [502] = 381, - [503] = 503, - [504] = 504, - [505] = 505, - [506] = 506, - [507] = 507, - [508] = 508, - [509] = 388, - [510] = 510, - [511] = 511, - [512] = 512, - [513] = 489, - [514] = 514, - [515] = 515, - [516] = 516, - [517] = 517, - [518] = 518, - [519] = 519, - [520] = 520, - [521] = 521, - [522] = 522, - [523] = 523, - [524] = 524, - [525] = 525, - [526] = 526, - [527] = 527, - [528] = 528, - [529] = 529, - [530] = 530, - [531] = 531, - [532] = 532, - [533] = 533, - [534] = 534, - [535] = 535, - [536] = 536, - [537] = 537, - [538] = 538, - [539] = 539, - [540] = 540, - [541] = 541, - [542] = 542, - [543] = 543, - [544] = 503, - [545] = 545, - [546] = 546, - [547] = 547, - [548] = 548, - [549] = 549, - [550] = 550, - [551] = 551, - [552] = 552, - [553] = 553, - [554] = 554, - [555] = 555, - [556] = 556, - [557] = 296, - [558] = 558, - [559] = 559, - [560] = 560, - [561] = 561, - [562] = 562, - [563] = 563, - [564] = 564, - [565] = 565, - [566] = 566, - [567] = 567, - [568] = 523, - [569] = 523, - [570] = 570, - [571] = 571, - [572] = 572, - [573] = 573, - [574] = 574, - [575] = 541, - [576] = 540, - [577] = 537, - [578] = 578, - [579] = 528, - [580] = 526, - [581] = 581, - [582] = 582, - [583] = 583, - [584] = 584, - [585] = 585, - [586] = 586, - [587] = 587, - [588] = 588, - [589] = 589, - [590] = 523, - [591] = 591, - [592] = 567, - [593] = 566, - [594] = 565, - [595] = 541, - [596] = 540, - [597] = 597, - [598] = 598, - [599] = 599, - [600] = 600, - [601] = 601, - [602] = 541, - [603] = 540, - [604] = 604, - [605] = 605, - [606] = 523, - [607] = 582, - [608] = 608, - [609] = 541, - [610] = 540, - [611] = 611, - [612] = 584, - [613] = 523, - [614] = 614, - [615] = 615, - [616] = 541, - [617] = 540, - [618] = 618, - [619] = 619, - [620] = 541, - [621] = 621, - [622] = 622, - [623] = 623, - [624] = 624, - [625] = 625, - [626] = 626, - [627] = 627, - [628] = 531, - [629] = 525, - [630] = 630, - [631] = 631, - [632] = 632, - [633] = 633, - [634] = 634, - [635] = 635, - [636] = 525, - [637] = 637, - [638] = 638, - [639] = 525, - [640] = 640, - [641] = 641, - [642] = 525, - [643] = 643, - [644] = 644, - [645] = 525, - [646] = 646, - [647] = 562, - [648] = 522, - [649] = 547, - [650] = 650, - [651] = 527, - [652] = 599, - [653] = 653, - [654] = 654, - [655] = 655, - [656] = 656, - [657] = 626, - [658] = 623, - [659] = 559, - [660] = 660, - [661] = 585, - [662] = 559, - [663] = 559, - [664] = 559, - [665] = 559, - [666] = 619, - [667] = 561, - [668] = 558, - [669] = 619, - [670] = 619, - [671] = 619, - [672] = 619, - [673] = 624, - [674] = 615, -}; - -static inline bool sym_ident_pattern_token_character_set_1(int32_t c) { - return (c < 43514 - ? (c < 4193 - ? (c < 2707 - ? (c < 1994 - ? (c < 931 - ? (c < 748 - ? (c < 192 - ? (c < 170 - ? (c < 'a' - ? (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))))))))))))))))); -} - -static inline bool sym_ident_pattern_token_character_set_2(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))))))))))))))))); -} - -static bool ts_lex(TSLexer *lexer, TSStateId state) { - START_LEXER(); - eof = lexer->eof(lexer); - switch (state) { - case 0: - if (eof) ADVANCE(79); - if (lookahead == '!') ADVANCE(121); - if (lookahead == '%') ADVANCE(131); - if (lookahead == '&') ADVANCE(127); - if (lookahead == '(') ADVANCE(106); - if (lookahead == ')') ADVANCE(108); - if (lookahead == '*') ADVANCE(124); - if (lookahead == '+') ADVANCE(133); - if (lookahead == ',') ADVANCE(107); - if (lookahead == '-') ADVANCE(119); - if (lookahead == '.') ADVANCE(117); - if (lookahead == '/') ADVANCE(129); - if (lookahead == '0') ADVANCE(82); - if (lookahead == ':') ADVANCE(111); - if (lookahead == ';') ADVANCE(80); - if (lookahead == '=') ADVANCE(113); - if (lookahead == '@') ADVANCE(105); - if (lookahead == '[') ADVANCE(114); - if (lookahead == ']') ADVANCE(115); - if (lookahead == '^') ADVANCE(141); - if (lookahead == '_') ADVANCE(142); - if (lookahead == '{') ADVANCE(109); - if (lookahead == '|') ADVANCE(138); - if (lookahead == '}') ADVANCE(110); - if (lookahead == '~') ADVANCE(122); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(84); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ' || - lookahead == 133 || - lookahead == 8206 || - lookahead == 8207 || - lookahead == 8232 || - lookahead == 8233) ADVANCE(164); - if (sym_ident_pattern_token_character_set_1(lookahead)) ADVANCE(154); - END_STATE(); - case 1: - if (lookahead == '!') ADVANCE(17); - if (lookahead == '%') ADVANCE(130); - if (lookahead == '&') ADVANCE(126); - if (lookahead == '(') ADVANCE(106); - if (lookahead == ')') ADVANCE(108); - if (lookahead == '*') ADVANCE(123); - if (lookahead == '+') ADVANCE(132); - if (lookahead == ',') ADVANCE(107); - if (lookahead == '-') ADVANCE(118); - if (lookahead == '.') ADVANCE(116); - if (lookahead == '/') ADVANCE(128); - if (lookahead == ':') ADVANCE(111); - if (lookahead == ';') ADVANCE(80); - if (lookahead == '=') ADVANCE(21); - if (lookahead == '[') ADVANCE(114); - if (lookahead == ']') ADVANCE(115); - if (lookahead == '^') ADVANCE(140); - if (lookahead == '{') ADVANCE(109); - if (lookahead == '|') ADVANCE(139); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ' || - lookahead == 133 || - lookahead == 8206 || - lookahead == 8207 || - lookahead == 8232 || - lookahead == 8233) ADVANCE(164); - END_STATE(); - case 2: - if (lookahead == '%') ADVANCE(130); - if (lookahead == '&') ADVANCE(125); - if (lookahead == '(') ADVANCE(106); - if (lookahead == ')') ADVANCE(108); - if (lookahead == '*') ADVANCE(123); - if (lookahead == '+') ADVANCE(132); - if (lookahead == ',') ADVANCE(107); - if (lookahead == '-') ADVANCE(118); - if (lookahead == '.') ADVANCE(116); - if (lookahead == '/') ADVANCE(128); - if (lookahead == ':') ADVANCE(111); - if (lookahead == ';') ADVANCE(80); - if (lookahead == '=') ADVANCE(112); - if (lookahead == '[') ADVANCE(114); - if (lookahead == ']') ADVANCE(115); - if (lookahead == '^') ADVANCE(140); - if (lookahead == '{') ADVANCE(109); - if (lookahead == '|') ADVANCE(139); - if (lookahead == '}') ADVANCE(110); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ' || - lookahead == 133 || - lookahead == 8206 || - lookahead == 8207 || - lookahead == 8232 || - lookahead == 8233) ADVANCE(164); - END_STATE(); - case 3: - if (lookahead == '%') ADVANCE(18); - if (lookahead == '&') ADVANCE(19); - if (lookahead == '(') ADVANCE(106); - if (lookahead == '*') ADVANCE(20); - if (lookahead == '+') ADVANCE(4); - if (lookahead == '-') ADVANCE(5); - if (lookahead == '.') ADVANCE(116); - if (lookahead == '/') ADVANCE(8); - if (lookahead == '=') ADVANCE(112); - if (lookahead == '[') ADVANCE(114); - if (lookahead == '^') ADVANCE(22); - if (lookahead == '_') ADVANCE(77); - if (lookahead == '{') ADVANCE(109); - if (lookahead == '|') ADVANCE(23); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ' || - lookahead == 133 || - lookahead == 8206 || - lookahead == 8207 || - lookahead == 8232 || - lookahead == 8233) ADVANCE(164); - if (sym_ident_pattern_token_character_set_1(lookahead)) ADVANCE(154); - END_STATE(); - case 4: - if (lookahead == '+') ADVANCE(151); - if (lookahead == '=') ADVANCE(143); - END_STATE(); - case 5: - if (lookahead == '-') ADVANCE(152); - if (lookahead == '=') ADVANCE(144); - if (lookahead == '>') ADVANCE(153); - END_STATE(); - case 6: - if (lookahead == '.') ADVANCE(93); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(63); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); - END_STATE(); - case 7: - if (lookahead == '.') ADVANCE(76); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(86); - END_STATE(); - case 8: - if (lookahead == '/') ADVANCE(163); - if (lookahead == '=') ADVANCE(146); - if (lookahead == '[') ADVANCE(44); - END_STATE(); - case 9: - if (lookahead == '/') ADVANCE(155); - if (lookahead == '[') ADVANCE(46); - END_STATE(); - case 10: - if (lookahead == '/') ADVANCE(159); - if (lookahead == '[') ADVANCE(53); - END_STATE(); - case 11: - if (lookahead == '/') ADVANCE(156); - if (lookahead == '[') ADVANCE(47); - END_STATE(); - case 12: - if (lookahead == '/') ADVANCE(160); - if (lookahead == '[') ADVANCE(54); - END_STATE(); - case 13: - if (lookahead == '/') ADVANCE(157); - if (lookahead == '[') ADVANCE(45); - END_STATE(); - case 14: - if (lookahead == '/') ADVANCE(161); - if (lookahead == '[') ADVANCE(52); - END_STATE(); - case 15: - if (lookahead == '/') ADVANCE(158); - END_STATE(); - case 16: - if (lookahead == '/') ADVANCE(162); - END_STATE(); - case 17: - if (lookahead == '=') ADVANCE(135); - END_STATE(); - case 18: - if (lookahead == '=') ADVANCE(147); - END_STATE(); - case 19: - if (lookahead == '=') ADVANCE(148); - END_STATE(); - case 20: - if (lookahead == '=') ADVANCE(145); - END_STATE(); - case 21: - if (lookahead == '=') ADVANCE(134); - END_STATE(); - case 22: - if (lookahead == '=') ADVANCE(150); - END_STATE(); - case 23: - if (lookahead == '=') ADVANCE(149); - END_STATE(); - case 24: - if (lookahead == ']') ADVANCE(9); - END_STATE(); - case 25: - if (lookahead == ']') ADVANCE(15); - END_STATE(); - case 26: - if (lookahead == ']') ADVANCE(10); - END_STATE(); - case 27: - if (lookahead == ']') ADVANCE(16); - END_STATE(); - case 28: - if (lookahead == ']') ADVANCE(11); - END_STATE(); - case 29: - if (lookahead == ']') ADVANCE(12); - END_STATE(); - case 30: - if (lookahead == ']') ADVANCE(13); - END_STATE(); - case 31: - if (lookahead == ']') ADVANCE(14); - END_STATE(); - case 32: - if (lookahead == 'a') ADVANCE(24); - END_STATE(); - case 33: - if (lookahead == 'a') ADVANCE(25); - END_STATE(); - case 34: - if (lookahead == 'a') ADVANCE(28); - END_STATE(); - case 35: - if (lookahead == 'a') ADVANCE(30); - END_STATE(); - case 36: - if (lookahead == 'b') ADVANCE(32); - END_STATE(); - case 37: - if (lookahead == 'b') ADVANCE(33); - END_STATE(); - case 38: - if (lookahead == 'b') ADVANCE(34); - END_STATE(); - case 39: - if (lookahead == 'b') ADVANCE(35); - END_STATE(); - case 40: - if (lookahead == 'g') ADVANCE(36); - END_STATE(); - case 41: - if (lookahead == 'g') ADVANCE(37); - END_STATE(); - case 42: - if (lookahead == 'g') ADVANCE(38); - END_STATE(); - case 43: - if (lookahead == 'g') ADVANCE(39); - END_STATE(); - case 44: - if (lookahead == 'r') ADVANCE(40); - if (lookahead == 'x') ADVANCE(55); - END_STATE(); - case 45: - if (lookahead == 'r') ADVANCE(41); - END_STATE(); - case 46: - if (lookahead == 'r') ADVANCE(42); - END_STATE(); - case 47: - if (lookahead == 'r') ADVANCE(43); - END_STATE(); - case 48: - if (lookahead == 'w') ADVANCE(27); - END_STATE(); - case 49: - if (lookahead == 'w') ADVANCE(26); - END_STATE(); - case 50: - if (lookahead == 'w') ADVANCE(29); - END_STATE(); - case 51: - if (lookahead == 'w') ADVANCE(31); - END_STATE(); - case 52: - if (lookahead == 'x') ADVANCE(56); - END_STATE(); - case 53: - if (lookahead == 'x') ADVANCE(57); - END_STATE(); - case 54: - if (lookahead == 'x') ADVANCE(58); - END_STATE(); - case 55: - if (lookahead == 'y') ADVANCE(59); - END_STATE(); - case 56: - if (lookahead == 'y') ADVANCE(60); - END_STATE(); - case 57: - if (lookahead == 'y') ADVANCE(61); - END_STATE(); - case 58: - if (lookahead == 'y') ADVANCE(62); - END_STATE(); - case 59: - if (lookahead == 'z') ADVANCE(49); - END_STATE(); - case 60: - if (lookahead == 'z') ADVANCE(48); - END_STATE(); - case 61: - if (lookahead == 'z') ADVANCE(50); - END_STATE(); - case 62: - if (lookahead == 'z') ADVANCE(51); - END_STATE(); - case 63: - if (lookahead == '+' || - lookahead == '-') ADVANCE(70); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(96); - END_STATE(); - case 64: - if (lookahead == '+' || - lookahead == '-') ADVANCE(71); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(91); - END_STATE(); - case 65: - if (lookahead == '+' || - lookahead == '-') ADVANCE(72); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(94); - END_STATE(); - case 66: - if (lookahead == '+' || - lookahead == '-') ADVANCE(73); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(104); - END_STATE(); - case 67: - if (lookahead == '+' || - lookahead == '-') ADVANCE(74); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(99); - END_STATE(); - case 68: - if (lookahead == '+' || - lookahead == '-') ADVANCE(75); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(102); - END_STATE(); - case 69: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(90); - END_STATE(); - case 70: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(96); - END_STATE(); - case 71: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(91); - END_STATE(); - case 72: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(94); - END_STATE(); - case 73: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(104); - END_STATE(); - case 74: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(99); - END_STATE(); - case 75: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(102); - END_STATE(); - case 76: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(98); - END_STATE(); - case 77: - if (sym_ident_pattern_token_character_set_2(lookahead)) ADVANCE(154); - END_STATE(); - case 78: - if (eof) ADVANCE(79); - if (lookahead == '!') ADVANCE(120); - if (lookahead == '%') ADVANCE(130); - if (lookahead == '&') ADVANCE(125); - if (lookahead == '(') ADVANCE(106); - if (lookahead == ')') ADVANCE(108); - if (lookahead == '*') ADVANCE(123); - if (lookahead == '+') ADVANCE(132); - if (lookahead == ',') ADVANCE(107); - if (lookahead == '-') ADVANCE(118); - if (lookahead == '.') ADVANCE(69); - if (lookahead == '/') ADVANCE(128); - if (lookahead == '0') ADVANCE(82); - if (lookahead == ':') ADVANCE(111); - if (lookahead == ';') ADVANCE(80); - if (lookahead == '=') ADVANCE(112); - if (lookahead == '@') ADVANCE(105); - if (lookahead == ']') ADVANCE(115); - if (lookahead == '^') ADVANCE(140); - if (lookahead == '_') ADVANCE(142); - if (lookahead == '{') ADVANCE(109); - if (lookahead == '|') ADVANCE(139); - if (lookahead == '}') ADVANCE(110); - if (lookahead == '~') ADVANCE(122); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(84); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ' || - lookahead == 133 || - lookahead == 8206 || - lookahead == 8207 || - lookahead == 8232 || - lookahead == 8233) ADVANCE(164); - if (sym_ident_pattern_token_character_set_1(lookahead)) ADVANCE(154); - END_STATE(); - case 79: - ACCEPT_TOKEN(ts_builtin_sym_end); - END_STATE(); - case 80: - ACCEPT_TOKEN(anon_sym_SEMI); - END_STATE(); - case 81: - ACCEPT_TOKEN(aux_sym_decimal_int_literal_token1); - END_STATE(); - case 82: - ACCEPT_TOKEN(aux_sym_decimal_int_literal_token1); - if (lookahead == '.') ADVANCE(93); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(63); - if (lookahead == 'X' || - lookahead == 'x') ADVANCE(7); - if (lookahead == 'f' || - lookahead == 'h') ADVANCE(87); - if (lookahead == 'i' || - lookahead == 'u') ADVANCE(81); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); - END_STATE(); - case 83: - ACCEPT_TOKEN(aux_sym_decimal_int_literal_token2); - END_STATE(); - case 84: - ACCEPT_TOKEN(aux_sym_decimal_int_literal_token2); - if (lookahead == '.') ADVANCE(93); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(63); - if (lookahead == 'f' || - lookahead == 'h') ADVANCE(88); - if (lookahead == 'i' || - lookahead == 'u') ADVANCE(83); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(84); - END_STATE(); - case 85: - ACCEPT_TOKEN(sym_hex_int_literal); - END_STATE(); - case 86: - ACCEPT_TOKEN(sym_hex_int_literal); - if (lookahead == '.') ADVANCE(101); - if (lookahead == 'P' || - lookahead == 'p') ADVANCE(66); - if (lookahead == 'i' || - lookahead == 'u') ADVANCE(85); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(86); - END_STATE(); - case 87: - ACCEPT_TOKEN(aux_sym_decimal_float_literal_token1); - END_STATE(); - case 88: - ACCEPT_TOKEN(aux_sym_decimal_float_literal_token2); - END_STATE(); - case 89: - ACCEPT_TOKEN(aux_sym_decimal_float_literal_token3); - END_STATE(); - case 90: - ACCEPT_TOKEN(aux_sym_decimal_float_literal_token3); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(64); - if (lookahead == 'f' || - lookahead == 'h') ADVANCE(89); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(90); - END_STATE(); - case 91: - ACCEPT_TOKEN(aux_sym_decimal_float_literal_token3); - if (lookahead == 'f' || - lookahead == 'h') ADVANCE(89); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(91); - END_STATE(); - case 92: - ACCEPT_TOKEN(aux_sym_decimal_float_literal_token4); - END_STATE(); - case 93: - ACCEPT_TOKEN(aux_sym_decimal_float_literal_token4); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(65); - if (lookahead == 'f' || - lookahead == 'h') ADVANCE(92); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(90); - END_STATE(); - case 94: - ACCEPT_TOKEN(aux_sym_decimal_float_literal_token4); - if (lookahead == 'f' || - lookahead == 'h') ADVANCE(92); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(94); - END_STATE(); - case 95: - ACCEPT_TOKEN(aux_sym_decimal_float_literal_token5); - END_STATE(); - case 96: - ACCEPT_TOKEN(aux_sym_decimal_float_literal_token5); - if (lookahead == 'f' || - lookahead == 'h') ADVANCE(95); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(96); - END_STATE(); - case 97: - ACCEPT_TOKEN(aux_sym_hex_float_literal_token1); - END_STATE(); - case 98: - ACCEPT_TOKEN(aux_sym_hex_float_literal_token1); - if (lookahead == 'P' || - lookahead == 'p') ADVANCE(67); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(98); - END_STATE(); - case 99: - ACCEPT_TOKEN(aux_sym_hex_float_literal_token1); - if (lookahead == 'f' || - lookahead == 'h') ADVANCE(97); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(99); - END_STATE(); - case 100: - ACCEPT_TOKEN(aux_sym_hex_float_literal_token2); - END_STATE(); - case 101: - ACCEPT_TOKEN(aux_sym_hex_float_literal_token2); - if (lookahead == 'P' || - lookahead == 'p') ADVANCE(68); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(98); - END_STATE(); - case 102: - ACCEPT_TOKEN(aux_sym_hex_float_literal_token2); - if (lookahead == 'f' || - lookahead == 'h') ADVANCE(100); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(102); - END_STATE(); - case 103: - ACCEPT_TOKEN(aux_sym_hex_float_literal_token3); - END_STATE(); - case 104: - ACCEPT_TOKEN(aux_sym_hex_float_literal_token3); - if (lookahead == 'f' || - lookahead == 'h') ADVANCE(103); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(104); - END_STATE(); - case 105: - ACCEPT_TOKEN(anon_sym_AT); - END_STATE(); - case 106: - ACCEPT_TOKEN(anon_sym_LPAREN); - END_STATE(); - case 107: - ACCEPT_TOKEN(anon_sym_COMMA); - END_STATE(); - case 108: - ACCEPT_TOKEN(anon_sym_RPAREN); - END_STATE(); - case 109: - ACCEPT_TOKEN(anon_sym_LBRACE); - END_STATE(); - case 110: - ACCEPT_TOKEN(anon_sym_RBRACE); - END_STATE(); - case 111: - ACCEPT_TOKEN(anon_sym_COLON); - END_STATE(); - case 112: - ACCEPT_TOKEN(anon_sym_EQ); - END_STATE(); - case 113: - ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(134); - END_STATE(); - case 114: - ACCEPT_TOKEN(anon_sym_LBRACK); - END_STATE(); - case 115: - ACCEPT_TOKEN(anon_sym_RBRACK); - END_STATE(); - case 116: - ACCEPT_TOKEN(anon_sym_DOT); - END_STATE(); - case 117: - ACCEPT_TOKEN(anon_sym_DOT); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(90); - END_STATE(); - case 118: - ACCEPT_TOKEN(anon_sym_DASH); - END_STATE(); - case 119: - ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '=') ADVANCE(144); - if (lookahead == '>') ADVANCE(153); - END_STATE(); - case 120: - ACCEPT_TOKEN(anon_sym_BANG); - END_STATE(); - case 121: - ACCEPT_TOKEN(anon_sym_BANG); - if (lookahead == '=') ADVANCE(135); - END_STATE(); - case 122: - ACCEPT_TOKEN(anon_sym_TILDE); - END_STATE(); - case 123: - ACCEPT_TOKEN(anon_sym_STAR); - END_STATE(); - case 124: - ACCEPT_TOKEN(anon_sym_STAR); - if (lookahead == '=') ADVANCE(145); - END_STATE(); - case 125: - ACCEPT_TOKEN(anon_sym_AMP); - END_STATE(); - case 126: - ACCEPT_TOKEN(anon_sym_AMP); - if (lookahead == '&') ADVANCE(136); - END_STATE(); - case 127: - ACCEPT_TOKEN(anon_sym_AMP); - if (lookahead == '&') ADVANCE(136); - if (lookahead == '=') ADVANCE(148); - END_STATE(); - case 128: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '/') ADVANCE(163); - END_STATE(); - case 129: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '/') ADVANCE(163); - if (lookahead == '=') ADVANCE(146); - if (lookahead == '[') ADVANCE(44); - END_STATE(); - case 130: - ACCEPT_TOKEN(anon_sym_PERCENT); - END_STATE(); - case 131: - ACCEPT_TOKEN(anon_sym_PERCENT); - if (lookahead == '=') ADVANCE(147); - END_STATE(); - case 132: - ACCEPT_TOKEN(anon_sym_PLUS); - END_STATE(); - case 133: - ACCEPT_TOKEN(anon_sym_PLUS); - if (lookahead == '+') ADVANCE(151); - if (lookahead == '=') ADVANCE(143); - END_STATE(); - case 134: - ACCEPT_TOKEN(anon_sym_EQ_EQ); - END_STATE(); - case 135: - ACCEPT_TOKEN(anon_sym_BANG_EQ); - END_STATE(); - case 136: - ACCEPT_TOKEN(anon_sym_AMP_AMP); - END_STATE(); - case 137: - ACCEPT_TOKEN(anon_sym_PIPE_PIPE); - END_STATE(); - case 138: - ACCEPT_TOKEN(anon_sym_PIPE); - if (lookahead == '=') ADVANCE(149); - if (lookahead == '|') ADVANCE(137); - END_STATE(); - case 139: - ACCEPT_TOKEN(anon_sym_PIPE); - if (lookahead == '|') ADVANCE(137); - END_STATE(); - case 140: - ACCEPT_TOKEN(anon_sym_CARET); - END_STATE(); - case 141: - ACCEPT_TOKEN(anon_sym_CARET); - if (lookahead == '=') ADVANCE(150); - END_STATE(); - case 142: - ACCEPT_TOKEN(anon_sym__); - if (sym_ident_pattern_token_character_set_2(lookahead)) ADVANCE(154); - END_STATE(); - case 143: - ACCEPT_TOKEN(anon_sym_PLUS_EQ); - END_STATE(); - case 144: - ACCEPT_TOKEN(anon_sym_DASH_EQ); - END_STATE(); - case 145: - ACCEPT_TOKEN(anon_sym_STAR_EQ); - END_STATE(); - case 146: - ACCEPT_TOKEN(anon_sym_SLASH_EQ); - END_STATE(); - case 147: - ACCEPT_TOKEN(anon_sym_PERCENT_EQ); - END_STATE(); - case 148: - ACCEPT_TOKEN(anon_sym_AMP_EQ); - END_STATE(); - case 149: - ACCEPT_TOKEN(anon_sym_PIPE_EQ); - END_STATE(); - case 150: - ACCEPT_TOKEN(anon_sym_CARET_EQ); - END_STATE(); - case 151: - ACCEPT_TOKEN(anon_sym_PLUS_PLUS); - END_STATE(); - case 152: - ACCEPT_TOKEN(anon_sym_DASH_DASH); - END_STATE(); - case 153: - ACCEPT_TOKEN(anon_sym_DASH_GT); - END_STATE(); - case 154: - ACCEPT_TOKEN(sym_ident_pattern_token); - if (sym_ident_pattern_token_character_set_2(lookahead)) ADVANCE(154); - END_STATE(); - case 155: - ACCEPT_TOKEN(anon_sym_SLASH_LBRACKrgba_RBRACK_SLASH); - END_STATE(); - case 156: - ACCEPT_TOKEN(anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH); - END_STATE(); - case 157: - ACCEPT_TOKEN(anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH); - END_STATE(); - case 158: - ACCEPT_TOKEN(anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH); - END_STATE(); - case 159: - ACCEPT_TOKEN(anon_sym_SLASH_LBRACKxyzw_RBRACK_SLASH); - END_STATE(); - case 160: - ACCEPT_TOKEN(anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH); - END_STATE(); - case 161: - ACCEPT_TOKEN(anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH); - END_STATE(); - case 162: - ACCEPT_TOKEN(anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH); - END_STATE(); - case 163: - ACCEPT_TOKEN(sym__comment); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(163); - END_STATE(); - case 164: - ACCEPT_TOKEN(sym__blankspace); - END_STATE(); - default: - return false; - } -} - -static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { - START_LEXER(); - eof = lexer->eof(lexer); - switch (state) { - case 0: - if (lookahead == 'C') ADVANCE(1); - if (lookahead == 'D') ADVANCE(2); - if (lookahead == 'G') ADVANCE(3); - if (lookahead == 'H') ADVANCE(4); - if (lookahead == 'N') ADVANCE(5); - if (lookahead == 'S') ADVANCE(6); - if (lookahead == 'a') ADVANCE(7); - if (lookahead == 'b') ADVANCE(8); - if (lookahead == 'c') ADVANCE(9); - if (lookahead == 'd') ADVANCE(10); - if (lookahead == 'e') ADVANCE(11); - if (lookahead == 'f') ADVANCE(12); - if (lookahead == 'g') ADVANCE(13); - if (lookahead == 'h') ADVANCE(14); - if (lookahead == 'i') ADVANCE(15); - if (lookahead == 'l') ADVANCE(16); - if (lookahead == 'm') ADVANCE(17); - if (lookahead == 'n') ADVANCE(18); - if (lookahead == 'o') ADVANCE(19); - if (lookahead == 'p') ADVANCE(20); - if (lookahead == 'q') ADVANCE(21); - if (lookahead == 'r') ADVANCE(22); - if (lookahead == 's') ADVANCE(23); - if (lookahead == 't') ADVANCE(24); - if (lookahead == 'u') ADVANCE(25); - if (lookahead == 'v') ADVANCE(26); - if (lookahead == 'w') ADVANCE(27); - if (lookahead == 'y') ADVANCE(28); - END_STATE(); - case 1: - if (lookahead == 'o') ADVANCE(29); - END_STATE(); - case 2: - if (lookahead == 'o') ADVANCE(30); - END_STATE(); - case 3: - if (lookahead == 'e') ADVANCE(31); - END_STATE(); - case 4: - if (lookahead == 'u') ADVANCE(32); - END_STATE(); - case 5: - if (lookahead == 'U') ADVANCE(33); - END_STATE(); - case 6: - if (lookahead == 'e') ADVANCE(34); - END_STATE(); - case 7: - if (lookahead == 'b') ADVANCE(35); - if (lookahead == 'c') ADVANCE(36); - if (lookahead == 'l') ADVANCE(37); - if (lookahead == 'r') ADVANCE(38); - if (lookahead == 's') ADVANCE(39); - if (lookahead == 't') ADVANCE(40); - if (lookahead == 'u') ADVANCE(41); - if (lookahead == 'w') ADVANCE(42); - END_STATE(); - case 8: - if (lookahead == 'e') ADVANCE(43); - if (lookahead == 'f') ADVANCE(44); - if (lookahead == 'g') ADVANCE(45); - if (lookahead == 'i') ADVANCE(46); - if (lookahead == 'o') ADVANCE(47); - if (lookahead == 'r') ADVANCE(48); - if (lookahead == 'u') ADVANCE(49); - END_STATE(); - case 9: - if (lookahead == 'a') ADVANCE(50); - if (lookahead == 'e') ADVANCE(51); - if (lookahead == 'l') ADVANCE(52); - if (lookahead == 'o') ADVANCE(53); - if (lookahead == 'r') ADVANCE(54); - END_STATE(); - case 10: - if (lookahead == 'e') ADVANCE(55); - if (lookahead == 'i') ADVANCE(56); - if (lookahead == 'o') ADVANCE(57); - if (lookahead == 'y') ADVANCE(58); - END_STATE(); - case 11: - if (lookahead == 'l') ADVANCE(59); - if (lookahead == 'n') ADVANCE(60); - if (lookahead == 'x') ADVANCE(61); - END_STATE(); - case 12: - if (lookahead == '1') ADVANCE(62); - if (lookahead == '3') ADVANCE(63); - if (lookahead == '6') ADVANCE(64); - if (lookahead == 'a') ADVANCE(65); - if (lookahead == 'i') ADVANCE(66); - if (lookahead == 'l') ADVANCE(67); - if (lookahead == 'n') ADVANCE(68); - if (lookahead == 'o') ADVANCE(69); - if (lookahead == 'r') ADVANCE(70); - if (lookahead == 'u') ADVANCE(71); - if (lookahead == 'x') ADVANCE(72); - END_STATE(); - case 13: - if (lookahead == 'e') ADVANCE(73); - if (lookahead == 'l') ADVANCE(74); - if (lookahead == 'o') ADVANCE(75); - if (lookahead == 'r') ADVANCE(76); - END_STATE(); - case 14: - if (lookahead == 'a') ADVANCE(77); - if (lookahead == 'i') ADVANCE(78); - END_STATE(); - case 15: - if (lookahead == '1') ADVANCE(79); - if (lookahead == '3') ADVANCE(80); - if (lookahead == '6') ADVANCE(81); - if (lookahead == '8') ADVANCE(82); - if (lookahead == 'd') ADVANCE(83); - if (lookahead == 'f') ADVANCE(84); - if (lookahead == 'm') ADVANCE(85); - if (lookahead == 'n') ADVANCE(86); - END_STATE(); - case 16: - if (lookahead == 'a') ADVANCE(87); - if (lookahead == 'e') ADVANCE(88); - if (lookahead == 'i') ADVANCE(89); - if (lookahead == 'o') ADVANCE(90); - END_STATE(); - case 17: - if (lookahead == 'a') ADVANCE(91); - if (lookahead == 'e') ADVANCE(92); - if (lookahead == 'o') ADVANCE(93); - if (lookahead == 'u') ADVANCE(94); - END_STATE(); - case 18: - if (lookahead == 'a') ADVANCE(95); - if (lookahead == 'e') ADVANCE(96); - if (lookahead == 'i') ADVANCE(97); - if (lookahead == 'o') ADVANCE(98); - if (lookahead == 'u') ADVANCE(99); - END_STATE(); - case 19: - if (lookahead == 'f') ADVANCE(100); - if (lookahead == 'p') ADVANCE(101); - if (lookahead == 'v') ADVANCE(102); - END_STATE(); - case 20: - if (lookahead == 'a') ADVANCE(103); - if (lookahead == 'e') ADVANCE(104); - if (lookahead == 'i') ADVANCE(105); - if (lookahead == 'o') ADVANCE(106); - if (lookahead == 'r') ADVANCE(107); - if (lookahead == 't') ADVANCE(108); - if (lookahead == 'u') ADVANCE(109); - END_STATE(); - case 21: - if (lookahead == 'u') ADVANCE(110); - END_STATE(); - case 22: - if (lookahead == '3') ADVANCE(111); - if (lookahead == 'e') ADVANCE(112); - if (lookahead == 'g') ADVANCE(113); - END_STATE(); - case 23: - if (lookahead == 'a') ADVANCE(114); - if (lookahead == 'e') ADVANCE(115); - if (lookahead == 'h') ADVANCE(116); - if (lookahead == 'i') ADVANCE(117); - if (lookahead == 'm') ADVANCE(118); - if (lookahead == 'n') ADVANCE(119); - if (lookahead == 't') ADVANCE(120); - if (lookahead == 'u') ADVANCE(121); - if (lookahead == 'w') ADVANCE(122); - END_STATE(); - case 24: - if (lookahead == 'a') ADVANCE(123); - if (lookahead == 'e') ADVANCE(124); - if (lookahead == 'h') ADVANCE(125); - if (lookahead == 'r') ADVANCE(126); - if (lookahead == 'y') ADVANCE(127); - END_STATE(); - case 25: - if (lookahead == '1') ADVANCE(128); - if (lookahead == '3') ADVANCE(129); - if (lookahead == '6') ADVANCE(130); - if (lookahead == '8') ADVANCE(131); - if (lookahead == 'n') ADVANCE(132); - if (lookahead == 's') ADVANCE(133); - END_STATE(); - case 26: - if (lookahead == 'a') ADVANCE(134); - if (lookahead == 'e') ADVANCE(135); - if (lookahead == 'i') ADVANCE(136); - if (lookahead == 'o') ADVANCE(137); - END_STATE(); - case 27: - if (lookahead == 'g') ADVANCE(138); - if (lookahead == 'h') ADVANCE(139); - if (lookahead == 'i') ADVANCE(140); - if (lookahead == 'o') ADVANCE(141); - if (lookahead == 'r') ADVANCE(142); - END_STATE(); - case 28: - if (lookahead == 'i') ADVANCE(143); - END_STATE(); - case 29: - if (lookahead == 'm') ADVANCE(144); - END_STATE(); - case 30: - if (lookahead == 'm') ADVANCE(145); - END_STATE(); - case 31: - if (lookahead == 'o') ADVANCE(146); - END_STATE(); - case 32: - if (lookahead == 'l') ADVANCE(147); - END_STATE(); - case 33: - if (lookahead == 'L') ADVANCE(148); - END_STATE(); - case 34: - if (lookahead == 'l') ADVANCE(149); - END_STATE(); - case 35: - if (lookahead == 's') ADVANCE(150); - END_STATE(); - case 36: - if (lookahead == 't') ADVANCE(151); - END_STATE(); - case 37: - if (lookahead == 'i') ADVANCE(152); - END_STATE(); - case 38: - if (lookahead == 'r') ADVANCE(153); - END_STATE(); - case 39: - ACCEPT_TOKEN(anon_sym_as); - if (lookahead == 'm') ADVANCE(154); - if (lookahead == 'y') ADVANCE(155); - END_STATE(); - case 40: - if (lookahead == 'o') ADVANCE(156); - if (lookahead == 't') ADVANCE(157); - END_STATE(); - case 41: - if (lookahead == 't') ADVANCE(158); - END_STATE(); - case 42: - if (lookahead == 'a') ADVANCE(159); - END_STATE(); - case 43: - if (lookahead == 'c') ADVANCE(160); - END_STATE(); - case 44: - if (lookahead == '1') ADVANCE(161); - END_STATE(); - case 45: - if (lookahead == 'r') ADVANCE(162); - END_STATE(); - case 46: - if (lookahead == 'n') ADVANCE(163); - if (lookahead == 't') ADVANCE(164); - END_STATE(); - case 47: - if (lookahead == 'o') ADVANCE(165); - END_STATE(); - case 48: - if (lookahead == 'e') ADVANCE(166); - END_STATE(); - case 49: - if (lookahead == 'i') ADVANCE(167); - END_STATE(); - case 50: - if (lookahead == 's') ADVANCE(168); - if (lookahead == 't') ADVANCE(169); - END_STATE(); - case 51: - if (lookahead == 'n') ADVANCE(170); - END_STATE(); - case 52: - if (lookahead == 'a') ADVANCE(171); - END_STATE(); - case 53: - if (lookahead == '_') ADVANCE(172); - if (lookahead == 'h') ADVANCE(173); - if (lookahead == 'l') ADVANCE(174); - if (lookahead == 'm') ADVANCE(175); - if (lookahead == 'n') ADVANCE(176); - END_STATE(); - case 54: - if (lookahead == 'a') ADVANCE(177); - END_STATE(); - case 55: - if (lookahead == 'b') ADVANCE(178); - if (lookahead == 'c') ADVANCE(179); - if (lookahead == 'f') ADVANCE(180); - if (lookahead == 'l') ADVANCE(181); - if (lookahead == 'm') ADVANCE(182); - END_STATE(); - case 56: - if (lookahead == 's') ADVANCE(183); - END_STATE(); - case 57: - ACCEPT_TOKEN(anon_sym_do); - END_STATE(); - case 58: - if (lookahead == 'n') ADVANCE(184); - END_STATE(); - case 59: - if (lookahead == 's') ADVANCE(185); - END_STATE(); - case 60: - if (lookahead == 'a') ADVANCE(186); - if (lookahead == 'u') ADVANCE(187); - END_STATE(); - case 61: - if (lookahead == 'p') ADVANCE(188); - if (lookahead == 't') ADVANCE(189); - END_STATE(); - case 62: - if (lookahead == '6') ADVANCE(190); - END_STATE(); - case 63: - if (lookahead == '2') ADVANCE(191); - END_STATE(); - case 64: - if (lookahead == '4') ADVANCE(192); - END_STATE(); - case 65: - if (lookahead == 'l') ADVANCE(193); - END_STATE(); - case 66: - if (lookahead == 'l') ADVANCE(194); - if (lookahead == 'n') ADVANCE(195); - END_STATE(); - case 67: - if (lookahead == 'a') ADVANCE(196); - END_STATE(); - case 68: - ACCEPT_TOKEN(anon_sym_fn); - END_STATE(); - case 69: - if (lookahead == 'r') ADVANCE(197); - END_STATE(); - case 70: - if (lookahead == 'a') ADVANCE(198); - if (lookahead == 'i') ADVANCE(199); - if (lookahead == 'o') ADVANCE(200); - END_STATE(); - case 71: - if (lookahead == 'n') ADVANCE(201); - END_STATE(); - case 72: - if (lookahead == 'g') ADVANCE(202); - END_STATE(); - case 73: - if (lookahead == 't') ADVANCE(203); - END_STATE(); - case 74: - if (lookahead == 'o') ADVANCE(204); - END_STATE(); - case 75: - if (lookahead == 't') ADVANCE(205); - END_STATE(); - case 76: - if (lookahead == 'o') ADVANCE(206); - END_STATE(); - case 77: - if (lookahead == 'n') ADVANCE(207); - END_STATE(); - case 78: - if (lookahead == 'g') ADVANCE(208); - END_STATE(); - case 79: - if (lookahead == '6') ADVANCE(209); - END_STATE(); - case 80: - if (lookahead == '2') ADVANCE(210); - END_STATE(); - case 81: - if (lookahead == '4') ADVANCE(211); - END_STATE(); - case 82: - ACCEPT_TOKEN(anon_sym_i8); - END_STATE(); - case 83: - ACCEPT_TOKEN(anon_sym_id); - END_STATE(); - case 84: - ACCEPT_TOKEN(anon_sym_if); - END_STATE(); - case 85: - if (lookahead == 'p') ADVANCE(212); - END_STATE(); - case 86: - if (lookahead == 'l') ADVANCE(213); - if (lookahead == 'o') ADVANCE(214); - if (lookahead == 's') ADVANCE(215); - if (lookahead == 't') ADVANCE(216); - if (lookahead == 'v') ADVANCE(217); - END_STATE(); - case 87: - if (lookahead == 'y') ADVANCE(218); - END_STATE(); - case 88: - if (lookahead == 't') ADVANCE(219); - END_STATE(); - case 89: - if (lookahead == 'n') ADVANCE(220); - END_STATE(); - case 90: - if (lookahead == 'c') ADVANCE(221); - if (lookahead == 'o') ADVANCE(222); - if (lookahead == 'w') ADVANCE(223); - END_STATE(); - case 91: - if (lookahead == 'c') ADVANCE(224); - if (lookahead == 't') ADVANCE(225); - END_STATE(); - case 92: - if (lookahead == 'd') ADVANCE(226); - if (lookahead == 't') ADVANCE(227); - END_STATE(); - case 93: - if (lookahead == 'd') ADVANCE(228); - if (lookahead == 'v') ADVANCE(229); - END_STATE(); - case 94: - if (lookahead == 't') ADVANCE(230); - END_STATE(); - case 95: - if (lookahead == 'm') ADVANCE(231); - END_STATE(); - case 96: - if (lookahead == 'w') ADVANCE(232); - END_STATE(); - case 97: - if (lookahead == 'l') ADVANCE(233); - END_STATE(); - case 98: - if (lookahead == 'e') ADVANCE(234); - if (lookahead == 'i') ADVANCE(235); - if (lookahead == 'p') ADVANCE(236); - END_STATE(); - case 99: - if (lookahead == 'l') ADVANCE(237); - if (lookahead == 'm') ADVANCE(238); - END_STATE(); - case 100: - ACCEPT_TOKEN(anon_sym_of); - END_STATE(); - case 101: - if (lookahead == 'e') ADVANCE(239); - END_STATE(); - case 102: - if (lookahead == 'e') ADVANCE(240); - END_STATE(); - case 103: - if (lookahead == 'c') ADVANCE(241); - if (lookahead == 'r') ADVANCE(242); - if (lookahead == 's') ADVANCE(243); - if (lookahead == 't') ADVANCE(244); - END_STATE(); - case 104: - if (lookahead == 'r') ADVANCE(245); - END_STATE(); - case 105: - if (lookahead == 'x') ADVANCE(246); - END_STATE(); - case 106: - if (lookahead == 's') ADVANCE(247); - END_STATE(); - case 107: - if (lookahead == 'e') ADVANCE(248); - if (lookahead == 'i') ADVANCE(249); - if (lookahead == 'o') ADVANCE(250); - END_STATE(); - case 108: - if (lookahead == 'r') ADVANCE(251); - END_STATE(); - case 109: - if (lookahead == 'b') ADVANCE(252); - END_STATE(); - case 110: - if (lookahead == 'a') ADVANCE(253); - END_STATE(); - case 111: - if (lookahead == '2') ADVANCE(254); - END_STATE(); - case 112: - if (lookahead == 'a') ADVANCE(255); - if (lookahead == 'f') ADVANCE(256); - if (lookahead == 'g') ADVANCE(257); - if (lookahead == 'i') ADVANCE(258); - if (lookahead == 'q') ADVANCE(259); - if (lookahead == 's') ADVANCE(260); - if (lookahead == 't') ADVANCE(261); - END_STATE(); - case 113: - if (lookahead == '3') ADVANCE(262); - if (lookahead == 'b') ADVANCE(263); - END_STATE(); - case 114: - if (lookahead == 'm') ADVANCE(264); - END_STATE(); - case 115: - if (lookahead == 'l') ADVANCE(265); - if (lookahead == 't') ADVANCE(266); - END_STATE(); - case 116: - if (lookahead == 'a') ADVANCE(267); - END_STATE(); - case 117: - if (lookahead == 'g') ADVANCE(268); - if (lookahead == 'z') ADVANCE(269); - END_STATE(); - case 118: - if (lookahead == 'o') ADVANCE(270); - END_STATE(); - case 119: - if (lookahead == 'o') ADVANCE(271); - END_STATE(); - case 120: - if (lookahead == 'a') ADVANCE(272); - if (lookahead == 'd') ADVANCE(273); - if (lookahead == 'o') ADVANCE(274); - if (lookahead == 'r') ADVANCE(275); - END_STATE(); - case 121: - if (lookahead == 'b') ADVANCE(276); - if (lookahead == 'p') ADVANCE(277); - END_STATE(); - case 122: - if (lookahead == 'i') ADVANCE(278); - END_STATE(); - case 123: - if (lookahead == 'r') ADVANCE(279); - END_STATE(); - case 124: - if (lookahead == 'm') ADVANCE(280); - if (lookahead == 'x') ADVANCE(281); - END_STATE(); - case 125: - if (lookahead == 'i') ADVANCE(282); - if (lookahead == 'r') ADVANCE(283); - END_STATE(); - case 126: - if (lookahead == 'a') ADVANCE(284); - if (lookahead == 'u') ADVANCE(285); - if (lookahead == 'y') ADVANCE(286); - END_STATE(); - case 127: - if (lookahead == 'p') ADVANCE(287); - END_STATE(); - case 128: - if (lookahead == '6') ADVANCE(288); - END_STATE(); - case 129: - if (lookahead == '2') ADVANCE(289); - END_STATE(); - case 130: - if (lookahead == '4') ADVANCE(290); - END_STATE(); - case 131: - ACCEPT_TOKEN(anon_sym_u8); - END_STATE(); - case 132: - if (lookahead == 'i') ADVANCE(291); - if (lookahead == 'l') ADVANCE(292); - if (lookahead == 'o') ADVANCE(293); - if (lookahead == 's') ADVANCE(294); - END_STATE(); - case 133: - if (lookahead == 'e') ADVANCE(295); - if (lookahead == 'i') ADVANCE(296); - END_STATE(); - case 134: - if (lookahead == 'r') ADVANCE(297); - END_STATE(); - case 135: - if (lookahead == 'c') ADVANCE(298); - if (lookahead == 'r') ADVANCE(299); - END_STATE(); - case 136: - if (lookahead == 'r') ADVANCE(300); - END_STATE(); - case 137: - if (lookahead == 'l') ADVANCE(301); - END_STATE(); - case 138: - if (lookahead == 's') ADVANCE(302); - END_STATE(); - case 139: - if (lookahead == 'e') ADVANCE(303); - if (lookahead == 'i') ADVANCE(304); - END_STATE(); - case 140: - if (lookahead == 't') ADVANCE(305); - END_STATE(); - case 141: - if (lookahead == 'r') ADVANCE(306); - END_STATE(); - case 142: - if (lookahead == 'i') ADVANCE(307); - END_STATE(); - case 143: - if (lookahead == 'e') ADVANCE(308); - END_STATE(); - case 144: - if (lookahead == 'p') ADVANCE(309); - END_STATE(); - case 145: - if (lookahead == 'a') ADVANCE(310); - END_STATE(); - case 146: - if (lookahead == 'm') ADVANCE(311); - END_STATE(); - case 147: - if (lookahead == 'l') ADVANCE(312); - END_STATE(); - case 148: - if (lookahead == 'L') ADVANCE(313); - END_STATE(); - case 149: - if (lookahead == 'f') ADVANCE(314); - END_STATE(); - case 150: - if (lookahead == 't') ADVANCE(315); - END_STATE(); - case 151: - if (lookahead == 'i') ADVANCE(316); - END_STATE(); - case 152: - if (lookahead == 'a') ADVANCE(317); - if (lookahead == 'g') ADVANCE(318); - END_STATE(); - case 153: - if (lookahead == 'a') ADVANCE(319); - END_STATE(); - case 154: - ACCEPT_TOKEN(anon_sym_asm); - if (lookahead == '_') ADVANCE(320); - END_STATE(); - case 155: - if (lookahead == 'n') ADVANCE(321); - END_STATE(); - case 156: - if (lookahead == 'm') ADVANCE(322); - END_STATE(); - case 157: - if (lookahead == 'r') ADVANCE(323); - END_STATE(); - case 158: - if (lookahead == 'o') ADVANCE(324); - END_STATE(); - case 159: - if (lookahead == 'i') ADVANCE(325); - END_STATE(); - case 160: - if (lookahead == 'o') ADVANCE(326); - END_STATE(); - case 161: - if (lookahead == '6') ADVANCE(327); - END_STATE(); - case 162: - if (lookahead == 'a') ADVANCE(328); - END_STATE(); - case 163: - if (lookahead == 'd') ADVANCE(329); - END_STATE(); - case 164: - if (lookahead == 'c') ADVANCE(330); - END_STATE(); - case 165: - if (lookahead == 'l') ADVANCE(331); - END_STATE(); - case 166: - if (lookahead == 'a') ADVANCE(332); - END_STATE(); - case 167: - if (lookahead == 'l') ADVANCE(333); - END_STATE(); - case 168: - if (lookahead == 'e') ADVANCE(334); - if (lookahead == 't') ADVANCE(335); - END_STATE(); - case 169: - if (lookahead == 'c') ADVANCE(336); - END_STATE(); - case 170: - if (lookahead == 't') ADVANCE(337); - END_STATE(); - case 171: - if (lookahead == 's') ADVANCE(338); - END_STATE(); - case 172: - if (lookahead == 'a') ADVANCE(339); - if (lookahead == 'r') ADVANCE(340); - if (lookahead == 'y') ADVANCE(341); - END_STATE(); - case 173: - if (lookahead == 'e') ADVANCE(342); - END_STATE(); - case 174: - if (lookahead == 'u') ADVANCE(343); - END_STATE(); - case 175: - if (lookahead == 'm') ADVANCE(344); - if (lookahead == 'p') ADVANCE(345); - END_STATE(); - case 176: - if (lookahead == 'c') ADVANCE(346); - if (lookahead == 's') ADVANCE(347); - if (lookahead == 't') ADVANCE(348); - END_STATE(); - case 177: - if (lookahead == 't') ADVANCE(349); - END_STATE(); - case 178: - if (lookahead == 'u') ADVANCE(350); - END_STATE(); - case 179: - if (lookahead == 'l') ADVANCE(351); - END_STATE(); - case 180: - if (lookahead == 'a') ADVANCE(352); - END_STATE(); - case 181: - if (lookahead == 'e') ADVANCE(353); - END_STATE(); - case 182: - if (lookahead == 'o') ADVANCE(354); - END_STATE(); - case 183: - if (lookahead == 'c') ADVANCE(355); - END_STATE(); - case 184: - if (lookahead == 'a') ADVANCE(356); - END_STATE(); - case 185: - if (lookahead == 'e') ADVANCE(357); - END_STATE(); - case 186: - if (lookahead == 'b') ADVANCE(358); - END_STATE(); - case 187: - if (lookahead == 'm') ADVANCE(359); - END_STATE(); - case 188: - if (lookahead == 'l') ADVANCE(360); - if (lookahead == 'o') ADVANCE(361); - END_STATE(); - case 189: - if (lookahead == 'e') ADVANCE(362); - END_STATE(); - case 190: - ACCEPT_TOKEN(anon_sym_f16); - END_STATE(); - case 191: - ACCEPT_TOKEN(anon_sym_f32); - END_STATE(); - case 192: - ACCEPT_TOKEN(anon_sym_f64); - END_STATE(); - case 193: - if (lookahead == 'l') ADVANCE(363); - if (lookahead == 's') ADVANCE(364); - END_STATE(); - case 194: - if (lookahead == 't') ADVANCE(365); - END_STATE(); - case 195: - if (lookahead == 'a') ADVANCE(366); - END_STATE(); - case 196: - if (lookahead == 't') ADVANCE(367); - END_STATE(); - case 197: - ACCEPT_TOKEN(anon_sym_for); - END_STATE(); - case 198: - if (lookahead == 'g') ADVANCE(368); - END_STATE(); - case 199: - if (lookahead == 'e') ADVANCE(369); - END_STATE(); - case 200: - if (lookahead == 'm') ADVANCE(370); - if (lookahead == 'n') ADVANCE(371); - END_STATE(); - case 201: - if (lookahead == 'c') ADVANCE(372); - END_STATE(); - case 202: - if (lookahead == 'r') ADVANCE(373); - END_STATE(); - case 203: - ACCEPT_TOKEN(anon_sym_get); - END_STATE(); - case 204: - if (lookahead == 'b') ADVANCE(374); - END_STATE(); - case 205: - if (lookahead == 'o') ADVANCE(375); - END_STATE(); - case 206: - if (lookahead == 'u') ADVANCE(376); - END_STATE(); - case 207: - if (lookahead == 'd') ADVANCE(377); - END_STATE(); - case 208: - if (lookahead == 'h') ADVANCE(378); - END_STATE(); - case 209: - ACCEPT_TOKEN(anon_sym_i16); - END_STATE(); - case 210: - ACCEPT_TOKEN(anon_sym_i32); - END_STATE(); - case 211: - ACCEPT_TOKEN(anon_sym_i64); - END_STATE(); - case 212: - if (lookahead == 'l') ADVANCE(379); - if (lookahead == 'o') ADVANCE(380); - END_STATE(); - case 213: - if (lookahead == 'i') ADVANCE(381); - END_STATE(); - case 214: - if (lookahead == 'u') ADVANCE(382); - END_STATE(); - case 215: - if (lookahead == 't') ADVANCE(383); - END_STATE(); - case 216: - if (lookahead == 'e') ADVANCE(384); - END_STATE(); - case 217: - if (lookahead == 'a') ADVANCE(385); - END_STATE(); - case 218: - if (lookahead == 'o') ADVANCE(386); - END_STATE(); - case 219: - ACCEPT_TOKEN(anon_sym_let); - END_STATE(); - case 220: - if (lookahead == 'e') ADVANCE(387); - END_STATE(); - case 221: - if (lookahead == 'a') ADVANCE(388); - END_STATE(); - case 222: - if (lookahead == 'p') ADVANCE(389); - END_STATE(); - case 223: - if (lookahead == 'p') ADVANCE(390); - END_STATE(); - case 224: - if (lookahead == 'r') ADVANCE(391); - END_STATE(); - case 225: - if (lookahead == '2') ADVANCE(392); - if (lookahead == '3') ADVANCE(393); - if (lookahead == '4') ADVANCE(394); - if (lookahead == 'c') ADVANCE(395); - END_STATE(); - case 226: - if (lookahead == 'i') ADVANCE(396); - END_STATE(); - case 227: - if (lookahead == 'a') ADVANCE(397); - END_STATE(); - case 228: - ACCEPT_TOKEN(anon_sym_mod); - if (lookahead == 'u') ADVANCE(398); - END_STATE(); - case 229: - if (lookahead == 'e') ADVANCE(399); - END_STATE(); - case 230: - ACCEPT_TOKEN(anon_sym_mut); - if (lookahead == 'a') ADVANCE(400); - END_STATE(); - case 231: - if (lookahead == 'e') ADVANCE(401); - END_STATE(); - case 232: - ACCEPT_TOKEN(anon_sym_new); - END_STATE(); - case 233: - ACCEPT_TOKEN(anon_sym_nil); - END_STATE(); - case 234: - if (lookahead == 'x') ADVANCE(402); - END_STATE(); - case 235: - if (lookahead == 'n') ADVANCE(403); - END_STATE(); - case 236: - if (lookahead == 'e') ADVANCE(404); - END_STATE(); - case 237: - if (lookahead == 'l') ADVANCE(405); - END_STATE(); - case 238: - if (lookahead == '_') ADVANCE(406); - END_STATE(); - case 239: - if (lookahead == 'r') ADVANCE(407); - END_STATE(); - case 240: - if (lookahead == 'r') ADVANCE(408); - END_STATE(); - case 241: - if (lookahead == 'k') ADVANCE(409); - END_STATE(); - case 242: - if (lookahead == 't') ADVANCE(410); - END_STATE(); - case 243: - if (lookahead == 's') ADVANCE(411); - END_STATE(); - case 244: - if (lookahead == 'c') ADVANCE(412); - END_STATE(); - case 245: - if (lookahead == 's') ADVANCE(413); - END_STATE(); - case 246: - if (lookahead == 'e') ADVANCE(414); - END_STATE(); - case 247: - if (lookahead == 'i') ADVANCE(415); - END_STATE(); - case 248: - if (lookahead == 'c') ADVANCE(416); - if (lookahead == 'm') ADVANCE(417); - END_STATE(); - case 249: - if (lookahead == 'v') ADVANCE(418); - END_STATE(); - case 250: - if (lookahead == 't') ADVANCE(419); - END_STATE(); - case 251: - ACCEPT_TOKEN(anon_sym_ptr); - END_STATE(); - case 252: - ACCEPT_TOKEN(anon_sym_pub); - if (lookahead == 'l') ADVANCE(420); - END_STATE(); - case 253: - if (lookahead == 't') ADVANCE(421); - END_STATE(); - case 254: - if (lookahead == 'f') ADVANCE(422); - if (lookahead == 's') ADVANCE(423); - if (lookahead == 'u') ADVANCE(424); - END_STATE(); - case 255: - if (lookahead == 'd') ADVANCE(425); - END_STATE(); - case 256: - ACCEPT_TOKEN(anon_sym_ref); - END_STATE(); - case 257: - if (lookahead == 'a') ADVANCE(426); - if (lookahead == 'i') ADVANCE(427); - END_STATE(); - case 258: - if (lookahead == 'n') ADVANCE(428); - END_STATE(); - case 259: - if (lookahead == 'u') ADVANCE(429); - END_STATE(); - case 260: - if (lookahead == 'o') ADVANCE(430); - if (lookahead == 't') ADVANCE(431); - END_STATE(); - case 261: - if (lookahead == 'u') ADVANCE(432); - END_STATE(); - case 262: - if (lookahead == '2') ADVANCE(433); - END_STATE(); - case 263: - if (lookahead == 'a') ADVANCE(434); - END_STATE(); - case 264: - if (lookahead == 'p') ADVANCE(435); - END_STATE(); - case 265: - if (lookahead == 'f') ADVANCE(436); - END_STATE(); - case 266: - ACCEPT_TOKEN(anon_sym_set); - END_STATE(); - case 267: - if (lookahead == 'r') ADVANCE(437); - END_STATE(); - case 268: - if (lookahead == 'n') ADVANCE(438); - END_STATE(); - case 269: - if (lookahead == 'e') ADVANCE(439); - END_STATE(); - case 270: - if (lookahead == 'o') ADVANCE(440); - END_STATE(); - case 271: - if (lookahead == 'r') ADVANCE(441); - END_STATE(); - case 272: - if (lookahead == 't') ADVANCE(442); - END_STATE(); - case 273: - ACCEPT_TOKEN(anon_sym_std); - END_STATE(); - case 274: - if (lookahead == 'r') ADVANCE(443); - END_STATE(); - case 275: - if (lookahead == 'u') ADVANCE(444); - END_STATE(); - case 276: - if (lookahead == 'r') ADVANCE(445); - END_STATE(); - case 277: - if (lookahead == 'e') ADVANCE(446); - END_STATE(); - case 278: - if (lookahead == 't') ADVANCE(447); - END_STATE(); - case 279: - if (lookahead == 'g') ADVANCE(448); - END_STATE(); - case 280: - if (lookahead == 'p') ADVANCE(449); - END_STATE(); - case 281: - if (lookahead == 't') ADVANCE(450); - END_STATE(); - case 282: - if (lookahead == 's') ADVANCE(451); - END_STATE(); - case 283: - if (lookahead == 'e') ADVANCE(452); - if (lookahead == 'o') ADVANCE(453); - END_STATE(); - case 284: - if (lookahead == 'i') ADVANCE(454); - END_STATE(); - case 285: - if (lookahead == 'e') ADVANCE(455); - END_STATE(); - case 286: - ACCEPT_TOKEN(anon_sym_try); - END_STATE(); - case 287: - if (lookahead == 'e') ADVANCE(456); - END_STATE(); - case 288: - ACCEPT_TOKEN(anon_sym_u16); - END_STATE(); - case 289: - ACCEPT_TOKEN(anon_sym_u32); - END_STATE(); - case 290: - ACCEPT_TOKEN(anon_sym_u64); - END_STATE(); - case 291: - if (lookahead == 'f') ADVANCE(457); - if (lookahead == 'o') ADVANCE(458); - END_STATE(); - case 292: - if (lookahead == 'e') ADVANCE(459); - END_STATE(); - case 293: - if (lookahead == 'r') ADVANCE(460); - END_STATE(); - case 294: - if (lookahead == 'a') ADVANCE(461); - if (lookahead == 'i') ADVANCE(462); - END_STATE(); - case 295: - ACCEPT_TOKEN(anon_sym_use); - END_STATE(); - case 296: - if (lookahead == 'n') ADVANCE(463); - END_STATE(); - case 297: - ACCEPT_TOKEN(anon_sym_var); - if (lookahead == 'y') ADVANCE(464); - END_STATE(); - case 298: - if (lookahead == '2') ADVANCE(465); - if (lookahead == '3') ADVANCE(466); - if (lookahead == '4') ADVANCE(467); - END_STATE(); - case 299: - if (lookahead == 't') ADVANCE(468); - END_STATE(); - case 300: - if (lookahead == 't') ADVANCE(469); - END_STATE(); - case 301: - if (lookahead == 'a') ADVANCE(470); - END_STATE(); - case 302: - if (lookahead == 'l') ADVANCE(471); - END_STATE(); - case 303: - if (lookahead == 'r') ADVANCE(472); - END_STATE(); - case 304: - if (lookahead == 'l') ADVANCE(473); - END_STATE(); - case 305: - if (lookahead == 'h') ADVANCE(474); - END_STATE(); - case 306: - if (lookahead == 'k') ADVANCE(475); - END_STATE(); - case 307: - if (lookahead == 't') ADVANCE(476); - END_STATE(); - case 308: - if (lookahead == 'l') ADVANCE(477); - END_STATE(); - case 309: - if (lookahead == 'i') ADVANCE(478); - if (lookahead == 'u') ADVANCE(479); - END_STATE(); - case 310: - if (lookahead == 'i') ADVANCE(480); - END_STATE(); - case 311: - if (lookahead == 'e') ADVANCE(481); - END_STATE(); - case 312: - if (lookahead == 's') ADVANCE(482); - END_STATE(); - case 313: - ACCEPT_TOKEN(anon_sym_NULL); - END_STATE(); - case 314: - ACCEPT_TOKEN(anon_sym_Self); - END_STATE(); - case 315: - if (lookahead == 'r') ADVANCE(483); - END_STATE(); - case 316: - if (lookahead == 'v') ADVANCE(484); - END_STATE(); - case 317: - if (lookahead == 's') ADVANCE(485); - END_STATE(); - case 318: - if (lookahead == 'n') ADVANCE(486); - END_STATE(); - case 319: - if (lookahead == 'y') ADVANCE(487); - END_STATE(); - case 320: - if (lookahead == 'f') ADVANCE(488); - END_STATE(); - case 321: - if (lookahead == 'c') ADVANCE(489); - END_STATE(); - case 322: - if (lookahead == 'i') ADVANCE(490); - END_STATE(); - case 323: - if (lookahead == 'i') ADVANCE(491); - END_STATE(); - case 324: - ACCEPT_TOKEN(anon_sym_auto); - END_STATE(); - case 325: - if (lookahead == 't') ADVANCE(492); - END_STATE(); - case 326: - if (lookahead == 'm') ADVANCE(493); - END_STATE(); - case 327: - ACCEPT_TOKEN(anon_sym_bf16); - END_STATE(); - case 328: - if (lookahead == '8') ADVANCE(494); - END_STATE(); - case 329: - if (lookahead == 'i') ADVANCE(495); - END_STATE(); - case 330: - if (lookahead == 'a') ADVANCE(496); - END_STATE(); - case 331: - ACCEPT_TOKEN(anon_sym_bool); - END_STATE(); - case 332: - if (lookahead == 'k') ADVANCE(497); - END_STATE(); - case 333: - if (lookahead == 't') ADVANCE(498); - END_STATE(); - case 334: - ACCEPT_TOKEN(anon_sym_case); - END_STATE(); - case 335: - ACCEPT_TOKEN(anon_sym_cast); - END_STATE(); - case 336: - if (lookahead == 'h') ADVANCE(499); - END_STATE(); - case 337: - if (lookahead == 'e') ADVANCE(500); - if (lookahead == 'r') ADVANCE(501); - END_STATE(); - case 338: - if (lookahead == 's') ADVANCE(502); - END_STATE(); - case 339: - if (lookahead == 'w') ADVANCE(503); - END_STATE(); - case 340: - if (lookahead == 'e') ADVANCE(504); - END_STATE(); - case 341: - if (lookahead == 'i') ADVANCE(505); - END_STATE(); - case 342: - if (lookahead == 'r') ADVANCE(506); - END_STATE(); - case 343: - if (lookahead == 'm') ADVANCE(507); - END_STATE(); - case 344: - if (lookahead == 'o') ADVANCE(508); - END_STATE(); - case 345: - if (lookahead == 'i') ADVANCE(509); - if (lookahead == 'u') ADVANCE(510); - END_STATE(); - case 346: - if (lookahead == 'e') ADVANCE(511); - END_STATE(); - case 347: - if (lookahead == 't') ADVANCE(512); - END_STATE(); - case 348: - if (lookahead == 'i') ADVANCE(513); - END_STATE(); - case 349: - if (lookahead == 'e') ADVANCE(514); - END_STATE(); - case 350: - if (lookahead == 'g') ADVANCE(515); - END_STATE(); - case 351: - if (lookahead == 't') ADVANCE(516); - END_STATE(); - case 352: - if (lookahead == 'u') ADVANCE(517); - END_STATE(); - case 353: - if (lookahead == 't') ADVANCE(518); - END_STATE(); - case 354: - if (lookahead == 't') ADVANCE(519); - END_STATE(); - case 355: - if (lookahead == 'a') ADVANCE(520); - END_STATE(); - case 356: - if (lookahead == 'm') ADVANCE(521); - END_STATE(); - case 357: - ACCEPT_TOKEN(anon_sym_else); - END_STATE(); - case 358: - if (lookahead == 'l') ADVANCE(522); - END_STATE(); - case 359: - ACCEPT_TOKEN(anon_sym_enum); - END_STATE(); - case 360: - if (lookahead == 'i') ADVANCE(523); - END_STATE(); - case 361: - if (lookahead == 'r') ADVANCE(524); - END_STATE(); - case 362: - if (lookahead == 'n') ADVANCE(525); - if (lookahead == 'r') ADVANCE(526); - END_STATE(); - case 363: - if (lookahead == 't') ADVANCE(527); - END_STATE(); - case 364: - if (lookahead == 'e') ADVANCE(528); - END_STATE(); - case 365: - if (lookahead == 'e') ADVANCE(529); - END_STATE(); - case 366: - if (lookahead == 'l') ADVANCE(530); - END_STATE(); - case 367: - ACCEPT_TOKEN(anon_sym_flat); - END_STATE(); - case 368: - if (lookahead == '_') ADVANCE(531); - if (lookahead == 'm') ADVANCE(532); - END_STATE(); - case 369: - if (lookahead == 'n') ADVANCE(533); - END_STATE(); - case 370: - ACCEPT_TOKEN(anon_sym_from); - END_STATE(); - case 371: - if (lookahead == 't') ADVANCE(534); - END_STATE(); - case 372: - if (lookahead == 't') ADVANCE(535); - END_STATE(); - case 373: - if (lookahead == 'o') ADVANCE(536); - END_STATE(); - case 374: - if (lookahead == 'a') ADVANCE(537); - END_STATE(); - case 375: - ACCEPT_TOKEN(anon_sym_goto); - END_STATE(); - case 376: - if (lookahead == 'p') ADVANCE(538); - END_STATE(); - case 377: - if (lookahead == 'l') ADVANCE(539); - END_STATE(); - case 378: - if (lookahead == 'p') ADVANCE(540); - END_STATE(); - case 379: - ACCEPT_TOKEN(anon_sym_impl); - if (lookahead == 'e') ADVANCE(541); - END_STATE(); - case 380: - if (lookahead == 'r') ADVANCE(542); - END_STATE(); - case 381: - if (lookahead == 'n') ADVANCE(543); - END_STATE(); - case 382: - if (lookahead == 't') ADVANCE(544); - END_STATE(); - case 383: - if (lookahead == 'a') ADVANCE(545); - END_STATE(); - case 384: - if (lookahead == 'r') ADVANCE(546); - END_STATE(); - case 385: - if (lookahead == 'r') ADVANCE(547); - END_STATE(); - case 386: - if (lookahead == 'u') ADVANCE(548); - END_STATE(); - case 387: - if (lookahead == 'a') ADVANCE(549); - END_STATE(); - case 388: - if (lookahead == 'l') ADVANCE(550); - if (lookahead == 't') ADVANCE(551); - END_STATE(); - case 389: - ACCEPT_TOKEN(anon_sym_loop); - END_STATE(); - case 390: - ACCEPT_TOKEN(anon_sym_lowp); - END_STATE(); - case 391: - if (lookahead == 'o') ADVANCE(552); - END_STATE(); - case 392: - if (lookahead == 'x') ADVANCE(553); - END_STATE(); - case 393: - if (lookahead == 'x') ADVANCE(554); - END_STATE(); - case 394: - if (lookahead == 'x') ADVANCE(555); - END_STATE(); - case 395: - if (lookahead == 'h') ADVANCE(556); - END_STATE(); - case 396: - if (lookahead == 'u') ADVANCE(557); - END_STATE(); - case 397: - ACCEPT_TOKEN(anon_sym_meta); - END_STATE(); - case 398: - if (lookahead == 'l') ADVANCE(558); - END_STATE(); - case 399: - ACCEPT_TOKEN(anon_sym_move); - END_STATE(); - case 400: - if (lookahead == 'b') ADVANCE(559); - END_STATE(); - case 401: - if (lookahead == 's') ADVANCE(560); - END_STATE(); - case 402: - if (lookahead == 'c') ADVANCE(561); - END_STATE(); - case 403: - if (lookahead == 'l') ADVANCE(562); - if (lookahead == 't') ADVANCE(563); - END_STATE(); - case 404: - if (lookahead == 'r') ADVANCE(564); - END_STATE(); - case 405: - ACCEPT_TOKEN(anon_sym_null); - if (lookahead == 'p') ADVANCE(565); - END_STATE(); - case 406: - if (lookahead == 'w') ADVANCE(566); - END_STATE(); - case 407: - if (lookahead == 'a') ADVANCE(567); - END_STATE(); - case 408: - if (lookahead == 'r') ADVANCE(568); - END_STATE(); - case 409: - if (lookahead == 'a') ADVANCE(569); - if (lookahead == 'o') ADVANCE(570); - END_STATE(); - case 410: - if (lookahead == 'i') ADVANCE(571); - END_STATE(); - case 411: - ACCEPT_TOKEN(anon_sym_pass); - END_STATE(); - case 412: - if (lookahead == 'h') ADVANCE(572); - END_STATE(); - case 413: - if (lookahead == 'p') ADVANCE(573); - END_STATE(); - case 414: - if (lookahead == 'l') ADVANCE(574); - END_STATE(); - case 415: - if (lookahead == 't') ADVANCE(575); - END_STATE(); - case 416: - if (lookahead == 'i') ADVANCE(576); - END_STATE(); - case 417: - if (lookahead == 'e') ADVANCE(577); - END_STATE(); - case 418: - ACCEPT_TOKEN(anon_sym_priv); - if (lookahead == 'a') ADVANCE(578); - END_STATE(); - case 419: - if (lookahead == 'e') ADVANCE(579); - END_STATE(); - case 420: - if (lookahead == 'i') ADVANCE(580); - END_STATE(); - case 421: - ACCEPT_TOKEN(anon_sym_quat); - END_STATE(); - case 422: - if (lookahead == 'l') ADVANCE(581); - END_STATE(); - case 423: - if (lookahead == 'i') ADVANCE(582); - END_STATE(); - case 424: - if (lookahead == 'i') ADVANCE(583); - END_STATE(); - case 425: - ACCEPT_TOKEN(anon_sym_read); - if (lookahead == '_') ADVANCE(584); - if (lookahead == 'o') ADVANCE(585); - END_STATE(); - case 426: - if (lookahead == 'r') ADVANCE(586); - END_STATE(); - case 427: - if (lookahead == 's') ADVANCE(587); - END_STATE(); - case 428: - if (lookahead == 't') ADVANCE(588); - END_STATE(); - case 429: - if (lookahead == 'i') ADVANCE(589); - END_STATE(); - case 430: - if (lookahead == 'u') ADVANCE(590); - END_STATE(); - case 431: - if (lookahead == 'r') ADVANCE(591); - END_STATE(); - case 432: - if (lookahead == 'r') ADVANCE(592); - END_STATE(); - case 433: - if (lookahead == 'f') ADVANCE(593); - if (lookahead == 's') ADVANCE(594); - if (lookahead == 'u') ADVANCE(595); - END_STATE(); - case 434: - if (lookahead == '1') ADVANCE(596); - if (lookahead == '3') ADVANCE(597); - if (lookahead == '8') ADVANCE(598); - END_STATE(); - case 435: - if (lookahead == 'l') ADVANCE(599); - END_STATE(); - case 436: - ACCEPT_TOKEN(anon_sym_self); - END_STATE(); - case 437: - if (lookahead == 'e') ADVANCE(600); - END_STATE(); - case 438: - if (lookahead == 'e') ADVANCE(601); - END_STATE(); - case 439: - ACCEPT_TOKEN(anon_sym_size); - if (lookahead == 'o') ADVANCE(602); - END_STATE(); - case 440: - if (lookahead == 't') ADVANCE(603); - END_STATE(); - case 441: - if (lookahead == 'm') ADVANCE(604); - END_STATE(); - case 442: - if (lookahead == 'i') ADVANCE(605); - END_STATE(); - case 443: - if (lookahead == 'a') ADVANCE(606); - END_STATE(); - case 444: - if (lookahead == 'c') ADVANCE(607); - END_STATE(); - case 445: - if (lookahead == 'o') ADVANCE(608); - END_STATE(); - case 446: - if (lookahead == 'r') ADVANCE(609); - END_STATE(); - case 447: - if (lookahead == 'c') ADVANCE(610); - END_STATE(); - case 448: - if (lookahead == 'e') ADVANCE(611); - END_STATE(); - case 449: - if (lookahead == 'l') ADVANCE(612); - END_STATE(); - case 450: - if (lookahead == 'u') ADVANCE(613); - END_STATE(); - case 451: - ACCEPT_TOKEN(anon_sym_this); - END_STATE(); - case 452: - if (lookahead == 'a') ADVANCE(614); - END_STATE(); - case 453: - if (lookahead == 'w') ADVANCE(615); - END_STATE(); - case 454: - if (lookahead == 't') ADVANCE(616); - END_STATE(); - case 455: - ACCEPT_TOKEN(anon_sym_true); - END_STATE(); - case 456: - ACCEPT_TOKEN(anon_sym_type); - if (lookahead == 'd') ADVANCE(617); - if (lookahead == 'i') ADVANCE(618); - if (lookahead == 'n') ADVANCE(619); - if (lookahead == 'o') ADVANCE(620); - END_STATE(); - case 457: - if (lookahead == 'o') ADVANCE(621); - END_STATE(); - case 458: - if (lookahead == 'n') ADVANCE(622); - END_STATE(); - case 459: - if (lookahead == 's') ADVANCE(623); - END_STATE(); - case 460: - if (lookahead == 'm') ADVANCE(624); - END_STATE(); - case 461: - if (lookahead == 'f') ADVANCE(625); - END_STATE(); - case 462: - if (lookahead == 'z') ADVANCE(626); - END_STATE(); - case 463: - if (lookahead == 'g') ADVANCE(627); - END_STATE(); - case 464: - if (lookahead == 'i') ADVANCE(628); - END_STATE(); - case 465: - ACCEPT_TOKEN(anon_sym_vec2); - END_STATE(); - case 466: - ACCEPT_TOKEN(anon_sym_vec3); - END_STATE(); - case 467: - ACCEPT_TOKEN(anon_sym_vec4); - END_STATE(); - case 468: - if (lookahead == 'e') ADVANCE(629); - END_STATE(); - case 469: - if (lookahead == 'u') ADVANCE(630); - END_STATE(); - case 470: - if (lookahead == 't') ADVANCE(631); - END_STATE(); - case 471: - ACCEPT_TOKEN(anon_sym_wgsl); - END_STATE(); - case 472: - if (lookahead == 'e') ADVANCE(632); - END_STATE(); - case 473: - if (lookahead == 'e') ADVANCE(633); - END_STATE(); - case 474: - ACCEPT_TOKEN(anon_sym_with); - END_STATE(); - case 475: - if (lookahead == 'g') ADVANCE(634); - END_STATE(); - case 476: - if (lookahead == 'e') ADVANCE(635); - END_STATE(); - case 477: - if (lookahead == 'd') ADVANCE(636); - END_STATE(); - case 478: - if (lookahead == 'l') ADVANCE(637); - END_STATE(); - case 479: - if (lookahead == 't') ADVANCE(638); - END_STATE(); - case 480: - if (lookahead == 'n') ADVANCE(639); - END_STATE(); - case 481: - if (lookahead == 't') ADVANCE(640); - END_STATE(); - case 482: - if (lookahead == 'h') ADVANCE(641); - END_STATE(); - case 483: - if (lookahead == 'a') ADVANCE(642); - END_STATE(); - case 484: - if (lookahead == 'e') ADVANCE(643); - END_STATE(); - case 485: - ACCEPT_TOKEN(anon_sym_alias); - END_STATE(); - case 486: - ACCEPT_TOKEN(anon_sym_align); - if (lookahead == 'a') ADVANCE(644); - if (lookahead == 'o') ADVANCE(645); - END_STATE(); - case 487: - ACCEPT_TOKEN(anon_sym_array); - END_STATE(); - case 488: - if (lookahead == 'r') ADVANCE(646); - END_STATE(); - case 489: - ACCEPT_TOKEN(anon_sym_async); - END_STATE(); - case 490: - if (lookahead == 'c') ADVANCE(647); - END_STATE(); - case 491: - if (lookahead == 'b') ADVANCE(648); - END_STATE(); - case 492: - ACCEPT_TOKEN(anon_sym_await); - END_STATE(); - case 493: - if (lookahead == 'e') ADVANCE(649); - END_STATE(); - case 494: - if (lookahead == 'u') ADVANCE(650); - END_STATE(); - case 495: - if (lookahead == 'n') ADVANCE(651); - END_STATE(); - case 496: - if (lookahead == 's') ADVANCE(652); - END_STATE(); - case 497: - ACCEPT_TOKEN(anon_sym_break); - END_STATE(); - case 498: - if (lookahead == 'i') ADVANCE(653); - END_STATE(); - case 499: - ACCEPT_TOKEN(anon_sym_catch); - END_STATE(); - case 500: - if (lookahead == 'r') ADVANCE(654); - END_STATE(); - case 501: - if (lookahead == 'o') ADVANCE(655); - END_STATE(); - case 502: - ACCEPT_TOKEN(anon_sym_class); - END_STATE(); - case 503: - if (lookahead == 'a') ADVANCE(656); - END_STATE(); - case 504: - if (lookahead == 't') ADVANCE(657); - END_STATE(); - case 505: - if (lookahead == 'e') ADVANCE(658); - END_STATE(); - case 506: - if (lookahead == 'e') ADVANCE(659); - END_STATE(); - case 507: - if (lookahead == 'n') ADVANCE(660); - END_STATE(); - case 508: - if (lookahead == 'n') ADVANCE(661); - END_STATE(); - case 509: - if (lookahead == 'l') ADVANCE(662); - END_STATE(); - case 510: - if (lookahead == 't') ADVANCE(663); - END_STATE(); - case 511: - if (lookahead == 'p') ADVANCE(664); - END_STATE(); - case 512: - ACCEPT_TOKEN(anon_sym_const); - if (lookahead == '_') ADVANCE(665); - if (lookahead == 'e') ADVANCE(666); - if (lookahead == 'i') ADVANCE(667); - END_STATE(); - case 513: - if (lookahead == 'n') ADVANCE(668); - END_STATE(); - case 514: - ACCEPT_TOKEN(anon_sym_crate); - END_STATE(); - case 515: - if (lookahead == 'g') ADVANCE(669); - END_STATE(); - case 516: - if (lookahead == 'y') ADVANCE(670); - END_STATE(); - case 517: - if (lookahead == 'l') ADVANCE(671); - END_STATE(); - case 518: - if (lookahead == 'e') ADVANCE(672); - END_STATE(); - case 519: - if (lookahead == 'e') ADVANCE(673); - END_STATE(); - case 520: - if (lookahead == 'r') ADVANCE(674); - END_STATE(); - case 521: - if (lookahead == 'i') ADVANCE(675); - END_STATE(); - case 522: - if (lookahead == 'e') ADVANCE(676); - END_STATE(); - case 523: - if (lookahead == 'c') ADVANCE(677); - END_STATE(); - case 524: - if (lookahead == 't') ADVANCE(678); - END_STATE(); - case 525: - if (lookahead == 'd') ADVANCE(679); - END_STATE(); - case 526: - if (lookahead == 'n') ADVANCE(680); - END_STATE(); - case 527: - if (lookahead == 'h') ADVANCE(681); - END_STATE(); - case 528: - ACCEPT_TOKEN(anon_sym_false); - END_STATE(); - case 529: - if (lookahead == 'r') ADVANCE(682); - END_STATE(); - case 530: - ACCEPT_TOKEN(anon_sym_final); - if (lookahead == 'l') ADVANCE(683); - END_STATE(); - case 531: - if (lookahead == 'd') ADVANCE(684); - END_STATE(); - case 532: - if (lookahead == 'e') ADVANCE(685); - END_STATE(); - case 533: - if (lookahead == 'd') ADVANCE(686); - END_STATE(); - case 534: - if (lookahead == '_') ADVANCE(687); - END_STATE(); - case 535: - if (lookahead == 'i') ADVANCE(688); - END_STATE(); - case 536: - if (lookahead == 'u') ADVANCE(689); - END_STATE(); - case 537: - if (lookahead == 'l') ADVANCE(690); - END_STATE(); - case 538: - ACCEPT_TOKEN(anon_sym_group); - if (lookahead == 's') ADVANCE(691); - END_STATE(); - case 539: - if (lookahead == 'e') ADVANCE(692); - END_STATE(); - case 540: - ACCEPT_TOKEN(anon_sym_highp); - END_STATE(); - case 541: - if (lookahead == 'm') ADVANCE(693); - END_STATE(); - case 542: - if (lookahead == 't') ADVANCE(694); - END_STATE(); - case 543: - if (lookahead == 'e') ADVANCE(695); - END_STATE(); - case 544: - ACCEPT_TOKEN(anon_sym_inout); - END_STATE(); - case 545: - if (lookahead == 'n') ADVANCE(696); - END_STATE(); - case 546: - if (lookahead == 'f') ADVANCE(697); - if (lookahead == 'p') ADVANCE(698); - END_STATE(); - case 547: - if (lookahead == 'i') ADVANCE(699); - END_STATE(); - case 548: - if (lookahead == 't') ADVANCE(700); - END_STATE(); - case 549: - if (lookahead == 'r') ADVANCE(701); - END_STATE(); - case 550: - if (lookahead == '_') ADVANCE(702); - END_STATE(); - case 551: - if (lookahead == 'i') ADVANCE(703); - END_STATE(); - case 552: - ACCEPT_TOKEN(anon_sym_macro); - if (lookahead == '_') ADVANCE(704); - END_STATE(); - case 553: - if (lookahead == '2') ADVANCE(705); - if (lookahead == '3') ADVANCE(706); - if (lookahead == '4') ADVANCE(707); - END_STATE(); - case 554: - if (lookahead == '2') ADVANCE(708); - if (lookahead == '3') ADVANCE(709); - if (lookahead == '4') ADVANCE(710); - END_STATE(); - case 555: - if (lookahead == '2') ADVANCE(711); - if (lookahead == '3') ADVANCE(712); - if (lookahead == '4') ADVANCE(713); - END_STATE(); - case 556: - ACCEPT_TOKEN(anon_sym_match); - END_STATE(); - case 557: - if (lookahead == 'm') ADVANCE(714); - END_STATE(); - case 558: - if (lookahead == 'e') ADVANCE(715); - END_STATE(); - case 559: - if (lookahead == 'l') ADVANCE(716); - END_STATE(); - case 560: - if (lookahead == 'p') ADVANCE(717); - END_STATE(); - case 561: - if (lookahead == 'e') ADVANCE(718); - END_STATE(); - case 562: - if (lookahead == 'i') ADVANCE(719); - END_STATE(); - case 563: - if (lookahead == 'e') ADVANCE(720); - END_STATE(); - case 564: - if (lookahead == 's') ADVANCE(721); - END_STATE(); - case 565: - if (lookahead == 't') ADVANCE(722); - END_STATE(); - case 566: - if (lookahead == 'o') ADVANCE(723); - END_STATE(); - case 567: - if (lookahead == 't') ADVANCE(724); - END_STATE(); - case 568: - if (lookahead == 'i') ADVANCE(725); - END_STATE(); - case 569: - if (lookahead == 'g') ADVANCE(726); - END_STATE(); - case 570: - if (lookahead == 'f') ADVANCE(727); - END_STATE(); - case 571: - if (lookahead == 't') ADVANCE(728); - END_STATE(); - case 572: - ACCEPT_TOKEN(anon_sym_patch); - END_STATE(); - case 573: - if (lookahead == 'e') ADVANCE(729); - END_STATE(); - case 574: - if (lookahead == 'f') ADVANCE(730); - END_STATE(); - case 575: - if (lookahead == 'i') ADVANCE(731); - END_STATE(); - case 576: - if (lookahead == 's') ADVANCE(732); - END_STATE(); - case 577: - if (lookahead == 'r') ADVANCE(733); - END_STATE(); - case 578: - if (lookahead == 't') ADVANCE(734); - END_STATE(); - case 579: - if (lookahead == 'c') ADVANCE(735); - END_STATE(); - case 580: - if (lookahead == 'c') ADVANCE(736); - END_STATE(); - case 581: - if (lookahead == 'o') ADVANCE(737); - END_STATE(); - case 582: - if (lookahead == 'n') ADVANCE(738); - END_STATE(); - case 583: - if (lookahead == 'n') ADVANCE(739); - END_STATE(); - case 584: - if (lookahead == 'w') ADVANCE(740); - END_STATE(); - case 585: - if (lookahead == 'n') ADVANCE(741); - END_STATE(); - case 586: - if (lookahead == 'd') ADVANCE(742); - END_STATE(); - case 587: - if (lookahead == 't') ADVANCE(743); - END_STATE(); - case 588: - if (lookahead == 'e') ADVANCE(744); - END_STATE(); - case 589: - if (lookahead == 'r') ADVANCE(745); - END_STATE(); - case 590: - if (lookahead == 'r') ADVANCE(746); - END_STATE(); - case 591: - if (lookahead == 'i') ADVANCE(747); - END_STATE(); - case 592: - if (lookahead == 'n') ADVANCE(748); - END_STATE(); - case 593: - if (lookahead == 'l') ADVANCE(749); - END_STATE(); - case 594: - if (lookahead == 'i') ADVANCE(750); - END_STATE(); - case 595: - if (lookahead == 'i') ADVANCE(751); - END_STATE(); - case 596: - if (lookahead == '6') ADVANCE(752); - END_STATE(); - case 597: - if (lookahead == '2') ADVANCE(753); - END_STATE(); - case 598: - if (lookahead == 's') ADVANCE(754); - if (lookahead == 'u') ADVANCE(755); - END_STATE(); - case 599: - if (lookahead == 'e') ADVANCE(756); - END_STATE(); - case 600: - if (lookahead == 'd') ADVANCE(757); - END_STATE(); - case 601: - if (lookahead == 'd') ADVANCE(758); - END_STATE(); - case 602: - if (lookahead == 'f') ADVANCE(759); - END_STATE(); - case 603: - if (lookahead == 'h') ADVANCE(760); - END_STATE(); - case 604: - ACCEPT_TOKEN(anon_sym_snorm); - END_STATE(); - case 605: - if (lookahead == 'c') ADVANCE(761); - END_STATE(); - case 606: - if (lookahead == 'g') ADVANCE(762); - END_STATE(); - case 607: - if (lookahead == 't') ADVANCE(763); - END_STATE(); - case 608: - if (lookahead == 'u') ADVANCE(764); - END_STATE(); - case 609: - ACCEPT_TOKEN(anon_sym_super); - END_STATE(); - case 610: - if (lookahead == 'h') ADVANCE(765); - END_STATE(); - case 611: - if (lookahead == 't') ADVANCE(766); - END_STATE(); - case 612: - if (lookahead == 'a') ADVANCE(767); - END_STATE(); - case 613: - if (lookahead == 'r') ADVANCE(768); - END_STATE(); - case 614: - if (lookahead == 'd') ADVANCE(769); - END_STATE(); - case 615: - ACCEPT_TOKEN(anon_sym_throw); - END_STATE(); - case 616: - ACCEPT_TOKEN(anon_sym_trait); - END_STATE(); - case 617: - if (lookahead == 'e') ADVANCE(770); - END_STATE(); - case 618: - if (lookahead == 'd') ADVANCE(771); - END_STATE(); - case 619: - if (lookahead == 'a') ADVANCE(772); - END_STATE(); - case 620: - if (lookahead == 'f') ADVANCE(773); - END_STATE(); - case 621: - if (lookahead == 'r') ADVANCE(774); - END_STATE(); - case 622: - ACCEPT_TOKEN(anon_sym_union); - END_STATE(); - case 623: - if (lookahead == 's') ADVANCE(775); - END_STATE(); - case 624: - ACCEPT_TOKEN(anon_sym_unorm); - END_STATE(); - case 625: - if (lookahead == 'e') ADVANCE(776); - END_STATE(); - case 626: - if (lookahead == 'e') ADVANCE(777); - END_STATE(); - case 627: - ACCEPT_TOKEN(anon_sym_using); - END_STATE(); - case 628: - if (lookahead == 'n') ADVANCE(778); - END_STATE(); - case 629: - if (lookahead == 'x') ADVANCE(779); - END_STATE(); - case 630: - if (lookahead == 'a') ADVANCE(780); - END_STATE(); - case 631: - if (lookahead == 'i') ADVANCE(781); - END_STATE(); - case 632: - ACCEPT_TOKEN(anon_sym_where); - END_STATE(); - case 633: - ACCEPT_TOKEN(anon_sym_while); - END_STATE(); - case 634: - if (lookahead == 'r') ADVANCE(782); - END_STATE(); - case 635: - ACCEPT_TOKEN(anon_sym_write); - if (lookahead == 'o') ADVANCE(783); - END_STATE(); - case 636: - ACCEPT_TOKEN(anon_sym_yield); - END_STATE(); - case 637: - if (lookahead == 'e') ADVANCE(784); - END_STATE(); - case 638: - if (lookahead == 'e') ADVANCE(785); - END_STATE(); - case 639: - if (lookahead == 'S') ADVANCE(786); - END_STATE(); - case 640: - if (lookahead == 'r') ADVANCE(787); - END_STATE(); - case 641: - if (lookahead == 'a') ADVANCE(788); - END_STATE(); - case 642: - if (lookahead == 'c') ADVANCE(789); - END_STATE(); - case 643: - ACCEPT_TOKEN(anon_sym_active); - END_STATE(); - case 644: - if (lookahead == 's') ADVANCE(790); - END_STATE(); - case 645: - if (lookahead == 'f') ADVANCE(791); - END_STATE(); - case 646: - if (lookahead == 'a') ADVANCE(792); - END_STATE(); - case 647: - ACCEPT_TOKEN(anon_sym_atomic); - END_STATE(); - case 648: - if (lookahead == 'u') ADVANCE(793); - END_STATE(); - case 649: - ACCEPT_TOKEN(anon_sym_become); - END_STATE(); - case 650: - if (lookahead == 'n') ADVANCE(794); - END_STATE(); - case 651: - if (lookahead == 'g') ADVANCE(795); - END_STATE(); - case 652: - if (lookahead == 't') ADVANCE(796); - END_STATE(); - case 653: - if (lookahead == 'n') ADVANCE(797); - END_STATE(); - case 654: - ACCEPT_TOKEN(anon_sym_center); - END_STATE(); - case 655: - if (lookahead == 'i') ADVANCE(798); - END_STATE(); - case 656: - if (lookahead == 'i') ADVANCE(799); - END_STATE(); - case 657: - if (lookahead == 'u') ADVANCE(800); - END_STATE(); - case 658: - if (lookahead == 'l') ADVANCE(801); - END_STATE(); - case 659: - if (lookahead == 'n') ADVANCE(802); - END_STATE(); - case 660: - if (lookahead == '_') ADVANCE(803); - END_STATE(); - case 661: - ACCEPT_TOKEN(anon_sym_common); - END_STATE(); - case 662: - if (lookahead == 'e') ADVANCE(804); - END_STATE(); - case 663: - if (lookahead == 'e') ADVANCE(805); - END_STATE(); - case 664: - if (lookahead == 't') ADVANCE(806); - END_STATE(); - case 665: - if (lookahead == 'a') ADVANCE(807); - if (lookahead == 'c') ADVANCE(808); - END_STATE(); - case 666: - if (lookahead == 'v') ADVANCE(809); - if (lookahead == 'x') ADVANCE(810); - END_STATE(); - case 667: - if (lookahead == 'n') ADVANCE(811); - END_STATE(); - case 668: - if (lookahead == 'u') ADVANCE(812); - END_STATE(); - case 669: - if (lookahead == 'e') ADVANCE(813); - END_STATE(); - case 670: - if (lookahead == 'p') ADVANCE(814); - END_STATE(); - case 671: - if (lookahead == 't') ADVANCE(815); - END_STATE(); - case 672: - ACCEPT_TOKEN(anon_sym_delete); - END_STATE(); - case 673: - ACCEPT_TOKEN(anon_sym_demote); - if (lookahead == '_') ADVANCE(816); - END_STATE(); - case 674: - if (lookahead == 'd') ADVANCE(817); - END_STATE(); - case 675: - if (lookahead == 'c') ADVANCE(818); - END_STATE(); - case 676: - ACCEPT_TOKEN(anon_sym_enable); - END_STATE(); - case 677: - if (lookahead == 'i') ADVANCE(819); - END_STATE(); - case 678: - ACCEPT_TOKEN(anon_sym_export); - END_STATE(); - case 679: - if (lookahead == 's') ADVANCE(820); - END_STATE(); - case 680: - ACCEPT_TOKEN(anon_sym_extern); - if (lookahead == 'a') ADVANCE(821); - END_STATE(); - case 681: - if (lookahead == 'r') ADVANCE(822); - END_STATE(); - case 682: - ACCEPT_TOKEN(anon_sym_filter); - END_STATE(); - case 683: - if (lookahead == 'y') ADVANCE(823); - END_STATE(); - case 684: - if (lookahead == 'e') ADVANCE(824); - END_STATE(); - case 685: - if (lookahead == 'n') ADVANCE(825); - END_STATE(); - case 686: - ACCEPT_TOKEN(anon_sym_friend); - END_STATE(); - case 687: - if (lookahead == 'f') ADVANCE(826); - END_STATE(); - case 688: - if (lookahead == 'o') ADVANCE(827); - END_STATE(); - case 689: - if (lookahead == 'p') ADVANCE(828); - END_STATE(); - case 690: - if (lookahead == '_') ADVANCE(829); - END_STATE(); - case 691: - if (lookahead == 'h') ADVANCE(830); - END_STATE(); - case 692: - ACCEPT_TOKEN(anon_sym_handle); - END_STATE(); - case 693: - if (lookahead == 'e') ADVANCE(831); - END_STATE(); - case 694: - ACCEPT_TOKEN(anon_sym_import); - END_STATE(); - case 695: - ACCEPT_TOKEN(anon_sym_inline); - END_STATE(); - case 696: - if (lookahead == 'c') ADVANCE(832); - END_STATE(); - case 697: - if (lookahead == 'a') ADVANCE(833); - END_STATE(); - case 698: - if (lookahead == 'o') ADVANCE(834); - END_STATE(); - case 699: - if (lookahead == 'a') ADVANCE(835); - END_STATE(); - case 700: - ACCEPT_TOKEN(anon_sym_layout); - END_STATE(); - case 701: - ACCEPT_TOKEN(anon_sym_linear); - END_STATE(); - case 702: - if (lookahead == 'i') ADVANCE(836); - END_STATE(); - case 703: - if (lookahead == 'o') ADVANCE(837); - END_STATE(); - case 704: - if (lookahead == 'r') ADVANCE(838); - END_STATE(); - case 705: - ACCEPT_TOKEN(anon_sym_mat2x2); - END_STATE(); - case 706: - ACCEPT_TOKEN(anon_sym_mat2x3); - END_STATE(); - case 707: - ACCEPT_TOKEN(anon_sym_mat2x4); - END_STATE(); - case 708: - ACCEPT_TOKEN(anon_sym_mat3x2); - END_STATE(); - case 709: - ACCEPT_TOKEN(anon_sym_mat3x3); - END_STATE(); - case 710: - ACCEPT_TOKEN(anon_sym_mat3x4); - END_STATE(); - case 711: - ACCEPT_TOKEN(anon_sym_mat4x2); - END_STATE(); - case 712: - ACCEPT_TOKEN(anon_sym_mat4x3); - END_STATE(); - case 713: - ACCEPT_TOKEN(anon_sym_mat4x4); - END_STATE(); - case 714: - if (lookahead == 'p') ADVANCE(839); - END_STATE(); - case 715: - ACCEPT_TOKEN(anon_sym_module); - END_STATE(); - case 716: - if (lookahead == 'e') ADVANCE(840); - END_STATE(); - case 717: - if (lookahead == 'a') ADVANCE(841); - END_STATE(); - case 718: - if (lookahead == 'p') ADVANCE(842); - END_STATE(); - case 719: - if (lookahead == 'n') ADVANCE(843); - END_STATE(); - case 720: - if (lookahead == 'r') ADVANCE(844); - END_STATE(); - case 721: - if (lookahead == 'p') ADVANCE(845); - END_STATE(); - case 722: - if (lookahead == 'r') ADVANCE(846); - END_STATE(); - case 723: - if (lookahead == 'r') ADVANCE(847); - END_STATE(); - case 724: - if (lookahead == 'o') ADVANCE(848); - END_STATE(); - case 725: - if (lookahead == 'd') ADVANCE(849); - END_STATE(); - case 726: - if (lookahead == 'e') ADVANCE(850); - END_STATE(); - case 727: - if (lookahead == 'f') ADVANCE(851); - END_STATE(); - case 728: - if (lookahead == 'i') ADVANCE(852); - END_STATE(); - case 729: - if (lookahead == 'c') ADVANCE(853); - END_STATE(); - case 730: - if (lookahead == 'r') ADVANCE(854); - END_STATE(); - case 731: - if (lookahead == 'o') ADVANCE(855); - END_STATE(); - case 732: - if (lookahead == 'e') ADVANCE(856); - if (lookahead == 'i') ADVANCE(857); - END_STATE(); - case 733: - if (lookahead == 'g') ADVANCE(858); - END_STATE(); - case 734: - if (lookahead == 'e') ADVANCE(859); - END_STATE(); - case 735: - if (lookahead == 't') ADVANCE(860); - END_STATE(); - case 736: - ACCEPT_TOKEN(anon_sym_public); - END_STATE(); - case 737: - if (lookahead == 'a') ADVANCE(861); - END_STATE(); - case 738: - if (lookahead == 't') ADVANCE(862); - END_STATE(); - case 739: - if (lookahead == 't') ADVANCE(863); - END_STATE(); - case 740: - if (lookahead == 'r') ADVANCE(864); - END_STATE(); - case 741: - if (lookahead == 'l') ADVANCE(865); - END_STATE(); - case 742: - if (lookahead == 'l') ADVANCE(866); - END_STATE(); - case 743: - if (lookahead == 'e') ADVANCE(867); - END_STATE(); - case 744: - if (lookahead == 'r') ADVANCE(868); - END_STATE(); - case 745: - if (lookahead == 'e') ADVANCE(869); - END_STATE(); - case 746: - if (lookahead == 'c') ADVANCE(870); - END_STATE(); - case 747: - if (lookahead == 'c') ADVANCE(871); - END_STATE(); - case 748: - ACCEPT_TOKEN(anon_sym_return); - END_STATE(); - case 749: - if (lookahead == 'o') ADVANCE(872); - END_STATE(); - case 750: - if (lookahead == 'n') ADVANCE(873); - END_STATE(); - case 751: - if (lookahead == 'n') ADVANCE(874); - END_STATE(); - case 752: - if (lookahead == 'f') ADVANCE(875); - if (lookahead == 's') ADVANCE(876); - if (lookahead == 'u') ADVANCE(877); - END_STATE(); - case 753: - if (lookahead == 'f') ADVANCE(878); - if (lookahead == 's') ADVANCE(879); - if (lookahead == 'u') ADVANCE(880); - END_STATE(); - case 754: - if (lookahead == 'i') ADVANCE(881); - if (lookahead == 'n') ADVANCE(882); - END_STATE(); - case 755: - if (lookahead == 'i') ADVANCE(883); - if (lookahead == 'n') ADVANCE(884); - END_STATE(); - case 756: - ACCEPT_TOKEN(anon_sym_sample); - if (lookahead == '_') ADVANCE(885); - if (lookahead == 'r') ADVANCE(886); - END_STATE(); - case 757: - ACCEPT_TOKEN(anon_sym_shared); - END_STATE(); - case 758: - ACCEPT_TOKEN(anon_sym_signed); - END_STATE(); - case 759: - ACCEPT_TOKEN(anon_sym_sizeof); - END_STATE(); - case 760: - ACCEPT_TOKEN(anon_sym_smooth); - END_STATE(); - case 761: - ACCEPT_TOKEN(anon_sym_static); - if (lookahead == '_') ADVANCE(887); - END_STATE(); - case 762: - if (lookahead == 'e') ADVANCE(888); - END_STATE(); - case 763: - ACCEPT_TOKEN(anon_sym_struct); - END_STATE(); - case 764: - if (lookahead == 't') ADVANCE(889); - END_STATE(); - case 765: - ACCEPT_TOKEN(anon_sym_switch); - END_STATE(); - case 766: - ACCEPT_TOKEN(anon_sym_target); - END_STATE(); - case 767: - if (lookahead == 't') ADVANCE(890); - END_STATE(); - case 768: - if (lookahead == 'e') ADVANCE(891); - END_STATE(); - case 769: - if (lookahead == '_') ADVANCE(892); - END_STATE(); - case 770: - if (lookahead == 'f') ADVANCE(893); - END_STATE(); - case 771: - ACCEPT_TOKEN(anon_sym_typeid); - END_STATE(); - case 772: - if (lookahead == 'm') ADVANCE(894); - END_STATE(); - case 773: - ACCEPT_TOKEN(anon_sym_typeof); - END_STATE(); - case 774: - if (lookahead == 'm') ADVANCE(895); - END_STATE(); - case 775: - ACCEPT_TOKEN(anon_sym_unless); - END_STATE(); - case 776: - ACCEPT_TOKEN(anon_sym_unsafe); - END_STATE(); - case 777: - if (lookahead == 'd') ADVANCE(896); - END_STATE(); - case 778: - if (lookahead == 'g') ADVANCE(897); - END_STATE(); - case 779: - ACCEPT_TOKEN(anon_sym_vertex); - if (lookahead == '_') ADVANCE(898); - END_STATE(); - case 780: - if (lookahead == 'l') ADVANCE(899); - END_STATE(); - case 781: - if (lookahead == 'l') ADVANCE(900); - END_STATE(); - case 782: - if (lookahead == 'o') ADVANCE(901); - END_STATE(); - case 783: - if (lookahead == 'n') ADVANCE(902); - END_STATE(); - case 784: - if (lookahead == 'S') ADVANCE(903); - END_STATE(); - case 785: - if (lookahead == 'S') ADVANCE(904); - END_STATE(); - case 786: - if (lookahead == 'h') ADVANCE(905); - END_STATE(); - case 787: - if (lookahead == 'y') ADVANCE(906); - END_STATE(); - case 788: - if (lookahead == 'd') ADVANCE(907); - END_STATE(); - case 789: - if (lookahead == 't') ADVANCE(908); - END_STATE(); - case 790: - ACCEPT_TOKEN(anon_sym_alignas); - END_STATE(); - case 791: - ACCEPT_TOKEN(anon_sym_alignof); - END_STATE(); - case 792: - if (lookahead == 'g') ADVANCE(909); - END_STATE(); - case 793: - if (lookahead == 't') ADVANCE(910); - END_STATE(); - case 794: - if (lookahead == 'o') ADVANCE(911); - END_STATE(); - case 795: - ACCEPT_TOKEN(anon_sym_binding); - if (lookahead == '_') ADVANCE(912); - END_STATE(); - case 796: - ACCEPT_TOKEN(anon_sym_bitcast); - END_STATE(); - case 797: - ACCEPT_TOKEN(anon_sym_builtin); - END_STATE(); - case 798: - if (lookahead == 'd') ADVANCE(913); - END_STATE(); - case 799: - if (lookahead == 't') ADVANCE(914); - END_STATE(); - case 800: - if (lookahead == 'r') ADVANCE(915); - END_STATE(); - case 801: - if (lookahead == 'd') ADVANCE(916); - END_STATE(); - case 802: - if (lookahead == 't') ADVANCE(917); - END_STATE(); - case 803: - if (lookahead == 'm') ADVANCE(918); - END_STATE(); - case 804: - ACCEPT_TOKEN(anon_sym_compile); - if (lookahead == '_') ADVANCE(919); - END_STATE(); - case 805: - ACCEPT_TOKEN(anon_sym_compute); - END_STATE(); - case 806: - ACCEPT_TOKEN(anon_sym_concept); - END_STATE(); - case 807: - if (lookahead == 's') ADVANCE(920); - END_STATE(); - case 808: - if (lookahead == 'a') ADVANCE(921); - END_STATE(); - case 809: - if (lookahead == 'a') ADVANCE(922); - END_STATE(); - case 810: - if (lookahead == 'p') ADVANCE(923); - END_STATE(); - case 811: - if (lookahead == 'i') ADVANCE(924); - END_STATE(); - case 812: - if (lookahead == 'e') ADVANCE(925); - if (lookahead == 'i') ADVANCE(926); - END_STATE(); - case 813: - if (lookahead == 'r') ADVANCE(927); - END_STATE(); - case 814: - if (lookahead == 'e') ADVANCE(928); - END_STATE(); - case 815: - ACCEPT_TOKEN(anon_sym_default); - END_STATE(); - case 816: - if (lookahead == 't') ADVANCE(929); - END_STATE(); - case 817: - ACCEPT_TOKEN(anon_sym_discard); - END_STATE(); - case 818: - if (lookahead == '_') ADVANCE(930); - END_STATE(); - case 819: - if (lookahead == 't') ADVANCE(931); - END_STATE(); - case 820: - ACCEPT_TOKEN(anon_sym_extends); - END_STATE(); - case 821: - if (lookahead == 'l') ADVANCE(932); - END_STATE(); - case 822: - if (lookahead == 'o') ADVANCE(933); - END_STATE(); - case 823: - ACCEPT_TOKEN(anon_sym_finally); - END_STATE(); - case 824: - if (lookahead == 'p') ADVANCE(934); - END_STATE(); - case 825: - if (lookahead == 't') ADVANCE(935); - END_STATE(); - case 826: - if (lookahead == 'a') ADVANCE(936); - END_STATE(); - case 827: - if (lookahead == 'n') ADVANCE(937); - END_STATE(); - case 828: - ACCEPT_TOKEN(anon_sym_fxgroup); - END_STATE(); - case 829: - if (lookahead == 'i') ADVANCE(938); - END_STATE(); - case 830: - if (lookahead == 'a') ADVANCE(939); - END_STATE(); - case 831: - if (lookahead == 'n') ADVANCE(940); - END_STATE(); - case 832: - if (lookahead == 'e') ADVANCE(941); - END_STATE(); - case 833: - if (lookahead == 'c') ADVANCE(942); - END_STATE(); - case 834: - if (lookahead == 'l') ADVANCE(943); - END_STATE(); - case 835: - if (lookahead == 'n') ADVANCE(944); - END_STATE(); - case 836: - if (lookahead == 'n') ADVANCE(945); - END_STATE(); - case 837: - if (lookahead == 'n') ADVANCE(946); - END_STATE(); - case 838: - if (lookahead == 'u') ADVANCE(947); - END_STATE(); - case 839: - ACCEPT_TOKEN(anon_sym_mediump); - END_STATE(); - case 840: - ACCEPT_TOKEN(anon_sym_mutable); - END_STATE(); - case 841: - if (lookahead == 'c') ADVANCE(948); - END_STATE(); - case 842: - if (lookahead == 't') ADVANCE(949); - END_STATE(); - case 843: - if (lookahead == 'e') ADVANCE(950); - END_STATE(); - case 844: - if (lookahead == 'p') ADVANCE(951); - END_STATE(); - case 845: - if (lookahead == 'e') ADVANCE(952); - END_STATE(); - case 846: - ACCEPT_TOKEN(anon_sym_nullptr); - END_STATE(); - case 847: - if (lookahead == 'k') ADVANCE(953); - END_STATE(); - case 848: - if (lookahead == 'r') ADVANCE(954); - END_STATE(); - case 849: - if (lookahead == 'e') ADVANCE(955); - END_STATE(); - case 850: - ACCEPT_TOKEN(anon_sym_package); - END_STATE(); - case 851: - if (lookahead == 's') ADVANCE(956); - END_STATE(); - case 852: - if (lookahead == 'o') ADVANCE(957); - END_STATE(); - case 853: - if (lookahead == 't') ADVANCE(958); - END_STATE(); - case 854: - if (lookahead == 'a') ADVANCE(959); - END_STATE(); - case 855: - if (lookahead == 'n') ADVANCE(960); - END_STATE(); - case 856: - ACCEPT_TOKEN(anon_sym_precise); - END_STATE(); - case 857: - if (lookahead == 'o') ADVANCE(961); - END_STATE(); - case 858: - if (lookahead == 'e') ADVANCE(962); - END_STATE(); - case 859: - ACCEPT_TOKEN(anon_sym_private); - END_STATE(); - case 860: - if (lookahead == 'e') ADVANCE(963); - END_STATE(); - case 861: - if (lookahead == 't') ADVANCE(964); - END_STATE(); - case 862: - ACCEPT_TOKEN(anon_sym_r32sint); - END_STATE(); - case 863: - ACCEPT_TOKEN(anon_sym_r32uint); - END_STATE(); - case 864: - if (lookahead == 'i') ADVANCE(965); - END_STATE(); - case 865: - if (lookahead == 'y') ADVANCE(966); - END_STATE(); - case 866: - if (lookahead == 'e') ADVANCE(967); - END_STATE(); - case 867: - if (lookahead == 'r') ADVANCE(968); - END_STATE(); - case 868: - if (lookahead == 'p') ADVANCE(969); - END_STATE(); - case 869: - if (lookahead == 's') ADVANCE(970); - END_STATE(); - case 870: - if (lookahead == 'e') ADVANCE(971); - END_STATE(); - case 871: - if (lookahead == 't') ADVANCE(972); - END_STATE(); - case 872: - if (lookahead == 'a') ADVANCE(973); - END_STATE(); - case 873: - if (lookahead == 't') ADVANCE(974); - END_STATE(); - case 874: - if (lookahead == 't') ADVANCE(975); - END_STATE(); - case 875: - if (lookahead == 'l') ADVANCE(976); - END_STATE(); - case 876: - if (lookahead == 'i') ADVANCE(977); - END_STATE(); - case 877: - if (lookahead == 'i') ADVANCE(978); - END_STATE(); - case 878: - if (lookahead == 'l') ADVANCE(979); - END_STATE(); - case 879: - if (lookahead == 'i') ADVANCE(980); - END_STATE(); - case 880: - if (lookahead == 'i') ADVANCE(981); - END_STATE(); - case 881: - if (lookahead == 'n') ADVANCE(982); - END_STATE(); - case 882: - if (lookahead == 'o') ADVANCE(983); - END_STATE(); - case 883: - if (lookahead == 'n') ADVANCE(984); - END_STATE(); - case 884: - if (lookahead == 'o') ADVANCE(985); - END_STATE(); - case 885: - if (lookahead == 'i') ADVANCE(986); - if (lookahead == 'm') ADVANCE(987); - END_STATE(); - case 886: - ACCEPT_TOKEN(anon_sym_sampler); - if (lookahead == '_') ADVANCE(988); - END_STATE(); - case 887: - if (lookahead == 'a') ADVANCE(989); - if (lookahead == 'c') ADVANCE(990); - END_STATE(); - case 888: - ACCEPT_TOKEN(anon_sym_storage); - END_STATE(); - case 889: - if (lookahead == 'i') ADVANCE(991); - END_STATE(); - case 890: - if (lookahead == 'e') ADVANCE(992); - END_STATE(); - case 891: - if (lookahead == '_') ADVANCE(993); - END_STATE(); - case 892: - if (lookahead == 'l') ADVANCE(994); - END_STATE(); - case 893: - ACCEPT_TOKEN(anon_sym_typedef); - END_STATE(); - case 894: - if (lookahead == 'e') ADVANCE(995); - END_STATE(); - case 895: - ACCEPT_TOKEN(anon_sym_uniform); - END_STATE(); - case 896: - ACCEPT_TOKEN(anon_sym_unsized); - END_STATE(); - case 897: - ACCEPT_TOKEN(anon_sym_varying); - END_STATE(); - case 898: - if (lookahead == 'i') ADVANCE(996); - END_STATE(); - case 899: - ACCEPT_TOKEN(anon_sym_virtual); - END_STATE(); - case 900: - if (lookahead == 'e') ADVANCE(997); - END_STATE(); - case 901: - if (lookahead == 'u') ADVANCE(998); - END_STATE(); - case 902: - if (lookahead == 'l') ADVANCE(999); - END_STATE(); - case 903: - if (lookahead == 'h') ADVANCE(1000); - END_STATE(); - case 904: - if (lookahead == 'h') ADVANCE(1001); - END_STATE(); - case 905: - if (lookahead == 'a') ADVANCE(1002); - END_STATE(); - case 906: - if (lookahead == 'S') ADVANCE(1003); - END_STATE(); - case 907: - if (lookahead == 'e') ADVANCE(1004); - END_STATE(); - case 908: - ACCEPT_TOKEN(anon_sym_abstract); - END_STATE(); - case 909: - if (lookahead == 'm') ADVANCE(1005); - END_STATE(); - case 910: - if (lookahead == 'e') ADVANCE(1006); - END_STATE(); - case 911: - if (lookahead == 'r') ADVANCE(1007); - END_STATE(); - case 912: - if (lookahead == 'a') ADVANCE(1008); - END_STATE(); - case 913: - ACCEPT_TOKEN(anon_sym_centroid); - END_STATE(); - case 914: - ACCEPT_TOKEN(anon_sym_co_await); - END_STATE(); - case 915: - if (lookahead == 'n') ADVANCE(1009); - END_STATE(); - case 916: - ACCEPT_TOKEN(anon_sym_co_yield); - END_STATE(); - case 917: - ACCEPT_TOKEN(anon_sym_coherent); - END_STATE(); - case 918: - if (lookahead == 'a') ADVANCE(1010); - END_STATE(); - case 919: - if (lookahead == 'f') ADVANCE(1011); - END_STATE(); - case 920: - if (lookahead == 's') ADVANCE(1012); - END_STATE(); - case 921: - if (lookahead == 's') ADVANCE(1013); - END_STATE(); - case 922: - if (lookahead == 'l') ADVANCE(1014); - END_STATE(); - case 923: - if (lookahead == 'r') ADVANCE(1015); - END_STATE(); - case 924: - if (lookahead == 't') ADVANCE(1016); - END_STATE(); - case 925: - ACCEPT_TOKEN(sym_continue_statement); - END_STATE(); - case 926: - if (lookahead == 'n') ADVANCE(1017); - END_STATE(); - case 927: - ACCEPT_TOKEN(anon_sym_debugger); - END_STATE(); - case 928: - ACCEPT_TOKEN(anon_sym_decltype); - END_STATE(); - case 929: - if (lookahead == 'o') ADVANCE(1018); - END_STATE(); - case 930: - if (lookahead == 'c') ADVANCE(1019); - END_STATE(); - case 931: - ACCEPT_TOKEN(anon_sym_explicit); - END_STATE(); - case 932: - ACCEPT_TOKEN(anon_sym_external); - END_STATE(); - case 933: - if (lookahead == 'u') ADVANCE(1020); - END_STATE(); - case 934: - if (lookahead == 't') ADVANCE(1021); - END_STATE(); - case 935: - ACCEPT_TOKEN(anon_sym_fragment); - END_STATE(); - case 936: - if (lookahead == 'c') ADVANCE(1022); - END_STATE(); - case 937: - ACCEPT_TOKEN(anon_sym_function); - END_STATE(); - case 938: - if (lookahead == 'n') ADVANCE(1023); - END_STATE(); - case 939: - if (lookahead == 'r') ADVANCE(1024); - END_STATE(); - case 940: - if (lookahead == 't') ADVANCE(1025); - END_STATE(); - case 941: - if (lookahead == '_') ADVANCE(1026); - if (lookahead == 'o') ADVANCE(1027); - END_STATE(); - case 942: - if (lookahead == 'e') ADVANCE(1028); - END_STATE(); - case 943: - if (lookahead == 'a') ADVANCE(1029); - END_STATE(); - case 944: - if (lookahead == 't') ADVANCE(1030); - END_STATE(); - case 945: - if (lookahead == 'v') ADVANCE(1031); - END_STATE(); - case 946: - ACCEPT_TOKEN(anon_sym_location); - END_STATE(); - case 947: - if (lookahead == 'l') ADVANCE(1032); - END_STATE(); - case 948: - if (lookahead == 'e') ADVANCE(1033); - END_STATE(); - case 949: - ACCEPT_TOKEN(anon_sym_noexcept); - END_STATE(); - case 950: - ACCEPT_TOKEN(anon_sym_noinline); - END_STATE(); - case 951: - if (lookahead == 'o') ADVANCE(1034); - END_STATE(); - case 952: - if (lookahead == 'c') ADVANCE(1035); - END_STATE(); - case 953: - if (lookahead == 'g') ADVANCE(1036); - END_STATE(); - case 954: - ACCEPT_TOKEN(anon_sym_operator); - END_STATE(); - case 955: - ACCEPT_TOKEN(anon_sym_override); - END_STATE(); - case 956: - if (lookahead == 'e') ADVANCE(1037); - END_STATE(); - case 957: - if (lookahead == 'n') ADVANCE(1038); - END_STATE(); - case 958: - if (lookahead == 'i') ADVANCE(1039); - END_STATE(); - case 959: - if (lookahead == 'g') ADVANCE(1040); - END_STATE(); - case 960: - ACCEPT_TOKEN(anon_sym_position); - END_STATE(); - case 961: - if (lookahead == 'n') ADVANCE(1041); - END_STATE(); - case 962: - ACCEPT_TOKEN(anon_sym_premerge); - END_STATE(); - case 963: - if (lookahead == 'd') ADVANCE(1042); - END_STATE(); - case 964: - ACCEPT_TOKEN(anon_sym_r32float); - END_STATE(); - case 965: - if (lookahead == 't') ADVANCE(1043); - END_STATE(); - case 966: - ACCEPT_TOKEN(anon_sym_readonly); - END_STATE(); - case 967: - if (lookahead == 's') ADVANCE(1044); - END_STATE(); - case 968: - ACCEPT_TOKEN(anon_sym_register); - END_STATE(); - case 969: - if (lookahead == 'r') ADVANCE(1045); - END_STATE(); - case 970: - ACCEPT_TOKEN(anon_sym_requires); - END_STATE(); - case 971: - ACCEPT_TOKEN(anon_sym_resource); - END_STATE(); - case 972: - ACCEPT_TOKEN(anon_sym_restrict); - END_STATE(); - case 973: - if (lookahead == 't') ADVANCE(1046); - END_STATE(); - case 974: - ACCEPT_TOKEN(anon_sym_rg32sint); - END_STATE(); - case 975: - ACCEPT_TOKEN(anon_sym_rg32uint); - END_STATE(); - case 976: - if (lookahead == 'o') ADVANCE(1047); - END_STATE(); - case 977: - if (lookahead == 'n') ADVANCE(1048); - END_STATE(); - case 978: - if (lookahead == 'n') ADVANCE(1049); - END_STATE(); - case 979: - if (lookahead == 'o') ADVANCE(1050); - END_STATE(); - case 980: - if (lookahead == 'n') ADVANCE(1051); - END_STATE(); - case 981: - if (lookahead == 'n') ADVANCE(1052); - END_STATE(); - case 982: - if (lookahead == 't') ADVANCE(1053); - END_STATE(); - case 983: - if (lookahead == 'r') ADVANCE(1054); - END_STATE(); - case 984: - if (lookahead == 't') ADVANCE(1055); - END_STATE(); - case 985: - if (lookahead == 'r') ADVANCE(1056); - END_STATE(); - case 986: - if (lookahead == 'n') ADVANCE(1057); - END_STATE(); - case 987: - if (lookahead == 'a') ADVANCE(1058); - END_STATE(); - case 988: - if (lookahead == 'c') ADVANCE(1059); - END_STATE(); - case 989: - if (lookahead == 's') ADVANCE(1060); - END_STATE(); - case 990: - if (lookahead == 'a') ADVANCE(1061); - END_STATE(); - case 991: - if (lookahead == 'n') ADVANCE(1062); - END_STATE(); - case 992: - ACCEPT_TOKEN(anon_sym_template); - END_STATE(); - case 993: - if (lookahead == '1') ADVANCE(1063); - if (lookahead == '2') ADVANCE(1064); - if (lookahead == '3') ADVANCE(1065); - if (lookahead == 'c') ADVANCE(1066); - if (lookahead == 'd') ADVANCE(1067); - if (lookahead == 'm') ADVANCE(1068); - if (lookahead == 's') ADVANCE(1069); - END_STATE(); - case 994: - if (lookahead == 'o') ADVANCE(1070); - END_STATE(); - case 995: - ACCEPT_TOKEN(anon_sym_typename); - END_STATE(); - case 996: - if (lookahead == 'n') ADVANCE(1071); - END_STATE(); - case 997: - ACCEPT_TOKEN(anon_sym_volatile); - END_STATE(); - case 998: - if (lookahead == 'p') ADVANCE(1072); - END_STATE(); - case 999: - if (lookahead == 'y') ADVANCE(1073); - END_STATE(); - case 1000: - if (lookahead == 'a') ADVANCE(1074); - END_STATE(); - case 1001: - if (lookahead == 'a') ADVANCE(1075); - END_STATE(); - case 1002: - if (lookahead == 'd') ADVANCE(1076); - END_STATE(); - case 1003: - if (lookahead == 'h') ADVANCE(1077); - END_STATE(); - case 1004: - if (lookahead == 'r') ADVANCE(1078); - END_STATE(); - case 1005: - if (lookahead == 'e') ADVANCE(1079); - END_STATE(); - case 1006: - ACCEPT_TOKEN(anon_sym_attribute); - END_STATE(); - case 1007: - if (lookahead == 'm') ADVANCE(1080); - END_STATE(); - case 1008: - if (lookahead == 'r') ADVANCE(1081); - END_STATE(); - case 1009: - ACCEPT_TOKEN(anon_sym_co_return); - END_STATE(); - case 1010: - if (lookahead == 'j') ADVANCE(1082); - END_STATE(); - case 1011: - if (lookahead == 'r') ADVANCE(1083); - END_STATE(); - case 1012: - if (lookahead == 'e') ADVANCE(1084); - END_STATE(); - case 1013: - if (lookahead == 't') ADVANCE(1085); - END_STATE(); - case 1014: - ACCEPT_TOKEN(anon_sym_consteval); - END_STATE(); - case 1015: - ACCEPT_TOKEN(anon_sym_constexpr); - END_STATE(); - case 1016: - ACCEPT_TOKEN(anon_sym_constinit); - END_STATE(); - case 1017: - if (lookahead == 'g') ADVANCE(1086); - END_STATE(); - case 1018: - if (lookahead == '_') ADVANCE(1087); - END_STATE(); - case 1019: - if (lookahead == 'a') ADVANCE(1088); - END_STATE(); - case 1020: - if (lookahead == 'g') ADVANCE(1089); - END_STATE(); - case 1021: - if (lookahead == 'h') ADVANCE(1090); - END_STATE(); - case 1022: - if (lookahead == 'i') ADVANCE(1091); - END_STATE(); - case 1023: - if (lookahead == 'v') ADVANCE(1092); - END_STATE(); - case 1024: - if (lookahead == 'e') ADVANCE(1093); - END_STATE(); - case 1025: - if (lookahead == 's') ADVANCE(1094); - END_STATE(); - case 1026: - if (lookahead == 'i') ADVANCE(1095); - END_STATE(); - case 1027: - if (lookahead == 'f') ADVANCE(1096); - END_STATE(); - case 1028: - ACCEPT_TOKEN(anon_sym_interface); - END_STATE(); - case 1029: - if (lookahead == 't') ADVANCE(1097); - END_STATE(); - case 1030: - ACCEPT_TOKEN(anon_sym_invariant); - END_STATE(); - case 1031: - if (lookahead == 'o') ADVANCE(1098); - END_STATE(); - case 1032: - if (lookahead == 'e') ADVANCE(1099); - END_STATE(); - case 1033: - ACCEPT_TOKEN(anon_sym_namespace); - END_STATE(); - case 1034: - if (lookahead == 'l') ADVANCE(1100); - END_STATE(); - case 1035: - if (lookahead == 't') ADVANCE(1101); - END_STATE(); - case 1036: - if (lookahead == 'r') ADVANCE(1102); - END_STATE(); - case 1037: - if (lookahead == 't') ADVANCE(1103); - END_STATE(); - case 1038: - ACCEPT_TOKEN(anon_sym_partition); - END_STATE(); - case 1039: - if (lookahead == 'v') ADVANCE(1104); - END_STATE(); - case 1040: - if (lookahead == 'm') ADVANCE(1105); - END_STATE(); - case 1041: - ACCEPT_TOKEN(anon_sym_precision); - END_STATE(); - case 1042: - ACCEPT_TOKEN(anon_sym_protected); - END_STATE(); - case 1043: - if (lookahead == 'e') ADVANCE(1106); - END_STATE(); - case 1044: - if (lookahead == 's') ADVANCE(1107); - END_STATE(); - case 1045: - if (lookahead == 'e') ADVANCE(1108); - END_STATE(); - case 1046: - ACCEPT_TOKEN(anon_sym_rg32float); - END_STATE(); - case 1047: - if (lookahead == 'a') ADVANCE(1109); - END_STATE(); - case 1048: - if (lookahead == 't') ADVANCE(1110); - END_STATE(); - case 1049: - if (lookahead == 't') ADVANCE(1111); - END_STATE(); - case 1050: - if (lookahead == 'a') ADVANCE(1112); - END_STATE(); - case 1051: - if (lookahead == 't') ADVANCE(1113); - END_STATE(); - case 1052: - if (lookahead == 't') ADVANCE(1114); - END_STATE(); - case 1053: - ACCEPT_TOKEN(anon_sym_rgba8sint); - END_STATE(); - case 1054: - if (lookahead == 'm') ADVANCE(1115); - END_STATE(); - case 1055: - ACCEPT_TOKEN(anon_sym_rgba8uint); - END_STATE(); - case 1056: - if (lookahead == 'm') ADVANCE(1116); - END_STATE(); - case 1057: - if (lookahead == 'd') ADVANCE(1117); - END_STATE(); - case 1058: - if (lookahead == 's') ADVANCE(1118); - END_STATE(); - case 1059: - if (lookahead == 'o') ADVANCE(1119); - END_STATE(); - case 1060: - if (lookahead == 's') ADVANCE(1120); - END_STATE(); - case 1061: - if (lookahead == 's') ADVANCE(1121); - END_STATE(); - case 1062: - if (lookahead == 'e') ADVANCE(1122); - END_STATE(); - case 1063: - if (lookahead == 'd') ADVANCE(1123); - END_STATE(); - case 1064: - if (lookahead == 'd') ADVANCE(1124); - END_STATE(); - case 1065: - if (lookahead == 'd') ADVANCE(1125); - END_STATE(); - case 1066: - if (lookahead == 'u') ADVANCE(1126); - END_STATE(); - case 1067: - if (lookahead == 'e') ADVANCE(1127); - END_STATE(); - case 1068: - if (lookahead == 'u') ADVANCE(1128); - END_STATE(); - case 1069: - if (lookahead == 't') ADVANCE(1129); - END_STATE(); - case 1070: - if (lookahead == 'c') ADVANCE(1130); - END_STATE(); - case 1071: - if (lookahead == 'd') ADVANCE(1131); - END_STATE(); - case 1072: - ACCEPT_TOKEN(anon_sym_workgroup); - if (lookahead == '_') ADVANCE(1132); - END_STATE(); - case 1073: - ACCEPT_TOKEN(anon_sym_writeonly); - END_STATE(); - case 1074: - if (lookahead == 'd') ADVANCE(1133); - END_STATE(); - case 1075: - if (lookahead == 'd') ADVANCE(1134); - END_STATE(); - case 1076: - if (lookahead == 'e') ADVANCE(1135); - END_STATE(); - case 1077: - if (lookahead == 'a') ADVANCE(1136); - END_STATE(); - case 1078: - ACCEPT_TOKEN(anon_sym_Hullshader); - END_STATE(); - case 1079: - if (lookahead == 'n') ADVANCE(1137); - END_STATE(); - case 1080: - ACCEPT_TOKEN(anon_sym_bgra8unorm); - END_STATE(); - case 1081: - if (lookahead == 'r') ADVANCE(1138); - END_STATE(); - case 1082: - if (lookahead == 'o') ADVANCE(1139); - END_STATE(); - case 1083: - if (lookahead == 'a') ADVANCE(1140); - END_STATE(); - case 1084: - if (lookahead == 'r') ADVANCE(1141); - END_STATE(); - case 1085: - ACCEPT_TOKEN(anon_sym_const_cast); - END_STATE(); - case 1086: - ACCEPT_TOKEN(anon_sym_continuing); - END_STATE(); - case 1087: - if (lookahead == 'h') ADVANCE(1142); - END_STATE(); - case 1088: - if (lookahead == 's') ADVANCE(1143); - END_STATE(); - case 1089: - if (lookahead == 'h') ADVANCE(1144); - END_STATE(); - case 1090: - ACCEPT_TOKEN(anon_sym_frag_depth); - END_STATE(); - case 1091: - if (lookahead == 'n') ADVANCE(1145); - END_STATE(); - case 1092: - if (lookahead == 'o') ADVANCE(1146); - END_STATE(); - case 1093: - if (lookahead == 'd') ADVANCE(1147); - END_STATE(); - case 1094: - ACCEPT_TOKEN(anon_sym_implements); - END_STATE(); - case 1095: - if (lookahead == 'n') ADVANCE(1148); - END_STATE(); - case 1096: - ACCEPT_TOKEN(anon_sym_instanceof); - END_STATE(); - case 1097: - if (lookahead == 'e') ADVANCE(1149); - END_STATE(); - case 1098: - if (lookahead == 'c') ADVANCE(1150); - END_STATE(); - case 1099: - if (lookahead == 's') ADVANCE(1151); - END_STATE(); - case 1100: - if (lookahead == 'a') ADVANCE(1152); - END_STATE(); - case 1101: - if (lookahead == 'i') ADVANCE(1153); - END_STATE(); - case 1102: - if (lookahead == 'o') ADVANCE(1154); - END_STATE(); - case 1103: - ACCEPT_TOKEN(anon_sym_packoffset); - END_STATE(); - case 1104: - if (lookahead == 'e') ADVANCE(1155); - END_STATE(); - case 1105: - if (lookahead == 'e') ADVANCE(1156); - END_STATE(); - case 1106: - ACCEPT_TOKEN(anon_sym_read_write); - END_STATE(); - case 1107: - ACCEPT_TOKEN(anon_sym_regardless); - END_STATE(); - case 1108: - if (lookahead == 't') ADVANCE(1157); - END_STATE(); - case 1109: - if (lookahead == 't') ADVANCE(1158); - END_STATE(); - case 1110: - ACCEPT_TOKEN(anon_sym_rgba16sint); - END_STATE(); - case 1111: - ACCEPT_TOKEN(anon_sym_rgba16uint); - END_STATE(); - case 1112: - if (lookahead == 't') ADVANCE(1159); - END_STATE(); - case 1113: - ACCEPT_TOKEN(anon_sym_rgba32sint); - END_STATE(); - case 1114: - ACCEPT_TOKEN(anon_sym_rgba32uint); - END_STATE(); - case 1115: - ACCEPT_TOKEN(anon_sym_rgba8snorm); - END_STATE(); - case 1116: - ACCEPT_TOKEN(anon_sym_rgba8unorm); - END_STATE(); - case 1117: - if (lookahead == 'e') ADVANCE(1160); - END_STATE(); - case 1118: - if (lookahead == 'k') ADVANCE(1161); - END_STATE(); - case 1119: - if (lookahead == 'm') ADVANCE(1162); - END_STATE(); - case 1120: - if (lookahead == 'e') ADVANCE(1163); - END_STATE(); - case 1121: - if (lookahead == 't') ADVANCE(1164); - END_STATE(); - case 1122: - ACCEPT_TOKEN(anon_sym_subroutine); - END_STATE(); - case 1123: - ACCEPT_TOKEN(anon_sym_texture_1d); - END_STATE(); - case 1124: - ACCEPT_TOKEN(anon_sym_texture_2d); - if (lookahead == '_') ADVANCE(1165); - END_STATE(); - case 1125: - ACCEPT_TOKEN(anon_sym_texture_3d); - END_STATE(); - case 1126: - if (lookahead == 'b') ADVANCE(1166); - END_STATE(); - case 1127: - if (lookahead == 'p') ADVANCE(1167); - END_STATE(); - case 1128: - if (lookahead == 'l') ADVANCE(1168); - END_STATE(); - case 1129: - if (lookahead == 'o') ADVANCE(1169); - END_STATE(); - case 1130: - if (lookahead == 'a') ADVANCE(1170); - END_STATE(); - case 1131: - if (lookahead == 'e') ADVANCE(1171); - END_STATE(); - case 1132: - if (lookahead == 'i') ADVANCE(1172); - if (lookahead == 's') ADVANCE(1173); - END_STATE(); - case 1133: - if (lookahead == 'e') ADVANCE(1174); - END_STATE(); - case 1134: - if (lookahead == 'e') ADVANCE(1175); - END_STATE(); - case 1135: - if (lookahead == 'r') ADVANCE(1176); - END_STATE(); - case 1136: - if (lookahead == 'd') ADVANCE(1177); - END_STATE(); - case 1137: - if (lookahead == 't') ADVANCE(1178); - END_STATE(); - case 1138: - if (lookahead == 'a') ADVANCE(1179); - END_STATE(); - case 1139: - if (lookahead == 'r') ADVANCE(1180); - END_STATE(); - case 1140: - if (lookahead == 'g') ADVANCE(1181); - END_STATE(); - case 1141: - if (lookahead == 't') ADVANCE(1182); - END_STATE(); - case 1142: - if (lookahead == 'e') ADVANCE(1183); - END_STATE(); - case 1143: - if (lookahead == 't') ADVANCE(1184); - END_STATE(); - case 1144: - ACCEPT_TOKEN(anon_sym_fallthrough); - END_STATE(); - case 1145: - if (lookahead == 'g') ADVANCE(1185); - END_STATE(); - case 1146: - if (lookahead == 'c') ADVANCE(1186); - END_STATE(); - case 1147: - ACCEPT_TOKEN(anon_sym_groupshared); - END_STATE(); - case 1148: - if (lookahead == 'd') ADVANCE(1187); - END_STATE(); - case 1149: - ACCEPT_TOKEN(anon_sym_interpolate); - END_STATE(); - case 1150: - if (lookahead == 'a') ADVANCE(1188); - END_STATE(); - case 1151: - ACCEPT_TOKEN(anon_sym_macro_rules); - END_STATE(); - case 1152: - if (lookahead == 't') ADVANCE(1189); - END_STATE(); - case 1153: - if (lookahead == 'v') ADVANCE(1190); - END_STATE(); - case 1154: - if (lookahead == 'u') ADVANCE(1191); - END_STATE(); - case 1155: - ACCEPT_TOKEN(anon_sym_perspective); - END_STATE(); - case 1156: - if (lookahead == 'n') ADVANCE(1192); - END_STATE(); - case 1157: - if (lookahead == '_') ADVANCE(1193); - END_STATE(); - case 1158: - ACCEPT_TOKEN(anon_sym_rgba16float); - END_STATE(); - case 1159: - ACCEPT_TOKEN(anon_sym_rgba32float); - END_STATE(); - case 1160: - if (lookahead == 'x') ADVANCE(1194); - END_STATE(); - case 1161: - ACCEPT_TOKEN(anon_sym_sample_mask); - END_STATE(); - case 1162: - if (lookahead == 'p') ADVANCE(1195); - END_STATE(); - case 1163: - if (lookahead == 'r') ADVANCE(1196); - END_STATE(); - case 1164: - ACCEPT_TOKEN(anon_sym_static_cast); - END_STATE(); - case 1165: - if (lookahead == 'a') ADVANCE(1197); - END_STATE(); - case 1166: - if (lookahead == 'e') ADVANCE(1198); - END_STATE(); - case 1167: - if (lookahead == 't') ADVANCE(1199); - END_STATE(); - case 1168: - if (lookahead == 't') ADVANCE(1200); - END_STATE(); - case 1169: - if (lookahead == 'r') ADVANCE(1201); - END_STATE(); - case 1170: - if (lookahead == 'l') ADVANCE(1202); - END_STATE(); - case 1171: - if (lookahead == 'x') ADVANCE(1203); - END_STATE(); - case 1172: - if (lookahead == 'd') ADVANCE(1204); - END_STATE(); - case 1173: - if (lookahead == 'i') ADVANCE(1205); - END_STATE(); - case 1174: - if (lookahead == 'r') ADVANCE(1206); - END_STATE(); - case 1175: - if (lookahead == 'r') ADVANCE(1207); - END_STATE(); - case 1176: - ACCEPT_TOKEN(anon_sym_DomainShader); - END_STATE(); - case 1177: - if (lookahead == 'e') ADVANCE(1208); - END_STATE(); - case 1178: - ACCEPT_TOKEN(anon_sym_asm_fragment); - END_STATE(); - case 1179: - if (lookahead == 'y') ADVANCE(1209); - END_STATE(); - case 1180: - ACCEPT_TOKEN(anon_sym_column_major); - END_STATE(); - case 1181: - if (lookahead == 'm') ADVANCE(1210); - END_STATE(); - case 1182: - ACCEPT_TOKEN(anon_sym_const_assert); - END_STATE(); - case 1183: - if (lookahead == 'l') ADVANCE(1211); - END_STATE(); - case 1184: - ACCEPT_TOKEN(anon_sym_dynamic_cast); - END_STATE(); - case 1185: - ACCEPT_TOKEN(anon_sym_front_facing); - END_STATE(); - case 1186: - if (lookahead == 'a') ADVANCE(1212); - END_STATE(); - case 1187: - if (lookahead == 'e') ADVANCE(1213); - END_STATE(); - case 1188: - if (lookahead == 't') ADVANCE(1214); - END_STATE(); - case 1189: - if (lookahead == 'i') ADVANCE(1215); - END_STATE(); - case 1190: - if (lookahead == 'e') ADVANCE(1216); - END_STATE(); - case 1191: - if (lookahead == 'p') ADVANCE(1217); - END_STATE(); - case 1192: - if (lookahead == 't') ADVANCE(1218); - END_STATE(); - case 1193: - if (lookahead == 'c') ADVANCE(1219); - END_STATE(); - case 1194: - ACCEPT_TOKEN(anon_sym_sample_index); - END_STATE(); - case 1195: - if (lookahead == 'a') ADVANCE(1220); - END_STATE(); - case 1196: - if (lookahead == 't') ADVANCE(1221); - END_STATE(); - case 1197: - if (lookahead == 'r') ADVANCE(1222); - END_STATE(); - case 1198: - ACCEPT_TOKEN(anon_sym_texture_cube); - if (lookahead == '_') ADVANCE(1223); - END_STATE(); - case 1199: - if (lookahead == 'h') ADVANCE(1224); - END_STATE(); - case 1200: - if (lookahead == 'i') ADVANCE(1225); - END_STATE(); - case 1201: - if (lookahead == 'a') ADVANCE(1226); - END_STATE(); - case 1202: - ACCEPT_TOKEN(anon_sym_thread_local); - END_STATE(); - case 1203: - ACCEPT_TOKEN(anon_sym_vertex_index); - END_STATE(); - case 1204: - ACCEPT_TOKEN(anon_sym_workgroup_id); - END_STATE(); - case 1205: - if (lookahead == 'z') ADVANCE(1227); - END_STATE(); - case 1206: - ACCEPT_TOKEN(anon_sym_CompileShader); - END_STATE(); - case 1207: - ACCEPT_TOKEN(anon_sym_ComputeShader); - END_STATE(); - case 1208: - if (lookahead == 'r') ADVANCE(1228); - END_STATE(); - case 1209: - ACCEPT_TOKEN(anon_sym_binding_array); - END_STATE(); - case 1210: - if (lookahead == 'e') ADVANCE(1229); - END_STATE(); - case 1211: - if (lookahead == 'p') ADVANCE(1230); - END_STATE(); - case 1212: - if (lookahead == 't') ADVANCE(1231); - END_STATE(); - case 1213: - if (lookahead == 'x') ADVANCE(1232); - END_STATE(); - case 1214: - if (lookahead == 'i') ADVANCE(1233); - END_STATE(); - case 1215: - if (lookahead == 'o') ADVANCE(1234); - END_STATE(); - case 1216: - ACCEPT_TOKEN(anon_sym_noperspective); - END_STATE(); - case 1217: - if (lookahead == 's') ADVANCE(1235); - END_STATE(); - case 1218: - ACCEPT_TOKEN(anon_sym_pixelfragment); - END_STATE(); - case 1219: - if (lookahead == 'a') ADVANCE(1236); - END_STATE(); - case 1220: - if (lookahead == 'r') ADVANCE(1237); - END_STATE(); - case 1221: - ACCEPT_TOKEN(anon_sym_static_assert); - END_STATE(); - case 1222: - if (lookahead == 'r') ADVANCE(1238); - END_STATE(); - case 1223: - if (lookahead == 'a') ADVANCE(1239); - END_STATE(); - case 1224: - if (lookahead == '_') ADVANCE(1240); - END_STATE(); - case 1225: - if (lookahead == 's') ADVANCE(1241); - END_STATE(); - case 1226: - if (lookahead == 'g') ADVANCE(1242); - END_STATE(); - case 1227: - if (lookahead == 'e') ADVANCE(1243); - END_STATE(); - case 1228: - ACCEPT_TOKEN(anon_sym_GeometryShader); - END_STATE(); - case 1229: - if (lookahead == 'n') ADVANCE(1244); - END_STATE(); - case 1230: - if (lookahead == 'e') ADVANCE(1245); - END_STATE(); - case 1231: - if (lookahead == 'i') ADVANCE(1246); - END_STATE(); - case 1232: - ACCEPT_TOKEN(anon_sym_instance_index); - END_STATE(); - case 1233: - if (lookahead == 'o') ADVANCE(1247); - END_STATE(); - case 1234: - if (lookahead == 'n') ADVANCE(1248); - END_STATE(); - case 1235: - ACCEPT_TOKEN(anon_sym_num_workgroups); - END_STATE(); - case 1236: - if (lookahead == 's') ADVANCE(1249); - END_STATE(); - case 1237: - if (lookahead == 'i') ADVANCE(1250); - END_STATE(); - case 1238: - if (lookahead == 'a') ADVANCE(1251); - END_STATE(); - case 1239: - if (lookahead == 'r') ADVANCE(1252); - END_STATE(); - case 1240: - if (lookahead == '2') ADVANCE(1253); - if (lookahead == 'c') ADVANCE(1254); - if (lookahead == 'm') ADVANCE(1255); - END_STATE(); - case 1241: - if (lookahead == 'a') ADVANCE(1256); - END_STATE(); - case 1242: - if (lookahead == 'e') ADVANCE(1257); - END_STATE(); - case 1243: - ACCEPT_TOKEN(anon_sym_workgroup_size); - END_STATE(); - case 1244: - if (lookahead == 't') ADVANCE(1258); - END_STATE(); - case 1245: - if (lookahead == 'r') ADVANCE(1259); - END_STATE(); - case 1246: - if (lookahead == 'o') ADVANCE(1260); - END_STATE(); - case 1247: - if (lookahead == 'n') ADVANCE(1261); - END_STATE(); - case 1248: - ACCEPT_TOKEN(anon_sym_nointerpolation); - END_STATE(); - case 1249: - if (lookahead == 't') ADVANCE(1262); - END_STATE(); - case 1250: - if (lookahead == 's') ADVANCE(1263); - END_STATE(); - case 1251: - if (lookahead == 'y') ADVANCE(1264); - END_STATE(); - case 1252: - if (lookahead == 'r') ADVANCE(1265); - END_STATE(); - case 1253: - if (lookahead == 'd') ADVANCE(1266); - END_STATE(); - case 1254: - if (lookahead == 'u') ADVANCE(1267); - END_STATE(); - case 1255: - if (lookahead == 'u') ADVANCE(1268); - END_STATE(); - case 1256: - if (lookahead == 'm') ADVANCE(1269); - END_STATE(); - case 1257: - if (lookahead == '_') ADVANCE(1270); - END_STATE(); - case 1258: - ACCEPT_TOKEN(anon_sym_compile_fragment); - END_STATE(); - case 1259: - ACCEPT_TOKEN(anon_sym_demote_to_helper); - END_STATE(); - case 1260: - if (lookahead == 'n') ADVANCE(1271); - END_STATE(); - case 1261: - if (lookahead == '_') ADVANCE(1272); - END_STATE(); - case 1262: - ACCEPT_TOKEN(anon_sym_reinterpret_cast); - END_STATE(); - case 1263: - if (lookahead == 'o') ADVANCE(1273); - END_STATE(); - case 1264: - ACCEPT_TOKEN(anon_sym_texture_2d_array); - END_STATE(); - case 1265: - if (lookahead == 'a') ADVANCE(1274); - END_STATE(); - case 1266: - ACCEPT_TOKEN(anon_sym_texture_depth_2d); - if (lookahead == '_') ADVANCE(1275); - END_STATE(); - case 1267: - if (lookahead == 'b') ADVANCE(1276); - END_STATE(); - case 1268: - if (lookahead == 'l') ADVANCE(1277); - END_STATE(); - case 1269: - if (lookahead == 'p') ADVANCE(1278); - END_STATE(); - case 1270: - if (lookahead == '1') ADVANCE(1279); - if (lookahead == '2') ADVANCE(1280); - if (lookahead == '3') ADVANCE(1281); - END_STATE(); - case 1271: - if (lookahead == '_') ADVANCE(1282); - END_STATE(); - case 1272: - if (lookahead == 'i') ADVANCE(1283); - END_STATE(); - case 1273: - if (lookahead == 'n') ADVANCE(1284); - END_STATE(); - case 1274: - if (lookahead == 'y') ADVANCE(1285); - END_STATE(); - case 1275: - if (lookahead == 'a') ADVANCE(1286); - END_STATE(); - case 1276: - if (lookahead == 'e') ADVANCE(1287); - END_STATE(); - case 1277: - if (lookahead == 't') ADVANCE(1288); - END_STATE(); - case 1278: - if (lookahead == 'l') ADVANCE(1289); - END_STATE(); - case 1279: - if (lookahead == 'd') ADVANCE(1290); - END_STATE(); - case 1280: - if (lookahead == 'd') ADVANCE(1291); - END_STATE(); - case 1281: - if (lookahead == 'd') ADVANCE(1292); - END_STATE(); - case 1282: - if (lookahead == 'i') ADVANCE(1293); - END_STATE(); - case 1283: - if (lookahead == 'd') ADVANCE(1294); - if (lookahead == 'n') ADVANCE(1295); - END_STATE(); - case 1284: - ACCEPT_TOKEN(anon_sym_sampler_comparison); - END_STATE(); - case 1285: - ACCEPT_TOKEN(anon_sym_texture_cube_array); - END_STATE(); - case 1286: - if (lookahead == 'r') ADVANCE(1296); - END_STATE(); - case 1287: - ACCEPT_TOKEN(anon_sym_texture_depth_cube); - if (lookahead == '_') ADVANCE(1297); - END_STATE(); - case 1288: - if (lookahead == 'i') ADVANCE(1298); - END_STATE(); - case 1289: - if (lookahead == 'e') ADVANCE(1299); - END_STATE(); - case 1290: - ACCEPT_TOKEN(anon_sym_texture_storage_1d); - END_STATE(); - case 1291: - ACCEPT_TOKEN(anon_sym_texture_storage_2d); - if (lookahead == '_') ADVANCE(1300); - END_STATE(); - case 1292: - ACCEPT_TOKEN(anon_sym_texture_storage_3d); - END_STATE(); - case 1293: - if (lookahead == 'd') ADVANCE(1301); - END_STATE(); - case 1294: - ACCEPT_TOKEN(anon_sym_local_invocation_id); - END_STATE(); - case 1295: - if (lookahead == 'd') ADVANCE(1302); - END_STATE(); - case 1296: - if (lookahead == 'r') ADVANCE(1303); - END_STATE(); - case 1297: - if (lookahead == 'a') ADVANCE(1304); - END_STATE(); - case 1298: - if (lookahead == 's') ADVANCE(1305); - END_STATE(); - case 1299: - if (lookahead == 'd') ADVANCE(1306); - END_STATE(); - case 1300: - if (lookahead == 'a') ADVANCE(1307); - END_STATE(); - case 1301: - ACCEPT_TOKEN(anon_sym_global_invocation_id); - END_STATE(); - case 1302: - if (lookahead == 'e') ADVANCE(1308); - END_STATE(); - case 1303: - if (lookahead == 'a') ADVANCE(1309); - END_STATE(); - case 1304: - if (lookahead == 'r') ADVANCE(1310); - END_STATE(); - case 1305: - if (lookahead == 'a') ADVANCE(1311); - END_STATE(); - case 1306: - if (lookahead == '_') ADVANCE(1312); - END_STATE(); - case 1307: - if (lookahead == 'r') ADVANCE(1313); - END_STATE(); - case 1308: - if (lookahead == 'x') ADVANCE(1314); - END_STATE(); - case 1309: - if (lookahead == 'y') ADVANCE(1315); - END_STATE(); - case 1310: - if (lookahead == 'r') ADVANCE(1316); - END_STATE(); - case 1311: - if (lookahead == 'm') ADVANCE(1317); - END_STATE(); - case 1312: - if (lookahead == '2') ADVANCE(1318); - END_STATE(); - case 1313: - if (lookahead == 'r') ADVANCE(1319); - END_STATE(); - case 1314: - ACCEPT_TOKEN(anon_sym_local_invocation_index); - END_STATE(); - case 1315: - ACCEPT_TOKEN(anon_sym_texture_depth_2d_array); - END_STATE(); - case 1316: - if (lookahead == 'a') ADVANCE(1320); - END_STATE(); - case 1317: - if (lookahead == 'p') ADVANCE(1321); - END_STATE(); - case 1318: - if (lookahead == 'd') ADVANCE(1322); - END_STATE(); - case 1319: - if (lookahead == 'a') ADVANCE(1323); - END_STATE(); - case 1320: - if (lookahead == 'y') ADVANCE(1324); - END_STATE(); - case 1321: - if (lookahead == 'l') ADVANCE(1325); - END_STATE(); - case 1322: - ACCEPT_TOKEN(sym_multisampled_texture_type); - END_STATE(); - case 1323: - if (lookahead == 'y') ADVANCE(1326); - END_STATE(); - case 1324: - ACCEPT_TOKEN(anon_sym_texture_depth_cube_array); - END_STATE(); - case 1325: - if (lookahead == 'e') ADVANCE(1327); - END_STATE(); - case 1326: - ACCEPT_TOKEN(anon_sym_texture_storage_2d_array); - END_STATE(); - case 1327: - if (lookahead == 'd') ADVANCE(1328); - END_STATE(); - case 1328: - if (lookahead == '_') ADVANCE(1329); - END_STATE(); - case 1329: - if (lookahead == '2') ADVANCE(1330); - END_STATE(); - case 1330: - if (lookahead == 'd') ADVANCE(1331); - END_STATE(); - case 1331: - ACCEPT_TOKEN(anon_sym_texture_depth_multisampled_2d); - END_STATE(); - default: - return false; - } -} - -static const TSLexMode ts_lex_modes[STATE_COUNT] = { - [0] = {.lex_state = 0, .external_lex_state = 1}, - [1] = {.lex_state = 0, .external_lex_state = 2}, - [2] = {.lex_state = 78, .external_lex_state = 2}, - [3] = {.lex_state = 78, .external_lex_state = 2}, - [4] = {.lex_state = 78, .external_lex_state = 2}, - [5] = {.lex_state = 78, .external_lex_state = 2}, - [6] = {.lex_state = 78, .external_lex_state = 2}, - [7] = {.lex_state = 78, .external_lex_state = 2}, - [8] = {.lex_state = 78, .external_lex_state = 2}, - [9] = {.lex_state = 78, .external_lex_state = 2}, - [10] = {.lex_state = 78, .external_lex_state = 2}, - [11] = {.lex_state = 78, .external_lex_state = 2}, - [12] = {.lex_state = 78, .external_lex_state = 2}, - [13] = {.lex_state = 78, .external_lex_state = 2}, - [14] = {.lex_state = 78, .external_lex_state = 2}, - [15] = {.lex_state = 78, .external_lex_state = 2}, - [16] = {.lex_state = 78, .external_lex_state = 2}, - [17] = {.lex_state = 78, .external_lex_state = 2}, - [18] = {.lex_state = 78, .external_lex_state = 2}, - [19] = {.lex_state = 78, .external_lex_state = 2}, - [20] = {.lex_state = 78, .external_lex_state = 2}, - [21] = {.lex_state = 78, .external_lex_state = 2}, - [22] = {.lex_state = 78, .external_lex_state = 2}, - [23] = {.lex_state = 78, .external_lex_state = 2}, - [24] = {.lex_state = 78, .external_lex_state = 2}, - [25] = {.lex_state = 78, .external_lex_state = 2}, - [26] = {.lex_state = 78, .external_lex_state = 2}, - [27] = {.lex_state = 78, .external_lex_state = 2}, - [28] = {.lex_state = 78, .external_lex_state = 2}, - [29] = {.lex_state = 78, .external_lex_state = 2}, - [30] = {.lex_state = 78, .external_lex_state = 2}, - [31] = {.lex_state = 78, .external_lex_state = 2}, - [32] = {.lex_state = 78, .external_lex_state = 2}, - [33] = {.lex_state = 78, .external_lex_state = 2}, - [34] = {.lex_state = 78, .external_lex_state = 2}, - [35] = {.lex_state = 78, .external_lex_state = 2}, - [36] = {.lex_state = 78, .external_lex_state = 2}, - [37] = {.lex_state = 78, .external_lex_state = 2}, - [38] = {.lex_state = 78, .external_lex_state = 2}, - [39] = {.lex_state = 78, .external_lex_state = 2}, - [40] = {.lex_state = 78, .external_lex_state = 2}, - [41] = {.lex_state = 78, .external_lex_state = 2}, - [42] = {.lex_state = 78, .external_lex_state = 2}, - [43] = {.lex_state = 78, .external_lex_state = 2}, - [44] = {.lex_state = 78, .external_lex_state = 2}, - [45] = {.lex_state = 78, .external_lex_state = 2}, - [46] = {.lex_state = 78, .external_lex_state = 2}, - [47] = {.lex_state = 78, .external_lex_state = 2}, - [48] = {.lex_state = 78, .external_lex_state = 2}, - [49] = {.lex_state = 78, .external_lex_state = 2}, - [50] = {.lex_state = 78, .external_lex_state = 2}, - [51] = {.lex_state = 78, .external_lex_state = 2}, - [52] = {.lex_state = 78, .external_lex_state = 2}, - [53] = {.lex_state = 78, .external_lex_state = 2}, - [54] = {.lex_state = 78, .external_lex_state = 2}, - [55] = {.lex_state = 78, .external_lex_state = 2}, - [56] = {.lex_state = 78, .external_lex_state = 2}, - [57] = {.lex_state = 78, .external_lex_state = 2}, - [58] = {.lex_state = 78, .external_lex_state = 2}, - [59] = {.lex_state = 78, .external_lex_state = 2}, - [60] = {.lex_state = 78, .external_lex_state = 2}, - [61] = {.lex_state = 78, .external_lex_state = 2}, - [62] = {.lex_state = 78, .external_lex_state = 2}, - [63] = {.lex_state = 78, .external_lex_state = 2}, - [64] = {.lex_state = 78, .external_lex_state = 2}, - [65] = {.lex_state = 78, .external_lex_state = 2}, - [66] = {.lex_state = 78, .external_lex_state = 2}, - [67] = {.lex_state = 78, .external_lex_state = 2}, - [68] = {.lex_state = 78, .external_lex_state = 2}, - [69] = {.lex_state = 78, .external_lex_state = 2}, - [70] = {.lex_state = 78, .external_lex_state = 2}, - [71] = {.lex_state = 78, .external_lex_state = 2}, - [72] = {.lex_state = 78, .external_lex_state = 2}, - [73] = {.lex_state = 78, .external_lex_state = 2}, - [74] = {.lex_state = 78, .external_lex_state = 2}, - [75] = {.lex_state = 78, .external_lex_state = 2}, - [76] = {.lex_state = 78, .external_lex_state = 2}, - [77] = {.lex_state = 78, .external_lex_state = 2}, - [78] = {.lex_state = 78, .external_lex_state = 2}, - [79] = {.lex_state = 78, .external_lex_state = 2}, - [80] = {.lex_state = 78, .external_lex_state = 2}, - [81] = {.lex_state = 78, .external_lex_state = 2}, - [82] = {.lex_state = 78, .external_lex_state = 2}, - [83] = {.lex_state = 78, .external_lex_state = 2}, - [84] = {.lex_state = 78, .external_lex_state = 2}, - [85] = {.lex_state = 78, .external_lex_state = 2}, - [86] = {.lex_state = 78, .external_lex_state = 2}, - [87] = {.lex_state = 78, .external_lex_state = 2}, - [88] = {.lex_state = 78, .external_lex_state = 2}, - [89] = {.lex_state = 78, .external_lex_state = 2}, - [90] = {.lex_state = 78, .external_lex_state = 2}, - [91] = {.lex_state = 78, .external_lex_state = 2}, - [92] = {.lex_state = 78, .external_lex_state = 2}, - [93] = {.lex_state = 78, .external_lex_state = 2}, - [94] = {.lex_state = 78, .external_lex_state = 2}, - [95] = {.lex_state = 78, .external_lex_state = 2}, - [96] = {.lex_state = 78, .external_lex_state = 2}, - [97] = {.lex_state = 78, .external_lex_state = 2}, - [98] = {.lex_state = 78, .external_lex_state = 2}, - [99] = {.lex_state = 78, .external_lex_state = 2}, - [100] = {.lex_state = 78, .external_lex_state = 2}, - [101] = {.lex_state = 78, .external_lex_state = 2}, - [102] = {.lex_state = 78, .external_lex_state = 2}, - [103] = {.lex_state = 78, .external_lex_state = 2}, - [104] = {.lex_state = 78, .external_lex_state = 2}, - [105] = {.lex_state = 78, .external_lex_state = 2}, - [106] = {.lex_state = 78, .external_lex_state = 2}, - [107] = {.lex_state = 78, .external_lex_state = 2}, - [108] = {.lex_state = 78, .external_lex_state = 2}, - [109] = {.lex_state = 0, .external_lex_state = 2}, - [110] = {.lex_state = 0, .external_lex_state = 2}, - [111] = {.lex_state = 0, .external_lex_state = 2}, - [112] = {.lex_state = 0, .external_lex_state = 2}, - [113] = {.lex_state = 0, .external_lex_state = 2}, - [114] = {.lex_state = 0, .external_lex_state = 2}, - [115] = {.lex_state = 0, .external_lex_state = 2}, - [116] = {.lex_state = 0, .external_lex_state = 2}, - [117] = {.lex_state = 0, .external_lex_state = 2}, - [118] = {.lex_state = 0, .external_lex_state = 2}, - [119] = {.lex_state = 0, .external_lex_state = 2}, - [120] = {.lex_state = 0, .external_lex_state = 2}, - [121] = {.lex_state = 0, .external_lex_state = 2}, - [122] = {.lex_state = 0, .external_lex_state = 2}, - [123] = {.lex_state = 0, .external_lex_state = 2}, - [124] = {.lex_state = 0, .external_lex_state = 2}, - [125] = {.lex_state = 0, .external_lex_state = 2}, - [126] = {.lex_state = 0, .external_lex_state = 2}, - [127] = {.lex_state = 0, .external_lex_state = 2}, - [128] = {.lex_state = 0, .external_lex_state = 2}, - [129] = {.lex_state = 0, .external_lex_state = 2}, - [130] = {.lex_state = 0, .external_lex_state = 2}, - [131] = {.lex_state = 0, .external_lex_state = 2}, - [132] = {.lex_state = 0, .external_lex_state = 2}, - [133] = {.lex_state = 0, .external_lex_state = 2}, - [134] = {.lex_state = 0, .external_lex_state = 2}, - [135] = {.lex_state = 0, .external_lex_state = 2}, - [136] = {.lex_state = 0, .external_lex_state = 2}, - [137] = {.lex_state = 0, .external_lex_state = 2}, - [138] = {.lex_state = 0, .external_lex_state = 2}, - [139] = {.lex_state = 0, .external_lex_state = 2}, - [140] = {.lex_state = 1, .external_lex_state = 3}, - [141] = {.lex_state = 1, .external_lex_state = 3}, - [142] = {.lex_state = 1, .external_lex_state = 3}, - [143] = {.lex_state = 1, .external_lex_state = 3}, - [144] = {.lex_state = 1, .external_lex_state = 3}, - [145] = {.lex_state = 1, .external_lex_state = 3}, - [146] = {.lex_state = 1, .external_lex_state = 3}, - [147] = {.lex_state = 1, .external_lex_state = 3}, - [148] = {.lex_state = 1, .external_lex_state = 3}, - [149] = {.lex_state = 1, .external_lex_state = 3}, - [150] = {.lex_state = 1, .external_lex_state = 3}, - [151] = {.lex_state = 1, .external_lex_state = 3}, - [152] = {.lex_state = 1, .external_lex_state = 3}, - [153] = {.lex_state = 1, .external_lex_state = 3}, - [154] = {.lex_state = 1, .external_lex_state = 3}, - [155] = {.lex_state = 1, .external_lex_state = 3}, - [156] = {.lex_state = 1, .external_lex_state = 3}, - [157] = {.lex_state = 1, .external_lex_state = 3}, - [158] = {.lex_state = 1, .external_lex_state = 3}, - [159] = {.lex_state = 1, .external_lex_state = 3}, - [160] = {.lex_state = 1, .external_lex_state = 3}, - [161] = {.lex_state = 0, .external_lex_state = 2}, - [162] = {.lex_state = 1, .external_lex_state = 3}, - [163] = {.lex_state = 1, .external_lex_state = 3}, - [164] = {.lex_state = 1, .external_lex_state = 3}, - [165] = {.lex_state = 1, .external_lex_state = 3}, - [166] = {.lex_state = 1, .external_lex_state = 3}, - [167] = {.lex_state = 1, .external_lex_state = 3}, - [168] = {.lex_state = 1, .external_lex_state = 4}, - [169] = {.lex_state = 1, .external_lex_state = 4}, - [170] = {.lex_state = 1, .external_lex_state = 4}, - [171] = {.lex_state = 1, .external_lex_state = 4}, - [172] = {.lex_state = 1, .external_lex_state = 4}, - [173] = {.lex_state = 1, .external_lex_state = 4}, - [174] = {.lex_state = 1, .external_lex_state = 4}, - [175] = {.lex_state = 1, .external_lex_state = 4}, - [176] = {.lex_state = 1, .external_lex_state = 4}, - [177] = {.lex_state = 1, .external_lex_state = 4}, - [178] = {.lex_state = 1, .external_lex_state = 4}, - [179] = {.lex_state = 0, .external_lex_state = 2}, - [180] = {.lex_state = 1, .external_lex_state = 4}, - [181] = {.lex_state = 1, .external_lex_state = 4}, - [182] = {.lex_state = 1, .external_lex_state = 3}, - [183] = {.lex_state = 1, .external_lex_state = 4}, - [184] = {.lex_state = 1, .external_lex_state = 4}, - [185] = {.lex_state = 1, .external_lex_state = 4}, - [186] = {.lex_state = 1, .external_lex_state = 4}, - [187] = {.lex_state = 1, .external_lex_state = 4}, - [188] = {.lex_state = 1, .external_lex_state = 4}, - [189] = {.lex_state = 1, .external_lex_state = 4}, - [190] = {.lex_state = 1, .external_lex_state = 4}, - [191] = {.lex_state = 0, .external_lex_state = 2}, - [192] = {.lex_state = 0, .external_lex_state = 2}, - [193] = {.lex_state = 1, .external_lex_state = 4}, - [194] = {.lex_state = 1, .external_lex_state = 4}, - [195] = {.lex_state = 2, .external_lex_state = 2}, - [196] = {.lex_state = 1, .external_lex_state = 4}, - [197] = {.lex_state = 1, .external_lex_state = 4}, - [198] = {.lex_state = 1, .external_lex_state = 4}, - [199] = {.lex_state = 1, .external_lex_state = 4}, - [200] = {.lex_state = 1, .external_lex_state = 4}, - [201] = {.lex_state = 1, .external_lex_state = 4}, - [202] = {.lex_state = 1, .external_lex_state = 4}, - [203] = {.lex_state = 0, .external_lex_state = 2}, - [204] = {.lex_state = 2, .external_lex_state = 2}, - [205] = {.lex_state = 1, .external_lex_state = 5}, - [206] = {.lex_state = 2, .external_lex_state = 2}, - [207] = {.lex_state = 2, .external_lex_state = 2}, - [208] = {.lex_state = 1, .external_lex_state = 5}, - [209] = {.lex_state = 1, .external_lex_state = 5}, - [210] = {.lex_state = 1, .external_lex_state = 5}, - [211] = {.lex_state = 0, .external_lex_state = 2}, - [212] = {.lex_state = 2, .external_lex_state = 2}, - [213] = {.lex_state = 1, .external_lex_state = 5}, - [214] = {.lex_state = 1, .external_lex_state = 4}, - [215] = {.lex_state = 1, .external_lex_state = 5}, - [216] = {.lex_state = 1, .external_lex_state = 5}, - [217] = {.lex_state = 2, .external_lex_state = 2}, - [218] = {.lex_state = 2, .external_lex_state = 2}, - [219] = {.lex_state = 2, .external_lex_state = 2}, - [220] = {.lex_state = 2, .external_lex_state = 2}, - [221] = {.lex_state = 2, .external_lex_state = 2}, - [222] = {.lex_state = 1, .external_lex_state = 5}, - [223] = {.lex_state = 2, .external_lex_state = 2}, - [224] = {.lex_state = 2, .external_lex_state = 2}, - [225] = {.lex_state = 2, .external_lex_state = 2}, - [226] = {.lex_state = 1, .external_lex_state = 5}, - [227] = {.lex_state = 1, .external_lex_state = 5}, - [228] = {.lex_state = 2, .external_lex_state = 2}, - [229] = {.lex_state = 1, .external_lex_state = 5}, - [230] = {.lex_state = 2, .external_lex_state = 2}, - [231] = {.lex_state = 2, .external_lex_state = 2}, - [232] = {.lex_state = 1, .external_lex_state = 5}, - [233] = {.lex_state = 1, .external_lex_state = 5}, - [234] = {.lex_state = 1, .external_lex_state = 5}, - [235] = {.lex_state = 1, .external_lex_state = 5}, - [236] = {.lex_state = 1, .external_lex_state = 5}, - [237] = {.lex_state = 2, .external_lex_state = 2}, - [238] = {.lex_state = 1, .external_lex_state = 5}, - [239] = {.lex_state = 1, .external_lex_state = 5}, - [240] = {.lex_state = 2, .external_lex_state = 2}, - [241] = {.lex_state = 2, .external_lex_state = 2}, - [242] = {.lex_state = 2, .external_lex_state = 2}, - [243] = {.lex_state = 1, .external_lex_state = 5}, - [244] = {.lex_state = 1, .external_lex_state = 5}, - [245] = {.lex_state = 2, .external_lex_state = 2}, - [246] = {.lex_state = 1, .external_lex_state = 5}, - [247] = {.lex_state = 1, .external_lex_state = 2}, - [248] = {.lex_state = 3, .external_lex_state = 6}, - [249] = {.lex_state = 3, .external_lex_state = 6}, - [250] = {.lex_state = 3, .external_lex_state = 6}, - [251] = {.lex_state = 1, .external_lex_state = 2}, - [252] = {.lex_state = 1, .external_lex_state = 2}, - [253] = {.lex_state = 1, .external_lex_state = 2}, - [254] = {.lex_state = 1, .external_lex_state = 2}, - [255] = {.lex_state = 3, .external_lex_state = 6}, - [256] = {.lex_state = 3, .external_lex_state = 6}, - [257] = {.lex_state = 1, .external_lex_state = 5}, - [258] = {.lex_state = 1, .external_lex_state = 5}, - [259] = {.lex_state = 1, .external_lex_state = 2}, - [260] = {.lex_state = 1, .external_lex_state = 2}, - [261] = {.lex_state = 1, .external_lex_state = 2}, - [262] = {.lex_state = 1, .external_lex_state = 5}, - [263] = {.lex_state = 3, .external_lex_state = 6}, - [264] = {.lex_state = 1, .external_lex_state = 5}, - [265] = {.lex_state = 1, .external_lex_state = 5}, - [266] = {.lex_state = 78, .external_lex_state = 2}, - [267] = {.lex_state = 1, .external_lex_state = 2}, - [268] = {.lex_state = 78, .external_lex_state = 2}, - [269] = {.lex_state = 3, .external_lex_state = 6}, - [270] = {.lex_state = 1, .external_lex_state = 2}, - [271] = {.lex_state = 1, .external_lex_state = 2}, - [272] = {.lex_state = 1, .external_lex_state = 2}, - [273] = {.lex_state = 78, .external_lex_state = 2}, - [274] = {.lex_state = 1, .external_lex_state = 2}, - [275] = {.lex_state = 1, .external_lex_state = 5}, - [276] = {.lex_state = 78, .external_lex_state = 2}, - [277] = {.lex_state = 1, .external_lex_state = 2}, - [278] = {.lex_state = 1, .external_lex_state = 2}, - [279] = {.lex_state = 3, .external_lex_state = 6}, - [280] = {.lex_state = 3, .external_lex_state = 6}, - [281] = {.lex_state = 1, .external_lex_state = 2}, - [282] = {.lex_state = 78, .external_lex_state = 2}, - [283] = {.lex_state = 1, .external_lex_state = 2}, - [284] = {.lex_state = 1, .external_lex_state = 2}, - [285] = {.lex_state = 1, .external_lex_state = 2}, - [286] = {.lex_state = 1, .external_lex_state = 2}, - [287] = {.lex_state = 1, .external_lex_state = 2}, - [288] = {.lex_state = 0, .external_lex_state = 2}, - [289] = {.lex_state = 78, .external_lex_state = 5}, - [290] = {.lex_state = 1, .external_lex_state = 2}, - [291] = {.lex_state = 1, .external_lex_state = 4}, - [292] = {.lex_state = 3, .external_lex_state = 6}, - [293] = {.lex_state = 1, .external_lex_state = 2}, - [294] = {.lex_state = 0, .external_lex_state = 2}, - [295] = {.lex_state = 1, .external_lex_state = 4}, - [296] = {.lex_state = 3, .external_lex_state = 6}, - [297] = {.lex_state = 1, .external_lex_state = 2}, - [298] = {.lex_state = 78, .external_lex_state = 2}, - [299] = {.lex_state = 1, .external_lex_state = 4}, - [300] = {.lex_state = 2, .external_lex_state = 7}, - [301] = {.lex_state = 3, .external_lex_state = 6}, - [302] = {.lex_state = 0, .external_lex_state = 2}, - [303] = {.lex_state = 1, .external_lex_state = 2}, - [304] = {.lex_state = 1, .external_lex_state = 2}, - [305] = {.lex_state = 1, .external_lex_state = 2}, - [306] = {.lex_state = 1, .external_lex_state = 2}, - [307] = {.lex_state = 78, .external_lex_state = 2}, - [308] = {.lex_state = 1, .external_lex_state = 2}, - [309] = {.lex_state = 3, .external_lex_state = 6}, - [310] = {.lex_state = 1, .external_lex_state = 2}, - [311] = {.lex_state = 2, .external_lex_state = 7}, - [312] = {.lex_state = 2, .external_lex_state = 7}, - [313] = {.lex_state = 2, .external_lex_state = 7}, - [314] = {.lex_state = 2, .external_lex_state = 7}, - [315] = {.lex_state = 3, .external_lex_state = 2}, - [316] = {.lex_state = 2, .external_lex_state = 7}, - [317] = {.lex_state = 1, .external_lex_state = 2}, - [318] = {.lex_state = 2, .external_lex_state = 7}, - [319] = {.lex_state = 2, .external_lex_state = 7}, - [320] = {.lex_state = 2, .external_lex_state = 7}, - [321] = {.lex_state = 2, .external_lex_state = 7}, - [322] = {.lex_state = 3, .external_lex_state = 2}, - [323] = {.lex_state = 2, .external_lex_state = 7}, - [324] = {.lex_state = 2, .external_lex_state = 7}, - [325] = {.lex_state = 3, .external_lex_state = 2}, - [326] = {.lex_state = 3, .external_lex_state = 2}, - [327] = {.lex_state = 0, .external_lex_state = 2}, - [328] = {.lex_state = 2, .external_lex_state = 7}, - [329] = {.lex_state = 2, .external_lex_state = 7}, - [330] = {.lex_state = 2, .external_lex_state = 7}, - [331] = {.lex_state = 2, .external_lex_state = 7}, - [332] = {.lex_state = 2, .external_lex_state = 7}, - [333] = {.lex_state = 2, .external_lex_state = 7}, - [334] = {.lex_state = 3, .external_lex_state = 2}, - [335] = {.lex_state = 3, .external_lex_state = 2}, - [336] = {.lex_state = 2, .external_lex_state = 7}, - [337] = {.lex_state = 2, .external_lex_state = 7}, - [338] = {.lex_state = 0, .external_lex_state = 2}, - [339] = {.lex_state = 2, .external_lex_state = 7}, - [340] = {.lex_state = 3, .external_lex_state = 2}, - [341] = {.lex_state = 0, .external_lex_state = 2}, - [342] = {.lex_state = 0, .external_lex_state = 2}, - [343] = {.lex_state = 0, .external_lex_state = 2}, - [344] = {.lex_state = 0, .external_lex_state = 2}, - [345] = {.lex_state = 0, .external_lex_state = 2}, - [346] = {.lex_state = 78, .external_lex_state = 2}, - [347] = {.lex_state = 0, .external_lex_state = 2}, - [348] = {.lex_state = 0, .external_lex_state = 2}, - [349] = {.lex_state = 78, .external_lex_state = 7}, - [350] = {.lex_state = 78, .external_lex_state = 7}, - [351] = {.lex_state = 78, .external_lex_state = 7}, - [352] = {.lex_state = 78, .external_lex_state = 7}, - [353] = {.lex_state = 78, .external_lex_state = 7}, - [354] = {.lex_state = 78, .external_lex_state = 7}, - [355] = {.lex_state = 0, .external_lex_state = 2}, - [356] = {.lex_state = 0, .external_lex_state = 2}, - [357] = {.lex_state = 0, .external_lex_state = 2}, - [358] = {.lex_state = 0, .external_lex_state = 2}, - [359] = {.lex_state = 0, .external_lex_state = 2}, - [360] = {.lex_state = 78, .external_lex_state = 2}, - [361] = {.lex_state = 78, .external_lex_state = 2}, - [362] = {.lex_state = 78, .external_lex_state = 2}, - [363] = {.lex_state = 78, .external_lex_state = 2}, - [364] = {.lex_state = 78, .external_lex_state = 7}, - [365] = {.lex_state = 78, .external_lex_state = 2}, - [366] = {.lex_state = 78, .external_lex_state = 2}, - [367] = {.lex_state = 0, .external_lex_state = 2}, - [368] = {.lex_state = 78, .external_lex_state = 2}, - [369] = {.lex_state = 78, .external_lex_state = 2}, - [370] = {.lex_state = 0, .external_lex_state = 2}, - [371] = {.lex_state = 0, .external_lex_state = 2}, - [372] = {.lex_state = 78, .external_lex_state = 2}, - [373] = {.lex_state = 78, .external_lex_state = 7}, - [374] = {.lex_state = 78, .external_lex_state = 2}, - [375] = {.lex_state = 0, .external_lex_state = 2}, - [376] = {.lex_state = 0, .external_lex_state = 2}, - [377] = {.lex_state = 0, .external_lex_state = 2}, - [378] = {.lex_state = 0, .external_lex_state = 2}, - [379] = {.lex_state = 78, .external_lex_state = 2}, - [380] = {.lex_state = 78, .external_lex_state = 2}, - [381] = {.lex_state = 78, .external_lex_state = 2}, - [382] = {.lex_state = 0, .external_lex_state = 2}, - [383] = {.lex_state = 78, .external_lex_state = 2}, - [384] = {.lex_state = 78, .external_lex_state = 2}, - [385] = {.lex_state = 78, .external_lex_state = 2}, - [386] = {.lex_state = 78, .external_lex_state = 2}, - [387] = {.lex_state = 78, .external_lex_state = 2}, - [388] = {.lex_state = 78, .external_lex_state = 2}, - [389] = {.lex_state = 78, .external_lex_state = 7}, - [390] = {.lex_state = 0, .external_lex_state = 2}, - [391] = {.lex_state = 0, .external_lex_state = 2}, - [392] = {.lex_state = 0, .external_lex_state = 2}, - [393] = {.lex_state = 0, .external_lex_state = 2}, - [394] = {.lex_state = 0, .external_lex_state = 2}, - [395] = {.lex_state = 0, .external_lex_state = 2}, - [396] = {.lex_state = 0, .external_lex_state = 2}, - [397] = {.lex_state = 78, .external_lex_state = 7}, - [398] = {.lex_state = 0, .external_lex_state = 2}, - [399] = {.lex_state = 0, .external_lex_state = 2}, - [400] = {.lex_state = 0, .external_lex_state = 2}, - [401] = {.lex_state = 0, .external_lex_state = 8}, - [402] = {.lex_state = 0, .external_lex_state = 2}, - [403] = {.lex_state = 0, .external_lex_state = 2}, - [404] = {.lex_state = 0, .external_lex_state = 2}, - [405] = {.lex_state = 0, .external_lex_state = 2}, - [406] = {.lex_state = 0, .external_lex_state = 2}, - [407] = {.lex_state = 0, .external_lex_state = 2}, - [408] = {.lex_state = 0, .external_lex_state = 2}, - [409] = {.lex_state = 0, .external_lex_state = 2}, - [410] = {.lex_state = 0, .external_lex_state = 2}, - [411] = {.lex_state = 78, .external_lex_state = 7}, - [412] = {.lex_state = 0, .external_lex_state = 2}, - [413] = {.lex_state = 1, .external_lex_state = 2}, - [414] = {.lex_state = 0, .external_lex_state = 2}, - [415] = {.lex_state = 0, .external_lex_state = 2}, - [416] = {.lex_state = 0, .external_lex_state = 2}, - [417] = {.lex_state = 78, .external_lex_state = 2}, - [418] = {.lex_state = 0, .external_lex_state = 2}, - [419] = {.lex_state = 0, .external_lex_state = 2}, - [420] = {.lex_state = 0, .external_lex_state = 2}, - [421] = {.lex_state = 0, .external_lex_state = 2}, - [422] = {.lex_state = 0, .external_lex_state = 2}, - [423] = {.lex_state = 0, .external_lex_state = 2}, - [424] = {.lex_state = 0, .external_lex_state = 2}, - [425] = {.lex_state = 0, .external_lex_state = 2}, - [426] = {.lex_state = 0, .external_lex_state = 2}, - [427] = {.lex_state = 0, .external_lex_state = 2}, - [428] = {.lex_state = 1, .external_lex_state = 2}, - [429] = {.lex_state = 0, .external_lex_state = 2}, - [430] = {.lex_state = 0, .external_lex_state = 2}, - [431] = {.lex_state = 0, .external_lex_state = 2}, - [432] = {.lex_state = 0, .external_lex_state = 2}, - [433] = {.lex_state = 0, .external_lex_state = 2}, - [434] = {.lex_state = 1, .external_lex_state = 2}, - [435] = {.lex_state = 0, .external_lex_state = 2}, - [436] = {.lex_state = 0, .external_lex_state = 2}, - [437] = {.lex_state = 0, .external_lex_state = 2}, - [438] = {.lex_state = 0, .external_lex_state = 2}, - [439] = {.lex_state = 0, .external_lex_state = 2}, - [440] = {.lex_state = 0, .external_lex_state = 2}, - [441] = {.lex_state = 0, .external_lex_state = 2}, - [442] = {.lex_state = 0, .external_lex_state = 2}, - [443] = {.lex_state = 0, .external_lex_state = 2}, - [444] = {.lex_state = 0, .external_lex_state = 2}, - [445] = {.lex_state = 0, .external_lex_state = 2}, - [446] = {.lex_state = 0, .external_lex_state = 2}, - [447] = {.lex_state = 0, .external_lex_state = 2}, - [448] = {.lex_state = 0, .external_lex_state = 2}, - [449] = {.lex_state = 78, .external_lex_state = 7}, - [450] = {.lex_state = 78, .external_lex_state = 7}, - [451] = {.lex_state = 0, .external_lex_state = 2}, - [452] = {.lex_state = 0, .external_lex_state = 2}, - [453] = {.lex_state = 0, .external_lex_state = 7}, - [454] = {.lex_state = 0, .external_lex_state = 7}, - [455] = {.lex_state = 0, .external_lex_state = 7}, - [456] = {.lex_state = 0, .external_lex_state = 7}, - [457] = {.lex_state = 0, .external_lex_state = 2}, - [458] = {.lex_state = 0, .external_lex_state = 2}, - [459] = {.lex_state = 0, .external_lex_state = 7}, - [460] = {.lex_state = 0, .external_lex_state = 7}, - [461] = {.lex_state = 0, .external_lex_state = 7}, - [462] = {.lex_state = 0, .external_lex_state = 7}, - [463] = {.lex_state = 0, .external_lex_state = 2}, - [464] = {.lex_state = 78, .external_lex_state = 2}, - [465] = {.lex_state = 0, .external_lex_state = 2}, - [466] = {.lex_state = 0, .external_lex_state = 7}, - [467] = {.lex_state = 0, .external_lex_state = 2}, - [468] = {.lex_state = 78, .external_lex_state = 2}, - [469] = {.lex_state = 0, .external_lex_state = 2}, - [470] = {.lex_state = 0, .external_lex_state = 2}, - [471] = {.lex_state = 0, .external_lex_state = 2}, - [472] = {.lex_state = 0, .external_lex_state = 2}, - [473] = {.lex_state = 0, .external_lex_state = 2}, - [474] = {.lex_state = 0, .external_lex_state = 2}, - [475] = {.lex_state = 0, .external_lex_state = 7}, - [476] = {.lex_state = 0, .external_lex_state = 2}, - [477] = {.lex_state = 0, .external_lex_state = 2}, - [478] = {.lex_state = 0, .external_lex_state = 2}, - [479] = {.lex_state = 0, .external_lex_state = 2}, - [480] = {.lex_state = 0, .external_lex_state = 2}, - [481] = {.lex_state = 0, .external_lex_state = 2}, - [482] = {.lex_state = 0, .external_lex_state = 2}, - [483] = {.lex_state = 0, .external_lex_state = 2}, - [484] = {.lex_state = 0, .external_lex_state = 2}, - [485] = {.lex_state = 0, .external_lex_state = 7}, - [486] = {.lex_state = 0, .external_lex_state = 2}, - [487] = {.lex_state = 0, .external_lex_state = 2}, - [488] = {.lex_state = 0, .external_lex_state = 2}, - [489] = {.lex_state = 0, .external_lex_state = 7}, - [490] = {.lex_state = 0, .external_lex_state = 2}, - [491] = {.lex_state = 0, .external_lex_state = 2}, - [492] = {.lex_state = 0, .external_lex_state = 7}, - [493] = {.lex_state = 78, .external_lex_state = 2}, - [494] = {.lex_state = 0, .external_lex_state = 2}, - [495] = {.lex_state = 0, .external_lex_state = 2}, - [496] = {.lex_state = 0, .external_lex_state = 2}, - [497] = {.lex_state = 0, .external_lex_state = 2}, - [498] = {.lex_state = 78, .external_lex_state = 2}, - [499] = {.lex_state = 0, .external_lex_state = 7}, - [500] = {.lex_state = 0, .external_lex_state = 2}, - [501] = {.lex_state = 0, .external_lex_state = 8}, - [502] = {.lex_state = 78, .external_lex_state = 7}, - [503] = {.lex_state = 0, .external_lex_state = 7}, - [504] = {.lex_state = 0, .external_lex_state = 2}, - [505] = {.lex_state = 0, .external_lex_state = 8}, - [506] = {.lex_state = 3, .external_lex_state = 2}, - [507] = {.lex_state = 0, .external_lex_state = 2}, - [508] = {.lex_state = 0, .external_lex_state = 2}, - [509] = {.lex_state = 0, .external_lex_state = 7}, - [510] = {.lex_state = 0, .external_lex_state = 2}, - [511] = {.lex_state = 78, .external_lex_state = 2}, - [512] = {.lex_state = 78, .external_lex_state = 2}, - [513] = {.lex_state = 0, .external_lex_state = 7}, - [514] = {.lex_state = 3, .external_lex_state = 2}, - [515] = {.lex_state = 0, .external_lex_state = 2}, - [516] = {.lex_state = 0, .external_lex_state = 2}, - [517] = {.lex_state = 78, .external_lex_state = 2}, - [518] = {.lex_state = 0, .external_lex_state = 7}, - [519] = {.lex_state = 0, .external_lex_state = 2}, - [520] = {.lex_state = 0, .external_lex_state = 2}, - [521] = {.lex_state = 78, .external_lex_state = 2}, - [522] = {.lex_state = 0, .external_lex_state = 8}, - [523] = {.lex_state = 0, .external_lex_state = 2}, - [524] = {.lex_state = 0, .external_lex_state = 2}, - [525] = {.lex_state = 0, .external_lex_state = 7}, - [526] = {.lex_state = 0, .external_lex_state = 7}, - [527] = {.lex_state = 0, .external_lex_state = 2}, - [528] = {.lex_state = 0, .external_lex_state = 7}, - [529] = {.lex_state = 0, .external_lex_state = 2}, - [530] = {.lex_state = 0, .external_lex_state = 2}, - [531] = {.lex_state = 0, .external_lex_state = 8}, - [532] = {.lex_state = 0, .external_lex_state = 2}, - [533] = {.lex_state = 0, .external_lex_state = 2}, - [534] = {.lex_state = 0, .external_lex_state = 2}, - [535] = {.lex_state = 0, .external_lex_state = 2}, - [536] = {.lex_state = 78, .external_lex_state = 2}, - [537] = {.lex_state = 0, .external_lex_state = 2}, - [538] = {.lex_state = 0, .external_lex_state = 2}, - [539] = {.lex_state = 0, .external_lex_state = 2}, - [540] = {.lex_state = 0, .external_lex_state = 2}, - [541] = {.lex_state = 0, .external_lex_state = 2}, - [542] = {.lex_state = 78, .external_lex_state = 2}, - [543] = {.lex_state = 0, .external_lex_state = 2}, - [544] = {.lex_state = 0, .external_lex_state = 2}, - [545] = {.lex_state = 0, .external_lex_state = 2}, - [546] = {.lex_state = 0, .external_lex_state = 2}, - [547] = {.lex_state = 0, .external_lex_state = 9}, - [548] = {.lex_state = 0, .external_lex_state = 2}, - [549] = {.lex_state = 0, .external_lex_state = 2}, - [550] = {.lex_state = 0, .external_lex_state = 2}, - [551] = {.lex_state = 0, .external_lex_state = 2}, - [552] = {.lex_state = 0, .external_lex_state = 2}, - [553] = {.lex_state = 0, .external_lex_state = 2}, - [554] = {.lex_state = 0, .external_lex_state = 2}, - [555] = {.lex_state = 0, .external_lex_state = 2}, - [556] = {.lex_state = 0, .external_lex_state = 2}, - [557] = {.lex_state = 0, .external_lex_state = 2}, - [558] = {.lex_state = 0, .external_lex_state = 8}, - [559] = {.lex_state = 0, .external_lex_state = 8}, - [560] = {.lex_state = 0, .external_lex_state = 2}, - [561] = {.lex_state = 0, .external_lex_state = 8}, - [562] = {.lex_state = 0, .external_lex_state = 8}, - [563] = {.lex_state = 0, .external_lex_state = 2}, - [564] = {.lex_state = 0, .external_lex_state = 2}, - [565] = {.lex_state = 78, .external_lex_state = 2}, - [566] = {.lex_state = 78, .external_lex_state = 2}, - [567] = {.lex_state = 78, .external_lex_state = 2}, - [568] = {.lex_state = 0, .external_lex_state = 2}, - [569] = {.lex_state = 0, .external_lex_state = 2}, - [570] = {.lex_state = 0, .external_lex_state = 2}, - [571] = {.lex_state = 0, .external_lex_state = 2}, - [572] = {.lex_state = 0, .external_lex_state = 2}, - [573] = {.lex_state = 0, .external_lex_state = 2}, - [574] = {.lex_state = 0, .external_lex_state = 7}, - [575] = {.lex_state = 0, .external_lex_state = 2}, - [576] = {.lex_state = 0, .external_lex_state = 2}, - [577] = {.lex_state = 0, .external_lex_state = 2}, - [578] = {.lex_state = 0, .external_lex_state = 7}, - [579] = {.lex_state = 0, .external_lex_state = 7}, - [580] = {.lex_state = 0, .external_lex_state = 7}, - [581] = {.lex_state = 0, .external_lex_state = 2}, - [582] = {.lex_state = 0, .external_lex_state = 7}, - [583] = {.lex_state = 0, .external_lex_state = 2}, - [584] = {.lex_state = 0, .external_lex_state = 7}, - [585] = {.lex_state = 0, .external_lex_state = 7}, - [586] = {.lex_state = 0, .external_lex_state = 2}, - [587] = {.lex_state = 0, .external_lex_state = 2}, - [588] = {.lex_state = 0, .external_lex_state = 2}, - [589] = {.lex_state = 0, .external_lex_state = 2}, - [590] = {.lex_state = 0, .external_lex_state = 2}, - [591] = {.lex_state = 0, .external_lex_state = 2}, - [592] = {.lex_state = 78, .external_lex_state = 2}, - [593] = {.lex_state = 78, .external_lex_state = 2}, - [594] = {.lex_state = 78, .external_lex_state = 2}, - [595] = {.lex_state = 0, .external_lex_state = 2}, - [596] = {.lex_state = 0, .external_lex_state = 2}, - [597] = {.lex_state = 0, .external_lex_state = 2}, - [598] = {.lex_state = 0, .external_lex_state = 2}, - [599] = {.lex_state = 0, .external_lex_state = 2}, - [600] = {.lex_state = 0, .external_lex_state = 2}, - [601] = {.lex_state = 0, .external_lex_state = 2}, - [602] = {.lex_state = 0, .external_lex_state = 2}, - [603] = {.lex_state = 0, .external_lex_state = 2}, - [604] = {.lex_state = 0, .external_lex_state = 2}, - [605] = {.lex_state = 0, .external_lex_state = 2}, - [606] = {.lex_state = 0, .external_lex_state = 2}, - [607] = {.lex_state = 0, .external_lex_state = 7}, - [608] = {.lex_state = 0, .external_lex_state = 9}, - [609] = {.lex_state = 0, .external_lex_state = 2}, - [610] = {.lex_state = 0, .external_lex_state = 2}, - [611] = {.lex_state = 0, .external_lex_state = 7}, - [612] = {.lex_state = 0, .external_lex_state = 7}, - [613] = {.lex_state = 0, .external_lex_state = 2}, - [614] = {.lex_state = 0, .external_lex_state = 2}, - [615] = {.lex_state = 0, .external_lex_state = 9}, - [616] = {.lex_state = 0, .external_lex_state = 2}, - [617] = {.lex_state = 0, .external_lex_state = 2}, - [618] = {.lex_state = 0, .external_lex_state = 2}, - [619] = {.lex_state = 0, .external_lex_state = 9}, - [620] = {.lex_state = 0, .external_lex_state = 2}, - [621] = {.lex_state = 0, .external_lex_state = 9}, - [622] = {.lex_state = 0, .external_lex_state = 9}, - [623] = {.lex_state = 0, .external_lex_state = 9}, - [624] = {.lex_state = 0, .external_lex_state = 9}, - [625] = {.lex_state = 0, .external_lex_state = 9}, - [626] = {.lex_state = 0, .external_lex_state = 9}, - [627] = {.lex_state = 0, .external_lex_state = 9}, - [628] = {.lex_state = 0, .external_lex_state = 8}, - [629] = {.lex_state = 0, .external_lex_state = 7}, - [630] = {.lex_state = 0, .external_lex_state = 9}, - [631] = {.lex_state = 0, .external_lex_state = 2}, - [632] = {.lex_state = 78, .external_lex_state = 2}, - [633] = {.lex_state = 0, .external_lex_state = 2}, - [634] = {.lex_state = 78, .external_lex_state = 2}, - [635] = {.lex_state = 0, .external_lex_state = 2}, - [636] = {.lex_state = 0, .external_lex_state = 7}, - [637] = {.lex_state = 0, .external_lex_state = 2}, - [638] = {.lex_state = 0, .external_lex_state = 2}, - [639] = {.lex_state = 0, .external_lex_state = 7}, - [640] = {.lex_state = 0, .external_lex_state = 2}, - [641] = {.lex_state = 0, .external_lex_state = 2}, - [642] = {.lex_state = 0, .external_lex_state = 7}, - [643] = {.lex_state = 0, .external_lex_state = 2}, - [644] = {.lex_state = 0, .external_lex_state = 2}, - [645] = {.lex_state = 0, .external_lex_state = 7}, - [646] = {.lex_state = 0, .external_lex_state = 2}, - [647] = {.lex_state = 0, .external_lex_state = 8}, - [648] = {.lex_state = 0, .external_lex_state = 8}, - [649] = {.lex_state = 0, .external_lex_state = 9}, - [650] = {.lex_state = 0, .external_lex_state = 2}, - [651] = {.lex_state = 0, .external_lex_state = 2}, - [652] = {.lex_state = 0, .external_lex_state = 2}, - [653] = {.lex_state = 0, .external_lex_state = 2}, - [654] = {.lex_state = 0, .external_lex_state = 2}, - [655] = {.lex_state = 0, .external_lex_state = 2}, - [656] = {.lex_state = 0, .external_lex_state = 9}, - [657] = {.lex_state = 0, .external_lex_state = 9}, - [658] = {.lex_state = 0, .external_lex_state = 9}, - [659] = {.lex_state = 0, .external_lex_state = 8}, - [660] = {.lex_state = 0, .external_lex_state = 2}, - [661] = {.lex_state = 0, .external_lex_state = 7}, - [662] = {.lex_state = 0, .external_lex_state = 8}, - [663] = {.lex_state = 0, .external_lex_state = 8}, - [664] = {.lex_state = 0, .external_lex_state = 8}, - [665] = {.lex_state = 0, .external_lex_state = 8}, - [666] = {.lex_state = 0, .external_lex_state = 9}, - [667] = {.lex_state = 0, .external_lex_state = 8}, - [668] = {.lex_state = 0, .external_lex_state = 8}, - [669] = {.lex_state = 0, .external_lex_state = 9}, - [670] = {.lex_state = 0, .external_lex_state = 9}, - [671] = {.lex_state = 0, .external_lex_state = 9}, - [672] = {.lex_state = 0, .external_lex_state = 9}, - [673] = {.lex_state = 0, .external_lex_state = 9}, - [674] = {.lex_state = 0, .external_lex_state = 9}, -}; - -enum { - ts_external_token__block_comment = 0, - ts_external_token__disambiguate_template = 1, - ts_external_token__template_args_start = 2, - ts_external_token__template_args_end = 3, - ts_external_token__less_than = 4, - ts_external_token__less_than_equal = 5, - ts_external_token__shift_left = 6, - ts_external_token__shift_left_assign = 7, - ts_external_token__greater_than = 8, - ts_external_token__greater_than_equal = 9, - ts_external_token__shift_right = 10, - ts_external_token__shift_right_assign = 11, - ts_external_token__error_sentinel = 12, -}; - -static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { - [ts_external_token__block_comment] = sym__block_comment, - [ts_external_token__disambiguate_template] = sym__disambiguate_template, - [ts_external_token__template_args_start] = sym__template_args_start, - [ts_external_token__template_args_end] = sym__template_args_end, - [ts_external_token__less_than] = sym__less_than, - [ts_external_token__less_than_equal] = sym__less_than_equal, - [ts_external_token__shift_left] = sym__shift_left, - [ts_external_token__shift_left_assign] = sym__shift_left_assign, - [ts_external_token__greater_than] = sym__greater_than, - [ts_external_token__greater_than_equal] = sym__greater_than_equal, - [ts_external_token__shift_right] = sym__shift_right, - [ts_external_token__shift_right_assign] = sym__shift_right_assign, - [ts_external_token__error_sentinel] = sym__error_sentinel, -}; - -static const bool ts_external_scanner_states[10][EXTERNAL_TOKEN_COUNT] = { - [1] = { - [ts_external_token__block_comment] = true, - [ts_external_token__disambiguate_template] = true, - [ts_external_token__template_args_start] = true, - [ts_external_token__template_args_end] = true, - [ts_external_token__less_than] = true, - [ts_external_token__less_than_equal] = true, - [ts_external_token__shift_left] = true, - [ts_external_token__shift_left_assign] = true, - [ts_external_token__greater_than] = true, - [ts_external_token__greater_than_equal] = true, - [ts_external_token__shift_right] = true, - [ts_external_token__shift_right_assign] = true, - [ts_external_token__error_sentinel] = true, - }, - [2] = { - [ts_external_token__block_comment] = true, - }, - [3] = { - [ts_external_token__block_comment] = true, - [ts_external_token__less_than] = true, - [ts_external_token__less_than_equal] = true, - [ts_external_token__shift_left] = true, - [ts_external_token__greater_than] = true, - [ts_external_token__greater_than_equal] = true, - [ts_external_token__shift_right] = true, - }, - [4] = { - [ts_external_token__block_comment] = true, - [ts_external_token__less_than] = true, - [ts_external_token__less_than_equal] = true, - [ts_external_token__greater_than] = true, - [ts_external_token__greater_than_equal] = true, - }, - [5] = { - [ts_external_token__block_comment] = true, - [ts_external_token__shift_left] = true, - [ts_external_token__shift_right] = true, - }, - [6] = { - [ts_external_token__block_comment] = true, - [ts_external_token__shift_left_assign] = true, - [ts_external_token__shift_right_assign] = true, - }, - [7] = { - [ts_external_token__block_comment] = true, - [ts_external_token__template_args_end] = true, - }, - [8] = { - [ts_external_token__block_comment] = true, - [ts_external_token__template_args_start] = true, - }, - [9] = { - [ts_external_token__block_comment] = true, - [ts_external_token__disambiguate_template] = true, - }, -}; - -static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { - [0] = { - [ts_builtin_sym_end] = ACTIONS(1), - [sym_ident_pattern_token] = ACTIONS(1), - [anon_sym_SEMI] = ACTIONS(1), - [anon_sym_true] = ACTIONS(1), - [anon_sym_false] = ACTIONS(1), - [aux_sym_decimal_int_literal_token1] = ACTIONS(1), - [aux_sym_decimal_int_literal_token2] = ACTIONS(1), - [sym_hex_int_literal] = ACTIONS(1), - [aux_sym_decimal_float_literal_token1] = ACTIONS(1), - [aux_sym_decimal_float_literal_token2] = ACTIONS(1), - [aux_sym_decimal_float_literal_token3] = ACTIONS(1), - [aux_sym_decimal_float_literal_token4] = ACTIONS(1), - [aux_sym_decimal_float_literal_token5] = ACTIONS(1), - [aux_sym_hex_float_literal_token1] = ACTIONS(1), - [aux_sym_hex_float_literal_token2] = ACTIONS(1), - [aux_sym_hex_float_literal_token3] = ACTIONS(1), - [anon_sym_AT] = ACTIONS(1), - [anon_sym_align] = ACTIONS(1), - [anon_sym_LPAREN] = ACTIONS(1), - [anon_sym_binding] = ACTIONS(1), - [anon_sym_builtin] = ACTIONS(1), - [anon_sym_const] = ACTIONS(1), - [anon_sym_group] = ACTIONS(1), - [anon_sym_id] = ACTIONS(1), - [anon_sym_interpolate] = ACTIONS(1), - [anon_sym_COMMA] = ACTIONS(1), - [anon_sym_invariant] = ACTIONS(1), - [anon_sym_location] = ACTIONS(1), - [anon_sym_size] = ACTIONS(1), - [anon_sym_workgroup_size] = ACTIONS(1), - [anon_sym_vertex] = ACTIONS(1), - [anon_sym_fragment] = ACTIONS(1), - [anon_sym_compute] = ACTIONS(1), - [anon_sym_RPAREN] = ACTIONS(1), - [anon_sym_array] = ACTIONS(1), - [anon_sym_struct] = ACTIONS(1), - [anon_sym_LBRACE] = ACTIONS(1), - [anon_sym_RBRACE] = ACTIONS(1), - [anon_sym_COLON] = ACTIONS(1), - [anon_sym_sampler] = ACTIONS(1), - [anon_sym_sampler_comparison] = ACTIONS(1), - [anon_sym_texture_1d] = ACTIONS(1), - [anon_sym_texture_2d] = ACTIONS(1), - [anon_sym_texture_2d_array] = ACTIONS(1), - [anon_sym_texture_3d] = ACTIONS(1), - [anon_sym_texture_cube] = ACTIONS(1), - [anon_sym_texture_cube_array] = ACTIONS(1), - [sym_multisampled_texture_type] = ACTIONS(1), - [anon_sym_texture_storage_1d] = ACTIONS(1), - [anon_sym_texture_storage_2d] = ACTIONS(1), - [anon_sym_texture_storage_2d_array] = ACTIONS(1), - [anon_sym_texture_storage_3d] = ACTIONS(1), - [anon_sym_texture_depth_2d] = ACTIONS(1), - [anon_sym_texture_depth_2d_array] = ACTIONS(1), - [anon_sym_texture_depth_cube] = ACTIONS(1), - [anon_sym_texture_depth_cube_array] = ACTIONS(1), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(1), - [anon_sym_alias] = ACTIONS(1), - [anon_sym_EQ] = ACTIONS(1), - [anon_sym_bool] = ACTIONS(1), - [anon_sym_f32] = ACTIONS(1), - [anon_sym_f16] = ACTIONS(1), - [anon_sym_i32] = ACTIONS(1), - [anon_sym_u32] = ACTIONS(1), - [anon_sym_ptr] = ACTIONS(1), - [anon_sym_atomic] = ACTIONS(1), - [anon_sym_vec2] = ACTIONS(1), - [anon_sym_vec3] = ACTIONS(1), - [anon_sym_vec4] = ACTIONS(1), - [anon_sym_mat2x2] = ACTIONS(1), - [anon_sym_mat2x3] = ACTIONS(1), - [anon_sym_mat2x4] = ACTIONS(1), - [anon_sym_mat3x2] = ACTIONS(1), - [anon_sym_mat3x3] = ACTIONS(1), - [anon_sym_mat3x4] = ACTIONS(1), - [anon_sym_mat4x2] = ACTIONS(1), - [anon_sym_mat4x3] = ACTIONS(1), - [anon_sym_mat4x4] = ACTIONS(1), - [anon_sym_let] = ACTIONS(1), - [anon_sym_var] = ACTIONS(1), - [anon_sym_override] = ACTIONS(1), - [anon_sym_bitcast] = ACTIONS(1), - [anon_sym_LBRACK] = ACTIONS(1), - [anon_sym_RBRACK] = ACTIONS(1), - [anon_sym_DOT] = ACTIONS(1), - [anon_sym_DASH] = ACTIONS(1), - [anon_sym_BANG] = ACTIONS(1), - [anon_sym_TILDE] = ACTIONS(1), - [anon_sym_STAR] = ACTIONS(1), - [anon_sym_AMP] = ACTIONS(1), - [anon_sym_SLASH] = ACTIONS(1), - [anon_sym_PERCENT] = ACTIONS(1), - [anon_sym_PLUS] = ACTIONS(1), - [anon_sym_EQ_EQ] = ACTIONS(1), - [anon_sym_BANG_EQ] = ACTIONS(1), - [anon_sym_AMP_AMP] = ACTIONS(1), - [anon_sym_PIPE_PIPE] = ACTIONS(1), - [anon_sym_PIPE] = ACTIONS(1), - [anon_sym_CARET] = ACTIONS(1), - [anon_sym__] = ACTIONS(1), - [anon_sym_PLUS_EQ] = ACTIONS(1), - [anon_sym_DASH_EQ] = ACTIONS(1), - [anon_sym_STAR_EQ] = ACTIONS(1), - [anon_sym_SLASH_EQ] = ACTIONS(1), - [anon_sym_PERCENT_EQ] = ACTIONS(1), - [anon_sym_AMP_EQ] = ACTIONS(1), - [anon_sym_PIPE_EQ] = ACTIONS(1), - [anon_sym_CARET_EQ] = ACTIONS(1), - [anon_sym_PLUS_PLUS] = ACTIONS(1), - [anon_sym_if] = ACTIONS(1), - [anon_sym_else] = ACTIONS(1), - [anon_sym_switch] = ACTIONS(1), - [anon_sym_case] = ACTIONS(1), - [anon_sym_default] = ACTIONS(1), - [anon_sym_loop] = ACTIONS(1), - [anon_sym_for] = ACTIONS(1), - [anon_sym_while] = ACTIONS(1), - [anon_sym_break] = ACTIONS(1), - [sym_continue_statement] = ACTIONS(1), - [anon_sym_continuing] = ACTIONS(1), - [anon_sym_return] = ACTIONS(1), - [anon_sym_const_assert] = ACTIONS(1), - [anon_sym_discard] = ACTIONS(1), - [anon_sym_fn] = ACTIONS(1), - [anon_sym_DASH_GT] = ACTIONS(1), - [anon_sym_enable] = ACTIONS(1), - [anon_sym_perspective] = ACTIONS(1), - [anon_sym_linear] = ACTIONS(1), - [anon_sym_flat] = ACTIONS(1), - [anon_sym_center] = ACTIONS(1), - [anon_sym_centroid] = ACTIONS(1), - [anon_sym_sample] = ACTIONS(1), - [anon_sym_vertex_index] = ACTIONS(1), - [anon_sym_instance_index] = ACTIONS(1), - [anon_sym_position] = ACTIONS(1), - [anon_sym_front_facing] = ACTIONS(1), - [anon_sym_frag_depth] = ACTIONS(1), - [anon_sym_local_invocation_id] = ACTIONS(1), - [anon_sym_local_invocation_index] = ACTIONS(1), - [anon_sym_global_invocation_id] = ACTIONS(1), - [anon_sym_workgroup_id] = ACTIONS(1), - [anon_sym_num_workgroups] = ACTIONS(1), - [anon_sym_sample_index] = ACTIONS(1), - [anon_sym_sample_mask] = ACTIONS(1), - [anon_sym_read] = ACTIONS(1), - [anon_sym_write] = ACTIONS(1), - [anon_sym_read_write] = ACTIONS(1), - [anon_sym_function] = ACTIONS(1), - [anon_sym_private] = ACTIONS(1), - [anon_sym_workgroup] = ACTIONS(1), - [anon_sym_uniform] = ACTIONS(1), - [anon_sym_storage] = ACTIONS(1), - [anon_sym_rgba8unorm] = ACTIONS(1), - [anon_sym_rgba8snorm] = ACTIONS(1), - [anon_sym_rgba8uint] = ACTIONS(1), - [anon_sym_rgba8sint] = ACTIONS(1), - [anon_sym_rgba16uint] = ACTIONS(1), - [anon_sym_rgba16sint] = ACTIONS(1), - [anon_sym_rgba16float] = ACTIONS(1), - [anon_sym_r32uint] = ACTIONS(1), - [anon_sym_r32sint] = ACTIONS(1), - [anon_sym_r32float] = ACTIONS(1), - [anon_sym_rg32uint] = ACTIONS(1), - [anon_sym_rg32sint] = ACTIONS(1), - [anon_sym_rg32float] = ACTIONS(1), - [anon_sym_rgba32uint] = ACTIONS(1), - [anon_sym_rgba32sint] = ACTIONS(1), - [anon_sym_rgba32float] = ACTIONS(1), - [anon_sym_bgra8unorm] = ACTIONS(1), - [anon_sym_SLASH_LBRACKrgba_RBRACK_SLASH] = ACTIONS(1), - [anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH] = ACTIONS(1), - [anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH] = ACTIONS(1), - [anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH] = ACTIONS(1), - [anon_sym_SLASH_LBRACKxyzw_RBRACK_SLASH] = ACTIONS(1), - [anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH] = ACTIONS(1), - [anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH] = ACTIONS(1), - [anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH] = ACTIONS(1), - [anon_sym_CompileShader] = ACTIONS(1), - [anon_sym_ComputeShader] = ACTIONS(1), - [anon_sym_DomainShader] = ACTIONS(1), - [anon_sym_GeometryShader] = ACTIONS(1), - [anon_sym_Hullshader] = ACTIONS(1), - [anon_sym_NULL] = ACTIONS(1), - [anon_sym_Self] = ACTIONS(1), - [anon_sym_abstract] = ACTIONS(1), - [anon_sym_active] = ACTIONS(1), - [anon_sym_alignas] = ACTIONS(1), - [anon_sym_alignof] = ACTIONS(1), - [anon_sym_as] = ACTIONS(1), - [anon_sym_asm] = ACTIONS(1), - [anon_sym_asm_fragment] = ACTIONS(1), - [anon_sym_async] = ACTIONS(1), - [anon_sym_attribute] = ACTIONS(1), - [anon_sym_auto] = ACTIONS(1), - [anon_sym_await] = ACTIONS(1), - [anon_sym_become] = ACTIONS(1), - [anon_sym_bf16] = ACTIONS(1), - [anon_sym_binding_array] = ACTIONS(1), - [anon_sym_cast] = ACTIONS(1), - [anon_sym_catch] = ACTIONS(1), - [anon_sym_class] = ACTIONS(1), - [anon_sym_co_await] = ACTIONS(1), - [anon_sym_co_return] = ACTIONS(1), - [anon_sym_co_yield] = ACTIONS(1), - [anon_sym_coherent] = ACTIONS(1), - [anon_sym_column_major] = ACTIONS(1), - [anon_sym_common] = ACTIONS(1), - [anon_sym_compile] = ACTIONS(1), - [anon_sym_compile_fragment] = ACTIONS(1), - [anon_sym_concept] = ACTIONS(1), - [anon_sym_const_cast] = ACTIONS(1), - [anon_sym_consteval] = ACTIONS(1), - [anon_sym_constexpr] = ACTIONS(1), - [anon_sym_constinit] = ACTIONS(1), - [anon_sym_crate] = ACTIONS(1), - [anon_sym_debugger] = ACTIONS(1), - [anon_sym_decltype] = ACTIONS(1), - [anon_sym_delete] = ACTIONS(1), - [anon_sym_demote] = ACTIONS(1), - [anon_sym_demote_to_helper] = ACTIONS(1), - [anon_sym_do] = ACTIONS(1), - [anon_sym_dynamic_cast] = ACTIONS(1), - [anon_sym_enum] = ACTIONS(1), - [anon_sym_explicit] = ACTIONS(1), - [anon_sym_export] = ACTIONS(1), - [anon_sym_extends] = ACTIONS(1), - [anon_sym_extern] = ACTIONS(1), - [anon_sym_external] = ACTIONS(1), - [anon_sym_f64] = ACTIONS(1), - [anon_sym_fallthrough] = ACTIONS(1), - [anon_sym_filter] = ACTIONS(1), - [anon_sym_final] = ACTIONS(1), - [anon_sym_finally] = ACTIONS(1), - [anon_sym_friend] = ACTIONS(1), - [anon_sym_from] = ACTIONS(1), - [anon_sym_fxgroup] = ACTIONS(1), - [anon_sym_get] = ACTIONS(1), - [anon_sym_goto] = ACTIONS(1), - [anon_sym_groupshared] = ACTIONS(1), - [anon_sym_handle] = ACTIONS(1), - [anon_sym_highp] = ACTIONS(1), - [anon_sym_i16] = ACTIONS(1), - [anon_sym_i64] = ACTIONS(1), - [anon_sym_i8] = ACTIONS(1), - [anon_sym_impl] = ACTIONS(1), - [anon_sym_implements] = ACTIONS(1), - [anon_sym_import] = ACTIONS(1), - [anon_sym_inline] = ACTIONS(1), - [anon_sym_inout] = ACTIONS(1), - [anon_sym_instanceof] = ACTIONS(1), - [anon_sym_interface] = ACTIONS(1), - [anon_sym_layout] = ACTIONS(1), - [anon_sym_lowp] = ACTIONS(1), - [anon_sym_macro] = ACTIONS(1), - [anon_sym_macro_rules] = ACTIONS(1), - [anon_sym_match] = ACTIONS(1), - [anon_sym_mediump] = ACTIONS(1), - [anon_sym_meta] = ACTIONS(1), - [anon_sym_mod] = ACTIONS(1), - [anon_sym_module] = ACTIONS(1), - [anon_sym_move] = ACTIONS(1), - [anon_sym_mut] = ACTIONS(1), - [anon_sym_mutable] = ACTIONS(1), - [anon_sym_namespace] = ACTIONS(1), - [anon_sym_new] = ACTIONS(1), - [anon_sym_nil] = ACTIONS(1), - [anon_sym_noexcept] = ACTIONS(1), - [anon_sym_noinline] = ACTIONS(1), - [anon_sym_nointerpolation] = ACTIONS(1), - [anon_sym_noperspective] = ACTIONS(1), - [anon_sym_null] = ACTIONS(1), - [anon_sym_nullptr] = ACTIONS(1), - [anon_sym_of] = ACTIONS(1), - [anon_sym_operator] = ACTIONS(1), - [anon_sym_package] = ACTIONS(1), - [anon_sym_packoffset] = ACTIONS(1), - [anon_sym_partition] = ACTIONS(1), - [anon_sym_pass] = ACTIONS(1), - [anon_sym_patch] = ACTIONS(1), - [anon_sym_pixelfragment] = ACTIONS(1), - [anon_sym_precise] = ACTIONS(1), - [anon_sym_precision] = ACTIONS(1), - [anon_sym_premerge] = ACTIONS(1), - [anon_sym_priv] = ACTIONS(1), - [anon_sym_protected] = ACTIONS(1), - [anon_sym_pub] = ACTIONS(1), - [anon_sym_public] = ACTIONS(1), - [anon_sym_quat] = ACTIONS(1), - [anon_sym_readonly] = ACTIONS(1), - [anon_sym_ref] = ACTIONS(1), - [anon_sym_regardless] = ACTIONS(1), - [anon_sym_register] = ACTIONS(1), - [anon_sym_reinterpret_cast] = ACTIONS(1), - [anon_sym_requires] = ACTIONS(1), - [anon_sym_resource] = ACTIONS(1), - [anon_sym_restrict] = ACTIONS(1), - [anon_sym_self] = ACTIONS(1), - [anon_sym_set] = ACTIONS(1), - [anon_sym_shared] = ACTIONS(1), - [anon_sym_signed] = ACTIONS(1), - [anon_sym_sizeof] = ACTIONS(1), - [anon_sym_smooth] = ACTIONS(1), - [anon_sym_snorm] = ACTIONS(1), - [anon_sym_static] = ACTIONS(1), - [anon_sym_static_assert] = ACTIONS(1), - [anon_sym_static_cast] = ACTIONS(1), - [anon_sym_std] = ACTIONS(1), - [anon_sym_subroutine] = ACTIONS(1), - [anon_sym_super] = ACTIONS(1), - [anon_sym_target] = ACTIONS(1), - [anon_sym_template] = ACTIONS(1), - [anon_sym_this] = ACTIONS(1), - [anon_sym_thread_local] = ACTIONS(1), - [anon_sym_throw] = ACTIONS(1), - [anon_sym_trait] = ACTIONS(1), - [anon_sym_try] = ACTIONS(1), - [anon_sym_type] = ACTIONS(1), - [anon_sym_typedef] = ACTIONS(1), - [anon_sym_typeid] = ACTIONS(1), - [anon_sym_typename] = ACTIONS(1), - [anon_sym_typeof] = ACTIONS(1), - [anon_sym_u16] = ACTIONS(1), - [anon_sym_u64] = ACTIONS(1), - [anon_sym_u8] = ACTIONS(1), - [anon_sym_union] = ACTIONS(1), - [anon_sym_unless] = ACTIONS(1), - [anon_sym_unorm] = ACTIONS(1), - [anon_sym_unsafe] = ACTIONS(1), - [anon_sym_unsized] = ACTIONS(1), - [anon_sym_use] = ACTIONS(1), - [anon_sym_using] = ACTIONS(1), - [anon_sym_varying] = ACTIONS(1), - [anon_sym_virtual] = ACTIONS(1), - [anon_sym_volatile] = ACTIONS(1), - [anon_sym_wgsl] = ACTIONS(1), - [anon_sym_where] = ACTIONS(1), - [anon_sym_with] = ACTIONS(1), - [anon_sym_writeonly] = ACTIONS(1), - [anon_sym_yield] = ACTIONS(1), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - [sym__disambiguate_template] = ACTIONS(1), - [sym__template_args_start] = ACTIONS(1), - [sym__template_args_end] = ACTIONS(1), - [sym__less_than] = ACTIONS(1), - [sym__less_than_equal] = ACTIONS(1), - [sym__shift_left] = ACTIONS(1), - [sym__shift_left_assign] = ACTIONS(1), - [sym__greater_than] = ACTIONS(1), - [sym__greater_than_equal] = ACTIONS(1), - [sym__shift_right] = ACTIONS(1), - [sym__shift_right_assign] = ACTIONS(1), - [sym__error_sentinel] = ACTIONS(1), - }, - [1] = { - [sym_translation_unit] = STATE(650), - [sym_global_directive] = STATE(161), - [sym_attribute] = STATE(355), - [sym_struct_decl] = STATE(179), - [sym_type_alias_decl] = STATE(646), - [sym_variable_decl] = STATE(464), - [sym_global_variable_decl] = STATE(646), - [sym_global_constant_decl] = STATE(646), - [sym_const_assert_statement] = STATE(646), - [sym_function_decl] = STATE(179), - [sym_function_header] = STATE(465), - [sym_enable_directive] = STATE(338), - [aux_sym_translation_unit_repeat1] = STATE(161), - [aux_sym_translation_unit_repeat2] = STATE(179), - [aux_sym_struct_member_repeat1] = STATE(355), - [ts_builtin_sym_end] = ACTIONS(5), - [anon_sym_SEMI] = ACTIONS(7), - [anon_sym_AT] = ACTIONS(9), - [anon_sym_const] = ACTIONS(11), - [anon_sym_struct] = ACTIONS(13), - [anon_sym_alias] = ACTIONS(15), - [anon_sym_var] = ACTIONS(17), - [anon_sym_override] = ACTIONS(19), - [anon_sym_const_assert] = ACTIONS(21), - [anon_sym_fn] = ACTIONS(23), - [anon_sym_enable] = ACTIONS(25), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [2] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(414), - [sym_case_selector] = STATE(429), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_LBRACE] = ACTIONS(47), - [anon_sym_COLON] = ACTIONS(47), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [anon_sym_default] = ACTIONS(73), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [3] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(414), - [sym_case_selector] = STATE(429), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_LBRACE] = ACTIONS(75), - [anon_sym_COLON] = ACTIONS(75), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [anon_sym_default] = ACTIONS(73), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [4] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(414), - [sym_case_selectors] = STATE(438), - [sym_case_selector] = STATE(406), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [anon_sym_default] = ACTIONS(73), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [5] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_expression_comma_list] = STATE(540), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(415), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_RPAREN] = ACTIONS(77), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [6] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_expression_comma_list] = STATE(610), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(415), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_RPAREN] = ACTIONS(79), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [7] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(414), - [sym_case_selector] = STATE(429), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [anon_sym_default] = ACTIONS(73), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [8] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_expression_comma_list] = STATE(596), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(415), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_RPAREN] = ACTIONS(81), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [9] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_expression_comma_list] = STATE(617), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(415), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_RPAREN] = ACTIONS(83), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [10] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_expression_comma_list] = STATE(603), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(415), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_RPAREN] = ACTIONS(85), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [11] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_expression_comma_list] = STATE(576), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(415), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_RPAREN] = ACTIONS(87), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [12] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(490), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_RPAREN] = ACTIONS(89), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [13] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(490), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_RPAREN] = ACTIONS(91), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [14] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(644), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_SEMI] = ACTIONS(93), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [15] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(426), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_RPAREN] = ACTIONS(95), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [16] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(443), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_RPAREN] = ACTIONS(95), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [17] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(598), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_SEMI] = ACTIONS(97), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [18] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(534), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_SEMI] = ACTIONS(99), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [19] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(541), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [20] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(609), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [21] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(606), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [22] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(602), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [23] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(535), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [24] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(523), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [25] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(595), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [26] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(508), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [27] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(590), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [28] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(591), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [29] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(533), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [30] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(573), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [31] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(504), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [32] = { - [sym_ident] = STATE(249), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_variable_statement] = STATE(551), - [sym_variable_decl] = STATE(521), - [sym_call_phrase] = STATE(516), - [sym_callable] = STATE(500), - [sym_lhs_expression] = STATE(292), - [sym_core_lhs_expression] = STATE(250), - [sym_compound_statement] = STATE(99), - [sym_assignment_statement] = STATE(515), - [sym_increment_statement] = STATE(515), - [sym_decrement_statement] = STATE(515), - [sym_if_statement] = STATE(99), - [sym_if_clause] = STATE(88), - [sym_switch_statement] = STATE(99), - [sym_loop_statement] = STATE(99), - [sym_for_statement] = STATE(99), - [sym_while_statement] = STATE(99), - [sym_break_statement] = STATE(551), - [sym_continuing_statement] = STATE(563), - [sym_return_statement] = STATE(551), - [sym_func_call_statement] = STATE(551), - [sym_const_assert_statement] = STATE(551), - [sym_statement] = STATE(45), - [sym_variable_updating_statement] = STATE(551), - [aux_sym_compound_statement_repeat1] = STATE(45), - [sym_ident_pattern_token] = ACTIONS(101), - [anon_sym_SEMI] = ACTIONS(103), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_const] = ACTIONS(107), - [anon_sym_array] = ACTIONS(45), - [anon_sym_LBRACE] = ACTIONS(109), - [anon_sym_RBRACE] = ACTIONS(111), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_let] = ACTIONS(107), - [anon_sym_var] = ACTIONS(113), - [anon_sym_STAR] = ACTIONS(115), - [anon_sym_AMP] = ACTIONS(115), - [anon_sym__] = ACTIONS(117), - [anon_sym_if] = ACTIONS(119), - [anon_sym_switch] = ACTIONS(121), - [anon_sym_loop] = ACTIONS(123), - [anon_sym_for] = ACTIONS(125), - [anon_sym_while] = ACTIONS(127), - [anon_sym_break] = ACTIONS(129), - [sym_continue_statement] = ACTIONS(131), - [anon_sym_continuing] = ACTIONS(133), - [anon_sym_return] = ACTIONS(135), - [anon_sym_const_assert] = ACTIONS(137), - [anon_sym_discard] = ACTIONS(131), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [33] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(620), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [34] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(490), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [35] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(548), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [36] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(569), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [37] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(546), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [38] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(583), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [39] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(424), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [40] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(422), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [41] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(572), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [42] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(481), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [43] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(556), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [44] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(575), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [45] = { - [sym_ident] = STATE(249), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_variable_statement] = STATE(551), - [sym_variable_decl] = STATE(521), - [sym_call_phrase] = STATE(516), - [sym_callable] = STATE(500), - [sym_lhs_expression] = STATE(292), - [sym_core_lhs_expression] = STATE(250), - [sym_compound_statement] = STATE(99), - [sym_assignment_statement] = STATE(515), - [sym_increment_statement] = STATE(515), - [sym_decrement_statement] = STATE(515), - [sym_if_statement] = STATE(99), - [sym_if_clause] = STATE(88), - [sym_switch_statement] = STATE(99), - [sym_loop_statement] = STATE(99), - [sym_for_statement] = STATE(99), - [sym_while_statement] = STATE(99), - [sym_break_statement] = STATE(551), - [sym_continuing_statement] = STATE(597), - [sym_return_statement] = STATE(551), - [sym_func_call_statement] = STATE(551), - [sym_const_assert_statement] = STATE(551), - [sym_statement] = STATE(51), - [sym_variable_updating_statement] = STATE(551), - [aux_sym_compound_statement_repeat1] = STATE(51), - [sym_ident_pattern_token] = ACTIONS(101), - [anon_sym_SEMI] = ACTIONS(103), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_const] = ACTIONS(107), - [anon_sym_array] = ACTIONS(45), - [anon_sym_LBRACE] = ACTIONS(109), - [anon_sym_RBRACE] = ACTIONS(139), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_let] = ACTIONS(107), - [anon_sym_var] = ACTIONS(113), - [anon_sym_STAR] = ACTIONS(115), - [anon_sym_AMP] = ACTIONS(115), - [anon_sym__] = ACTIONS(117), - [anon_sym_if] = ACTIONS(119), - [anon_sym_switch] = ACTIONS(121), - [anon_sym_loop] = ACTIONS(123), - [anon_sym_for] = ACTIONS(125), - [anon_sym_while] = ACTIONS(127), - [anon_sym_break] = ACTIONS(129), - [sym_continue_statement] = ACTIONS(131), - [anon_sym_continuing] = ACTIONS(133), - [anon_sym_return] = ACTIONS(135), - [anon_sym_const_assert] = ACTIONS(137), - [anon_sym_discard] = ACTIONS(131), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [46] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(568), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [47] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(448), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [48] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(613), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [49] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(162), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(356), - [sym_short_circuit_and_expression] = STATE(601), - [sym_short_circuit_or_expression] = STATE(600), - [sym_binary_or_expression] = STATE(594), - [sym_binary_and_expression] = STATE(593), - [sym_binary_xor_expression] = STATE(592), - [sym_bitwise_expression] = STATE(393), - [sym_expression] = STATE(616), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [50] = { - [sym_ident] = STATE(249), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_variable_statement] = STATE(551), - [sym_variable_decl] = STATE(521), - [sym_call_phrase] = STATE(516), - [sym_callable] = STATE(500), - [sym_lhs_expression] = STATE(292), - [sym_core_lhs_expression] = STATE(250), - [sym_compound_statement] = STATE(99), - [sym_assignment_statement] = STATE(515), - [sym_increment_statement] = STATE(515), - [sym_decrement_statement] = STATE(515), - [sym_if_statement] = STATE(99), - [sym_if_clause] = STATE(88), - [sym_switch_statement] = STATE(99), - [sym_loop_statement] = STATE(99), - [sym_for_statement] = STATE(99), - [sym_while_statement] = STATE(99), - [sym_break_statement] = STATE(551), - [sym_break_if_statement] = STATE(633), - [sym_return_statement] = STATE(551), - [sym_func_call_statement] = STATE(551), - [sym_const_assert_statement] = STATE(551), - [sym_statement] = STATE(52), - [sym_variable_updating_statement] = STATE(551), - [aux_sym_compound_statement_repeat1] = STATE(52), - [sym_ident_pattern_token] = ACTIONS(101), - [anon_sym_SEMI] = ACTIONS(103), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_const] = ACTIONS(107), - [anon_sym_array] = ACTIONS(45), - [anon_sym_LBRACE] = ACTIONS(109), - [anon_sym_RBRACE] = ACTIONS(141), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_let] = ACTIONS(107), - [anon_sym_var] = ACTIONS(113), - [anon_sym_STAR] = ACTIONS(115), - [anon_sym_AMP] = ACTIONS(115), - [anon_sym__] = ACTIONS(117), - [anon_sym_if] = ACTIONS(119), - [anon_sym_switch] = ACTIONS(121), - [anon_sym_loop] = ACTIONS(123), - [anon_sym_for] = ACTIONS(125), - [anon_sym_while] = ACTIONS(127), - [anon_sym_break] = ACTIONS(143), - [sym_continue_statement] = ACTIONS(131), - [anon_sym_return] = ACTIONS(135), - [anon_sym_const_assert] = ACTIONS(137), - [anon_sym_discard] = ACTIONS(131), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [51] = { - [sym_ident] = STATE(249), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_variable_statement] = STATE(551), - [sym_variable_decl] = STATE(521), - [sym_call_phrase] = STATE(516), - [sym_callable] = STATE(500), - [sym_lhs_expression] = STATE(292), - [sym_core_lhs_expression] = STATE(250), - [sym_compound_statement] = STATE(99), - [sym_assignment_statement] = STATE(515), - [sym_increment_statement] = STATE(515), - [sym_decrement_statement] = STATE(515), - [sym_if_statement] = STATE(99), - [sym_if_clause] = STATE(88), - [sym_switch_statement] = STATE(99), - [sym_loop_statement] = STATE(99), - [sym_for_statement] = STATE(99), - [sym_while_statement] = STATE(99), - [sym_break_statement] = STATE(551), - [sym_return_statement] = STATE(551), - [sym_func_call_statement] = STATE(551), - [sym_const_assert_statement] = STATE(551), - [sym_statement] = STATE(51), - [sym_variable_updating_statement] = STATE(551), - [aux_sym_compound_statement_repeat1] = STATE(51), - [sym_ident_pattern_token] = ACTIONS(145), - [anon_sym_SEMI] = ACTIONS(148), - [anon_sym_LPAREN] = ACTIONS(151), - [anon_sym_const] = ACTIONS(154), - [anon_sym_array] = ACTIONS(157), - [anon_sym_LBRACE] = ACTIONS(160), - [anon_sym_RBRACE] = ACTIONS(163), - [anon_sym_sampler] = ACTIONS(165), - [anon_sym_sampler_comparison] = ACTIONS(165), - [anon_sym_texture_1d] = ACTIONS(168), - [anon_sym_texture_2d] = ACTIONS(168), - [anon_sym_texture_2d_array] = ACTIONS(168), - [anon_sym_texture_3d] = ACTIONS(168), - [anon_sym_texture_cube] = ACTIONS(168), - [anon_sym_texture_cube_array] = ACTIONS(168), - [sym_multisampled_texture_type] = ACTIONS(171), - [anon_sym_texture_storage_1d] = ACTIONS(174), - [anon_sym_texture_storage_2d] = ACTIONS(174), - [anon_sym_texture_storage_2d_array] = ACTIONS(174), - [anon_sym_texture_storage_3d] = ACTIONS(174), - [anon_sym_texture_depth_2d] = ACTIONS(177), - [anon_sym_texture_depth_2d_array] = ACTIONS(177), - [anon_sym_texture_depth_cube] = ACTIONS(177), - [anon_sym_texture_depth_cube_array] = ACTIONS(177), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(177), - [anon_sym_bool] = ACTIONS(180), - [anon_sym_f32] = ACTIONS(180), - [anon_sym_f16] = ACTIONS(180), - [anon_sym_i32] = ACTIONS(180), - [anon_sym_u32] = ACTIONS(180), - [anon_sym_ptr] = ACTIONS(183), - [anon_sym_atomic] = ACTIONS(186), - [anon_sym_vec2] = ACTIONS(189), - [anon_sym_vec3] = ACTIONS(189), - [anon_sym_vec4] = ACTIONS(189), - [anon_sym_mat2x2] = ACTIONS(192), - [anon_sym_mat2x3] = ACTIONS(192), - [anon_sym_mat2x4] = ACTIONS(192), - [anon_sym_mat3x2] = ACTIONS(192), - [anon_sym_mat3x3] = ACTIONS(192), - [anon_sym_mat3x4] = ACTIONS(192), - [anon_sym_mat4x2] = ACTIONS(192), - [anon_sym_mat4x3] = ACTIONS(192), - [anon_sym_mat4x4] = ACTIONS(192), - [anon_sym_let] = ACTIONS(154), - [anon_sym_var] = ACTIONS(195), - [anon_sym_STAR] = ACTIONS(198), - [anon_sym_AMP] = ACTIONS(198), - [anon_sym__] = ACTIONS(201), - [anon_sym_if] = ACTIONS(204), - [anon_sym_switch] = ACTIONS(207), - [anon_sym_loop] = ACTIONS(210), - [anon_sym_for] = ACTIONS(213), - [anon_sym_while] = ACTIONS(216), - [anon_sym_break] = ACTIONS(219), - [sym_continue_statement] = ACTIONS(222), - [anon_sym_continuing] = ACTIONS(225), - [anon_sym_return] = ACTIONS(227), - [anon_sym_const_assert] = ACTIONS(230), - [anon_sym_discard] = ACTIONS(222), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [52] = { - [sym_ident] = STATE(249), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_variable_statement] = STATE(551), - [sym_variable_decl] = STATE(521), - [sym_call_phrase] = STATE(516), - [sym_callable] = STATE(500), - [sym_lhs_expression] = STATE(292), - [sym_core_lhs_expression] = STATE(250), - [sym_compound_statement] = STATE(99), - [sym_assignment_statement] = STATE(515), - [sym_increment_statement] = STATE(515), - [sym_decrement_statement] = STATE(515), - [sym_if_statement] = STATE(99), - [sym_if_clause] = STATE(88), - [sym_switch_statement] = STATE(99), - [sym_loop_statement] = STATE(99), - [sym_for_statement] = STATE(99), - [sym_while_statement] = STATE(99), - [sym_break_statement] = STATE(551), - [sym_break_if_statement] = STATE(655), - [sym_return_statement] = STATE(551), - [sym_func_call_statement] = STATE(551), - [sym_const_assert_statement] = STATE(551), - [sym_statement] = STATE(51), - [sym_variable_updating_statement] = STATE(551), - [aux_sym_compound_statement_repeat1] = STATE(51), - [sym_ident_pattern_token] = ACTIONS(101), - [anon_sym_SEMI] = ACTIONS(103), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_const] = ACTIONS(107), - [anon_sym_array] = ACTIONS(45), - [anon_sym_LBRACE] = ACTIONS(109), - [anon_sym_RBRACE] = ACTIONS(233), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_let] = ACTIONS(107), - [anon_sym_var] = ACTIONS(113), - [anon_sym_STAR] = ACTIONS(115), - [anon_sym_AMP] = ACTIONS(115), - [anon_sym__] = ACTIONS(117), - [anon_sym_if] = ACTIONS(119), - [anon_sym_switch] = ACTIONS(121), - [anon_sym_loop] = ACTIONS(123), - [anon_sym_for] = ACTIONS(125), - [anon_sym_while] = ACTIONS(127), - [anon_sym_break] = ACTIONS(143), - [sym_continue_statement] = ACTIONS(131), - [anon_sym_return] = ACTIONS(135), - [anon_sym_const_assert] = ACTIONS(137), - [anon_sym_discard] = ACTIONS(131), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [53] = { - [sym_ident] = STATE(249), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_variable_statement] = STATE(551), - [sym_variable_decl] = STATE(521), - [sym_call_phrase] = STATE(516), - [sym_callable] = STATE(500), - [sym_lhs_expression] = STATE(292), - [sym_core_lhs_expression] = STATE(250), - [sym_compound_statement] = STATE(99), - [sym_assignment_statement] = STATE(515), - [sym_increment_statement] = STATE(515), - [sym_decrement_statement] = STATE(515), - [sym_if_statement] = STATE(99), - [sym_if_clause] = STATE(88), - [sym_switch_statement] = STATE(99), - [sym_loop_statement] = STATE(99), - [sym_for_statement] = STATE(99), - [sym_while_statement] = STATE(99), - [sym_break_statement] = STATE(551), - [sym_return_statement] = STATE(551), - [sym_func_call_statement] = STATE(551), - [sym_const_assert_statement] = STATE(551), - [sym_statement] = STATE(54), - [sym_variable_updating_statement] = STATE(551), - [aux_sym_compound_statement_repeat1] = STATE(54), - [sym_ident_pattern_token] = ACTIONS(101), - [anon_sym_SEMI] = ACTIONS(103), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_const] = ACTIONS(107), - [anon_sym_array] = ACTIONS(45), - [anon_sym_LBRACE] = ACTIONS(109), - [anon_sym_RBRACE] = ACTIONS(235), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_let] = ACTIONS(107), - [anon_sym_var] = ACTIONS(113), - [anon_sym_STAR] = ACTIONS(115), - [anon_sym_AMP] = ACTIONS(115), - [anon_sym__] = ACTIONS(117), - [anon_sym_if] = ACTIONS(119), - [anon_sym_switch] = ACTIONS(121), - [anon_sym_loop] = ACTIONS(123), - [anon_sym_for] = ACTIONS(125), - [anon_sym_while] = ACTIONS(127), - [anon_sym_break] = ACTIONS(129), - [sym_continue_statement] = ACTIONS(131), - [anon_sym_return] = ACTIONS(135), - [anon_sym_const_assert] = ACTIONS(137), - [anon_sym_discard] = ACTIONS(131), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [54] = { - [sym_ident] = STATE(249), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_variable_statement] = STATE(551), - [sym_variable_decl] = STATE(521), - [sym_call_phrase] = STATE(516), - [sym_callable] = STATE(500), - [sym_lhs_expression] = STATE(292), - [sym_core_lhs_expression] = STATE(250), - [sym_compound_statement] = STATE(99), - [sym_assignment_statement] = STATE(515), - [sym_increment_statement] = STATE(515), - [sym_decrement_statement] = STATE(515), - [sym_if_statement] = STATE(99), - [sym_if_clause] = STATE(88), - [sym_switch_statement] = STATE(99), - [sym_loop_statement] = STATE(99), - [sym_for_statement] = STATE(99), - [sym_while_statement] = STATE(99), - [sym_break_statement] = STATE(551), - [sym_return_statement] = STATE(551), - [sym_func_call_statement] = STATE(551), - [sym_const_assert_statement] = STATE(551), - [sym_statement] = STATE(51), - [sym_variable_updating_statement] = STATE(551), - [aux_sym_compound_statement_repeat1] = STATE(51), - [sym_ident_pattern_token] = ACTIONS(101), - [anon_sym_SEMI] = ACTIONS(103), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_const] = ACTIONS(107), - [anon_sym_array] = ACTIONS(45), - [anon_sym_LBRACE] = ACTIONS(109), - [anon_sym_RBRACE] = ACTIONS(237), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_let] = ACTIONS(107), - [anon_sym_var] = ACTIONS(113), - [anon_sym_STAR] = ACTIONS(115), - [anon_sym_AMP] = ACTIONS(115), - [anon_sym__] = ACTIONS(117), - [anon_sym_if] = ACTIONS(119), - [anon_sym_switch] = ACTIONS(121), - [anon_sym_loop] = ACTIONS(123), - [anon_sym_for] = ACTIONS(125), - [anon_sym_while] = ACTIONS(127), - [anon_sym_break] = ACTIONS(129), - [sym_continue_statement] = ACTIONS(131), - [anon_sym_return] = ACTIONS(135), - [anon_sym_const_assert] = ACTIONS(137), - [anon_sym_discard] = ACTIONS(131), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [55] = { - [sym_bool_literal] = STATE(339), - [sym_int_literal] = STATE(339), - [sym_decimal_int_literal] = STATE(336), - [sym_float_literal] = STATE(339), - [sym_decimal_float_literal] = STATE(332), - [sym_hex_float_literal] = STATE(332), - [sym_literal] = STATE(329), - [sym_ident] = STATE(314), - [sym_array_type_specifier] = STATE(361), - [sym_element_count_expression] = STATE(582), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(311), - [sym_call_expression] = STATE(329), - [sym_call_phrase] = STATE(324), - [sym_callable] = STATE(473), - [sym_paren_expression] = STATE(329), - [sym_unary_expression] = STATE(354), - [sym_singular_expression] = STATE(350), - [sym_multiplicative_expression] = STATE(373), - [sym_additive_expression] = STATE(411), - [sym_binary_or_expression] = STATE(565), - [sym_binary_and_expression] = STATE(566), - [sym_binary_xor_expression] = STATE(567), - [sym_bitwise_expression] = STATE(611), - [sym_ident_pattern_token] = ACTIONS(239), - [anon_sym_true] = ACTIONS(241), - [anon_sym_false] = ACTIONS(241), - [aux_sym_decimal_int_literal_token1] = ACTIONS(243), - [aux_sym_decimal_int_literal_token2] = ACTIONS(243), - [sym_hex_int_literal] = ACTIONS(245), - [aux_sym_decimal_float_literal_token1] = ACTIONS(247), - [aux_sym_decimal_float_literal_token2] = ACTIONS(247), - [aux_sym_decimal_float_literal_token3] = ACTIONS(247), - [aux_sym_decimal_float_literal_token4] = ACTIONS(249), - [aux_sym_decimal_float_literal_token5] = ACTIONS(247), - [aux_sym_hex_float_literal_token1] = ACTIONS(251), - [aux_sym_hex_float_literal_token2] = ACTIONS(253), - [aux_sym_hex_float_literal_token3] = ACTIONS(251), - [anon_sym_LPAREN] = ACTIONS(255), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(257), - [anon_sym_DASH] = ACTIONS(259), - [anon_sym_BANG] = ACTIONS(259), - [anon_sym_TILDE] = ACTIONS(259), - [anon_sym_STAR] = ACTIONS(259), - [anon_sym_AMP] = ACTIONS(259), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [56] = { - [sym_bool_literal] = STATE(339), - [sym_int_literal] = STATE(339), - [sym_decimal_int_literal] = STATE(336), - [sym_float_literal] = STATE(339), - [sym_decimal_float_literal] = STATE(332), - [sym_hex_float_literal] = STATE(332), - [sym_literal] = STATE(329), - [sym_ident] = STATE(314), - [sym_array_type_specifier] = STATE(361), - [sym_element_count_expression] = STATE(607), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(311), - [sym_call_expression] = STATE(329), - [sym_call_phrase] = STATE(324), - [sym_callable] = STATE(473), - [sym_paren_expression] = STATE(329), - [sym_unary_expression] = STATE(354), - [sym_singular_expression] = STATE(350), - [sym_multiplicative_expression] = STATE(373), - [sym_additive_expression] = STATE(411), - [sym_binary_or_expression] = STATE(565), - [sym_binary_and_expression] = STATE(566), - [sym_binary_xor_expression] = STATE(567), - [sym_bitwise_expression] = STATE(611), - [sym_ident_pattern_token] = ACTIONS(239), - [anon_sym_true] = ACTIONS(241), - [anon_sym_false] = ACTIONS(241), - [aux_sym_decimal_int_literal_token1] = ACTIONS(243), - [aux_sym_decimal_int_literal_token2] = ACTIONS(243), - [sym_hex_int_literal] = ACTIONS(245), - [aux_sym_decimal_float_literal_token1] = ACTIONS(247), - [aux_sym_decimal_float_literal_token2] = ACTIONS(247), - [aux_sym_decimal_float_literal_token3] = ACTIONS(247), - [aux_sym_decimal_float_literal_token4] = ACTIONS(249), - [aux_sym_decimal_float_literal_token5] = ACTIONS(247), - [aux_sym_hex_float_literal_token1] = ACTIONS(251), - [aux_sym_hex_float_literal_token2] = ACTIONS(253), - [aux_sym_hex_float_literal_token3] = ACTIONS(251), - [anon_sym_LPAREN] = ACTIONS(255), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(257), - [anon_sym_DASH] = ACTIONS(259), - [anon_sym_BANG] = ACTIONS(259), - [anon_sym_TILDE] = ACTIONS(259), - [anon_sym_STAR] = ACTIONS(259), - [anon_sym_AMP] = ACTIONS(259), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [57] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(182), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(299), - [sym_relational_expression] = STATE(378), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [58] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(182), - [sym_singular_expression] = STATE(165), - [sym_multiplicative_expression] = STATE(194), - [sym_additive_expression] = STATE(214), - [sym_shift_expression] = STATE(291), - [sym_relational_expression] = STATE(375), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [59] = { - [sym_bool_literal] = STATE(243), - [sym_int_literal] = STATE(243), - [sym_decimal_int_literal] = STATE(236), - [sym_float_literal] = STATE(243), - [sym_decimal_float_literal] = STATE(232), - [sym_hex_float_literal] = STATE(232), - [sym_literal] = STATE(227), - [sym_ident] = STATE(210), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(213), - [sym_call_expression] = STATE(227), - [sym_call_phrase] = STATE(229), - [sym_callable] = STATE(480), - [sym_paren_expression] = STATE(227), - [sym_unary_expression] = STATE(257), - [sym_singular_expression] = STATE(262), - [sym_multiplicative_expression] = STATE(293), - [sym_additive_expression] = STATE(317), - [sym_shift_expression] = STATE(359), - [sym_ident_pattern_token] = ACTIONS(261), - [anon_sym_true] = ACTIONS(263), - [anon_sym_false] = ACTIONS(263), - [aux_sym_decimal_int_literal_token1] = ACTIONS(265), - [aux_sym_decimal_int_literal_token2] = ACTIONS(265), - [sym_hex_int_literal] = ACTIONS(267), - [aux_sym_decimal_float_literal_token1] = ACTIONS(269), - [aux_sym_decimal_float_literal_token2] = ACTIONS(269), - [aux_sym_decimal_float_literal_token3] = ACTIONS(269), - [aux_sym_decimal_float_literal_token4] = ACTIONS(271), - [aux_sym_decimal_float_literal_token5] = ACTIONS(269), - [aux_sym_hex_float_literal_token1] = ACTIONS(273), - [aux_sym_hex_float_literal_token2] = ACTIONS(275), - [aux_sym_hex_float_literal_token3] = ACTIONS(273), - [anon_sym_LPAREN] = ACTIONS(277), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(279), - [anon_sym_DASH] = ACTIONS(281), - [anon_sym_BANG] = ACTIONS(281), - [anon_sym_TILDE] = ACTIONS(281), - [anon_sym_STAR] = ACTIONS(281), - [anon_sym_AMP] = ACTIONS(281), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [60] = { - [sym_bool_literal] = STATE(243), - [sym_int_literal] = STATE(243), - [sym_decimal_int_literal] = STATE(236), - [sym_float_literal] = STATE(243), - [sym_decimal_float_literal] = STATE(232), - [sym_hex_float_literal] = STATE(232), - [sym_literal] = STATE(227), - [sym_ident] = STATE(210), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(213), - [sym_call_expression] = STATE(227), - [sym_call_phrase] = STATE(229), - [sym_callable] = STATE(480), - [sym_paren_expression] = STATE(227), - [sym_unary_expression] = STATE(289), - [sym_singular_expression] = STATE(262), - [sym_multiplicative_expression] = STATE(298), - [sym_additive_expression] = STATE(346), - [sym_shift_expression] = STATE(359), - [sym_ident_pattern_token] = ACTIONS(261), - [anon_sym_true] = ACTIONS(263), - [anon_sym_false] = ACTIONS(263), - [aux_sym_decimal_int_literal_token1] = ACTIONS(265), - [aux_sym_decimal_int_literal_token2] = ACTIONS(265), - [sym_hex_int_literal] = ACTIONS(267), - [aux_sym_decimal_float_literal_token1] = ACTIONS(269), - [aux_sym_decimal_float_literal_token2] = ACTIONS(269), - [aux_sym_decimal_float_literal_token3] = ACTIONS(269), - [aux_sym_decimal_float_literal_token4] = ACTIONS(271), - [aux_sym_decimal_float_literal_token5] = ACTIONS(269), - [aux_sym_hex_float_literal_token1] = ACTIONS(273), - [aux_sym_hex_float_literal_token2] = ACTIONS(275), - [aux_sym_hex_float_literal_token3] = ACTIONS(273), - [anon_sym_LPAREN] = ACTIONS(277), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(279), - [anon_sym_DASH] = ACTIONS(281), - [anon_sym_BANG] = ACTIONS(281), - [anon_sym_TILDE] = ACTIONS(281), - [anon_sym_STAR] = ACTIONS(281), - [anon_sym_AMP] = ACTIONS(281), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [61] = { - [sym_bool_literal] = STATE(339), - [sym_int_literal] = STATE(339), - [sym_decimal_int_literal] = STATE(336), - [sym_float_literal] = STATE(339), - [sym_decimal_float_literal] = STATE(332), - [sym_hex_float_literal] = STATE(332), - [sym_literal] = STATE(329), - [sym_ident] = STATE(314), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(311), - [sym_call_expression] = STATE(329), - [sym_call_phrase] = STATE(324), - [sym_callable] = STATE(473), - [sym_paren_expression] = STATE(329), - [sym_unary_expression] = STATE(397), - [sym_singular_expression] = STATE(350), - [sym_multiplicative_expression] = STATE(364), - [sym_ident_pattern_token] = ACTIONS(239), - [anon_sym_true] = ACTIONS(241), - [anon_sym_false] = ACTIONS(241), - [aux_sym_decimal_int_literal_token1] = ACTIONS(243), - [aux_sym_decimal_int_literal_token2] = ACTIONS(243), - [sym_hex_int_literal] = ACTIONS(245), - [aux_sym_decimal_float_literal_token1] = ACTIONS(247), - [aux_sym_decimal_float_literal_token2] = ACTIONS(247), - [aux_sym_decimal_float_literal_token3] = ACTIONS(247), - [aux_sym_decimal_float_literal_token4] = ACTIONS(249), - [aux_sym_decimal_float_literal_token5] = ACTIONS(247), - [aux_sym_hex_float_literal_token1] = ACTIONS(251), - [aux_sym_hex_float_literal_token2] = ACTIONS(253), - [aux_sym_hex_float_literal_token3] = ACTIONS(251), - [anon_sym_LPAREN] = ACTIONS(255), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(257), - [anon_sym_DASH] = ACTIONS(259), - [anon_sym_BANG] = ACTIONS(259), - [anon_sym_TILDE] = ACTIONS(259), - [anon_sym_STAR] = ACTIONS(259), - [anon_sym_AMP] = ACTIONS(259), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [62] = { - [sym_bool_literal] = STATE(231), - [sym_int_literal] = STATE(231), - [sym_decimal_int_literal] = STATE(220), - [sym_float_literal] = STATE(231), - [sym_decimal_float_literal] = STATE(223), - [sym_hex_float_literal] = STATE(223), - [sym_literal] = STATE(245), - [sym_ident] = STATE(206), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(207), - [sym_call_expression] = STATE(245), - [sym_call_phrase] = STATE(237), - [sym_callable] = STATE(500), - [sym_paren_expression] = STATE(245), - [sym_unary_expression] = STATE(303), - [sym_singular_expression] = STATE(273), - [sym_multiplicative_expression] = STATE(307), - [sym_ident_pattern_token] = ACTIONS(283), - [anon_sym_true] = ACTIONS(285), - [anon_sym_false] = ACTIONS(285), - [aux_sym_decimal_int_literal_token1] = ACTIONS(287), - [aux_sym_decimal_int_literal_token2] = ACTIONS(287), - [sym_hex_int_literal] = ACTIONS(289), - [aux_sym_decimal_float_literal_token1] = ACTIONS(291), - [aux_sym_decimal_float_literal_token2] = ACTIONS(291), - [aux_sym_decimal_float_literal_token3] = ACTIONS(291), - [aux_sym_decimal_float_literal_token4] = ACTIONS(293), - [aux_sym_decimal_float_literal_token5] = ACTIONS(291), - [aux_sym_hex_float_literal_token1] = ACTIONS(295), - [aux_sym_hex_float_literal_token2] = ACTIONS(297), - [aux_sym_hex_float_literal_token3] = ACTIONS(295), - [anon_sym_LPAREN] = ACTIONS(299), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(301), - [anon_sym_DASH] = ACTIONS(303), - [anon_sym_BANG] = ACTIONS(303), - [anon_sym_TILDE] = ACTIONS(303), - [anon_sym_STAR] = ACTIONS(303), - [anon_sym_AMP] = ACTIONS(303), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [63] = { - [sym_bool_literal] = STATE(283), - [sym_int_literal] = STATE(283), - [sym_decimal_int_literal] = STATE(287), - [sym_float_literal] = STATE(283), - [sym_decimal_float_literal] = STATE(259), - [sym_hex_float_literal] = STATE(259), - [sym_literal] = STATE(278), - [sym_ident] = STATE(253), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(252), - [sym_call_expression] = STATE(278), - [sym_call_phrase] = STATE(272), - [sym_callable] = STATE(477), - [sym_paren_expression] = STATE(278), - [sym_unary_expression] = STATE(303), - [sym_singular_expression] = STATE(297), - [sym_multiplicative_expression] = STATE(290), - [sym_ident_pattern_token] = ACTIONS(305), - [anon_sym_true] = ACTIONS(307), - [anon_sym_false] = ACTIONS(307), - [aux_sym_decimal_int_literal_token1] = ACTIONS(309), - [aux_sym_decimal_int_literal_token2] = ACTIONS(309), - [sym_hex_int_literal] = ACTIONS(311), - [aux_sym_decimal_float_literal_token1] = ACTIONS(313), - [aux_sym_decimal_float_literal_token2] = ACTIONS(313), - [aux_sym_decimal_float_literal_token3] = ACTIONS(313), - [aux_sym_decimal_float_literal_token4] = ACTIONS(315), - [aux_sym_decimal_float_literal_token5] = ACTIONS(313), - [aux_sym_hex_float_literal_token1] = ACTIONS(317), - [aux_sym_hex_float_literal_token2] = ACTIONS(319), - [aux_sym_hex_float_literal_token3] = ACTIONS(317), - [anon_sym_LPAREN] = ACTIONS(321), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(323), - [anon_sym_DASH] = ACTIONS(325), - [anon_sym_BANG] = ACTIONS(325), - [anon_sym_TILDE] = ACTIONS(325), - [anon_sym_STAR] = ACTIONS(325), - [anon_sym_AMP] = ACTIONS(325), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [64] = { - [sym_bool_literal] = STATE(183), - [sym_int_literal] = STATE(183), - [sym_decimal_int_literal] = STATE(187), - [sym_float_literal] = STATE(183), - [sym_decimal_float_literal] = STATE(177), - [sym_hex_float_literal] = STATE(177), - [sym_literal] = STATE(176), - [sym_ident] = STATE(171), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(170), - [sym_call_expression] = STATE(176), - [sym_call_phrase] = STATE(180), - [sym_callable] = STATE(484), - [sym_paren_expression] = STATE(176), - [sym_unary_expression] = STATE(202), - [sym_singular_expression] = STATE(200), - [sym_multiplicative_expression] = STATE(193), - [sym_ident_pattern_token] = ACTIONS(327), - [anon_sym_true] = ACTIONS(329), - [anon_sym_false] = ACTIONS(329), - [aux_sym_decimal_int_literal_token1] = ACTIONS(331), - [aux_sym_decimal_int_literal_token2] = ACTIONS(331), - [sym_hex_int_literal] = ACTIONS(333), - [aux_sym_decimal_float_literal_token1] = ACTIONS(335), - [aux_sym_decimal_float_literal_token2] = ACTIONS(335), - [aux_sym_decimal_float_literal_token3] = ACTIONS(335), - [aux_sym_decimal_float_literal_token4] = ACTIONS(337), - [aux_sym_decimal_float_literal_token5] = ACTIONS(335), - [aux_sym_hex_float_literal_token1] = ACTIONS(339), - [aux_sym_hex_float_literal_token2] = ACTIONS(341), - [aux_sym_hex_float_literal_token3] = ACTIONS(339), - [anon_sym_LPAREN] = ACTIONS(343), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(345), - [anon_sym_DASH] = ACTIONS(347), - [anon_sym_BANG] = ACTIONS(347), - [anon_sym_TILDE] = ACTIONS(347), - [anon_sym_STAR] = ACTIONS(347), - [anon_sym_AMP] = ACTIONS(347), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [65] = { - [sym_bool_literal] = STATE(231), - [sym_int_literal] = STATE(231), - [sym_decimal_int_literal] = STATE(220), - [sym_float_literal] = STATE(231), - [sym_decimal_float_literal] = STATE(223), - [sym_hex_float_literal] = STATE(223), - [sym_literal] = STATE(245), - [sym_ident] = STATE(206), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(207), - [sym_call_expression] = STATE(245), - [sym_call_phrase] = STATE(237), - [sym_callable] = STATE(500), - [sym_paren_expression] = STATE(245), - [sym_unary_expression] = STATE(304), - [sym_singular_expression] = STATE(273), - [sym_ident_pattern_token] = ACTIONS(283), - [anon_sym_true] = ACTIONS(285), - [anon_sym_false] = ACTIONS(285), - [aux_sym_decimal_int_literal_token1] = ACTIONS(287), - [aux_sym_decimal_int_literal_token2] = ACTIONS(287), - [sym_hex_int_literal] = ACTIONS(289), - [aux_sym_decimal_float_literal_token1] = ACTIONS(291), - [aux_sym_decimal_float_literal_token2] = ACTIONS(291), - [aux_sym_decimal_float_literal_token3] = ACTIONS(291), - [aux_sym_decimal_float_literal_token4] = ACTIONS(293), - [aux_sym_decimal_float_literal_token5] = ACTIONS(291), - [aux_sym_hex_float_literal_token1] = ACTIONS(295), - [aux_sym_hex_float_literal_token2] = ACTIONS(297), - [aux_sym_hex_float_literal_token3] = ACTIONS(295), - [anon_sym_LPAREN] = ACTIONS(299), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(301), - [anon_sym_DASH] = ACTIONS(303), - [anon_sym_BANG] = ACTIONS(303), - [anon_sym_TILDE] = ACTIONS(303), - [anon_sym_STAR] = ACTIONS(303), - [anon_sym_AMP] = ACTIONS(303), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [66] = { - [sym_bool_literal] = STATE(231), - [sym_int_literal] = STATE(231), - [sym_decimal_int_literal] = STATE(220), - [sym_float_literal] = STATE(231), - [sym_decimal_float_literal] = STATE(223), - [sym_hex_float_literal] = STATE(223), - [sym_literal] = STATE(245), - [sym_ident] = STATE(206), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(207), - [sym_call_expression] = STATE(245), - [sym_call_phrase] = STATE(237), - [sym_callable] = STATE(500), - [sym_paren_expression] = STATE(245), - [sym_unary_expression] = STATE(381), - [sym_singular_expression] = STATE(273), - [sym_ident_pattern_token] = ACTIONS(283), - [anon_sym_true] = ACTIONS(285), - [anon_sym_false] = ACTIONS(285), - [aux_sym_decimal_int_literal_token1] = ACTIONS(287), - [aux_sym_decimal_int_literal_token2] = ACTIONS(287), - [sym_hex_int_literal] = ACTIONS(289), - [aux_sym_decimal_float_literal_token1] = ACTIONS(291), - [aux_sym_decimal_float_literal_token2] = ACTIONS(291), - [aux_sym_decimal_float_literal_token3] = ACTIONS(291), - [aux_sym_decimal_float_literal_token4] = ACTIONS(293), - [aux_sym_decimal_float_literal_token5] = ACTIONS(291), - [aux_sym_hex_float_literal_token1] = ACTIONS(295), - [aux_sym_hex_float_literal_token2] = ACTIONS(297), - [aux_sym_hex_float_literal_token3] = ACTIONS(295), - [anon_sym_LPAREN] = ACTIONS(299), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(301), - [anon_sym_DASH] = ACTIONS(303), - [anon_sym_BANG] = ACTIONS(303), - [anon_sym_TILDE] = ACTIONS(303), - [anon_sym_STAR] = ACTIONS(303), - [anon_sym_AMP] = ACTIONS(303), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [67] = { - [sym_bool_literal] = STATE(231), - [sym_int_literal] = STATE(231), - [sym_decimal_int_literal] = STATE(220), - [sym_float_literal] = STATE(231), - [sym_decimal_float_literal] = STATE(223), - [sym_hex_float_literal] = STATE(223), - [sym_literal] = STATE(245), - [sym_ident] = STATE(206), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(207), - [sym_call_expression] = STATE(245), - [sym_call_phrase] = STATE(237), - [sym_callable] = STATE(500), - [sym_paren_expression] = STATE(245), - [sym_unary_expression] = STATE(387), - [sym_singular_expression] = STATE(273), - [sym_ident_pattern_token] = ACTIONS(283), - [anon_sym_true] = ACTIONS(285), - [anon_sym_false] = ACTIONS(285), - [aux_sym_decimal_int_literal_token1] = ACTIONS(287), - [aux_sym_decimal_int_literal_token2] = ACTIONS(287), - [sym_hex_int_literal] = ACTIONS(289), - [aux_sym_decimal_float_literal_token1] = ACTIONS(291), - [aux_sym_decimal_float_literal_token2] = ACTIONS(291), - [aux_sym_decimal_float_literal_token3] = ACTIONS(291), - [aux_sym_decimal_float_literal_token4] = ACTIONS(293), - [aux_sym_decimal_float_literal_token5] = ACTIONS(291), - [aux_sym_hex_float_literal_token1] = ACTIONS(295), - [aux_sym_hex_float_literal_token2] = ACTIONS(297), - [aux_sym_hex_float_literal_token3] = ACTIONS(295), - [anon_sym_LPAREN] = ACTIONS(299), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(301), - [anon_sym_DASH] = ACTIONS(303), - [anon_sym_BANG] = ACTIONS(303), - [anon_sym_TILDE] = ACTIONS(303), - [anon_sym_STAR] = ACTIONS(303), - [anon_sym_AMP] = ACTIONS(303), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [68] = { - [sym_bool_literal] = STATE(183), - [sym_int_literal] = STATE(183), - [sym_decimal_int_literal] = STATE(187), - [sym_float_literal] = STATE(183), - [sym_decimal_float_literal] = STATE(177), - [sym_hex_float_literal] = STATE(177), - [sym_literal] = STATE(176), - [sym_ident] = STATE(171), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(170), - [sym_call_expression] = STATE(176), - [sym_call_phrase] = STATE(180), - [sym_callable] = STATE(484), - [sym_paren_expression] = STATE(176), - [sym_unary_expression] = STATE(295), - [sym_singular_expression] = STATE(200), - [sym_ident_pattern_token] = ACTIONS(327), - [anon_sym_true] = ACTIONS(329), - [anon_sym_false] = ACTIONS(329), - [aux_sym_decimal_int_literal_token1] = ACTIONS(331), - [aux_sym_decimal_int_literal_token2] = ACTIONS(331), - [sym_hex_int_literal] = ACTIONS(333), - [aux_sym_decimal_float_literal_token1] = ACTIONS(335), - [aux_sym_decimal_float_literal_token2] = ACTIONS(335), - [aux_sym_decimal_float_literal_token3] = ACTIONS(335), - [aux_sym_decimal_float_literal_token4] = ACTIONS(337), - [aux_sym_decimal_float_literal_token5] = ACTIONS(335), - [aux_sym_hex_float_literal_token1] = ACTIONS(339), - [aux_sym_hex_float_literal_token2] = ACTIONS(341), - [aux_sym_hex_float_literal_token3] = ACTIONS(339), - [anon_sym_LPAREN] = ACTIONS(343), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(345), - [anon_sym_DASH] = ACTIONS(347), - [anon_sym_BANG] = ACTIONS(347), - [anon_sym_TILDE] = ACTIONS(347), - [anon_sym_STAR] = ACTIONS(347), - [anon_sym_AMP] = ACTIONS(347), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [69] = { - [sym_bool_literal] = STATE(231), - [sym_int_literal] = STATE(231), - [sym_decimal_int_literal] = STATE(220), - [sym_float_literal] = STATE(231), - [sym_decimal_float_literal] = STATE(223), - [sym_hex_float_literal] = STATE(223), - [sym_literal] = STATE(245), - [sym_ident] = STATE(206), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(207), - [sym_call_expression] = STATE(245), - [sym_call_phrase] = STATE(237), - [sym_callable] = STATE(500), - [sym_paren_expression] = STATE(245), - [sym_unary_expression] = STATE(358), - [sym_singular_expression] = STATE(273), - [sym_ident_pattern_token] = ACTIONS(283), - [anon_sym_true] = ACTIONS(285), - [anon_sym_false] = ACTIONS(285), - [aux_sym_decimal_int_literal_token1] = ACTIONS(287), - [aux_sym_decimal_int_literal_token2] = ACTIONS(287), - [sym_hex_int_literal] = ACTIONS(289), - [aux_sym_decimal_float_literal_token1] = ACTIONS(291), - [aux_sym_decimal_float_literal_token2] = ACTIONS(291), - [aux_sym_decimal_float_literal_token3] = ACTIONS(291), - [aux_sym_decimal_float_literal_token4] = ACTIONS(293), - [aux_sym_decimal_float_literal_token5] = ACTIONS(291), - [aux_sym_hex_float_literal_token1] = ACTIONS(295), - [aux_sym_hex_float_literal_token2] = ACTIONS(297), - [aux_sym_hex_float_literal_token3] = ACTIONS(295), - [anon_sym_LPAREN] = ACTIONS(299), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(301), - [anon_sym_DASH] = ACTIONS(303), - [anon_sym_BANG] = ACTIONS(303), - [anon_sym_TILDE] = ACTIONS(303), - [anon_sym_STAR] = ACTIONS(303), - [anon_sym_AMP] = ACTIONS(303), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [70] = { - [sym_bool_literal] = STATE(243), - [sym_int_literal] = STATE(243), - [sym_decimal_int_literal] = STATE(236), - [sym_float_literal] = STATE(243), - [sym_decimal_float_literal] = STATE(232), - [sym_hex_float_literal] = STATE(232), - [sym_literal] = STATE(227), - [sym_ident] = STATE(210), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(213), - [sym_call_expression] = STATE(227), - [sym_call_phrase] = STATE(229), - [sym_callable] = STATE(480), - [sym_paren_expression] = STATE(227), - [sym_unary_expression] = STATE(264), - [sym_singular_expression] = STATE(262), - [sym_ident_pattern_token] = ACTIONS(261), - [anon_sym_true] = ACTIONS(263), - [anon_sym_false] = ACTIONS(263), - [aux_sym_decimal_int_literal_token1] = ACTIONS(265), - [aux_sym_decimal_int_literal_token2] = ACTIONS(265), - [sym_hex_int_literal] = ACTIONS(267), - [aux_sym_decimal_float_literal_token1] = ACTIONS(269), - [aux_sym_decimal_float_literal_token2] = ACTIONS(269), - [aux_sym_decimal_float_literal_token3] = ACTIONS(269), - [aux_sym_decimal_float_literal_token4] = ACTIONS(271), - [aux_sym_decimal_float_literal_token5] = ACTIONS(269), - [aux_sym_hex_float_literal_token1] = ACTIONS(273), - [aux_sym_hex_float_literal_token2] = ACTIONS(275), - [aux_sym_hex_float_literal_token3] = ACTIONS(273), - [anon_sym_LPAREN] = ACTIONS(277), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(279), - [anon_sym_DASH] = ACTIONS(281), - [anon_sym_BANG] = ACTIONS(281), - [anon_sym_TILDE] = ACTIONS(281), - [anon_sym_STAR] = ACTIONS(281), - [anon_sym_AMP] = ACTIONS(281), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [71] = { - [sym_bool_literal] = STATE(231), - [sym_int_literal] = STATE(231), - [sym_decimal_int_literal] = STATE(220), - [sym_float_literal] = STATE(231), - [sym_decimal_float_literal] = STATE(223), - [sym_hex_float_literal] = STATE(223), - [sym_literal] = STATE(245), - [sym_ident] = STATE(206), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(207), - [sym_call_expression] = STATE(245), - [sym_call_phrase] = STATE(237), - [sym_callable] = STATE(500), - [sym_paren_expression] = STATE(245), - [sym_unary_expression] = STATE(368), - [sym_singular_expression] = STATE(273), - [sym_ident_pattern_token] = ACTIONS(283), - [anon_sym_true] = ACTIONS(285), - [anon_sym_false] = ACTIONS(285), - [aux_sym_decimal_int_literal_token1] = ACTIONS(287), - [aux_sym_decimal_int_literal_token2] = ACTIONS(287), - [sym_hex_int_literal] = ACTIONS(289), - [aux_sym_decimal_float_literal_token1] = ACTIONS(291), - [aux_sym_decimal_float_literal_token2] = ACTIONS(291), - [aux_sym_decimal_float_literal_token3] = ACTIONS(291), - [aux_sym_decimal_float_literal_token4] = ACTIONS(293), - [aux_sym_decimal_float_literal_token5] = ACTIONS(291), - [aux_sym_hex_float_literal_token1] = ACTIONS(295), - [aux_sym_hex_float_literal_token2] = ACTIONS(297), - [aux_sym_hex_float_literal_token3] = ACTIONS(295), - [anon_sym_LPAREN] = ACTIONS(299), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(301), - [anon_sym_DASH] = ACTIONS(303), - [anon_sym_BANG] = ACTIONS(303), - [anon_sym_TILDE] = ACTIONS(303), - [anon_sym_STAR] = ACTIONS(303), - [anon_sym_AMP] = ACTIONS(303), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [72] = { - [sym_bool_literal] = STATE(183), - [sym_int_literal] = STATE(183), - [sym_decimal_int_literal] = STATE(187), - [sym_float_literal] = STATE(183), - [sym_decimal_float_literal] = STATE(177), - [sym_hex_float_literal] = STATE(177), - [sym_literal] = STATE(176), - [sym_ident] = STATE(171), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(170), - [sym_call_expression] = STATE(176), - [sym_call_phrase] = STATE(180), - [sym_callable] = STATE(484), - [sym_paren_expression] = STATE(176), - [sym_unary_expression] = STATE(199), - [sym_singular_expression] = STATE(200), - [sym_ident_pattern_token] = ACTIONS(327), - [anon_sym_true] = ACTIONS(329), - [anon_sym_false] = ACTIONS(329), - [aux_sym_decimal_int_literal_token1] = ACTIONS(331), - [aux_sym_decimal_int_literal_token2] = ACTIONS(331), - [sym_hex_int_literal] = ACTIONS(333), - [aux_sym_decimal_float_literal_token1] = ACTIONS(335), - [aux_sym_decimal_float_literal_token2] = ACTIONS(335), - [aux_sym_decimal_float_literal_token3] = ACTIONS(335), - [aux_sym_decimal_float_literal_token4] = ACTIONS(337), - [aux_sym_decimal_float_literal_token5] = ACTIONS(335), - [aux_sym_hex_float_literal_token1] = ACTIONS(339), - [aux_sym_hex_float_literal_token2] = ACTIONS(341), - [aux_sym_hex_float_literal_token3] = ACTIONS(339), - [anon_sym_LPAREN] = ACTIONS(343), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(345), - [anon_sym_DASH] = ACTIONS(347), - [anon_sym_BANG] = ACTIONS(347), - [anon_sym_TILDE] = ACTIONS(347), - [anon_sym_STAR] = ACTIONS(347), - [anon_sym_AMP] = ACTIONS(347), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [73] = { - [sym_bool_literal] = STATE(183), - [sym_int_literal] = STATE(183), - [sym_decimal_int_literal] = STATE(187), - [sym_float_literal] = STATE(183), - [sym_decimal_float_literal] = STATE(177), - [sym_hex_float_literal] = STATE(177), - [sym_literal] = STATE(176), - [sym_ident] = STATE(171), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(170), - [sym_call_expression] = STATE(176), - [sym_call_phrase] = STATE(180), - [sym_callable] = STATE(484), - [sym_paren_expression] = STATE(176), - [sym_unary_expression] = STATE(196), - [sym_singular_expression] = STATE(200), - [sym_ident_pattern_token] = ACTIONS(327), - [anon_sym_true] = ACTIONS(329), - [anon_sym_false] = ACTIONS(329), - [aux_sym_decimal_int_literal_token1] = ACTIONS(331), - [aux_sym_decimal_int_literal_token2] = ACTIONS(331), - [sym_hex_int_literal] = ACTIONS(333), - [aux_sym_decimal_float_literal_token1] = ACTIONS(335), - [aux_sym_decimal_float_literal_token2] = ACTIONS(335), - [aux_sym_decimal_float_literal_token3] = ACTIONS(335), - [aux_sym_decimal_float_literal_token4] = ACTIONS(337), - [aux_sym_decimal_float_literal_token5] = ACTIONS(335), - [aux_sym_hex_float_literal_token1] = ACTIONS(339), - [aux_sym_hex_float_literal_token2] = ACTIONS(341), - [aux_sym_hex_float_literal_token3] = ACTIONS(339), - [anon_sym_LPAREN] = ACTIONS(343), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(345), - [anon_sym_DASH] = ACTIONS(347), - [anon_sym_BANG] = ACTIONS(347), - [anon_sym_TILDE] = ACTIONS(347), - [anon_sym_STAR] = ACTIONS(347), - [anon_sym_AMP] = ACTIONS(347), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [74] = { - [sym_bool_literal] = STATE(231), - [sym_int_literal] = STATE(231), - [sym_decimal_int_literal] = STATE(220), - [sym_float_literal] = STATE(231), - [sym_decimal_float_literal] = STATE(223), - [sym_hex_float_literal] = STATE(223), - [sym_literal] = STATE(245), - [sym_ident] = STATE(206), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(207), - [sym_call_expression] = STATE(245), - [sym_call_phrase] = STATE(237), - [sym_callable] = STATE(500), - [sym_paren_expression] = STATE(245), - [sym_unary_expression] = STATE(268), - [sym_singular_expression] = STATE(273), - [sym_ident_pattern_token] = ACTIONS(283), - [anon_sym_true] = ACTIONS(285), - [anon_sym_false] = ACTIONS(285), - [aux_sym_decimal_int_literal_token1] = ACTIONS(287), - [aux_sym_decimal_int_literal_token2] = ACTIONS(287), - [sym_hex_int_literal] = ACTIONS(289), - [aux_sym_decimal_float_literal_token1] = ACTIONS(291), - [aux_sym_decimal_float_literal_token2] = ACTIONS(291), - [aux_sym_decimal_float_literal_token3] = ACTIONS(291), - [aux_sym_decimal_float_literal_token4] = ACTIONS(293), - [aux_sym_decimal_float_literal_token5] = ACTIONS(291), - [aux_sym_hex_float_literal_token1] = ACTIONS(295), - [aux_sym_hex_float_literal_token2] = ACTIONS(297), - [aux_sym_hex_float_literal_token3] = ACTIONS(295), - [anon_sym_LPAREN] = ACTIONS(299), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(301), - [anon_sym_DASH] = ACTIONS(303), - [anon_sym_BANG] = ACTIONS(303), - [anon_sym_TILDE] = ACTIONS(303), - [anon_sym_STAR] = ACTIONS(303), - [anon_sym_AMP] = ACTIONS(303), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [75] = { - [sym_bool_literal] = STATE(283), - [sym_int_literal] = STATE(283), - [sym_decimal_int_literal] = STATE(287), - [sym_float_literal] = STATE(283), - [sym_decimal_float_literal] = STATE(259), - [sym_hex_float_literal] = STATE(259), - [sym_literal] = STATE(278), - [sym_ident] = STATE(253), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(252), - [sym_call_expression] = STATE(278), - [sym_call_phrase] = STATE(272), - [sym_callable] = STATE(477), - [sym_paren_expression] = STATE(278), - [sym_unary_expression] = STATE(358), - [sym_singular_expression] = STATE(297), - [sym_ident_pattern_token] = ACTIONS(305), - [anon_sym_true] = ACTIONS(307), - [anon_sym_false] = ACTIONS(307), - [aux_sym_decimal_int_literal_token1] = ACTIONS(309), - [aux_sym_decimal_int_literal_token2] = ACTIONS(309), - [sym_hex_int_literal] = ACTIONS(311), - [aux_sym_decimal_float_literal_token1] = ACTIONS(313), - [aux_sym_decimal_float_literal_token2] = ACTIONS(313), - [aux_sym_decimal_float_literal_token3] = ACTIONS(313), - [aux_sym_decimal_float_literal_token4] = ACTIONS(315), - [aux_sym_decimal_float_literal_token5] = ACTIONS(313), - [aux_sym_hex_float_literal_token1] = ACTIONS(317), - [aux_sym_hex_float_literal_token2] = ACTIONS(319), - [aux_sym_hex_float_literal_token3] = ACTIONS(317), - [anon_sym_LPAREN] = ACTIONS(321), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(323), - [anon_sym_DASH] = ACTIONS(325), - [anon_sym_BANG] = ACTIONS(325), - [anon_sym_TILDE] = ACTIONS(325), - [anon_sym_STAR] = ACTIONS(325), - [anon_sym_AMP] = ACTIONS(325), - [sym__comment] = ACTIONS(3), - [sym__blankspace] = ACTIONS(3), - [sym__block_comment] = ACTIONS(3), - }, - [76] = { - [sym_bool_literal] = STATE(339), - [sym_int_literal] = STATE(339), - [sym_decimal_int_literal] = STATE(336), - [sym_float_literal] = STATE(339), - [sym_decimal_float_literal] = STATE(332), - [sym_hex_float_literal] = STATE(332), - [sym_literal] = STATE(329), - [sym_ident] = STATE(314), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(311), - [sym_call_expression] = STATE(329), - [sym_call_phrase] = STATE(324), - [sym_callable] = STATE(473), - [sym_paren_expression] = STATE(329), - [sym_unary_expression] = STATE(351), - [sym_singular_expression] = STATE(350), - [sym_ident_pattern_token] = ACTIONS(239), - [anon_sym_true] = ACTIONS(241), - [anon_sym_false] = ACTIONS(241), - [aux_sym_decimal_int_literal_token1] = ACTIONS(243), - [aux_sym_decimal_int_literal_token2] = ACTIONS(243), - [sym_hex_int_literal] = ACTIONS(245), - [aux_sym_decimal_float_literal_token1] = ACTIONS(247), - [aux_sym_decimal_float_literal_token2] = ACTIONS(247), - [aux_sym_decimal_float_literal_token3] = ACTIONS(247), - [aux_sym_decimal_float_literal_token4] = ACTIONS(249), - [aux_sym_decimal_float_literal_token5] = ACTIONS(247), - [aux_sym_hex_float_literal_token1] = ACTIONS(251), - [aux_sym_hex_float_literal_token2] = ACTIONS(253), - [aux_sym_hex_float_literal_token3] = ACTIONS(251), - [anon_sym_LPAREN] = ACTIONS(255), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(257), - [anon_sym_DASH] = ACTIONS(259), - [anon_sym_BANG] = ACTIONS(259), - [anon_sym_TILDE] = ACTIONS(259), - [anon_sym_STAR] = ACTIONS(259), - [anon_sym_AMP] = ACTIONS(259), +}; + +static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { + [0] = {0}, +}; + +static const uint16_t ts_non_terminal_alias_map[] = { + 0, +}; + +static const TSStateId ts_primary_state_ids[STATE_COUNT] = { + [0] = 0, + [1] = 1, + [2] = 2, + [3] = 3, + [4] = 4, + [5] = 5, + [6] = 6, + [7] = 7, + [8] = 8, + [9] = 9, + [10] = 10, + [11] = 11, + [12] = 12, + [13] = 13, + [14] = 14, + [15] = 15, + [16] = 16, + [17] = 17, + [18] = 18, + [19] = 19, + [20] = 20, + [21] = 21, + [22] = 20, + [23] = 20, + [24] = 24, + [25] = 24, + [26] = 24, + [27] = 24, + [28] = 20, + [29] = 24, + [30] = 24, + [31] = 31, + [32] = 24, + [33] = 24, + [34] = 20, + [35] = 20, + [36] = 20, + [37] = 20, + [38] = 24, + [39] = 39, + [40] = 24, + [41] = 20, + [42] = 20, + [43] = 43, + [44] = 44, + [45] = 45, + [46] = 46, + [47] = 47, + [48] = 48, + [49] = 49, + [50] = 50, + [51] = 51, + [52] = 51, + [53] = 53, + [54] = 54, + [55] = 55, + [56] = 53, + [57] = 57, + [58] = 53, + [59] = 51, + [60] = 53, + [61] = 61, + [62] = 62, + [63] = 63, + [64] = 64, + [65] = 65, + [66] = 66, + [67] = 51, + [68] = 68, + [69] = 51, + [70] = 70, + [71] = 71, + [72] = 72, + [73] = 73, + [74] = 74, + [75] = 75, + [76] = 51, + [77] = 53, + [78] = 53, + [79] = 51, + [80] = 80, + [81] = 53, + [82] = 51, + [83] = 53, + [84] = 84, + [85] = 85, + [86] = 86, + [87] = 87, + [88] = 88, + [89] = 53, + [90] = 90, + [91] = 51, + [92] = 92, + [93] = 51, + [94] = 94, + [95] = 53, + [96] = 51, + [97] = 97, + [98] = 98, + [99] = 98, + [100] = 97, + [101] = 101, + [102] = 102, + [103] = 103, + [104] = 103, + [105] = 105, + [106] = 103, + [107] = 103, + [108] = 108, + [109] = 108, + [110] = 108, + [111] = 108, + [112] = 108, + [113] = 108, + [114] = 114, + [115] = 114, + [116] = 114, + [117] = 114, + [118] = 118, + [119] = 119, + [120] = 118, + [121] = 114, + [122] = 114, + [123] = 119, + [124] = 114, + [125] = 114, + [126] = 118, + [127] = 118, + [128] = 119, + [129] = 119, + [130] = 130, + [131] = 131, + [132] = 132, + [133] = 119, + [134] = 114, + [135] = 130, + [136] = 131, + [137] = 132, + [138] = 114, + [139] = 118, + [140] = 118, + [141] = 119, + [142] = 142, + [143] = 143, + [144] = 144, + [145] = 145, + [146] = 146, + [147] = 147, + [148] = 148, + [149] = 149, + [150] = 150, + [151] = 151, + [152] = 152, + [153] = 153, + [154] = 154, + [155] = 155, + [156] = 156, + [157] = 157, + [158] = 158, + [159] = 159, + [160] = 153, + [161] = 161, + [162] = 162, + [163] = 163, + [164] = 164, + [165] = 165, + [166] = 166, + [167] = 167, + [168] = 168, + [169] = 161, + [170] = 170, + [171] = 171, + [172] = 172, + [173] = 173, + [174] = 174, + [175] = 175, + [176] = 176, + [177] = 177, + [178] = 145, + [179] = 179, + [180] = 180, + [181] = 181, + [182] = 182, + [183] = 183, + [184] = 184, + [185] = 145, + [186] = 186, + [187] = 187, + [188] = 147, + [189] = 147, + [190] = 190, + [191] = 191, + [192] = 192, + [193] = 193, + [194] = 194, + [195] = 151, + [196] = 196, + [197] = 197, + [198] = 198, + [199] = 199, + [200] = 145, + [201] = 201, + [202] = 202, + [203] = 203, + [204] = 204, + [205] = 205, + [206] = 206, + [207] = 151, + [208] = 208, + [209] = 148, + [210] = 210, + [211] = 211, + [212] = 212, + [213] = 149, + [214] = 214, + [215] = 152, + [216] = 216, + [217] = 150, + [218] = 218, + [219] = 219, + [220] = 220, + [221] = 150, + [222] = 222, + [223] = 223, + [224] = 152, + [225] = 225, + [226] = 226, + [227] = 227, + [228] = 149, + [229] = 229, + [230] = 230, + [231] = 231, + [232] = 232, + [233] = 148, + [234] = 234, + [235] = 235, + [236] = 156, + [237] = 159, + [238] = 238, + [239] = 239, + [240] = 240, + [241] = 241, + [242] = 173, + [243] = 164, + [244] = 163, + [245] = 162, + [246] = 246, + [247] = 174, + [248] = 248, + [249] = 157, + [250] = 155, + [251] = 148, + [252] = 161, + [253] = 253, + [254] = 254, + [255] = 255, + [256] = 256, + [257] = 161, + [258] = 155, + [259] = 259, + [260] = 158, + [261] = 261, + [262] = 165, + [263] = 153, + [264] = 264, + [265] = 166, + [266] = 159, + [267] = 153, + [268] = 165, + [269] = 154, + [270] = 154, + [271] = 158, + [272] = 156, + [273] = 157, + [274] = 162, + [275] = 275, + [276] = 163, + [277] = 277, + [278] = 164, + [279] = 173, + [280] = 166, + [281] = 281, + [282] = 174, + [283] = 283, + [284] = 284, + [285] = 285, + [286] = 145, + [287] = 287, + [288] = 288, + [289] = 289, + [290] = 290, + [291] = 291, + [292] = 292, + [293] = 150, + [294] = 182, + [295] = 145, + [296] = 296, + [297] = 147, + [298] = 298, + [299] = 184, + [300] = 300, + [301] = 301, + [302] = 147, + [303] = 303, + [304] = 181, + [305] = 181, + [306] = 182, + [307] = 184, + [308] = 183, + [309] = 180, + [310] = 179, + [311] = 180, + [312] = 183, + [313] = 148, + [314] = 152, + [315] = 149, + [316] = 150, + [317] = 152, + [318] = 151, + [319] = 145, + [320] = 149, + [321] = 147, + [322] = 151, + [323] = 156, + [324] = 173, + [325] = 165, + [326] = 155, + [327] = 327, + [328] = 159, + [329] = 153, + [330] = 330, + [331] = 159, + [332] = 154, + [333] = 147, + [334] = 149, + [335] = 335, + [336] = 157, + [337] = 158, + [338] = 163, + [339] = 166, + [340] = 162, + [341] = 341, + [342] = 161, + [343] = 155, + [344] = 150, + [345] = 174, + [346] = 166, + [347] = 173, + [348] = 164, + [349] = 163, + [350] = 162, + [351] = 157, + [352] = 156, + [353] = 164, + [354] = 174, + [355] = 148, + [356] = 152, + [357] = 158, + [358] = 154, + [359] = 165, + [360] = 151, + [361] = 163, + [362] = 165, + [363] = 363, + [364] = 156, + [365] = 158, + [366] = 159, + [367] = 153, + [368] = 368, + [369] = 240, + [370] = 155, + [371] = 154, + [372] = 157, + [373] = 152, + [374] = 162, + [375] = 148, + [376] = 150, + [377] = 161, + [378] = 174, + [379] = 151, + [380] = 164, + [381] = 149, + [382] = 173, + [383] = 383, + [384] = 166, + [385] = 184, + [386] = 174, + [387] = 182, + [388] = 283, + [389] = 152, + [390] = 154, + [391] = 157, + [392] = 151, + [393] = 162, + [394] = 163, + [395] = 164, + [396] = 153, + [397] = 287, + [398] = 173, + [399] = 166, + [400] = 155, + [401] = 165, + [402] = 161, + [403] = 180, + [404] = 184, + [405] = 145, + [406] = 406, + [407] = 159, + [408] = 183, + [409] = 182, + [410] = 181, + [411] = 156, + [412] = 181, + [413] = 240, + [414] = 158, + [415] = 183, + [416] = 180, + [417] = 145, + [418] = 156, + [419] = 182, + [420] = 301, + [421] = 283, + [422] = 184, + [423] = 423, + [424] = 303, + [425] = 147, + [426] = 287, + [427] = 158, + [428] = 240, + [429] = 183, + [430] = 430, + [431] = 181, + [432] = 432, + [433] = 433, + [434] = 180, + [435] = 147, + [436] = 183, + [437] = 437, + [438] = 150, + [439] = 423, + [440] = 149, + [441] = 184, + [442] = 152, + [443] = 180, + [444] = 152, + [445] = 150, + [446] = 148, + [447] = 287, + [448] = 182, + [449] = 145, + [450] = 283, + [451] = 151, + [452] = 151, + [453] = 303, + [454] = 301, + [455] = 181, + [456] = 148, + [457] = 149, + [458] = 153, + [459] = 335, + [460] = 162, + [461] = 166, + [462] = 462, + [463] = 463, + [464] = 163, + [465] = 154, + [466] = 147, + [467] = 157, + [468] = 173, + [469] = 155, + [470] = 166, + [471] = 161, + [472] = 158, + [473] = 473, + [474] = 162, + [475] = 156, + [476] = 476, + [477] = 174, + [478] = 159, + [479] = 479, + [480] = 174, + [481] = 157, + [482] = 164, + [483] = 184, + [484] = 164, + [485] = 173, + [486] = 161, + [487] = 158, + [488] = 159, + [489] = 155, + [490] = 490, + [491] = 165, + [492] = 182, + [493] = 163, + [494] = 153, + [495] = 165, + [496] = 154, + [497] = 156, + [498] = 148, + [499] = 150, + [500] = 151, + [501] = 501, + [502] = 502, + [503] = 335, + [504] = 149, + [505] = 152, + [506] = 183, + [507] = 507, + [508] = 508, + [509] = 508, + [510] = 510, + [511] = 164, + [512] = 512, + [513] = 513, + [514] = 514, + [515] = 515, + [516] = 508, + [517] = 508, + [518] = 508, + [519] = 508, + [520] = 520, + [521] = 521, + [522] = 508, + [523] = 523, + [524] = 184, + [525] = 525, + [526] = 526, + [527] = 527, + [528] = 528, + [529] = 529, + [530] = 530, + [531] = 531, + [532] = 532, + [533] = 533, + [534] = 534, + [535] = 535, + [536] = 182, + [537] = 537, + [538] = 538, + [539] = 539, + [540] = 184, + [541] = 155, + [542] = 174, + [543] = 181, + [544] = 182, + [545] = 545, + [546] = 546, + [547] = 240, + [548] = 166, + [549] = 173, + [550] = 508, + [551] = 508, + [552] = 163, + [553] = 508, + [554] = 554, + [555] = 162, + [556] = 157, + [557] = 180, + [558] = 558, + [559] = 154, + [560] = 508, + [561] = 180, + [562] = 183, + [563] = 563, + [564] = 159, + [565] = 335, + [566] = 566, + [567] = 567, + [568] = 568, + [569] = 158, + [570] = 153, + [571] = 181, + [572] = 156, + [573] = 573, + [574] = 165, + [575] = 575, + [576] = 576, + [577] = 161, + [578] = 578, + [579] = 579, + [580] = 433, + [581] = 283, + [582] = 582, + [583] = 583, + [584] = 584, + [585] = 585, + [586] = 423, + [587] = 240, + [588] = 588, + [589] = 287, + [590] = 590, + [591] = 301, + [592] = 303, + [593] = 283, + [594] = 423, + [595] = 181, + [596] = 182, + [597] = 597, + [598] = 184, + [599] = 599, + [600] = 287, + [601] = 183, + [602] = 180, + [603] = 433, + [604] = 604, + [605] = 605, + [606] = 606, + [607] = 607, + [608] = 608, + [609] = 609, + [610] = 610, + [611] = 609, + [612] = 335, + [613] = 613, + [614] = 614, + [615] = 615, + [616] = 610, + [617] = 617, + [618] = 335, + [619] = 619, + [620] = 620, + [621] = 621, + [622] = 622, + [623] = 623, + [624] = 624, + [625] = 625, + [626] = 626, + [627] = 627, + [628] = 599, + [629] = 629, + [630] = 630, + [631] = 631, + [632] = 433, + [633] = 633, + [634] = 406, + [635] = 597, + [636] = 636, + [637] = 637, + [638] = 638, + [639] = 639, + [640] = 640, + [641] = 641, + [642] = 642, + [643] = 608, + [644] = 607, + [645] = 606, + [646] = 605, + [647] = 604, + [648] = 648, + [649] = 649, + [650] = 650, + [651] = 651, + [652] = 652, + [653] = 653, + [654] = 654, + [655] = 655, + [656] = 656, + [657] = 657, + [658] = 658, + [659] = 659, + [660] = 660, + [661] = 661, + [662] = 662, + [663] = 663, + [664] = 664, + [665] = 665, + [666] = 666, + [667] = 667, + [668] = 668, + [669] = 669, + [670] = 670, + [671] = 671, + [672] = 672, + [673] = 673, + [674] = 674, + [675] = 675, + [676] = 432, + [677] = 430, + [678] = 678, + [679] = 679, + [680] = 680, + [681] = 681, + [682] = 682, + [683] = 683, + [684] = 684, + [685] = 685, + [686] = 686, + [687] = 687, + [688] = 688, + [689] = 689, + [690] = 690, + [691] = 691, + [692] = 692, + [693] = 693, + [694] = 694, + [695] = 695, + [696] = 696, + [697] = 697, + [698] = 698, + [699] = 699, + [700] = 700, + [701] = 701, + [702] = 702, + [703] = 703, + [704] = 704, + [705] = 705, + [706] = 706, + [707] = 707, + [708] = 708, + [709] = 709, + [710] = 710, + [711] = 711, + [712] = 712, + [713] = 713, + [714] = 714, + [715] = 715, + [716] = 716, + [717] = 717, + [718] = 718, + [719] = 719, + [720] = 720, + [721] = 721, + [722] = 722, + [723] = 723, + [724] = 724, + [725] = 725, + [726] = 726, + [727] = 727, + [728] = 728, + [729] = 729, + [730] = 730, + [731] = 731, + [732] = 732, + [733] = 733, + [734] = 734, + [735] = 735, + [736] = 736, + [737] = 737, + [738] = 738, + [739] = 739, + [740] = 740, + [741] = 741, + [742] = 742, + [743] = 743, + [744] = 615, + [745] = 745, + [746] = 746, + [747] = 747, + [748] = 748, + [749] = 749, + [750] = 750, + [751] = 751, + [752] = 752, + [753] = 753, + [754] = 754, + [755] = 755, + [756] = 756, + [757] = 757, + [758] = 758, + [759] = 759, + [760] = 760, + [761] = 761, + [762] = 762, + [763] = 763, + [764] = 750, + [765] = 765, + [766] = 766, + [767] = 767, + [768] = 768, + [769] = 769, + [770] = 770, + [771] = 771, + [772] = 772, + [773] = 773, + [774] = 774, + [775] = 775, + [776] = 776, + [777] = 762, + [778] = 758, + [779] = 757, + [780] = 754, + [781] = 753, + [782] = 750, + [783] = 783, + [784] = 767, + [785] = 785, + [786] = 786, + [787] = 787, + [788] = 788, + [789] = 762, + [790] = 758, + [791] = 757, + [792] = 750, + [793] = 793, + [794] = 767, + [795] = 795, + [796] = 796, + [797] = 797, + [798] = 798, + [799] = 762, + [800] = 758, + [801] = 757, + [802] = 750, + [803] = 803, + [804] = 767, + [805] = 805, + [806] = 806, + [807] = 807, + [808] = 808, + [809] = 762, + [810] = 758, + [811] = 757, + [812] = 750, + [813] = 813, + [814] = 767, + [815] = 815, + [816] = 767, + [817] = 817, + [818] = 818, + [819] = 762, + [820] = 758, + [821] = 757, + [822] = 822, + [823] = 823, + [824] = 767, + [825] = 825, + [826] = 762, + [827] = 758, + [828] = 757, + [829] = 750, + [830] = 830, + [831] = 767, + [832] = 832, + [833] = 762, + [834] = 758, + [835] = 757, + [836] = 750, + [837] = 837, + [838] = 767, + [839] = 839, + [840] = 762, + [841] = 758, + [842] = 757, + [843] = 750, + [844] = 844, + [845] = 767, + [846] = 846, + [847] = 762, + [848] = 758, + [849] = 757, + [850] = 850, + [851] = 757, + [852] = 852, + [853] = 853, + [854] = 854, + [855] = 855, + [856] = 856, + [857] = 857, + [858] = 858, + [859] = 859, + [860] = 855, + [861] = 854, + [862] = 853, + [863] = 766, + [864] = 765, + [865] = 750, + [866] = 866, + [867] = 867, + [868] = 868, + [869] = 869, + [870] = 870, + [871] = 763, + [872] = 872, + [873] = 873, + [874] = 874, + [875] = 875, + [876] = 876, + [877] = 877, + [878] = 878, + [879] = 879, + [880] = 880, + [881] = 881, + [882] = 882, + [883] = 883, + [884] = 884, + [885] = 885, + [886] = 886, + [887] = 887, + [888] = 888, + [889] = 889, + [890] = 890, + [891] = 891, + [892] = 892, + [893] = 893, + [894] = 625, + [895] = 462, +}; + +static TSCharacterRange sym_ident_pattern_token_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, 0x1c88}, {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, 0xa7ca}, {0xa7d0, 0xa7d1}, {0xa7d3, 0xa7d3}, {0xa7d5, 0xa7d9}, + {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}, + {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}, {0x10e80, 0x10ea9}, {0x10eb0, 0x10eb1}, {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}, {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}, {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}, {0x14400, 0x14646}, {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, + {0x16a70, 0x16abe}, {0x16ad0, 0x16aed}, {0x16b00, 0x16b2f}, {0x16b40, 0x16b43}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16e40, 0x16e7f}, {0x16f00, 0x16f4a}, + {0x16f50, 0x16f50}, {0x16f93, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x16fe3, 0x16fe3}, {0x17000, 0x187f7}, {0x18800, 0x18cd5}, {0x18d00, 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}, {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 TSCharacterRange sym_ident_pattern_token_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}, {0x898, 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, 0x1c88}, {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, 0xa7ca}, {0xa7d0, 0xa7d1}, {0xa7d3, 0xa7d3}, {0xa7d5, 0xa7d9}, {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}, {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}, {0x10e80, 0x10ea9}, {0x10eab, 0x10eac}, {0x10eb0, 0x10eb1}, {0x10efd, 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}, {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}, {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}, {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, 0x11f59}, {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12480, 0x12543}, {0x12f90, 0x12ff0}, + {0x13000, 0x1342f}, {0x13440, 0x13455}, {0x14400, 0x14646}, {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, {0x16a60, 0x16a69}, {0x16a70, 0x16abe}, {0x16ac0, 0x16ac9}, + {0x16ad0, 0x16aed}, {0x16af0, 0x16af4}, {0x16b00, 0x16b36}, {0x16b40, 0x16b43}, {0x16b50, 0x16b59}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16e40, 0x16e7f}, + {0x16f00, 0x16f4a}, {0x16f4f, 0x16f87}, {0x16f8f, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x16fe3, 0x16fe4}, {0x16ff0, 0x16ff1}, {0x17000, 0x187f7}, {0x18800, 0x18cd5}, + {0x18d00, 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}, {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}, {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(32); + ADVANCE_MAP( + '!', 74, + '%', 84, + '&', 80, + '(', 62, + ')', 63, + '*', 77, + '+', 86, + ',', 60, + '-', 72, + '.', 59, + '/', 82, + '0', 35, + ':', 66, + ';', 33, + '=', 68, + '@', 61, + '[', 69, + ']', 70, + '^', 94, + '_', 95, + '{', 64, + '|', 91, + '}', 65, + '~', 75, + 'a', 109, + 'b', 109, + 'g', 109, + 'r', 109, + ); + if (('w' <= lookahead && lookahead <= 'z')) ADVANCE(112); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(37); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == 0x85 || + lookahead == 0x200e || + lookahead == 0x200f || + lookahead == 0x2028 || + lookahead == 0x2029) ADVANCE(115); + if (set_contains(sym_ident_pattern_token_character_set_1, 668, lookahead)) ADVANCE(113); + END_STATE(); + case 1: + ADVANCE_MAP( + '!', 9, + '%', 83, + '&', 79, + '(', 62, + ')', 63, + '*', 76, + '+', 85, + ',', 60, + '-', 71, + '.', 58, + '/', 81, + ':', 66, + ';', 33, + '=', 13, + '@', 61, + '[', 69, + ']', 70, + '^', 93, + '{', 64, + '|', 92, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == 0x85 || + lookahead == 0x200e || + lookahead == 0x200f || + lookahead == 0x2028 || + lookahead == 0x2029) ADVANCE(115); + END_STATE(); + case 2: + ADVANCE_MAP( + '%', 83, + '&', 78, + '(', 62, + ')', 63, + '*', 76, + '+', 85, + ',', 60, + '-', 71, + '.', 58, + '/', 81, + ':', 66, + ';', 33, + '=', 67, + '@', 61, + '[', 69, + ']', 70, + '^', 93, + '_', 30, + '{', 64, + '|', 92, + '}', 65, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == 0x85 || + lookahead == 0x200e || + lookahead == 0x200f || + lookahead == 0x2028 || + lookahead == 0x2029) ADVANCE(115); + if (set_contains(sym_ident_pattern_token_character_set_1, 668, lookahead)) ADVANCE(113); + END_STATE(); + case 3: + ADVANCE_MAP( + '%', 10, + '&', 11, + '(', 62, + '*', 12, + '+', 4, + '-', 5, + '.', 58, + '/', 8, + '=', 67, + '@', 61, + '[', 69, + '^', 14, + '{', 64, + '|', 15, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == 0x85 || + lookahead == 0x200e || + lookahead == 0x200f || + lookahead == 0x2028 || + lookahead == 0x2029) ADVANCE(115); + END_STATE(); + case 4: + if (lookahead == '+') ADVANCE(104); + if (lookahead == '=') ADVANCE(96); + END_STATE(); + case 5: + if (lookahead == '-') ADVANCE(105); + if (lookahead == '=') ADVANCE(97); + if (lookahead == '>') ADVANCE(106); + END_STATE(); + case 6: + if (lookahead == '.') ADVANCE(46); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(16); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); + END_STATE(); + case 7: + if (lookahead == '.') ADVANCE(29); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(39); + END_STATE(); + case 8: + if (lookahead == '/') ADVANCE(114); + if (lookahead == '=') ADVANCE(99); + END_STATE(); + case 9: + if (lookahead == '=') ADVANCE(88); + END_STATE(); + case 10: + if (lookahead == '=') ADVANCE(100); + END_STATE(); + case 11: + if (lookahead == '=') ADVANCE(101); + END_STATE(); + case 12: + if (lookahead == '=') ADVANCE(98); + END_STATE(); + case 13: + if (lookahead == '=') ADVANCE(87); + END_STATE(); + case 14: + if (lookahead == '=') ADVANCE(103); + END_STATE(); + case 15: + if (lookahead == '=') ADVANCE(102); + END_STATE(); + case 16: + if (lookahead == '+' || + lookahead == '-') ADVANCE(23); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); + END_STATE(); + case 17: + if (lookahead == '+' || + lookahead == '-') ADVANCE(24); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); + END_STATE(); + case 18: + if (lookahead == '+' || + lookahead == '-') ADVANCE(25); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); + END_STATE(); + case 19: + if (lookahead == '+' || + lookahead == '-') ADVANCE(26); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(57); + END_STATE(); + case 20: + if (lookahead == '+' || + lookahead == '-') ADVANCE(27); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(52); + END_STATE(); + case 21: + if (lookahead == '+' || + lookahead == '-') ADVANCE(28); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(55); + END_STATE(); + case 22: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(43); + END_STATE(); + case 23: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); + END_STATE(); + case 24: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); + END_STATE(); + case 25: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); + END_STATE(); + case 26: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(57); + END_STATE(); + case 27: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(52); + END_STATE(); + case 28: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(55); + END_STATE(); + case 29: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(51); + END_STATE(); + case 30: + if (set_contains(sym_ident_pattern_token_character_set_2, 776, lookahead)) ADVANCE(113); + END_STATE(); + case 31: + if (eof) ADVANCE(32); + ADVANCE_MAP( + '!', 73, + '%', 83, + '&', 78, + '(', 62, + ')', 63, + '*', 76, + '+', 85, + ',', 60, + '-', 71, + '.', 22, + '/', 81, + '0', 35, + ':', 66, + ';', 33, + '=', 67, + '@', 61, + ']', 70, + '^', 93, + '_', 95, + '{', 64, + '|', 92, + '}', 65, + '~', 75, + ); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(37); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == 0x85 || + lookahead == 0x200e || + lookahead == 0x200f || + lookahead == 0x2028 || + lookahead == 0x2029) ADVANCE(115); + if (set_contains(sym_ident_pattern_token_character_set_1, 668, lookahead)) ADVANCE(113); + END_STATE(); + case 32: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 33: + ACCEPT_TOKEN(anon_sym_SEMI); + END_STATE(); + case 34: + ACCEPT_TOKEN(aux_sym_decimal_int_literal_token1); + END_STATE(); + case 35: + ACCEPT_TOKEN(aux_sym_decimal_int_literal_token1); + ADVANCE_MAP( + '.', 46, + 'E', 16, + 'e', 16, + 'X', 7, + 'x', 7, + 'f', 40, + 'h', 40, + 'i', 34, + 'u', 34, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(6); + END_STATE(); + case 36: + ACCEPT_TOKEN(aux_sym_decimal_int_literal_token2); + END_STATE(); + case 37: + ACCEPT_TOKEN(aux_sym_decimal_int_literal_token2); + if (lookahead == '.') ADVANCE(46); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(16); + if (lookahead == 'f' || + lookahead == 'h') ADVANCE(41); + if (lookahead == 'i' || + lookahead == 'u') ADVANCE(36); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(37); + END_STATE(); + case 38: + ACCEPT_TOKEN(sym_hex_int_literal); + END_STATE(); + case 39: + ACCEPT_TOKEN(sym_hex_int_literal); + if (lookahead == '.') ADVANCE(54); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(19); + if (lookahead == 'i' || + lookahead == 'u') ADVANCE(38); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(39); + END_STATE(); + case 40: + ACCEPT_TOKEN(aux_sym_decimal_float_literal_token1); + END_STATE(); + case 41: + ACCEPT_TOKEN(aux_sym_decimal_float_literal_token2); + END_STATE(); + case 42: + ACCEPT_TOKEN(aux_sym_decimal_float_literal_token3); + END_STATE(); + case 43: + ACCEPT_TOKEN(aux_sym_decimal_float_literal_token3); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(17); + if (lookahead == 'f' || + lookahead == 'h') ADVANCE(42); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(43); + END_STATE(); + case 44: + ACCEPT_TOKEN(aux_sym_decimal_float_literal_token3); + if (lookahead == 'f' || + lookahead == 'h') ADVANCE(42); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); + END_STATE(); + case 45: + ACCEPT_TOKEN(aux_sym_decimal_float_literal_token4); + END_STATE(); + case 46: + ACCEPT_TOKEN(aux_sym_decimal_float_literal_token4); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(18); + if (lookahead == 'f' || + lookahead == 'h') ADVANCE(45); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(43); + END_STATE(); + case 47: + ACCEPT_TOKEN(aux_sym_decimal_float_literal_token4); + if (lookahead == 'f' || + lookahead == 'h') ADVANCE(45); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); + END_STATE(); + case 48: + ACCEPT_TOKEN(aux_sym_decimal_float_literal_token5); + END_STATE(); + case 49: + ACCEPT_TOKEN(aux_sym_decimal_float_literal_token5); + if (lookahead == 'f' || + lookahead == 'h') ADVANCE(48); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); + END_STATE(); + case 50: + ACCEPT_TOKEN(aux_sym_hex_float_literal_token1); + END_STATE(); + case 51: + ACCEPT_TOKEN(aux_sym_hex_float_literal_token1); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(20); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(51); + END_STATE(); + case 52: + ACCEPT_TOKEN(aux_sym_hex_float_literal_token1); + if (lookahead == 'f' || + lookahead == 'h') ADVANCE(50); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(52); + END_STATE(); + case 53: + ACCEPT_TOKEN(aux_sym_hex_float_literal_token2); + END_STATE(); + case 54: + ACCEPT_TOKEN(aux_sym_hex_float_literal_token2); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(21); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(51); + END_STATE(); + case 55: + ACCEPT_TOKEN(aux_sym_hex_float_literal_token2); + if (lookahead == 'f' || + lookahead == 'h') ADVANCE(53); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(55); + END_STATE(); + case 56: + ACCEPT_TOKEN(aux_sym_hex_float_literal_token3); + END_STATE(); + case 57: + ACCEPT_TOKEN(aux_sym_hex_float_literal_token3); + if (lookahead == 'f' || + lookahead == 'h') ADVANCE(56); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(57); + END_STATE(); + case 58: + ACCEPT_TOKEN(anon_sym_DOT); + END_STATE(); + case 59: + ACCEPT_TOKEN(anon_sym_DOT); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(43); + END_STATE(); + case 60: + ACCEPT_TOKEN(anon_sym_COMMA); + END_STATE(); + case 61: + ACCEPT_TOKEN(anon_sym_AT); + END_STATE(); + case 62: + ACCEPT_TOKEN(anon_sym_LPAREN); + END_STATE(); + case 63: + ACCEPT_TOKEN(anon_sym_RPAREN); + END_STATE(); + case 64: + ACCEPT_TOKEN(anon_sym_LBRACE); + END_STATE(); + case 65: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 66: + ACCEPT_TOKEN(anon_sym_COLON); + END_STATE(); + case 67: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 68: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(87); + END_STATE(); + case 69: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 70: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 71: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 72: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '=') ADVANCE(97); + if (lookahead == '>') ADVANCE(106); + END_STATE(); + case 73: + ACCEPT_TOKEN(anon_sym_BANG); + END_STATE(); + case 74: + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(88); + END_STATE(); + case 75: + ACCEPT_TOKEN(anon_sym_TILDE); + END_STATE(); + case 76: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 77: + ACCEPT_TOKEN(anon_sym_STAR); + if (lookahead == '=') ADVANCE(98); + END_STATE(); + case 78: + ACCEPT_TOKEN(anon_sym_AMP); + END_STATE(); + case 79: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(89); + END_STATE(); + case 80: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(89); + if (lookahead == '=') ADVANCE(101); + END_STATE(); + case 81: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '/') ADVANCE(114); + END_STATE(); + case 82: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '/') ADVANCE(114); + if (lookahead == '=') ADVANCE(99); + END_STATE(); + case 83: + ACCEPT_TOKEN(anon_sym_PERCENT); + END_STATE(); + case 84: + ACCEPT_TOKEN(anon_sym_PERCENT); + if (lookahead == '=') ADVANCE(100); + END_STATE(); + case 85: + ACCEPT_TOKEN(anon_sym_PLUS); + END_STATE(); + case 86: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(104); + if (lookahead == '=') ADVANCE(96); + END_STATE(); + case 87: + ACCEPT_TOKEN(anon_sym_EQ_EQ); + END_STATE(); + case 88: + ACCEPT_TOKEN(anon_sym_BANG_EQ); + END_STATE(); + case 89: + ACCEPT_TOKEN(anon_sym_AMP_AMP); + END_STATE(); + case 90: + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + END_STATE(); + case 91: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '=') ADVANCE(102); + if (lookahead == '|') ADVANCE(90); + END_STATE(); + case 92: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '|') ADVANCE(90); + END_STATE(); + case 93: + ACCEPT_TOKEN(anon_sym_CARET); + END_STATE(); + case 94: + ACCEPT_TOKEN(anon_sym_CARET); + if (lookahead == '=') ADVANCE(103); + END_STATE(); + case 95: + ACCEPT_TOKEN(anon_sym__); + if (set_contains(sym_ident_pattern_token_character_set_2, 776, lookahead)) ADVANCE(113); + END_STATE(); + case 96: + ACCEPT_TOKEN(anon_sym_PLUS_EQ); + END_STATE(); + case 97: + ACCEPT_TOKEN(anon_sym_DASH_EQ); + END_STATE(); + case 98: + ACCEPT_TOKEN(anon_sym_STAR_EQ); + END_STATE(); + case 99: + ACCEPT_TOKEN(anon_sym_SLASH_EQ); + END_STATE(); + case 100: + ACCEPT_TOKEN(anon_sym_PERCENT_EQ); + END_STATE(); + case 101: + ACCEPT_TOKEN(anon_sym_AMP_EQ); + END_STATE(); + case 102: + ACCEPT_TOKEN(anon_sym_PIPE_EQ); + END_STATE(); + case 103: + ACCEPT_TOKEN(anon_sym_CARET_EQ); + END_STATE(); + case 104: + ACCEPT_TOKEN(anon_sym_PLUS_PLUS); + END_STATE(); + case 105: + ACCEPT_TOKEN(anon_sym_DASH_DASH); + END_STATE(); + case 106: + ACCEPT_TOKEN(anon_sym_DASH_GT); + END_STATE(); + case 107: + ACCEPT_TOKEN(sym_ident_pattern_token); + if (lookahead == 'a' || + lookahead == 'b' || + lookahead == 'g' || + lookahead == 'r') ADVANCE(113); + if (set_contains(sym_ident_pattern_token_character_set_2, 776, lookahead)) ADVANCE(113); + END_STATE(); + case 108: + ACCEPT_TOKEN(sym_ident_pattern_token); + if (lookahead == 'a' || + lookahead == 'b' || + lookahead == 'g' || + lookahead == 'r') ADVANCE(107); + if (set_contains(sym_ident_pattern_token_character_set_2, 776, lookahead)) ADVANCE(113); + END_STATE(); + case 109: + ACCEPT_TOKEN(sym_ident_pattern_token); + if (lookahead == 'a' || + lookahead == 'b' || + lookahead == 'g' || + lookahead == 'r') ADVANCE(108); + if (set_contains(sym_ident_pattern_token_character_set_2, 776, lookahead)) ADVANCE(113); + END_STATE(); + case 110: + ACCEPT_TOKEN(sym_ident_pattern_token); + if (('w' <= lookahead && lookahead <= 'z')) ADVANCE(113); + if (set_contains(sym_ident_pattern_token_character_set_2, 776, lookahead)) ADVANCE(113); + END_STATE(); + case 111: + ACCEPT_TOKEN(sym_ident_pattern_token); + if (('w' <= lookahead && lookahead <= 'z')) ADVANCE(110); + if (set_contains(sym_ident_pattern_token_character_set_2, 776, lookahead)) ADVANCE(113); + END_STATE(); + case 112: + ACCEPT_TOKEN(sym_ident_pattern_token); + if (('w' <= lookahead && lookahead <= 'z')) ADVANCE(111); + if (set_contains(sym_ident_pattern_token_character_set_2, 776, lookahead)) ADVANCE(113); + END_STATE(); + case 113: + ACCEPT_TOKEN(sym_ident_pattern_token); + if (set_contains(sym_ident_pattern_token_character_set_2, 776, lookahead)) ADVANCE(113); + END_STATE(); + case 114: + ACCEPT_TOKEN(sym__comment); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(114); + END_STATE(); + case 115: + ACCEPT_TOKEN(sym__blankspace); + END_STATE(); + default: + return false; + } +} + +static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + ADVANCE_MAP( + 'a', 1, + 'b', 2, + 'c', 3, + 'd', 4, + 'e', 5, + 'f', 6, + 'g', 7, + 'i', 8, + 'l', 9, + 'm', 10, + 'o', 11, + 'r', 12, + 's', 13, + 't', 14, + 'v', 15, + 'w', 16, + ); + END_STATE(); + case 1: + if (lookahead == 'l') ADVANCE(17); + END_STATE(); + case 2: + if (lookahead == 'i') ADVANCE(18); + if (lookahead == 'l') ADVANCE(19); + if (lookahead == 'r') ADVANCE(20); + if (lookahead == 'u') ADVANCE(21); + END_STATE(); + case 3: + if (lookahead == 'a') ADVANCE(22); + if (lookahead == 'o') ADVANCE(23); + END_STATE(); + case 4: + if (lookahead == 'e') ADVANCE(24); + if (lookahead == 'i') ADVANCE(25); + END_STATE(); + case 5: + if (lookahead == 'l') ADVANCE(26); + if (lookahead == 'n') ADVANCE(27); + END_STATE(); + case 6: + if (lookahead == 'a') ADVANCE(28); + if (lookahead == 'n') ADVANCE(29); + if (lookahead == 'o') ADVANCE(30); + if (lookahead == 'r') ADVANCE(31); + END_STATE(); + case 7: + if (lookahead == 'r') ADVANCE(32); + END_STATE(); + case 8: + if (lookahead == 'd') ADVANCE(33); + if (lookahead == 'f') ADVANCE(34); + if (lookahead == 'n') ADVANCE(35); + END_STATE(); + case 9: + if (lookahead == 'e') ADVANCE(36); + if (lookahead == 'o') ADVANCE(37); + END_STATE(); + case 10: + if (lookahead == 'u') ADVANCE(38); + END_STATE(); + case 11: + if (lookahead == 'v') ADVANCE(39); + END_STATE(); + case 12: + if (lookahead == 'e') ADVANCE(40); + END_STATE(); + case 13: + if (lookahead == 'i') ADVANCE(41); + if (lookahead == 't') ADVANCE(42); + if (lookahead == 'w') ADVANCE(43); + END_STATE(); + case 14: + if (lookahead == 'r') ADVANCE(44); + END_STATE(); + case 15: + if (lookahead == 'a') ADVANCE(45); + if (lookahead == 'e') ADVANCE(46); + END_STATE(); + case 16: + if (lookahead == 'h') ADVANCE(47); + if (lookahead == 'o') ADVANCE(48); + END_STATE(); + case 17: + if (lookahead == 'i') ADVANCE(49); + END_STATE(); + case 18: + if (lookahead == 'n') ADVANCE(50); + END_STATE(); + case 19: + if (lookahead == 'e') ADVANCE(51); + END_STATE(); + case 20: + if (lookahead == 'e') ADVANCE(52); + END_STATE(); + case 21: + if (lookahead == 'i') ADVANCE(53); + END_STATE(); + case 22: + if (lookahead == 's') ADVANCE(54); + END_STATE(); + case 23: + if (lookahead == 'm') ADVANCE(55); + if (lookahead == 'n') ADVANCE(56); + END_STATE(); + case 24: + if (lookahead == 'f') ADVANCE(57); + END_STATE(); + case 25: + if (lookahead == 'a') ADVANCE(58); + if (lookahead == 's') ADVANCE(59); + END_STATE(); + case 26: + if (lookahead == 's') ADVANCE(60); + END_STATE(); + case 27: + if (lookahead == 'a') ADVANCE(61); + END_STATE(); + case 28: + if (lookahead == 'l') ADVANCE(62); + END_STATE(); + case 29: + ACCEPT_TOKEN(anon_sym_fn); + END_STATE(); + case 30: + if (lookahead == 'r') ADVANCE(63); + END_STATE(); + case 31: + if (lookahead == 'a') ADVANCE(64); + END_STATE(); + case 32: + if (lookahead == 'o') ADVANCE(65); + END_STATE(); + case 33: + ACCEPT_TOKEN(anon_sym_id); + END_STATE(); + case 34: + ACCEPT_TOKEN(anon_sym_if); + END_STATE(); + case 35: + if (lookahead == 't') ADVANCE(66); + if (lookahead == 'v') ADVANCE(67); + END_STATE(); + case 36: + if (lookahead == 't') ADVANCE(68); + END_STATE(); + case 37: + if (lookahead == 'c') ADVANCE(69); + if (lookahead == 'o') ADVANCE(70); + END_STATE(); + case 38: + if (lookahead == 's') ADVANCE(71); + END_STATE(); + case 39: + if (lookahead == 'e') ADVANCE(72); + END_STATE(); + case 40: + if (lookahead == 'q') ADVANCE(73); + if (lookahead == 't') ADVANCE(74); + END_STATE(); + case 41: + if (lookahead == 'z') ADVANCE(75); + END_STATE(); + case 42: + if (lookahead == 'r') ADVANCE(76); + END_STATE(); + case 43: + if (lookahead == 'i') ADVANCE(77); + END_STATE(); + case 44: + if (lookahead == 'u') ADVANCE(78); + END_STATE(); + case 45: + if (lookahead == 'r') ADVANCE(79); + END_STATE(); + case 46: + if (lookahead == 'r') ADVANCE(80); + END_STATE(); + case 47: + if (lookahead == 'i') ADVANCE(81); + END_STATE(); + case 48: + if (lookahead == 'r') ADVANCE(82); + END_STATE(); + case 49: + if (lookahead == 'a') ADVANCE(83); + if (lookahead == 'g') ADVANCE(84); + END_STATE(); + case 50: + if (lookahead == 'd') ADVANCE(85); + END_STATE(); + case 51: + if (lookahead == 'n') ADVANCE(86); + END_STATE(); + case 52: + if (lookahead == 'a') ADVANCE(87); + END_STATE(); + case 53: + if (lookahead == 'l') ADVANCE(88); + END_STATE(); + case 54: + if (lookahead == 'e') ADVANCE(89); + END_STATE(); + case 55: + if (lookahead == 'p') ADVANCE(90); + END_STATE(); + case 56: + if (lookahead == 's') ADVANCE(91); + if (lookahead == 't') ADVANCE(92); + END_STATE(); + case 57: + if (lookahead == 'a') ADVANCE(93); + END_STATE(); + case 58: + if (lookahead == 'g') ADVANCE(94); + END_STATE(); + case 59: + if (lookahead == 'c') ADVANCE(95); + END_STATE(); + case 60: + if (lookahead == 'e') ADVANCE(96); + END_STATE(); + case 61: + if (lookahead == 'b') ADVANCE(97); + END_STATE(); + case 62: + if (lookahead == 's') ADVANCE(98); + END_STATE(); + case 63: + ACCEPT_TOKEN(anon_sym_for); + END_STATE(); + case 64: + if (lookahead == 'g') ADVANCE(99); + END_STATE(); + case 65: + if (lookahead == 'u') ADVANCE(100); + END_STATE(); + case 66: + if (lookahead == 'e') ADVANCE(101); + END_STATE(); + case 67: + if (lookahead == 'a') ADVANCE(102); + END_STATE(); + case 68: + ACCEPT_TOKEN(anon_sym_let); + END_STATE(); + case 69: + if (lookahead == 'a') ADVANCE(103); + END_STATE(); + case 70: + if (lookahead == 'p') ADVANCE(104); + END_STATE(); + case 71: + if (lookahead == 't') ADVANCE(105); + END_STATE(); + case 72: + if (lookahead == 'r') ADVANCE(106); + END_STATE(); + case 73: + if (lookahead == 'u') ADVANCE(107); + END_STATE(); + case 74: + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 75: + if (lookahead == 'e') ADVANCE(109); + END_STATE(); + case 76: + if (lookahead == 'u') ADVANCE(110); + END_STATE(); + case 77: + if (lookahead == 't') ADVANCE(111); + END_STATE(); + case 78: + if (lookahead == 'e') ADVANCE(112); + END_STATE(); + case 79: + ACCEPT_TOKEN(anon_sym_var); + END_STATE(); + case 80: + if (lookahead == 't') ADVANCE(113); + END_STATE(); + case 81: + if (lookahead == 'l') ADVANCE(114); + END_STATE(); + case 82: + if (lookahead == 'k') ADVANCE(115); + END_STATE(); + case 83: + if (lookahead == 's') ADVANCE(116); + END_STATE(); + case 84: + if (lookahead == 'n') ADVANCE(117); + END_STATE(); + case 85: + if (lookahead == 'i') ADVANCE(118); + END_STATE(); + case 86: + if (lookahead == 'd') ADVANCE(119); + END_STATE(); + case 87: + if (lookahead == 'k') ADVANCE(120); + END_STATE(); + case 88: + if (lookahead == 't') ADVANCE(121); + END_STATE(); + case 89: + ACCEPT_TOKEN(anon_sym_case); + END_STATE(); + case 90: + if (lookahead == 'u') ADVANCE(122); + END_STATE(); + case 91: + if (lookahead == 't') ADVANCE(123); + END_STATE(); + case 92: + if (lookahead == 'i') ADVANCE(124); + END_STATE(); + case 93: + if (lookahead == 'u') ADVANCE(125); + END_STATE(); + case 94: + if (lookahead == 'n') ADVANCE(126); + END_STATE(); + case 95: + if (lookahead == 'a') ADVANCE(127); + END_STATE(); + case 96: + ACCEPT_TOKEN(anon_sym_else); + END_STATE(); + case 97: + if (lookahead == 'l') ADVANCE(128); + END_STATE(); + case 98: + if (lookahead == 'e') ADVANCE(129); + END_STATE(); + case 99: + if (lookahead == 'm') ADVANCE(130); + END_STATE(); + case 100: + if (lookahead == 'p') ADVANCE(131); + END_STATE(); + case 101: + if (lookahead == 'r') ADVANCE(132); + END_STATE(); + case 102: + if (lookahead == 'r') ADVANCE(133); + END_STATE(); + case 103: + if (lookahead == 't') ADVANCE(134); + END_STATE(); + case 104: + ACCEPT_TOKEN(anon_sym_loop); + END_STATE(); + case 105: + if (lookahead == '_') ADVANCE(135); + END_STATE(); + case 106: + if (lookahead == 'r') ADVANCE(136); + END_STATE(); + case 107: + if (lookahead == 'i') ADVANCE(137); + END_STATE(); + case 108: + if (lookahead == 'r') ADVANCE(138); + END_STATE(); + case 109: + ACCEPT_TOKEN(anon_sym_size); + END_STATE(); + case 110: + if (lookahead == 'c') ADVANCE(139); + END_STATE(); + case 111: + if (lookahead == 'c') ADVANCE(140); + END_STATE(); + case 112: + ACCEPT_TOKEN(anon_sym_true); + END_STATE(); + case 113: + if (lookahead == 'e') ADVANCE(141); + END_STATE(); + case 114: + if (lookahead == 'e') ADVANCE(142); + END_STATE(); + case 115: + if (lookahead == 'g') ADVANCE(143); + END_STATE(); + case 116: + ACCEPT_TOKEN(anon_sym_alias); + END_STATE(); + case 117: + ACCEPT_TOKEN(anon_sym_align); + END_STATE(); + case 118: + if (lookahead == 'n') ADVANCE(144); + END_STATE(); + case 119: + if (lookahead == '_') ADVANCE(145); + END_STATE(); + case 120: + ACCEPT_TOKEN(anon_sym_break); + END_STATE(); + case 121: + if (lookahead == 'i') ADVANCE(146); + END_STATE(); + case 122: + if (lookahead == 't') ADVANCE(147); + END_STATE(); + case 123: + ACCEPT_TOKEN(anon_sym_const); + if (lookahead == '_') ADVANCE(148); + END_STATE(); + case 124: + if (lookahead == 'n') ADVANCE(149); + END_STATE(); + case 125: + if (lookahead == 'l') ADVANCE(150); + END_STATE(); + case 126: + if (lookahead == 'o') ADVANCE(151); + END_STATE(); + case 127: + if (lookahead == 'r') ADVANCE(152); + END_STATE(); + case 128: + if (lookahead == 'e') ADVANCE(153); + END_STATE(); + case 129: + ACCEPT_TOKEN(anon_sym_false); + END_STATE(); + case 130: + if (lookahead == 'e') ADVANCE(154); + END_STATE(); + case 131: + ACCEPT_TOKEN(anon_sym_group); + END_STATE(); + case 132: + if (lookahead == 'p') ADVANCE(155); + END_STATE(); + case 133: + if (lookahead == 'i') ADVANCE(156); + END_STATE(); + case 134: + if (lookahead == 'i') ADVANCE(157); + END_STATE(); + case 135: + if (lookahead == 'u') ADVANCE(158); + END_STATE(); + case 136: + if (lookahead == 'i') ADVANCE(159); + END_STATE(); + case 137: + if (lookahead == 'r') ADVANCE(160); + END_STATE(); + case 138: + if (lookahead == 'n') ADVANCE(161); + END_STATE(); + case 139: + if (lookahead == 't') ADVANCE(162); + END_STATE(); + case 140: + if (lookahead == 'h') ADVANCE(163); + END_STATE(); + case 141: + if (lookahead == 'x') ADVANCE(164); + END_STATE(); + case 142: + ACCEPT_TOKEN(anon_sym_while); + END_STATE(); + case 143: + if (lookahead == 'r') ADVANCE(165); + END_STATE(); + case 144: + if (lookahead == 'g') ADVANCE(166); + END_STATE(); + case 145: + if (lookahead == 's') ADVANCE(167); + END_STATE(); + case 146: + if (lookahead == 'n') ADVANCE(168); + END_STATE(); + case 147: + if (lookahead == 'e') ADVANCE(169); + END_STATE(); + case 148: + if (lookahead == 'a') ADVANCE(170); + END_STATE(); + case 149: + if (lookahead == 'u') ADVANCE(171); + END_STATE(); + case 150: + if (lookahead == 't') ADVANCE(172); + END_STATE(); + case 151: + if (lookahead == 's') ADVANCE(173); + END_STATE(); + case 152: + if (lookahead == 'd') ADVANCE(174); + END_STATE(); + case 153: + ACCEPT_TOKEN(anon_sym_enable); + END_STATE(); + case 154: + if (lookahead == 'n') ADVANCE(175); + END_STATE(); + case 155: + if (lookahead == 'o') ADVANCE(176); + END_STATE(); + case 156: + if (lookahead == 'a') ADVANCE(177); + END_STATE(); + case 157: + if (lookahead == 'o') ADVANCE(178); + END_STATE(); + case 158: + if (lookahead == 's') ADVANCE(179); + END_STATE(); + case 159: + if (lookahead == 'd') ADVANCE(180); + END_STATE(); + case 160: + if (lookahead == 'e') ADVANCE(181); + END_STATE(); + case 161: + ACCEPT_TOKEN(anon_sym_return); + END_STATE(); + case 162: + ACCEPT_TOKEN(anon_sym_struct); + END_STATE(); + case 163: + ACCEPT_TOKEN(anon_sym_switch); + END_STATE(); + case 164: + ACCEPT_TOKEN(anon_sym_vertex); + END_STATE(); + case 165: + if (lookahead == 'o') ADVANCE(182); + END_STATE(); + case 166: + ACCEPT_TOKEN(anon_sym_binding); + END_STATE(); + case 167: + if (lookahead == 'r') ADVANCE(183); + END_STATE(); + case 168: + ACCEPT_TOKEN(anon_sym_builtin); + END_STATE(); + case 169: + ACCEPT_TOKEN(anon_sym_compute); + END_STATE(); + case 170: + if (lookahead == 's') ADVANCE(184); + END_STATE(); + case 171: + if (lookahead == 'e') ADVANCE(185); + if (lookahead == 'i') ADVANCE(186); + END_STATE(); + case 172: + ACCEPT_TOKEN(anon_sym_default); + END_STATE(); + case 173: + if (lookahead == 't') ADVANCE(187); + END_STATE(); + case 174: + ACCEPT_TOKEN(anon_sym_discard); + END_STATE(); + case 175: + if (lookahead == 't') ADVANCE(188); + END_STATE(); + case 176: + if (lookahead == 'l') ADVANCE(189); + END_STATE(); + case 177: + if (lookahead == 'n') ADVANCE(190); + END_STATE(); + case 178: + if (lookahead == 'n') ADVANCE(191); + END_STATE(); + case 179: + if (lookahead == 'e') ADVANCE(192); + END_STATE(); + case 180: + if (lookahead == 'e') ADVANCE(193); + END_STATE(); + case 181: + if (lookahead == 's') ADVANCE(194); + END_STATE(); + case 182: + if (lookahead == 'u') ADVANCE(195); + END_STATE(); + case 183: + if (lookahead == 'c') ADVANCE(196); + END_STATE(); + case 184: + if (lookahead == 's') ADVANCE(197); + END_STATE(); + case 185: + ACCEPT_TOKEN(sym_continue_statement); + END_STATE(); + case 186: + if (lookahead == 'n') ADVANCE(198); + END_STATE(); + case 187: + if (lookahead == 'i') ADVANCE(199); + END_STATE(); + case 188: + ACCEPT_TOKEN(anon_sym_fragment); + END_STATE(); + case 189: + if (lookahead == 'a') ADVANCE(200); + END_STATE(); + case 190: + if (lookahead == 't') ADVANCE(201); + END_STATE(); + case 191: + ACCEPT_TOKEN(anon_sym_location); + END_STATE(); + case 192: + ACCEPT_TOKEN(anon_sym_must_use); + END_STATE(); + case 193: + ACCEPT_TOKEN(anon_sym_override); + END_STATE(); + case 194: + ACCEPT_TOKEN(anon_sym_requires); + END_STATE(); + case 195: + if (lookahead == 'p') ADVANCE(202); + END_STATE(); + case 196: + ACCEPT_TOKEN(anon_sym_blend_src); + END_STATE(); + case 197: + if (lookahead == 'e') ADVANCE(203); + END_STATE(); + case 198: + if (lookahead == 'g') ADVANCE(204); + END_STATE(); + case 199: + if (lookahead == 'c') ADVANCE(205); + END_STATE(); + case 200: + if (lookahead == 't') ADVANCE(206); + END_STATE(); + case 201: + ACCEPT_TOKEN(anon_sym_invariant); + END_STATE(); + case 202: + if (lookahead == '_') ADVANCE(207); + END_STATE(); + case 203: + if (lookahead == 'r') ADVANCE(208); + END_STATE(); + case 204: + ACCEPT_TOKEN(anon_sym_continuing); + END_STATE(); + case 205: + ACCEPT_TOKEN(anon_sym_diagnostic); + END_STATE(); + case 206: + if (lookahead == 'e') ADVANCE(209); + END_STATE(); + case 207: + if (lookahead == 's') ADVANCE(210); + END_STATE(); + case 208: + if (lookahead == 't') ADVANCE(211); + END_STATE(); + case 209: + ACCEPT_TOKEN(anon_sym_interpolate); + END_STATE(); + case 210: + if (lookahead == 'i') ADVANCE(212); + END_STATE(); + case 211: + ACCEPT_TOKEN(anon_sym_const_assert); + END_STATE(); + case 212: + if (lookahead == 'z') ADVANCE(213); + END_STATE(); + case 213: + if (lookahead == 'e') ADVANCE(214); + END_STATE(); + case 214: + ACCEPT_TOKEN(anon_sym_workgroup_size); + END_STATE(); + default: + return false; + } +} + +static const TSLexMode ts_lex_modes[STATE_COUNT] = { + [0] = {.lex_state = 0, .external_lex_state = 1}, + [1] = {.lex_state = 0, .external_lex_state = 2}, + [2] = {.lex_state = 31, .external_lex_state = 2}, + [3] = {.lex_state = 31, .external_lex_state = 2}, + [4] = {.lex_state = 31, .external_lex_state = 2}, + [5] = {.lex_state = 31, .external_lex_state = 2}, + [6] = {.lex_state = 31, .external_lex_state = 2}, + [7] = {.lex_state = 31, .external_lex_state = 2}, + [8] = {.lex_state = 31, .external_lex_state = 2}, + [9] = {.lex_state = 31, .external_lex_state = 2}, + [10] = {.lex_state = 31, .external_lex_state = 2}, + [11] = {.lex_state = 31, .external_lex_state = 2}, + [12] = {.lex_state = 31, .external_lex_state = 2}, + [13] = {.lex_state = 31, .external_lex_state = 2}, + [14] = {.lex_state = 31, .external_lex_state = 2}, + [15] = {.lex_state = 31, .external_lex_state = 2}, + [16] = {.lex_state = 31, .external_lex_state = 2}, + [17] = {.lex_state = 31, .external_lex_state = 2}, + [18] = {.lex_state = 31, .external_lex_state = 2}, + [19] = {.lex_state = 31, .external_lex_state = 2}, + [20] = {.lex_state = 31, .external_lex_state = 2}, + [21] = {.lex_state = 31, .external_lex_state = 2}, + [22] = {.lex_state = 31, .external_lex_state = 2}, + [23] = {.lex_state = 31, .external_lex_state = 2}, + [24] = {.lex_state = 31, .external_lex_state = 2}, + [25] = {.lex_state = 31, .external_lex_state = 2}, + [26] = {.lex_state = 31, .external_lex_state = 2}, + [27] = {.lex_state = 31, .external_lex_state = 2}, + [28] = {.lex_state = 31, .external_lex_state = 2}, + [29] = {.lex_state = 31, .external_lex_state = 2}, + [30] = {.lex_state = 31, .external_lex_state = 2}, + [31] = {.lex_state = 31, .external_lex_state = 3}, + [32] = {.lex_state = 31, .external_lex_state = 2}, + [33] = {.lex_state = 31, .external_lex_state = 2}, + [34] = {.lex_state = 31, .external_lex_state = 2}, + [35] = {.lex_state = 31, .external_lex_state = 2}, + [36] = {.lex_state = 31, .external_lex_state = 2}, + [37] = {.lex_state = 31, .external_lex_state = 2}, + [38] = {.lex_state = 31, .external_lex_state = 2}, + [39] = {.lex_state = 31, .external_lex_state = 3}, + [40] = {.lex_state = 31, .external_lex_state = 2}, + [41] = {.lex_state = 31, .external_lex_state = 2}, + [42] = {.lex_state = 31, .external_lex_state = 2}, + [43] = {.lex_state = 31, .external_lex_state = 2}, + [44] = {.lex_state = 31, .external_lex_state = 2}, + [45] = {.lex_state = 31, .external_lex_state = 2}, + [46] = {.lex_state = 31, .external_lex_state = 2}, + [47] = {.lex_state = 31, .external_lex_state = 2}, + [48] = {.lex_state = 31, .external_lex_state = 2}, + [49] = {.lex_state = 31, .external_lex_state = 2}, + [50] = {.lex_state = 31, .external_lex_state = 2}, + [51] = {.lex_state = 31, .external_lex_state = 2}, + [52] = {.lex_state = 31, .external_lex_state = 2}, + [53] = {.lex_state = 31, .external_lex_state = 2}, + [54] = {.lex_state = 31, .external_lex_state = 2}, + [55] = {.lex_state = 0, .external_lex_state = 2}, + [56] = {.lex_state = 31, .external_lex_state = 2}, + [57] = {.lex_state = 31, .external_lex_state = 2}, + [58] = {.lex_state = 31, .external_lex_state = 2}, + [59] = {.lex_state = 31, .external_lex_state = 2}, + [60] = {.lex_state = 31, .external_lex_state = 2}, + [61] = {.lex_state = 31, .external_lex_state = 2}, + [62] = {.lex_state = 31, .external_lex_state = 2}, + [63] = {.lex_state = 31, .external_lex_state = 2}, + [64] = {.lex_state = 31, .external_lex_state = 2}, + [65] = {.lex_state = 31, .external_lex_state = 2}, + [66] = {.lex_state = 31, .external_lex_state = 2}, + [67] = {.lex_state = 31, .external_lex_state = 2}, + [68] = {.lex_state = 31, .external_lex_state = 2}, + [69] = {.lex_state = 31, .external_lex_state = 2}, + [70] = {.lex_state = 31, .external_lex_state = 2}, + [71] = {.lex_state = 31, .external_lex_state = 2}, + [72] = {.lex_state = 31, .external_lex_state = 2}, + [73] = {.lex_state = 31, .external_lex_state = 2}, + [74] = {.lex_state = 31, .external_lex_state = 2}, + [75] = {.lex_state = 31, .external_lex_state = 2}, + [76] = {.lex_state = 31, .external_lex_state = 2}, + [77] = {.lex_state = 31, .external_lex_state = 2}, + [78] = {.lex_state = 31, .external_lex_state = 2}, + [79] = {.lex_state = 31, .external_lex_state = 2}, + [80] = {.lex_state = 31, .external_lex_state = 2}, + [81] = {.lex_state = 31, .external_lex_state = 2}, + [82] = {.lex_state = 31, .external_lex_state = 2}, + [83] = {.lex_state = 31, .external_lex_state = 2}, + [84] = {.lex_state = 31, .external_lex_state = 2}, + [85] = {.lex_state = 31, .external_lex_state = 2}, + [86] = {.lex_state = 31, .external_lex_state = 2}, + [87] = {.lex_state = 31, .external_lex_state = 2}, + [88] = {.lex_state = 31, .external_lex_state = 2}, + [89] = {.lex_state = 31, .external_lex_state = 2}, + [90] = {.lex_state = 31, .external_lex_state = 2}, + [91] = {.lex_state = 31, .external_lex_state = 2}, + [92] = {.lex_state = 31, .external_lex_state = 2}, + [93] = {.lex_state = 31, .external_lex_state = 2}, + [94] = {.lex_state = 31, .external_lex_state = 2}, + [95] = {.lex_state = 31, .external_lex_state = 2}, + [96] = {.lex_state = 31, .external_lex_state = 2}, + [97] = {.lex_state = 31, .external_lex_state = 2}, + [98] = {.lex_state = 31, .external_lex_state = 2}, + [99] = {.lex_state = 31, .external_lex_state = 2}, + [100] = {.lex_state = 31, .external_lex_state = 2}, + [101] = {.lex_state = 0, .external_lex_state = 2}, + [102] = {.lex_state = 0, .external_lex_state = 2}, + [103] = {.lex_state = 31, .external_lex_state = 2}, + [104] = {.lex_state = 31, .external_lex_state = 2}, + [105] = {.lex_state = 0, .external_lex_state = 2}, + [106] = {.lex_state = 31, .external_lex_state = 2}, + [107] = {.lex_state = 31, .external_lex_state = 2}, + [108] = {.lex_state = 31, .external_lex_state = 2}, + [109] = {.lex_state = 31, .external_lex_state = 2}, + [110] = {.lex_state = 31, .external_lex_state = 2}, + [111] = {.lex_state = 31, .external_lex_state = 2}, + [112] = {.lex_state = 31, .external_lex_state = 2}, + [113] = {.lex_state = 31, .external_lex_state = 2}, + [114] = {.lex_state = 31, .external_lex_state = 2}, + [115] = {.lex_state = 31, .external_lex_state = 2}, + [116] = {.lex_state = 31, .external_lex_state = 2}, + [117] = {.lex_state = 31, .external_lex_state = 2}, + [118] = {.lex_state = 31, .external_lex_state = 2}, + [119] = {.lex_state = 31, .external_lex_state = 2}, + [120] = {.lex_state = 31, .external_lex_state = 2}, + [121] = {.lex_state = 31, .external_lex_state = 2}, + [122] = {.lex_state = 31, .external_lex_state = 2}, + [123] = {.lex_state = 31, .external_lex_state = 2}, + [124] = {.lex_state = 31, .external_lex_state = 2}, + [125] = {.lex_state = 31, .external_lex_state = 2}, + [126] = {.lex_state = 31, .external_lex_state = 2}, + [127] = {.lex_state = 31, .external_lex_state = 2}, + [128] = {.lex_state = 31, .external_lex_state = 2}, + [129] = {.lex_state = 31, .external_lex_state = 2}, + [130] = {.lex_state = 31, .external_lex_state = 2}, + [131] = {.lex_state = 31, .external_lex_state = 2}, + [132] = {.lex_state = 31, .external_lex_state = 2}, + [133] = {.lex_state = 31, .external_lex_state = 2}, + [134] = {.lex_state = 31, .external_lex_state = 2}, + [135] = {.lex_state = 31, .external_lex_state = 2}, + [136] = {.lex_state = 31, .external_lex_state = 2}, + [137] = {.lex_state = 31, .external_lex_state = 2}, + [138] = {.lex_state = 31, .external_lex_state = 2}, + [139] = {.lex_state = 31, .external_lex_state = 2}, + [140] = {.lex_state = 31, .external_lex_state = 2}, + [141] = {.lex_state = 31, .external_lex_state = 2}, + [142] = {.lex_state = 31, .external_lex_state = 2}, + [143] = {.lex_state = 31, .external_lex_state = 2}, + [144] = {.lex_state = 31, .external_lex_state = 2}, + [145] = {.lex_state = 1, .external_lex_state = 4}, + [146] = {.lex_state = 0, .external_lex_state = 2}, + [147] = {.lex_state = 1, .external_lex_state = 5}, + [148] = {.lex_state = 1, .external_lex_state = 5}, + [149] = {.lex_state = 1, .external_lex_state = 5}, + [150] = {.lex_state = 1, .external_lex_state = 5}, + [151] = {.lex_state = 1, .external_lex_state = 5}, + [152] = {.lex_state = 1, .external_lex_state = 5}, + [153] = {.lex_state = 1, .external_lex_state = 5}, + [154] = {.lex_state = 1, .external_lex_state = 5}, + [155] = {.lex_state = 1, .external_lex_state = 5}, + [156] = {.lex_state = 1, .external_lex_state = 5}, + [157] = {.lex_state = 1, .external_lex_state = 5}, + [158] = {.lex_state = 1, .external_lex_state = 5}, + [159] = {.lex_state = 1, .external_lex_state = 5}, + [160] = {.lex_state = 2, .external_lex_state = 2}, + [161] = {.lex_state = 1, .external_lex_state = 5}, + [162] = {.lex_state = 1, .external_lex_state = 5}, + [163] = {.lex_state = 1, .external_lex_state = 5}, + [164] = {.lex_state = 1, .external_lex_state = 5}, + [165] = {.lex_state = 1, .external_lex_state = 5}, + [166] = {.lex_state = 1, .external_lex_state = 5}, + [167] = {.lex_state = 31, .external_lex_state = 2}, + [168] = {.lex_state = 0, .external_lex_state = 2}, + [169] = {.lex_state = 2, .external_lex_state = 2}, + [170] = {.lex_state = 31, .external_lex_state = 2}, + [171] = {.lex_state = 31, .external_lex_state = 2}, + [172] = {.lex_state = 31, .external_lex_state = 2}, + [173] = {.lex_state = 1, .external_lex_state = 5}, + [174] = {.lex_state = 1, .external_lex_state = 5}, + [175] = {.lex_state = 31, .external_lex_state = 2}, + [176] = {.lex_state = 0, .external_lex_state = 2}, + [177] = {.lex_state = 0, .external_lex_state = 2}, + [178] = {.lex_state = 1, .external_lex_state = 6}, + [179] = {.lex_state = 1, .external_lex_state = 5}, + [180] = {.lex_state = 1, .external_lex_state = 5}, + [181] = {.lex_state = 1, .external_lex_state = 5}, + [182] = {.lex_state = 1, .external_lex_state = 5}, + [183] = {.lex_state = 1, .external_lex_state = 5}, + [184] = {.lex_state = 1, .external_lex_state = 5}, + [185] = {.lex_state = 1, .external_lex_state = 7}, + [186] = {.lex_state = 0, .external_lex_state = 2}, + [187] = {.lex_state = 31, .external_lex_state = 2}, + [188] = {.lex_state = 1, .external_lex_state = 8}, + [189] = {.lex_state = 1, .external_lex_state = 9}, + [190] = {.lex_state = 0, .external_lex_state = 2}, + [191] = {.lex_state = 31, .external_lex_state = 2}, + [192] = {.lex_state = 0, .external_lex_state = 2}, + [193] = {.lex_state = 0, .external_lex_state = 2}, + [194] = {.lex_state = 31, .external_lex_state = 2}, + [195] = {.lex_state = 1, .external_lex_state = 9}, + [196] = {.lex_state = 0, .external_lex_state = 2}, + [197] = {.lex_state = 31, .external_lex_state = 2}, + [198] = {.lex_state = 31, .external_lex_state = 2}, + [199] = {.lex_state = 31, .external_lex_state = 2}, + [200] = {.lex_state = 2, .external_lex_state = 10}, + [201] = {.lex_state = 31, .external_lex_state = 2}, + [202] = {.lex_state = 0, .external_lex_state = 2}, + [203] = {.lex_state = 31, .external_lex_state = 2}, + [204] = {.lex_state = 0, .external_lex_state = 2}, + [205] = {.lex_state = 0, .external_lex_state = 2}, + [206] = {.lex_state = 0, .external_lex_state = 2}, + [207] = {.lex_state = 1, .external_lex_state = 8}, + [208] = {.lex_state = 0, .external_lex_state = 2}, + [209] = {.lex_state = 1, .external_lex_state = 8}, + [210] = {.lex_state = 31, .external_lex_state = 2}, + [211] = {.lex_state = 31, .external_lex_state = 2}, + [212] = {.lex_state = 31, .external_lex_state = 2}, + [213] = {.lex_state = 1, .external_lex_state = 8}, + [214] = {.lex_state = 0, .external_lex_state = 2}, + [215] = {.lex_state = 1, .external_lex_state = 8}, + [216] = {.lex_state = 31, .external_lex_state = 2}, + [217] = {.lex_state = 1, .external_lex_state = 8}, + [218] = {.lex_state = 31, .external_lex_state = 2}, + [219] = {.lex_state = 31, .external_lex_state = 2}, + [220] = {.lex_state = 31, .external_lex_state = 2}, + [221] = {.lex_state = 1, .external_lex_state = 9}, + [222] = {.lex_state = 0, .external_lex_state = 2}, + [223] = {.lex_state = 31, .external_lex_state = 2}, + [224] = {.lex_state = 1, .external_lex_state = 9}, + [225] = {.lex_state = 31, .external_lex_state = 2}, + [226] = {.lex_state = 0, .external_lex_state = 2}, + [227] = {.lex_state = 31, .external_lex_state = 2}, + [228] = {.lex_state = 1, .external_lex_state = 9}, + [229] = {.lex_state = 31, .external_lex_state = 2}, + [230] = {.lex_state = 31, .external_lex_state = 2}, + [231] = {.lex_state = 31, .external_lex_state = 2}, + [232] = {.lex_state = 0, .external_lex_state = 2}, + [233] = {.lex_state = 1, .external_lex_state = 9}, + [234] = {.lex_state = 31, .external_lex_state = 2}, + [235] = {.lex_state = 31, .external_lex_state = 2}, + [236] = {.lex_state = 1, .external_lex_state = 9}, + [237] = {.lex_state = 1, .external_lex_state = 9}, + [238] = {.lex_state = 0, .external_lex_state = 2}, + [239] = {.lex_state = 0, .external_lex_state = 2}, + [240] = {.lex_state = 1, .external_lex_state = 5}, + [241] = {.lex_state = 0, .external_lex_state = 2}, + [242] = {.lex_state = 1, .external_lex_state = 9}, + [243] = {.lex_state = 1, .external_lex_state = 9}, + [244] = {.lex_state = 1, .external_lex_state = 9}, + [245] = {.lex_state = 1, .external_lex_state = 9}, + [246] = {.lex_state = 0, .external_lex_state = 2}, + [247] = {.lex_state = 1, .external_lex_state = 9}, + [248] = {.lex_state = 0, .external_lex_state = 2}, + [249] = {.lex_state = 1, .external_lex_state = 9}, + [250] = {.lex_state = 1, .external_lex_state = 9}, + [251] = {.lex_state = 2, .external_lex_state = 2}, + [252] = {.lex_state = 1, .external_lex_state = 9}, + [253] = {.lex_state = 0, .external_lex_state = 2}, + [254] = {.lex_state = 0, .external_lex_state = 2}, + [255] = {.lex_state = 0, .external_lex_state = 2}, + [256] = {.lex_state = 0, .external_lex_state = 2}, + [257] = {.lex_state = 1, .external_lex_state = 8}, + [258] = {.lex_state = 1, .external_lex_state = 8}, + [259] = {.lex_state = 0, .external_lex_state = 2}, + [260] = {.lex_state = 1, .external_lex_state = 9}, + [261] = {.lex_state = 0, .external_lex_state = 2}, + [262] = {.lex_state = 1, .external_lex_state = 8}, + [263] = {.lex_state = 1, .external_lex_state = 9}, + [264] = {.lex_state = 0, .external_lex_state = 2}, + [265] = {.lex_state = 1, .external_lex_state = 9}, + [266] = {.lex_state = 1, .external_lex_state = 8}, + [267] = {.lex_state = 1, .external_lex_state = 8}, + [268] = {.lex_state = 1, .external_lex_state = 9}, + [269] = {.lex_state = 1, .external_lex_state = 9}, + [270] = {.lex_state = 1, .external_lex_state = 8}, + [271] = {.lex_state = 1, .external_lex_state = 8}, + [272] = {.lex_state = 1, .external_lex_state = 8}, + [273] = {.lex_state = 1, .external_lex_state = 8}, + [274] = {.lex_state = 1, .external_lex_state = 8}, + [275] = {.lex_state = 0, .external_lex_state = 2}, + [276] = {.lex_state = 1, .external_lex_state = 8}, + [277] = {.lex_state = 0, .external_lex_state = 2}, + [278] = {.lex_state = 1, .external_lex_state = 8}, + [279] = {.lex_state = 1, .external_lex_state = 8}, + [280] = {.lex_state = 1, .external_lex_state = 8}, + [281] = {.lex_state = 0, .external_lex_state = 2}, + [282] = {.lex_state = 1, .external_lex_state = 8}, + [283] = {.lex_state = 1, .external_lex_state = 8}, + [284] = {.lex_state = 0, .external_lex_state = 2}, + [285] = {.lex_state = 0, .external_lex_state = 2}, + [286] = {.lex_state = 1, .external_lex_state = 11}, + [287] = {.lex_state = 1, .external_lex_state = 8}, + [288] = {.lex_state = 0, .external_lex_state = 2}, + [289] = {.lex_state = 0, .external_lex_state = 2}, + [290] = {.lex_state = 0, .external_lex_state = 2}, + [291] = {.lex_state = 0, .external_lex_state = 2}, + [292] = {.lex_state = 0, .external_lex_state = 2}, + [293] = {.lex_state = 2, .external_lex_state = 2}, + [294] = {.lex_state = 1, .external_lex_state = 9}, + [295] = {.lex_state = 1, .external_lex_state = 12}, + [296] = {.lex_state = 31, .external_lex_state = 2}, + [297] = {.lex_state = 1, .external_lex_state = 13}, + [298] = {.lex_state = 31, .external_lex_state = 2}, + [299] = {.lex_state = 1, .external_lex_state = 9}, + [300] = {.lex_state = 31, .external_lex_state = 2}, + [301] = {.lex_state = 1, .external_lex_state = 8}, + [302] = {.lex_state = 2, .external_lex_state = 2}, + [303] = {.lex_state = 1, .external_lex_state = 8}, + [304] = {.lex_state = 1, .external_lex_state = 8}, + [305] = {.lex_state = 1, .external_lex_state = 9}, + [306] = {.lex_state = 1, .external_lex_state = 8}, + [307] = {.lex_state = 1, .external_lex_state = 8}, + [308] = {.lex_state = 1, .external_lex_state = 8}, + [309] = {.lex_state = 1, .external_lex_state = 8}, + [310] = {.lex_state = 1, .external_lex_state = 9}, + [311] = {.lex_state = 1, .external_lex_state = 9}, + [312] = {.lex_state = 1, .external_lex_state = 9}, + [313] = {.lex_state = 1, .external_lex_state = 13}, + [314] = {.lex_state = 1, .external_lex_state = 13}, + [315] = {.lex_state = 1, .external_lex_state = 13}, + [316] = {.lex_state = 1, .external_lex_state = 13}, + [317] = {.lex_state = 2, .external_lex_state = 2}, + [318] = {.lex_state = 2, .external_lex_state = 2}, + [319] = {.lex_state = 1, .external_lex_state = 10}, + [320] = {.lex_state = 2, .external_lex_state = 2}, + [321] = {.lex_state = 1, .external_lex_state = 14}, + [322] = {.lex_state = 1, .external_lex_state = 13}, + [323] = {.lex_state = 2, .external_lex_state = 2}, + [324] = {.lex_state = 2, .external_lex_state = 2}, + [325] = {.lex_state = 2, .external_lex_state = 2}, + [326] = {.lex_state = 2, .external_lex_state = 2}, + [327] = {.lex_state = 0, .external_lex_state = 2}, + [328] = {.lex_state = 2, .external_lex_state = 2}, + [329] = {.lex_state = 1, .external_lex_state = 13}, + [330] = {.lex_state = 0, .external_lex_state = 2}, + [331] = {.lex_state = 1, .external_lex_state = 13}, + [332] = {.lex_state = 2, .external_lex_state = 2}, + [333] = {.lex_state = 1, .external_lex_state = 2}, + [334] = {.lex_state = 1, .external_lex_state = 14}, + [335] = {.lex_state = 1, .external_lex_state = 8}, + [336] = {.lex_state = 2, .external_lex_state = 2}, + [337] = {.lex_state = 1, .external_lex_state = 13}, + [338] = {.lex_state = 2, .external_lex_state = 2}, + [339] = {.lex_state = 2, .external_lex_state = 2}, + [340] = {.lex_state = 2, .external_lex_state = 2}, + [341] = {.lex_state = 3, .external_lex_state = 15}, + [342] = {.lex_state = 1, .external_lex_state = 13}, + [343] = {.lex_state = 1, .external_lex_state = 13}, + [344] = {.lex_state = 1, .external_lex_state = 14}, + [345] = {.lex_state = 1, .external_lex_state = 13}, + [346] = {.lex_state = 1, .external_lex_state = 13}, + [347] = {.lex_state = 1, .external_lex_state = 13}, + [348] = {.lex_state = 1, .external_lex_state = 13}, + [349] = {.lex_state = 1, .external_lex_state = 13}, + [350] = {.lex_state = 1, .external_lex_state = 13}, + [351] = {.lex_state = 1, .external_lex_state = 13}, + [352] = {.lex_state = 1, .external_lex_state = 13}, + [353] = {.lex_state = 2, .external_lex_state = 2}, + [354] = {.lex_state = 2, .external_lex_state = 2}, + [355] = {.lex_state = 1, .external_lex_state = 14}, + [356] = {.lex_state = 1, .external_lex_state = 14}, + [357] = {.lex_state = 2, .external_lex_state = 2}, + [358] = {.lex_state = 1, .external_lex_state = 13}, + [359] = {.lex_state = 1, .external_lex_state = 13}, + [360] = {.lex_state = 1, .external_lex_state = 14}, + [361] = {.lex_state = 1, .external_lex_state = 14}, + [362] = {.lex_state = 1, .external_lex_state = 14}, + [363] = {.lex_state = 31, .external_lex_state = 2}, + [364] = {.lex_state = 1, .external_lex_state = 14}, + [365] = {.lex_state = 1, .external_lex_state = 14}, + [366] = {.lex_state = 1, .external_lex_state = 14}, + [367] = {.lex_state = 1, .external_lex_state = 14}, + [368] = {.lex_state = 31, .external_lex_state = 2}, + [369] = {.lex_state = 1, .external_lex_state = 9}, + [370] = {.lex_state = 1, .external_lex_state = 14}, + [371] = {.lex_state = 1, .external_lex_state = 14}, + [372] = {.lex_state = 1, .external_lex_state = 14}, + [373] = {.lex_state = 1, .external_lex_state = 2}, + [374] = {.lex_state = 1, .external_lex_state = 14}, + [375] = {.lex_state = 1, .external_lex_state = 2}, + [376] = {.lex_state = 1, .external_lex_state = 2}, + [377] = {.lex_state = 1, .external_lex_state = 14}, + [378] = {.lex_state = 1, .external_lex_state = 14}, + [379] = {.lex_state = 1, .external_lex_state = 2}, + [380] = {.lex_state = 1, .external_lex_state = 14}, + [381] = {.lex_state = 1, .external_lex_state = 2}, + [382] = {.lex_state = 1, .external_lex_state = 14}, + [383] = {.lex_state = 31, .external_lex_state = 2}, + [384] = {.lex_state = 1, .external_lex_state = 14}, + [385] = {.lex_state = 31, .external_lex_state = 2}, + [386] = {.lex_state = 1, .external_lex_state = 2}, + [387] = {.lex_state = 31, .external_lex_state = 2}, + [388] = {.lex_state = 1, .external_lex_state = 14}, + [389] = {.lex_state = 3, .external_lex_state = 16}, + [390] = {.lex_state = 1, .external_lex_state = 2}, + [391] = {.lex_state = 1, .external_lex_state = 2}, + [392] = {.lex_state = 3, .external_lex_state = 16}, + [393] = {.lex_state = 1, .external_lex_state = 2}, + [394] = {.lex_state = 1, .external_lex_state = 2}, + [395] = {.lex_state = 1, .external_lex_state = 2}, + [396] = {.lex_state = 1, .external_lex_state = 2}, + [397] = {.lex_state = 1, .external_lex_state = 14}, + [398] = {.lex_state = 1, .external_lex_state = 2}, + [399] = {.lex_state = 1, .external_lex_state = 2}, + [400] = {.lex_state = 1, .external_lex_state = 2}, + [401] = {.lex_state = 1, .external_lex_state = 2}, + [402] = {.lex_state = 1, .external_lex_state = 2}, + [403] = {.lex_state = 1, .external_lex_state = 13}, + [404] = {.lex_state = 1, .external_lex_state = 13}, + [405] = {.lex_state = 1, .external_lex_state = 17}, + [406] = {.lex_state = 3, .external_lex_state = 16}, + [407] = {.lex_state = 1, .external_lex_state = 2}, + [408] = {.lex_state = 1, .external_lex_state = 13}, + [409] = {.lex_state = 1, .external_lex_state = 13}, + [410] = {.lex_state = 1, .external_lex_state = 13}, + [411] = {.lex_state = 1, .external_lex_state = 2}, + [412] = {.lex_state = 31, .external_lex_state = 2}, + [413] = {.lex_state = 1, .external_lex_state = 13}, + [414] = {.lex_state = 1, .external_lex_state = 2}, + [415] = {.lex_state = 31, .external_lex_state = 2}, + [416] = {.lex_state = 31, .external_lex_state = 2}, + [417] = {.lex_state = 2, .external_lex_state = 18}, + [418] = {.lex_state = 3, .external_lex_state = 16}, + [419] = {.lex_state = 1, .external_lex_state = 14}, + [420] = {.lex_state = 1, .external_lex_state = 14}, + [421] = {.lex_state = 1, .external_lex_state = 2}, + [422] = {.lex_state = 1, .external_lex_state = 14}, + [423] = {.lex_state = 1, .external_lex_state = 8}, + [424] = {.lex_state = 1, .external_lex_state = 14}, + [425] = {.lex_state = 1, .external_lex_state = 19}, + [426] = {.lex_state = 1, .external_lex_state = 2}, + [427] = {.lex_state = 3, .external_lex_state = 16}, + [428] = {.lex_state = 31, .external_lex_state = 13}, + [429] = {.lex_state = 1, .external_lex_state = 14}, + [430] = {.lex_state = 3, .external_lex_state = 16}, + [431] = {.lex_state = 1, .external_lex_state = 14}, + [432] = {.lex_state = 3, .external_lex_state = 16}, + [433] = {.lex_state = 1, .external_lex_state = 8}, + [434] = {.lex_state = 1, .external_lex_state = 14}, + [435] = {.lex_state = 2, .external_lex_state = 3}, + [436] = {.lex_state = 1, .external_lex_state = 2}, + [437] = {.lex_state = 3, .external_lex_state = 16}, + [438] = {.lex_state = 1, .external_lex_state = 19}, + [439] = {.lex_state = 1, .external_lex_state = 8}, + [440] = {.lex_state = 2, .external_lex_state = 3}, + [441] = {.lex_state = 1, .external_lex_state = 2}, + [442] = {.lex_state = 1, .external_lex_state = 19}, + [443] = {.lex_state = 1, .external_lex_state = 2}, + [444] = {.lex_state = 2, .external_lex_state = 3}, + [445] = {.lex_state = 2, .external_lex_state = 3}, + [446] = {.lex_state = 2, .external_lex_state = 3}, + [447] = {.lex_state = 31, .external_lex_state = 2}, + [448] = {.lex_state = 1, .external_lex_state = 2}, + [449] = {.lex_state = 1, .external_lex_state = 18}, + [450] = {.lex_state = 31, .external_lex_state = 2}, + [451] = {.lex_state = 1, .external_lex_state = 19}, + [452] = {.lex_state = 2, .external_lex_state = 3}, + [453] = {.lex_state = 1, .external_lex_state = 2}, + [454] = {.lex_state = 1, .external_lex_state = 2}, + [455] = {.lex_state = 1, .external_lex_state = 2}, + [456] = {.lex_state = 1, .external_lex_state = 19}, + [457] = {.lex_state = 1, .external_lex_state = 19}, + [458] = {.lex_state = 1, .external_lex_state = 19}, + [459] = {.lex_state = 1, .external_lex_state = 14}, + [460] = {.lex_state = 1, .external_lex_state = 19}, + [461] = {.lex_state = 1, .external_lex_state = 19}, + [462] = {.lex_state = 3, .external_lex_state = 16}, + [463] = {.lex_state = 0, .external_lex_state = 2}, + [464] = {.lex_state = 1, .external_lex_state = 19}, + [465] = {.lex_state = 1, .external_lex_state = 19}, + [466] = {.lex_state = 1, .external_lex_state = 3}, + [467] = {.lex_state = 2, .external_lex_state = 3}, + [468] = {.lex_state = 2, .external_lex_state = 3}, + [469] = {.lex_state = 1, .external_lex_state = 19}, + [470] = {.lex_state = 2, .external_lex_state = 3}, + [471] = {.lex_state = 2, .external_lex_state = 3}, + [472] = {.lex_state = 2, .external_lex_state = 3}, + [473] = {.lex_state = 0, .external_lex_state = 2}, + [474] = {.lex_state = 2, .external_lex_state = 3}, + [475] = {.lex_state = 2, .external_lex_state = 3}, + [476] = {.lex_state = 0, .external_lex_state = 2}, + [477] = {.lex_state = 1, .external_lex_state = 19}, + [478] = {.lex_state = 1, .external_lex_state = 19}, + [479] = {.lex_state = 0, .external_lex_state = 2}, + [480] = {.lex_state = 2, .external_lex_state = 3}, + [481] = {.lex_state = 1, .external_lex_state = 19}, + [482] = {.lex_state = 2, .external_lex_state = 3}, + [483] = {.lex_state = 3, .external_lex_state = 16}, + [484] = {.lex_state = 1, .external_lex_state = 19}, + [485] = {.lex_state = 1, .external_lex_state = 19}, + [486] = {.lex_state = 1, .external_lex_state = 19}, + [487] = {.lex_state = 1, .external_lex_state = 19}, + [488] = {.lex_state = 2, .external_lex_state = 3}, + [489] = {.lex_state = 2, .external_lex_state = 3}, + [490] = {.lex_state = 0, .external_lex_state = 2}, + [491] = {.lex_state = 1, .external_lex_state = 19}, + [492] = {.lex_state = 3, .external_lex_state = 16}, + [493] = {.lex_state = 2, .external_lex_state = 3}, + [494] = {.lex_state = 2, .external_lex_state = 3}, + [495] = {.lex_state = 2, .external_lex_state = 3}, + [496] = {.lex_state = 2, .external_lex_state = 3}, + [497] = {.lex_state = 1, .external_lex_state = 19}, + [498] = {.lex_state = 1, .external_lex_state = 3}, + [499] = {.lex_state = 1, .external_lex_state = 3}, + [500] = {.lex_state = 1, .external_lex_state = 3}, + [501] = {.lex_state = 0, .external_lex_state = 2}, + [502] = {.lex_state = 0, .external_lex_state = 2}, + [503] = {.lex_state = 1, .external_lex_state = 2}, + [504] = {.lex_state = 1, .external_lex_state = 3}, + [505] = {.lex_state = 1, .external_lex_state = 3}, + [506] = {.lex_state = 1, .external_lex_state = 19}, + [507] = {.lex_state = 0, .external_lex_state = 2}, + [508] = {.lex_state = 0, .external_lex_state = 2}, + [509] = {.lex_state = 0, .external_lex_state = 2}, + [510] = {.lex_state = 0, .external_lex_state = 2}, + [511] = {.lex_state = 1, .external_lex_state = 3}, + [512] = {.lex_state = 0, .external_lex_state = 2}, + [513] = {.lex_state = 0, .external_lex_state = 2}, + [514] = {.lex_state = 0, .external_lex_state = 2}, + [515] = {.lex_state = 0, .external_lex_state = 2}, + [516] = {.lex_state = 0, .external_lex_state = 2}, + [517] = {.lex_state = 0, .external_lex_state = 2}, + [518] = {.lex_state = 0, .external_lex_state = 2}, + [519] = {.lex_state = 0, .external_lex_state = 2}, + [520] = {.lex_state = 0, .external_lex_state = 2}, + [521] = {.lex_state = 0, .external_lex_state = 2}, + [522] = {.lex_state = 0, .external_lex_state = 2}, + [523] = {.lex_state = 0, .external_lex_state = 2}, + [524] = {.lex_state = 1, .external_lex_state = 19}, + [525] = {.lex_state = 0, .external_lex_state = 2}, + [526] = {.lex_state = 0, .external_lex_state = 2}, + [527] = {.lex_state = 0, .external_lex_state = 2}, + [528] = {.lex_state = 0, .external_lex_state = 2}, + [529] = {.lex_state = 0, .external_lex_state = 2}, + [530] = {.lex_state = 0, .external_lex_state = 2}, + [531] = {.lex_state = 0, .external_lex_state = 2}, + [532] = {.lex_state = 0, .external_lex_state = 2}, + [533] = {.lex_state = 0, .external_lex_state = 2}, + [534] = {.lex_state = 0, .external_lex_state = 2}, + [535] = {.lex_state = 0, .external_lex_state = 2}, + [536] = {.lex_state = 31, .external_lex_state = 3}, + [537] = {.lex_state = 0, .external_lex_state = 2}, + [538] = {.lex_state = 0, .external_lex_state = 2}, + [539] = {.lex_state = 0, .external_lex_state = 2}, + [540] = {.lex_state = 31, .external_lex_state = 3}, + [541] = {.lex_state = 1, .external_lex_state = 3}, + [542] = {.lex_state = 1, .external_lex_state = 3}, + [543] = {.lex_state = 31, .external_lex_state = 3}, + [544] = {.lex_state = 1, .external_lex_state = 19}, + [545] = {.lex_state = 0, .external_lex_state = 2}, + [546] = {.lex_state = 0, .external_lex_state = 2}, + [547] = {.lex_state = 1, .external_lex_state = 19}, + [548] = {.lex_state = 1, .external_lex_state = 3}, + [549] = {.lex_state = 1, .external_lex_state = 3}, + [550] = {.lex_state = 0, .external_lex_state = 2}, + [551] = {.lex_state = 0, .external_lex_state = 2}, + [552] = {.lex_state = 1, .external_lex_state = 3}, + [553] = {.lex_state = 0, .external_lex_state = 2}, + [554] = {.lex_state = 0, .external_lex_state = 2}, + [555] = {.lex_state = 1, .external_lex_state = 3}, + [556] = {.lex_state = 1, .external_lex_state = 3}, + [557] = {.lex_state = 31, .external_lex_state = 3}, + [558] = {.lex_state = 0, .external_lex_state = 2}, + [559] = {.lex_state = 1, .external_lex_state = 3}, + [560] = {.lex_state = 0, .external_lex_state = 2}, + [561] = {.lex_state = 1, .external_lex_state = 19}, + [562] = {.lex_state = 31, .external_lex_state = 3}, + [563] = {.lex_state = 0, .external_lex_state = 2}, + [564] = {.lex_state = 1, .external_lex_state = 3}, + [565] = {.lex_state = 31, .external_lex_state = 2}, + [566] = {.lex_state = 0, .external_lex_state = 2}, + [567] = {.lex_state = 0, .external_lex_state = 2}, + [568] = {.lex_state = 0, .external_lex_state = 2}, + [569] = {.lex_state = 1, .external_lex_state = 3}, + [570] = {.lex_state = 1, .external_lex_state = 3}, + [571] = {.lex_state = 1, .external_lex_state = 19}, + [572] = {.lex_state = 1, .external_lex_state = 3}, + [573] = {.lex_state = 0, .external_lex_state = 2}, + [574] = {.lex_state = 1, .external_lex_state = 3}, + [575] = {.lex_state = 0, .external_lex_state = 2}, + [576] = {.lex_state = 0, .external_lex_state = 2}, + [577] = {.lex_state = 1, .external_lex_state = 3}, + [578] = {.lex_state = 0, .external_lex_state = 2}, + [579] = {.lex_state = 0, .external_lex_state = 2}, + [580] = {.lex_state = 1, .external_lex_state = 14}, + [581] = {.lex_state = 1, .external_lex_state = 3}, + [582] = {.lex_state = 0, .external_lex_state = 2}, + [583] = {.lex_state = 0, .external_lex_state = 2}, + [584] = {.lex_state = 0, .external_lex_state = 2}, + [585] = {.lex_state = 0, .external_lex_state = 2}, + [586] = {.lex_state = 1, .external_lex_state = 14}, + [587] = {.lex_state = 31, .external_lex_state = 19}, + [588] = {.lex_state = 0, .external_lex_state = 2}, + [589] = {.lex_state = 1, .external_lex_state = 3}, + [590] = {.lex_state = 0, .external_lex_state = 2}, + [591] = {.lex_state = 1, .external_lex_state = 3}, + [592] = {.lex_state = 1, .external_lex_state = 3}, + [593] = {.lex_state = 31, .external_lex_state = 3}, + [594] = {.lex_state = 1, .external_lex_state = 14}, + [595] = {.lex_state = 1, .external_lex_state = 3}, + [596] = {.lex_state = 1, .external_lex_state = 3}, + [597] = {.lex_state = 0, .external_lex_state = 2}, + [598] = {.lex_state = 1, .external_lex_state = 3}, + [599] = {.lex_state = 0, .external_lex_state = 2}, + [600] = {.lex_state = 31, .external_lex_state = 3}, + [601] = {.lex_state = 1, .external_lex_state = 3}, + [602] = {.lex_state = 1, .external_lex_state = 3}, + [603] = {.lex_state = 0, .external_lex_state = 2}, + [604] = {.lex_state = 0, .external_lex_state = 2}, + [605] = {.lex_state = 0, .external_lex_state = 2}, + [606] = {.lex_state = 31, .external_lex_state = 2}, + [607] = {.lex_state = 31, .external_lex_state = 2}, + [608] = {.lex_state = 31, .external_lex_state = 2}, + [609] = {.lex_state = 31, .external_lex_state = 2}, + [610] = {.lex_state = 31, .external_lex_state = 2}, + [611] = {.lex_state = 31, .external_lex_state = 2}, + [612] = {.lex_state = 1, .external_lex_state = 3}, + [613] = {.lex_state = 0, .external_lex_state = 2}, + [614] = {.lex_state = 0, .external_lex_state = 2}, + [615] = {.lex_state = 0, .external_lex_state = 2}, + [616] = {.lex_state = 31, .external_lex_state = 2}, + [617] = {.lex_state = 0, .external_lex_state = 2}, + [618] = {.lex_state = 31, .external_lex_state = 3}, + [619] = {.lex_state = 0, .external_lex_state = 2}, + [620] = {.lex_state = 0, .external_lex_state = 2}, + [621] = {.lex_state = 0, .external_lex_state = 2}, + [622] = {.lex_state = 0, .external_lex_state = 10}, + [623] = {.lex_state = 0, .external_lex_state = 2}, + [624] = {.lex_state = 0, .external_lex_state = 2}, + [625] = {.lex_state = 31, .external_lex_state = 2}, + [626] = {.lex_state = 31, .external_lex_state = 2}, + [627] = {.lex_state = 0, .external_lex_state = 2}, + [628] = {.lex_state = 0, .external_lex_state = 3}, + [629] = {.lex_state = 0, .external_lex_state = 2}, + [630] = {.lex_state = 0, .external_lex_state = 2}, + [631] = {.lex_state = 0, .external_lex_state = 2}, + [632] = {.lex_state = 0, .external_lex_state = 3}, + [633] = {.lex_state = 0, .external_lex_state = 2}, + [634] = {.lex_state = 1, .external_lex_state = 2}, + [635] = {.lex_state = 0, .external_lex_state = 3}, + [636] = {.lex_state = 0, .external_lex_state = 2}, + [637] = {.lex_state = 0, .external_lex_state = 2}, + [638] = {.lex_state = 0, .external_lex_state = 2}, + [639] = {.lex_state = 0, .external_lex_state = 2}, + [640] = {.lex_state = 0, .external_lex_state = 2}, + [641] = {.lex_state = 0, .external_lex_state = 2}, + [642] = {.lex_state = 3, .external_lex_state = 2}, + [643] = {.lex_state = 31, .external_lex_state = 3}, + [644] = {.lex_state = 31, .external_lex_state = 3}, + [645] = {.lex_state = 31, .external_lex_state = 3}, + [646] = {.lex_state = 0, .external_lex_state = 3}, + [647] = {.lex_state = 0, .external_lex_state = 3}, + [648] = {.lex_state = 0, .external_lex_state = 2}, + [649] = {.lex_state = 0, .external_lex_state = 2}, + [650] = {.lex_state = 0, .external_lex_state = 2}, + [651] = {.lex_state = 0, .external_lex_state = 2}, + [652] = {.lex_state = 0, .external_lex_state = 2}, + [653] = {.lex_state = 0, .external_lex_state = 2}, + [654] = {.lex_state = 0, .external_lex_state = 2}, + [655] = {.lex_state = 0, .external_lex_state = 2}, + [656] = {.lex_state = 0, .external_lex_state = 2}, + [657] = {.lex_state = 0, .external_lex_state = 2}, + [658] = {.lex_state = 31, .external_lex_state = 2}, + [659] = {.lex_state = 0, .external_lex_state = 3}, + [660] = {.lex_state = 1, .external_lex_state = 2}, + [661] = {.lex_state = 1, .external_lex_state = 2}, + [662] = {.lex_state = 0, .external_lex_state = 2}, + [663] = {.lex_state = 0, .external_lex_state = 2}, + [664] = {.lex_state = 0, .external_lex_state = 2}, + [665] = {.lex_state = 0, .external_lex_state = 2}, + [666] = {.lex_state = 0, .external_lex_state = 2}, + [667] = {.lex_state = 0, .external_lex_state = 2}, + [668] = {.lex_state = 0, .external_lex_state = 2}, + [669] = {.lex_state = 0, .external_lex_state = 2}, + [670] = {.lex_state = 0, .external_lex_state = 2}, + [671] = {.lex_state = 0, .external_lex_state = 3}, + [672] = {.lex_state = 3, .external_lex_state = 2}, + [673] = {.lex_state = 0, .external_lex_state = 2}, + [674] = {.lex_state = 0, .external_lex_state = 2}, + [675] = {.lex_state = 0, .external_lex_state = 2}, + [676] = {.lex_state = 1, .external_lex_state = 2}, + [677] = {.lex_state = 1, .external_lex_state = 2}, + [678] = {.lex_state = 0, .external_lex_state = 2}, + [679] = {.lex_state = 0, .external_lex_state = 2}, + [680] = {.lex_state = 0, .external_lex_state = 2}, + [681] = {.lex_state = 0, .external_lex_state = 3}, + [682] = {.lex_state = 0, .external_lex_state = 2}, + [683] = {.lex_state = 0, .external_lex_state = 2}, + [684] = {.lex_state = 0, .external_lex_state = 2}, + [685] = {.lex_state = 0, .external_lex_state = 2}, + [686] = {.lex_state = 0, .external_lex_state = 2}, + [687] = {.lex_state = 0, .external_lex_state = 2}, + [688] = {.lex_state = 31, .external_lex_state = 2}, + [689] = {.lex_state = 0, .external_lex_state = 2}, + [690] = {.lex_state = 0, .external_lex_state = 2}, + [691] = {.lex_state = 0, .external_lex_state = 2}, + [692] = {.lex_state = 0, .external_lex_state = 3}, + [693] = {.lex_state = 31, .external_lex_state = 2}, + [694] = {.lex_state = 0, .external_lex_state = 2}, + [695] = {.lex_state = 0, .external_lex_state = 2}, + [696] = {.lex_state = 0, .external_lex_state = 2}, + [697] = {.lex_state = 0, .external_lex_state = 2}, + [698] = {.lex_state = 0, .external_lex_state = 2}, + [699] = {.lex_state = 0, .external_lex_state = 2}, + [700] = {.lex_state = 31, .external_lex_state = 2}, + [701] = {.lex_state = 0, .external_lex_state = 2}, + [702] = {.lex_state = 0, .external_lex_state = 2}, + [703] = {.lex_state = 31, .external_lex_state = 2}, + [704] = {.lex_state = 0, .external_lex_state = 2}, + [705] = {.lex_state = 0, .external_lex_state = 2}, + [706] = {.lex_state = 0, .external_lex_state = 2}, + [707] = {.lex_state = 31, .external_lex_state = 2}, + [708] = {.lex_state = 0, .external_lex_state = 2}, + [709] = {.lex_state = 0, .external_lex_state = 2}, + [710] = {.lex_state = 0, .external_lex_state = 2}, + [711] = {.lex_state = 0, .external_lex_state = 2}, + [712] = {.lex_state = 0, .external_lex_state = 2}, + [713] = {.lex_state = 0, .external_lex_state = 2}, + [714] = {.lex_state = 0, .external_lex_state = 2}, + [715] = {.lex_state = 0, .external_lex_state = 2}, + [716] = {.lex_state = 0, .external_lex_state = 2}, + [717] = {.lex_state = 0, .external_lex_state = 2}, + [718] = {.lex_state = 0, .external_lex_state = 2}, + [719] = {.lex_state = 0, .external_lex_state = 2}, + [720] = {.lex_state = 0, .external_lex_state = 2}, + [721] = {.lex_state = 0, .external_lex_state = 2}, + [722] = {.lex_state = 0, .external_lex_state = 2}, + [723] = {.lex_state = 0, .external_lex_state = 2}, + [724] = {.lex_state = 0, .external_lex_state = 2}, + [725] = {.lex_state = 0, .external_lex_state = 2}, + [726] = {.lex_state = 0, .external_lex_state = 2}, + [727] = {.lex_state = 0, .external_lex_state = 2}, + [728] = {.lex_state = 0, .external_lex_state = 2}, + [729] = {.lex_state = 0, .external_lex_state = 2}, + [730] = {.lex_state = 0, .external_lex_state = 2}, + [731] = {.lex_state = 0, .external_lex_state = 2}, + [732] = {.lex_state = 0, .external_lex_state = 3}, + [733] = {.lex_state = 0, .external_lex_state = 2}, + [734] = {.lex_state = 0, .external_lex_state = 2}, + [735] = {.lex_state = 31, .external_lex_state = 2}, + [736] = {.lex_state = 0, .external_lex_state = 2}, + [737] = {.lex_state = 0, .external_lex_state = 2}, + [738] = {.lex_state = 0, .external_lex_state = 2}, + [739] = {.lex_state = 0, .external_lex_state = 2}, + [740] = {.lex_state = 31, .external_lex_state = 2}, + [741] = {.lex_state = 0, .external_lex_state = 2}, + [742] = {.lex_state = 0, .external_lex_state = 2}, + [743] = {.lex_state = 0, .external_lex_state = 2}, + [744] = {.lex_state = 0, .external_lex_state = 3}, + [745] = {.lex_state = 0, .external_lex_state = 2}, + [746] = {.lex_state = 0, .external_lex_state = 2}, + [747] = {.lex_state = 0, .external_lex_state = 2}, + [748] = {.lex_state = 31, .external_lex_state = 2}, + [749] = {.lex_state = 0, .external_lex_state = 2}, + [750] = {.lex_state = 0, .external_lex_state = 20}, + [751] = {.lex_state = 0, .external_lex_state = 2}, + [752] = {.lex_state = 31, .external_lex_state = 2}, + [753] = {.lex_state = 0, .external_lex_state = 2}, + [754] = {.lex_state = 0, .external_lex_state = 20}, + [755] = {.lex_state = 0, .external_lex_state = 2}, + [756] = {.lex_state = 0, .external_lex_state = 2}, + [757] = {.lex_state = 0, .external_lex_state = 2}, + [758] = {.lex_state = 0, .external_lex_state = 3}, + [759] = {.lex_state = 0, .external_lex_state = 2}, + [760] = {.lex_state = 0, .external_lex_state = 2}, + [761] = {.lex_state = 0, .external_lex_state = 2}, + [762] = {.lex_state = 0, .external_lex_state = 2}, + [763] = {.lex_state = 0, .external_lex_state = 20}, + [764] = {.lex_state = 0, .external_lex_state = 20}, + [765] = {.lex_state = 0, .external_lex_state = 2}, + [766] = {.lex_state = 0, .external_lex_state = 2}, + [767] = {.lex_state = 0, .external_lex_state = 2}, + [768] = {.lex_state = 0, .external_lex_state = 2}, + [769] = {.lex_state = 0, .external_lex_state = 2}, + [770] = {.lex_state = 0, .external_lex_state = 2}, + [771] = {.lex_state = 0, .external_lex_state = 2}, + [772] = {.lex_state = 0, .external_lex_state = 2}, + [773] = {.lex_state = 0, .external_lex_state = 2}, + [774] = {.lex_state = 0, .external_lex_state = 2}, + [775] = {.lex_state = 0, .external_lex_state = 2}, + [776] = {.lex_state = 0, .external_lex_state = 2}, + [777] = {.lex_state = 0, .external_lex_state = 2}, + [778] = {.lex_state = 0, .external_lex_state = 3}, + [779] = {.lex_state = 0, .external_lex_state = 2}, + [780] = {.lex_state = 0, .external_lex_state = 20}, + [781] = {.lex_state = 0, .external_lex_state = 2}, + [782] = {.lex_state = 0, .external_lex_state = 20}, + [783] = {.lex_state = 0, .external_lex_state = 2}, + [784] = {.lex_state = 0, .external_lex_state = 2}, + [785] = {.lex_state = 0, .external_lex_state = 2}, + [786] = {.lex_state = 0, .external_lex_state = 2}, + [787] = {.lex_state = 0, .external_lex_state = 2}, + [788] = {.lex_state = 0, .external_lex_state = 2}, + [789] = {.lex_state = 0, .external_lex_state = 2}, + [790] = {.lex_state = 0, .external_lex_state = 3}, + [791] = {.lex_state = 0, .external_lex_state = 2}, + [792] = {.lex_state = 0, .external_lex_state = 20}, + [793] = {.lex_state = 0, .external_lex_state = 2}, + [794] = {.lex_state = 0, .external_lex_state = 2}, + [795] = {.lex_state = 0, .external_lex_state = 20}, + [796] = {.lex_state = 0, .external_lex_state = 2}, + [797] = {.lex_state = 0, .external_lex_state = 2}, + [798] = {.lex_state = 0, .external_lex_state = 2}, + [799] = {.lex_state = 0, .external_lex_state = 2}, + [800] = {.lex_state = 0, .external_lex_state = 3}, + [801] = {.lex_state = 0, .external_lex_state = 2}, + [802] = {.lex_state = 0, .external_lex_state = 20}, + [803] = {.lex_state = 31, .external_lex_state = 2}, + [804] = {.lex_state = 0, .external_lex_state = 2}, + [805] = {.lex_state = 0, .external_lex_state = 2}, + [806] = {.lex_state = 0, .external_lex_state = 2}, + [807] = {.lex_state = 0, .external_lex_state = 2}, + [808] = {.lex_state = 0, .external_lex_state = 2}, + [809] = {.lex_state = 0, .external_lex_state = 2}, + [810] = {.lex_state = 0, .external_lex_state = 3}, + [811] = {.lex_state = 0, .external_lex_state = 2}, + [812] = {.lex_state = 0, .external_lex_state = 20}, + [813] = {.lex_state = 0, .external_lex_state = 2}, + [814] = {.lex_state = 0, .external_lex_state = 2}, + [815] = {.lex_state = 0, .external_lex_state = 2}, + [816] = {.lex_state = 0, .external_lex_state = 2}, + [817] = {.lex_state = 0, .external_lex_state = 2}, + [818] = {.lex_state = 0, .external_lex_state = 2}, + [819] = {.lex_state = 0, .external_lex_state = 2}, + [820] = {.lex_state = 0, .external_lex_state = 3}, + [821] = {.lex_state = 0, .external_lex_state = 2}, + [822] = {.lex_state = 0, .external_lex_state = 2}, + [823] = {.lex_state = 0, .external_lex_state = 2}, + [824] = {.lex_state = 0, .external_lex_state = 2}, + [825] = {.lex_state = 0, .external_lex_state = 2}, + [826] = {.lex_state = 0, .external_lex_state = 2}, + [827] = {.lex_state = 0, .external_lex_state = 3}, + [828] = {.lex_state = 0, .external_lex_state = 2}, + [829] = {.lex_state = 0, .external_lex_state = 20}, + [830] = {.lex_state = 0, .external_lex_state = 2}, + [831] = {.lex_state = 0, .external_lex_state = 2}, + [832] = {.lex_state = 0, .external_lex_state = 2}, + [833] = {.lex_state = 0, .external_lex_state = 2}, + [834] = {.lex_state = 0, .external_lex_state = 3}, + [835] = {.lex_state = 0, .external_lex_state = 2}, + [836] = {.lex_state = 0, .external_lex_state = 20}, + [837] = {.lex_state = 0, .external_lex_state = 2}, + [838] = {.lex_state = 0, .external_lex_state = 2}, + [839] = {.lex_state = 0, .external_lex_state = 2}, + [840] = {.lex_state = 0, .external_lex_state = 2}, + [841] = {.lex_state = 0, .external_lex_state = 3}, + [842] = {.lex_state = 0, .external_lex_state = 2}, + [843] = {.lex_state = 0, .external_lex_state = 20}, + [844] = {.lex_state = 0, .external_lex_state = 2}, + [845] = {.lex_state = 0, .external_lex_state = 2}, + [846] = {.lex_state = 0, .external_lex_state = 2}, + [847] = {.lex_state = 0, .external_lex_state = 2}, + [848] = {.lex_state = 0, .external_lex_state = 3}, + [849] = {.lex_state = 0, .external_lex_state = 2}, + [850] = {.lex_state = 0, .external_lex_state = 2}, + [851] = {.lex_state = 0, .external_lex_state = 2}, + [852] = {.lex_state = 0, .external_lex_state = 2}, + [853] = {.lex_state = 31, .external_lex_state = 2}, + [854] = {.lex_state = 31, .external_lex_state = 2}, + [855] = {.lex_state = 31, .external_lex_state = 2}, + [856] = {.lex_state = 0, .external_lex_state = 2}, + [857] = {.lex_state = 0, .external_lex_state = 2}, + [858] = {.lex_state = 0, .external_lex_state = 2}, + [859] = {.lex_state = 0, .external_lex_state = 2}, + [860] = {.lex_state = 31, .external_lex_state = 2}, + [861] = {.lex_state = 31, .external_lex_state = 2}, + [862] = {.lex_state = 31, .external_lex_state = 2}, + [863] = {.lex_state = 0, .external_lex_state = 2}, + [864] = {.lex_state = 0, .external_lex_state = 2}, + [865] = {.lex_state = 0, .external_lex_state = 20}, + [866] = {.lex_state = 0, .external_lex_state = 2}, + [867] = {.lex_state = 31, .external_lex_state = 2}, + [868] = {.lex_state = 0, .external_lex_state = 2}, + [869] = {.lex_state = 31, .external_lex_state = 2}, + [870] = {.lex_state = 0, .external_lex_state = 2}, + [871] = {.lex_state = 0, .external_lex_state = 20}, + [872] = {.lex_state = 0, .external_lex_state = 2}, + [873] = {.lex_state = 0, .external_lex_state = 2}, + [874] = {.lex_state = 0, .external_lex_state = 2}, + [875] = {.lex_state = 0, .external_lex_state = 2}, + [876] = {.lex_state = 0, .external_lex_state = 2}, + [877] = {.lex_state = 0, .external_lex_state = 2}, + [878] = {.lex_state = 0, .external_lex_state = 2}, + [879] = {.lex_state = 0, .external_lex_state = 2}, + [880] = {.lex_state = 0, .external_lex_state = 2}, + [881] = {.lex_state = 0, .external_lex_state = 2}, + [882] = {.lex_state = 0, .external_lex_state = 2}, + [883] = {.lex_state = 0, .external_lex_state = 2}, + [884] = {.lex_state = 0, .external_lex_state = 2}, + [885] = {.lex_state = 0, .external_lex_state = 2}, + [886] = {.lex_state = 0, .external_lex_state = 2}, + [887] = {.lex_state = 0, .external_lex_state = 2}, + [888] = {.lex_state = 0, .external_lex_state = 2}, + [889] = {.lex_state = 0, .external_lex_state = 2}, + [890] = {.lex_state = 0, .external_lex_state = 2}, + [891] = {.lex_state = 0, .external_lex_state = 2}, + [892] = {.lex_state = 0, .external_lex_state = 20}, + [893] = {.lex_state = 0, .external_lex_state = 2}, + [894] = {.lex_state = 0, .external_lex_state = 20}, + [895] = {.lex_state = 0, .external_lex_state = 2}, +}; + +static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { + [0] = { + [ts_builtin_sym_end] = ACTIONS(1), + [sym_ident_pattern_token] = ACTIONS(1), + [anon_sym_SEMI] = ACTIONS(1), + [anon_sym_true] = ACTIONS(1), + [anon_sym_false] = ACTIONS(1), + [aux_sym_decimal_int_literal_token1] = ACTIONS(1), + [aux_sym_decimal_int_literal_token2] = ACTIONS(1), + [sym_hex_int_literal] = ACTIONS(1), + [aux_sym_decimal_float_literal_token1] = ACTIONS(1), + [aux_sym_decimal_float_literal_token2] = ACTIONS(1), + [aux_sym_decimal_float_literal_token3] = ACTIONS(1), + [aux_sym_decimal_float_literal_token4] = ACTIONS(1), + [aux_sym_decimal_float_literal_token5] = ACTIONS(1), + [aux_sym_hex_float_literal_token1] = ACTIONS(1), + [aux_sym_hex_float_literal_token2] = ACTIONS(1), + [aux_sym_hex_float_literal_token3] = ACTIONS(1), + [anon_sym_diagnostic] = ACTIONS(1), + [anon_sym_DOT] = ACTIONS(1), + [anon_sym_COMMA] = ACTIONS(1), + [anon_sym_AT] = ACTIONS(1), + [anon_sym_align] = ACTIONS(1), + [anon_sym_LPAREN] = ACTIONS(1), + [anon_sym_RPAREN] = ACTIONS(1), + [anon_sym_binding] = ACTIONS(1), + [anon_sym_blend_src] = ACTIONS(1), + [anon_sym_builtin] = ACTIONS(1), + [anon_sym_const] = ACTIONS(1), + [anon_sym_group] = ACTIONS(1), + [anon_sym_id] = ACTIONS(1), + [anon_sym_interpolate] = ACTIONS(1), + [anon_sym_invariant] = ACTIONS(1), + [anon_sym_location] = ACTIONS(1), + [anon_sym_must_use] = ACTIONS(1), + [anon_sym_size] = ACTIONS(1), + [anon_sym_workgroup_size] = ACTIONS(1), + [anon_sym_vertex] = ACTIONS(1), + [anon_sym_fragment] = ACTIONS(1), + [anon_sym_compute] = ACTIONS(1), + [anon_sym_struct] = ACTIONS(1), + [anon_sym_LBRACE] = ACTIONS(1), + [anon_sym_RBRACE] = ACTIONS(1), + [anon_sym_COLON] = ACTIONS(1), + [anon_sym_alias] = ACTIONS(1), + [anon_sym_EQ] = ACTIONS(1), + [anon_sym_let] = ACTIONS(1), + [anon_sym_var] = ACTIONS(1), + [anon_sym_override] = ACTIONS(1), + [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_DASH] = ACTIONS(1), + [anon_sym_BANG] = ACTIONS(1), + [anon_sym_TILDE] = ACTIONS(1), + [anon_sym_STAR] = ACTIONS(1), + [anon_sym_AMP] = ACTIONS(1), + [anon_sym_SLASH] = ACTIONS(1), + [anon_sym_PERCENT] = ACTIONS(1), + [anon_sym_PLUS] = ACTIONS(1), + [anon_sym_EQ_EQ] = ACTIONS(1), + [anon_sym_BANG_EQ] = ACTIONS(1), + [anon_sym_AMP_AMP] = ACTIONS(1), + [anon_sym_PIPE_PIPE] = ACTIONS(1), + [anon_sym_PIPE] = ACTIONS(1), + [anon_sym_CARET] = ACTIONS(1), + [anon_sym__] = ACTIONS(1), + [anon_sym_PLUS_EQ] = ACTIONS(1), + [anon_sym_DASH_EQ] = ACTIONS(1), + [anon_sym_STAR_EQ] = ACTIONS(1), + [anon_sym_SLASH_EQ] = ACTIONS(1), + [anon_sym_PERCENT_EQ] = ACTIONS(1), + [anon_sym_AMP_EQ] = ACTIONS(1), + [anon_sym_PIPE_EQ] = ACTIONS(1), + [anon_sym_CARET_EQ] = ACTIONS(1), + [anon_sym_PLUS_PLUS] = ACTIONS(1), + [anon_sym_if] = ACTIONS(1), + [anon_sym_else] = ACTIONS(1), + [anon_sym_switch] = ACTIONS(1), + [anon_sym_case] = ACTIONS(1), + [anon_sym_default] = ACTIONS(1), + [anon_sym_loop] = ACTIONS(1), + [anon_sym_for] = ACTIONS(1), + [anon_sym_while] = ACTIONS(1), + [anon_sym_break] = ACTIONS(1), + [sym_continue_statement] = ACTIONS(1), + [anon_sym_continuing] = ACTIONS(1), + [anon_sym_return] = ACTIONS(1), + [anon_sym_const_assert] = ACTIONS(1), + [anon_sym_discard] = ACTIONS(1), + [anon_sym_fn] = ACTIONS(1), + [anon_sym_DASH_GT] = ACTIONS(1), + [anon_sym_enable] = ACTIONS(1), + [anon_sym_requires] = ACTIONS(1), + [aux_sym_swizzle_name_token1] = ACTIONS(1), + [aux_sym_swizzle_name_token2] = ACTIONS(1), + [aux_sym_swizzle_name_token3] = ACTIONS(1), + [aux_sym_swizzle_name_token4] = ACTIONS(1), + [aux_sym_swizzle_name_token5] = ACTIONS(1), + [aux_sym_swizzle_name_token6] = ACTIONS(1), + [aux_sym_swizzle_name_token7] = ACTIONS(1), + [aux_sym_swizzle_name_token8] = ACTIONS(1), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), + [sym__disambiguate_template] = ACTIONS(1), + [sym__template_args_start] = ACTIONS(1), + [sym__template_args_end] = ACTIONS(1), + [sym__less_than] = ACTIONS(1), + [sym__less_than_equal] = ACTIONS(1), + [sym__shift_left] = ACTIONS(1), + [sym__shift_left_assign] = ACTIONS(1), + [sym__greater_than] = ACTIONS(1), + [sym__greater_than_equal] = ACTIONS(1), + [sym__shift_right] = ACTIONS(1), + [sym__shift_right_assign] = ACTIONS(1), + [sym__error_sentinel] = ACTIONS(1), }, - [77] = { - [sym_bool_literal] = STATE(339), - [sym_int_literal] = STATE(339), - [sym_decimal_int_literal] = STATE(336), - [sym_float_literal] = STATE(339), - [sym_decimal_float_literal] = STATE(332), - [sym_hex_float_literal] = STATE(332), - [sym_literal] = STATE(329), - [sym_ident] = STATE(314), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(311), - [sym_call_expression] = STATE(329), - [sym_call_phrase] = STATE(324), - [sym_callable] = STATE(473), - [sym_paren_expression] = STATE(329), - [sym_unary_expression] = STATE(389), - [sym_singular_expression] = STATE(350), - [sym_ident_pattern_token] = ACTIONS(239), - [anon_sym_true] = ACTIONS(241), - [anon_sym_false] = ACTIONS(241), - [aux_sym_decimal_int_literal_token1] = ACTIONS(243), - [aux_sym_decimal_int_literal_token2] = ACTIONS(243), - [sym_hex_int_literal] = ACTIONS(245), - [aux_sym_decimal_float_literal_token1] = ACTIONS(247), - [aux_sym_decimal_float_literal_token2] = ACTIONS(247), - [aux_sym_decimal_float_literal_token3] = ACTIONS(247), - [aux_sym_decimal_float_literal_token4] = ACTIONS(249), - [aux_sym_decimal_float_literal_token5] = ACTIONS(247), - [aux_sym_hex_float_literal_token1] = ACTIONS(251), - [aux_sym_hex_float_literal_token2] = ACTIONS(253), - [aux_sym_hex_float_literal_token3] = ACTIONS(251), - [anon_sym_LPAREN] = ACTIONS(255), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(257), - [anon_sym_DASH] = ACTIONS(259), - [anon_sym_BANG] = ACTIONS(259), - [anon_sym_TILDE] = ACTIONS(259), - [anon_sym_STAR] = ACTIONS(259), - [anon_sym_AMP] = ACTIONS(259), + [1] = { + [sym_translation_unit] = STATE(887), + [sym_global_directive] = STATE(55), + [sym_diagnostic_directive] = STATE(463), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(177), + [sym_struct_decl] = STATE(105), + [sym_type_alias_decl] = STATE(886), + [sym_variable_decl] = STATE(740), + [sym_global_variable_decl] = STATE(886), + [sym_global_value_decl] = STATE(886), + [sym_const_assert_statement] = STATE(886), + [sym_function_decl] = STATE(105), + [sym_function_header] = STATE(254), + [sym_enable_directive] = STATE(463), + [sym_requires_directive] = STATE(463), + [aux_sym_translation_unit_repeat1] = STATE(55), + [aux_sym_translation_unit_repeat2] = STATE(105), + [aux_sym_struct_member_repeat1] = STATE(177), + [ts_builtin_sym_end] = ACTIONS(5), + [anon_sym_SEMI] = ACTIONS(7), + [anon_sym_diagnostic] = ACTIONS(9), + [anon_sym_AT] = ACTIONS(11), + [anon_sym_const] = ACTIONS(13), + [anon_sym_struct] = ACTIONS(15), + [anon_sym_alias] = ACTIONS(17), + [anon_sym_var] = ACTIONS(19), + [anon_sym_override] = ACTIONS(21), + [anon_sym_const_assert] = ACTIONS(23), + [anon_sym_fn] = ACTIONS(25), + [anon_sym_enable] = ACTIONS(27), + [anon_sym_requires] = ACTIONS(29), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), }, - [78] = { - [sym_bool_literal] = STATE(283), - [sym_int_literal] = STATE(283), - [sym_decimal_int_literal] = STATE(287), - [sym_float_literal] = STATE(283), - [sym_decimal_float_literal] = STATE(259), - [sym_hex_float_literal] = STATE(259), - [sym_literal] = STATE(278), - [sym_ident] = STATE(253), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(252), - [sym_call_expression] = STATE(278), - [sym_call_phrase] = STATE(272), - [sym_callable] = STATE(477), - [sym_paren_expression] = STATE(278), - [sym_unary_expression] = STATE(304), - [sym_singular_expression] = STATE(297), - [sym_ident_pattern_token] = ACTIONS(305), - [anon_sym_true] = ACTIONS(307), - [anon_sym_false] = ACTIONS(307), - [aux_sym_decimal_int_literal_token1] = ACTIONS(309), - [aux_sym_decimal_int_literal_token2] = ACTIONS(309), - [sym_hex_int_literal] = ACTIONS(311), - [aux_sym_decimal_float_literal_token1] = ACTIONS(313), - [aux_sym_decimal_float_literal_token2] = ACTIONS(313), - [aux_sym_decimal_float_literal_token3] = ACTIONS(313), - [aux_sym_decimal_float_literal_token4] = ACTIONS(315), - [aux_sym_decimal_float_literal_token5] = ACTIONS(313), - [aux_sym_hex_float_literal_token1] = ACTIONS(317), - [aux_sym_hex_float_literal_token2] = ACTIONS(319), - [aux_sym_hex_float_literal_token3] = ACTIONS(317), - [anon_sym_LPAREN] = ACTIONS(321), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(323), - [anon_sym_DASH] = ACTIONS(325), - [anon_sym_BANG] = ACTIONS(325), - [anon_sym_TILDE] = ACTIONS(325), - [anon_sym_STAR] = ACTIONS(325), - [anon_sym_AMP] = ACTIONS(325), + [2] = { + [sym_ident] = STATE(795), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(168), + [sym_template_elaborated_ident] = STATE(702), + [sym_variable_or_value_statement] = STATE(796), + [sym_variable_decl] = STATE(703), + [sym_call_phrase] = STATE(705), + [sym_lhs_expression] = STATE(437), + [sym_core_lhs_expression] = STATE(406), + [sym_compound_statement] = STATE(216), + [sym_assignment_statement] = STATE(706), + [sym_increment_statement] = STATE(706), + [sym_decrement_statement] = STATE(706), + [sym_if_statement] = STATE(216), + [sym_if_clause] = STATE(167), + [sym_switch_statement] = STATE(216), + [sym_loop_statement] = STATE(216), + [sym_for_statement] = STATE(216), + [sym_while_statement] = STATE(216), + [sym_break_statement] = STATE(796), + [sym_continuing_statement] = STATE(882), + [sym_return_statement] = STATE(796), + [sym_func_call_statement] = STATE(796), + [sym_const_assert_statement] = STATE(796), + [sym_statement] = STATE(8), + [sym_variable_updating_statement] = STATE(796), + [aux_sym_struct_member_repeat1] = STATE(168), + [aux_sym_compound_statement_repeat1] = STATE(8), + [sym_ident_pattern_token] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_AT] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(35), + [anon_sym_const] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(41), + [anon_sym_let] = ACTIONS(37), + [anon_sym_var] = ACTIONS(43), + [anon_sym_STAR] = ACTIONS(45), + [anon_sym_AMP] = ACTIONS(45), + [anon_sym__] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_switch] = ACTIONS(51), + [anon_sym_loop] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_while] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [sym_continue_statement] = ACTIONS(61), + [anon_sym_continuing] = ACTIONS(63), + [anon_sym_return] = ACTIONS(65), + [anon_sym_const_assert] = ACTIONS(67), + [anon_sym_discard] = ACTIONS(61), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), }, - [79] = { - [sym_bool_literal] = STATE(283), - [sym_int_literal] = STATE(283), - [sym_decimal_int_literal] = STATE(287), - [sym_float_literal] = STATE(283), - [sym_decimal_float_literal] = STATE(259), - [sym_hex_float_literal] = STATE(259), - [sym_literal] = STATE(278), - [sym_ident] = STATE(253), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(252), - [sym_call_expression] = STATE(278), - [sym_call_phrase] = STATE(272), - [sym_callable] = STATE(477), - [sym_paren_expression] = STATE(278), - [sym_unary_expression] = STATE(306), - [sym_singular_expression] = STATE(297), - [sym_ident_pattern_token] = ACTIONS(305), - [anon_sym_true] = ACTIONS(307), - [anon_sym_false] = ACTIONS(307), - [aux_sym_decimal_int_literal_token1] = ACTIONS(309), - [aux_sym_decimal_int_literal_token2] = ACTIONS(309), - [sym_hex_int_literal] = ACTIONS(311), - [aux_sym_decimal_float_literal_token1] = ACTIONS(313), - [aux_sym_decimal_float_literal_token2] = ACTIONS(313), - [aux_sym_decimal_float_literal_token3] = ACTIONS(313), - [aux_sym_decimal_float_literal_token4] = ACTIONS(315), - [aux_sym_decimal_float_literal_token5] = ACTIONS(313), - [aux_sym_hex_float_literal_token1] = ACTIONS(317), - [aux_sym_hex_float_literal_token2] = ACTIONS(319), - [aux_sym_hex_float_literal_token3] = ACTIONS(317), - [anon_sym_LPAREN] = ACTIONS(321), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(323), - [anon_sym_DASH] = ACTIONS(325), - [anon_sym_BANG] = ACTIONS(325), - [anon_sym_TILDE] = ACTIONS(325), - [anon_sym_STAR] = ACTIONS(325), - [anon_sym_AMP] = ACTIONS(325), + [3] = { + [sym_ident] = STATE(795), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(168), + [sym_template_elaborated_ident] = STATE(702), + [sym_variable_or_value_statement] = STATE(796), + [sym_variable_decl] = STATE(703), + [sym_call_phrase] = STATE(705), + [sym_lhs_expression] = STATE(437), + [sym_core_lhs_expression] = STATE(406), + [sym_compound_statement] = STATE(216), + [sym_assignment_statement] = STATE(706), + [sym_increment_statement] = STATE(706), + [sym_decrement_statement] = STATE(706), + [sym_if_statement] = STATE(216), + [sym_if_clause] = STATE(167), + [sym_switch_statement] = STATE(216), + [sym_loop_statement] = STATE(216), + [sym_for_statement] = STATE(216), + [sym_while_statement] = STATE(216), + [sym_break_statement] = STATE(796), + [sym_continuing_statement] = STATE(786), + [sym_return_statement] = STATE(796), + [sym_func_call_statement] = STATE(796), + [sym_const_assert_statement] = STATE(796), + [sym_statement] = STATE(4), + [sym_variable_updating_statement] = STATE(796), + [aux_sym_struct_member_repeat1] = STATE(168), + [aux_sym_compound_statement_repeat1] = STATE(4), + [sym_ident_pattern_token] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_AT] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(35), + [anon_sym_const] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(69), + [anon_sym_let] = ACTIONS(37), + [anon_sym_var] = ACTIONS(43), + [anon_sym_STAR] = ACTIONS(45), + [anon_sym_AMP] = ACTIONS(45), + [anon_sym__] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_switch] = ACTIONS(51), + [anon_sym_loop] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_while] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [sym_continue_statement] = ACTIONS(61), + [anon_sym_continuing] = ACTIONS(63), + [anon_sym_return] = ACTIONS(65), + [anon_sym_const_assert] = ACTIONS(67), + [anon_sym_discard] = ACTIONS(61), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), }, - [80] = { - [sym_bool_literal] = STATE(160), - [sym_int_literal] = STATE(160), - [sym_decimal_int_literal] = STATE(149), - [sym_float_literal] = STATE(160), - [sym_decimal_float_literal] = STATE(148), - [sym_hex_float_literal] = STATE(148), - [sym_literal] = STATE(146), - [sym_ident] = STATE(140), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(144), - [sym_call_expression] = STATE(146), - [sym_call_phrase] = STATE(158), - [sym_callable] = STATE(476), - [sym_paren_expression] = STATE(146), - [sym_unary_expression] = STATE(167), - [sym_singular_expression] = STATE(165), - [sym_ident_pattern_token] = ACTIONS(27), - [anon_sym_true] = ACTIONS(29), - [anon_sym_false] = ACTIONS(29), - [aux_sym_decimal_int_literal_token1] = ACTIONS(31), - [aux_sym_decimal_int_literal_token2] = ACTIONS(31), - [sym_hex_int_literal] = ACTIONS(33), - [aux_sym_decimal_float_literal_token1] = ACTIONS(35), - [aux_sym_decimal_float_literal_token2] = ACTIONS(35), - [aux_sym_decimal_float_literal_token3] = ACTIONS(35), - [aux_sym_decimal_float_literal_token4] = ACTIONS(37), - [aux_sym_decimal_float_literal_token5] = ACTIONS(35), - [aux_sym_hex_float_literal_token1] = ACTIONS(39), - [aux_sym_hex_float_literal_token2] = ACTIONS(41), - [aux_sym_hex_float_literal_token3] = ACTIONS(39), - [anon_sym_LPAREN] = ACTIONS(43), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(69), - [anon_sym_DASH] = ACTIONS(71), - [anon_sym_BANG] = ACTIONS(71), - [anon_sym_TILDE] = ACTIONS(71), - [anon_sym_STAR] = ACTIONS(71), - [anon_sym_AMP] = ACTIONS(71), + [4] = { + [sym_ident] = STATE(795), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(168), + [sym_template_elaborated_ident] = STATE(702), + [sym_variable_or_value_statement] = STATE(796), + [sym_variable_decl] = STATE(703), + [sym_call_phrase] = STATE(705), + [sym_lhs_expression] = STATE(437), + [sym_core_lhs_expression] = STATE(406), + [sym_compound_statement] = STATE(216), + [sym_assignment_statement] = STATE(706), + [sym_increment_statement] = STATE(706), + [sym_decrement_statement] = STATE(706), + [sym_if_statement] = STATE(216), + [sym_if_clause] = STATE(167), + [sym_switch_statement] = STATE(216), + [sym_loop_statement] = STATE(216), + [sym_for_statement] = STATE(216), + [sym_while_statement] = STATE(216), + [sym_break_statement] = STATE(796), + [sym_continuing_statement] = STATE(815), + [sym_return_statement] = STATE(796), + [sym_func_call_statement] = STATE(796), + [sym_const_assert_statement] = STATE(796), + [sym_statement] = STATE(8), + [sym_variable_updating_statement] = STATE(796), + [aux_sym_struct_member_repeat1] = STATE(168), + [aux_sym_compound_statement_repeat1] = STATE(8), + [sym_ident_pattern_token] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_AT] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(35), + [anon_sym_const] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(71), + [anon_sym_let] = ACTIONS(37), + [anon_sym_var] = ACTIONS(43), + [anon_sym_STAR] = ACTIONS(45), + [anon_sym_AMP] = ACTIONS(45), + [anon_sym__] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_switch] = ACTIONS(51), + [anon_sym_loop] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_while] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [sym_continue_statement] = ACTIONS(61), + [anon_sym_continuing] = ACTIONS(63), + [anon_sym_return] = ACTIONS(65), + [anon_sym_const_assert] = ACTIONS(67), + [anon_sym_discard] = ACTIONS(61), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), }, - [81] = { - [sym_bool_literal] = STATE(339), - [sym_int_literal] = STATE(339), - [sym_decimal_int_literal] = STATE(336), - [sym_float_literal] = STATE(339), - [sym_decimal_float_literal] = STATE(332), - [sym_hex_float_literal] = STATE(332), - [sym_literal] = STATE(329), - [sym_ident] = STATE(314), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(311), - [sym_call_expression] = STATE(329), - [sym_call_phrase] = STATE(324), - [sym_callable] = STATE(473), - [sym_paren_expression] = STATE(329), - [sym_unary_expression] = STATE(449), - [sym_singular_expression] = STATE(350), - [sym_ident_pattern_token] = ACTIONS(239), - [anon_sym_true] = ACTIONS(241), - [anon_sym_false] = ACTIONS(241), - [aux_sym_decimal_int_literal_token1] = ACTIONS(243), - [aux_sym_decimal_int_literal_token2] = ACTIONS(243), - [sym_hex_int_literal] = ACTIONS(245), - [aux_sym_decimal_float_literal_token1] = ACTIONS(247), - [aux_sym_decimal_float_literal_token2] = ACTIONS(247), - [aux_sym_decimal_float_literal_token3] = ACTIONS(247), - [aux_sym_decimal_float_literal_token4] = ACTIONS(249), - [aux_sym_decimal_float_literal_token5] = ACTIONS(247), - [aux_sym_hex_float_literal_token1] = ACTIONS(251), - [aux_sym_hex_float_literal_token2] = ACTIONS(253), - [aux_sym_hex_float_literal_token3] = ACTIONS(251), - [anon_sym_LPAREN] = ACTIONS(255), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(257), - [anon_sym_DASH] = ACTIONS(259), - [anon_sym_BANG] = ACTIONS(259), - [anon_sym_TILDE] = ACTIONS(259), - [anon_sym_STAR] = ACTIONS(259), - [anon_sym_AMP] = ACTIONS(259), + [5] = { + [sym_ident] = STATE(795), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(168), + [sym_template_elaborated_ident] = STATE(702), + [sym_variable_or_value_statement] = STATE(796), + [sym_variable_decl] = STATE(703), + [sym_call_phrase] = STATE(705), + [sym_lhs_expression] = STATE(437), + [sym_core_lhs_expression] = STATE(406), + [sym_compound_statement] = STATE(216), + [sym_assignment_statement] = STATE(706), + [sym_increment_statement] = STATE(706), + [sym_decrement_statement] = STATE(706), + [sym_if_statement] = STATE(216), + [sym_if_clause] = STATE(167), + [sym_switch_statement] = STATE(216), + [sym_loop_statement] = STATE(216), + [sym_for_statement] = STATE(216), + [sym_while_statement] = STATE(216), + [sym_break_statement] = STATE(796), + [sym_continuing_statement] = STATE(815), + [sym_return_statement] = STATE(796), + [sym_func_call_statement] = STATE(796), + [sym_const_assert_statement] = STATE(796), + [sym_statement] = STATE(6), + [sym_variable_updating_statement] = STATE(796), + [aux_sym_struct_member_repeat1] = STATE(168), + [aux_sym_compound_statement_repeat1] = STATE(6), + [sym_ident_pattern_token] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_AT] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(35), + [anon_sym_const] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(71), + [anon_sym_let] = ACTIONS(37), + [anon_sym_var] = ACTIONS(43), + [anon_sym_STAR] = ACTIONS(45), + [anon_sym_AMP] = ACTIONS(45), + [anon_sym__] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_switch] = ACTIONS(51), + [anon_sym_loop] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_while] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [sym_continue_statement] = ACTIONS(61), + [anon_sym_continuing] = ACTIONS(63), + [anon_sym_return] = ACTIONS(65), + [anon_sym_const_assert] = ACTIONS(67), + [anon_sym_discard] = ACTIONS(61), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), }, - [82] = { - [sym_bool_literal] = STATE(339), - [sym_int_literal] = STATE(339), - [sym_decimal_int_literal] = STATE(336), - [sym_float_literal] = STATE(339), - [sym_decimal_float_literal] = STATE(332), - [sym_hex_float_literal] = STATE(332), - [sym_literal] = STATE(329), - [sym_ident] = STATE(314), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(311), - [sym_call_expression] = STATE(329), - [sym_call_phrase] = STATE(324), - [sym_callable] = STATE(473), - [sym_paren_expression] = STATE(329), - [sym_unary_expression] = STATE(502), - [sym_singular_expression] = STATE(350), - [sym_ident_pattern_token] = ACTIONS(239), - [anon_sym_true] = ACTIONS(241), - [anon_sym_false] = ACTIONS(241), - [aux_sym_decimal_int_literal_token1] = ACTIONS(243), - [aux_sym_decimal_int_literal_token2] = ACTIONS(243), - [sym_hex_int_literal] = ACTIONS(245), - [aux_sym_decimal_float_literal_token1] = ACTIONS(247), - [aux_sym_decimal_float_literal_token2] = ACTIONS(247), - [aux_sym_decimal_float_literal_token3] = ACTIONS(247), - [aux_sym_decimal_float_literal_token4] = ACTIONS(249), - [aux_sym_decimal_float_literal_token5] = ACTIONS(247), - [aux_sym_hex_float_literal_token1] = ACTIONS(251), - [aux_sym_hex_float_literal_token2] = ACTIONS(253), - [aux_sym_hex_float_literal_token3] = ACTIONS(251), - [anon_sym_LPAREN] = ACTIONS(255), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(257), - [anon_sym_DASH] = ACTIONS(259), - [anon_sym_BANG] = ACTIONS(259), - [anon_sym_TILDE] = ACTIONS(259), - [anon_sym_STAR] = ACTIONS(259), - [anon_sym_AMP] = ACTIONS(259), + [6] = { + [sym_ident] = STATE(795), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(168), + [sym_template_elaborated_ident] = STATE(702), + [sym_variable_or_value_statement] = STATE(796), + [sym_variable_decl] = STATE(703), + [sym_call_phrase] = STATE(705), + [sym_lhs_expression] = STATE(437), + [sym_core_lhs_expression] = STATE(406), + [sym_compound_statement] = STATE(216), + [sym_assignment_statement] = STATE(706), + [sym_increment_statement] = STATE(706), + [sym_decrement_statement] = STATE(706), + [sym_if_statement] = STATE(216), + [sym_if_clause] = STATE(167), + [sym_switch_statement] = STATE(216), + [sym_loop_statement] = STATE(216), + [sym_for_statement] = STATE(216), + [sym_while_statement] = STATE(216), + [sym_break_statement] = STATE(796), + [sym_continuing_statement] = STATE(844), + [sym_return_statement] = STATE(796), + [sym_func_call_statement] = STATE(796), + [sym_const_assert_statement] = STATE(796), + [sym_statement] = STATE(8), + [sym_variable_updating_statement] = STATE(796), + [aux_sym_struct_member_repeat1] = STATE(168), + [aux_sym_compound_statement_repeat1] = STATE(8), + [sym_ident_pattern_token] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_AT] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(35), + [anon_sym_const] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(73), + [anon_sym_let] = ACTIONS(37), + [anon_sym_var] = ACTIONS(43), + [anon_sym_STAR] = ACTIONS(45), + [anon_sym_AMP] = ACTIONS(45), + [anon_sym__] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_switch] = ACTIONS(51), + [anon_sym_loop] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_while] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [sym_continue_statement] = ACTIONS(61), + [anon_sym_continuing] = ACTIONS(63), + [anon_sym_return] = ACTIONS(65), + [anon_sym_const_assert] = ACTIONS(67), + [anon_sym_discard] = ACTIONS(61), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), }, - [83] = { - [sym_bool_literal] = STATE(339), - [sym_int_literal] = STATE(339), - [sym_decimal_int_literal] = STATE(336), - [sym_float_literal] = STATE(339), - [sym_decimal_float_literal] = STATE(332), - [sym_hex_float_literal] = STATE(332), - [sym_literal] = STATE(329), - [sym_ident] = STATE(314), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_primary_expression] = STATE(311), - [sym_call_expression] = STATE(329), - [sym_call_phrase] = STATE(324), - [sym_callable] = STATE(473), - [sym_paren_expression] = STATE(329), - [sym_unary_expression] = STATE(450), - [sym_singular_expression] = STATE(350), - [sym_ident_pattern_token] = ACTIONS(239), - [anon_sym_true] = ACTIONS(241), - [anon_sym_false] = ACTIONS(241), - [aux_sym_decimal_int_literal_token1] = ACTIONS(243), - [aux_sym_decimal_int_literal_token2] = ACTIONS(243), - [sym_hex_int_literal] = ACTIONS(245), - [aux_sym_decimal_float_literal_token1] = ACTIONS(247), - [aux_sym_decimal_float_literal_token2] = ACTIONS(247), - [aux_sym_decimal_float_literal_token3] = ACTIONS(247), - [aux_sym_decimal_float_literal_token4] = ACTIONS(249), - [aux_sym_decimal_float_literal_token5] = ACTIONS(247), - [aux_sym_hex_float_literal_token1] = ACTIONS(251), - [aux_sym_hex_float_literal_token2] = ACTIONS(253), - [aux_sym_hex_float_literal_token3] = ACTIONS(251), - [anon_sym_LPAREN] = ACTIONS(255), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_bitcast] = ACTIONS(257), - [anon_sym_DASH] = ACTIONS(259), - [anon_sym_BANG] = ACTIONS(259), - [anon_sym_TILDE] = ACTIONS(259), - [anon_sym_STAR] = ACTIONS(259), - [anon_sym_AMP] = ACTIONS(259), + [7] = { + [sym_ident] = STATE(795), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(168), + [sym_template_elaborated_ident] = STATE(702), + [sym_variable_or_value_statement] = STATE(796), + [sym_variable_decl] = STATE(703), + [sym_call_phrase] = STATE(705), + [sym_lhs_expression] = STATE(437), + [sym_core_lhs_expression] = STATE(406), + [sym_compound_statement] = STATE(216), + [sym_assignment_statement] = STATE(706), + [sym_increment_statement] = STATE(706), + [sym_decrement_statement] = STATE(706), + [sym_if_statement] = STATE(216), + [sym_if_clause] = STATE(167), + [sym_switch_statement] = STATE(216), + [sym_loop_statement] = STATE(216), + [sym_for_statement] = STATE(216), + [sym_while_statement] = STATE(216), + [sym_break_statement] = STATE(796), + [sym_continuing_statement] = STATE(844), + [sym_return_statement] = STATE(796), + [sym_func_call_statement] = STATE(796), + [sym_const_assert_statement] = STATE(796), + [sym_statement] = STATE(2), + [sym_variable_updating_statement] = STATE(796), + [aux_sym_struct_member_repeat1] = STATE(168), + [aux_sym_compound_statement_repeat1] = STATE(2), + [sym_ident_pattern_token] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_AT] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(35), + [anon_sym_const] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(73), + [anon_sym_let] = ACTIONS(37), + [anon_sym_var] = ACTIONS(43), + [anon_sym_STAR] = ACTIONS(45), + [anon_sym_AMP] = ACTIONS(45), + [anon_sym__] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_switch] = ACTIONS(51), + [anon_sym_loop] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_while] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [sym_continue_statement] = ACTIONS(61), + [anon_sym_continuing] = ACTIONS(63), + [anon_sym_return] = ACTIONS(65), + [anon_sym_const_assert] = ACTIONS(67), + [anon_sym_discard] = ACTIONS(61), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), }, - [84] = { - [sym_ident] = STATE(249), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_variable_statement] = STATE(564), - [sym_variable_decl] = STATE(521), - [sym_call_phrase] = STATE(516), - [sym_callable] = STATE(500), - [sym_lhs_expression] = STATE(292), - [sym_core_lhs_expression] = STATE(250), - [sym_assignment_statement] = STATE(515), - [sym_increment_statement] = STATE(515), - [sym_decrement_statement] = STATE(515), - [sym_for_header] = STATE(570), - [sym_for_init] = STATE(571), - [sym_func_call_statement] = STATE(564), - [sym_variable_updating_statement] = STATE(564), - [sym_ident_pattern_token] = ACTIONS(101), - [anon_sym_SEMI] = ACTIONS(349), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_const] = ACTIONS(107), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_let] = ACTIONS(107), - [anon_sym_var] = ACTIONS(113), - [anon_sym_STAR] = ACTIONS(115), - [anon_sym_AMP] = ACTIONS(115), - [anon_sym__] = ACTIONS(117), + [8] = { + [sym_ident] = STATE(795), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(168), + [sym_template_elaborated_ident] = STATE(702), + [sym_variable_or_value_statement] = STATE(796), + [sym_variable_decl] = STATE(703), + [sym_call_phrase] = STATE(705), + [sym_lhs_expression] = STATE(437), + [sym_core_lhs_expression] = STATE(406), + [sym_compound_statement] = STATE(216), + [sym_assignment_statement] = STATE(706), + [sym_increment_statement] = STATE(706), + [sym_decrement_statement] = STATE(706), + [sym_if_statement] = STATE(216), + [sym_if_clause] = STATE(167), + [sym_switch_statement] = STATE(216), + [sym_loop_statement] = STATE(216), + [sym_for_statement] = STATE(216), + [sym_while_statement] = STATE(216), + [sym_break_statement] = STATE(796), + [sym_return_statement] = STATE(796), + [sym_func_call_statement] = STATE(796), + [sym_const_assert_statement] = STATE(796), + [sym_statement] = STATE(8), + [sym_variable_updating_statement] = STATE(796), + [aux_sym_struct_member_repeat1] = STATE(168), + [aux_sym_compound_statement_repeat1] = STATE(8), + [sym_ident_pattern_token] = ACTIONS(75), + [anon_sym_SEMI] = ACTIONS(78), + [anon_sym_AT] = ACTIONS(81), + [anon_sym_LPAREN] = ACTIONS(84), + [anon_sym_const] = ACTIONS(87), + [anon_sym_LBRACE] = ACTIONS(90), + [anon_sym_RBRACE] = ACTIONS(93), + [anon_sym_let] = ACTIONS(87), + [anon_sym_var] = ACTIONS(95), + [anon_sym_STAR] = ACTIONS(98), + [anon_sym_AMP] = ACTIONS(98), + [anon_sym__] = ACTIONS(101), + [anon_sym_if] = ACTIONS(104), + [anon_sym_switch] = ACTIONS(107), + [anon_sym_loop] = ACTIONS(110), + [anon_sym_for] = ACTIONS(113), + [anon_sym_while] = ACTIONS(116), + [anon_sym_break] = ACTIONS(119), + [sym_continue_statement] = ACTIONS(122), + [anon_sym_continuing] = ACTIONS(125), + [anon_sym_return] = ACTIONS(127), + [anon_sym_const_assert] = ACTIONS(130), + [anon_sym_discard] = ACTIONS(122), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), }, - [85] = { - [ts_builtin_sym_end] = ACTIONS(351), - [sym_ident_pattern_token] = ACTIONS(353), - [anon_sym_SEMI] = ACTIONS(351), - [anon_sym_AT] = ACTIONS(351), - [anon_sym_LPAREN] = ACTIONS(351), - [anon_sym_const] = ACTIONS(353), - [anon_sym_array] = ACTIONS(353), - [anon_sym_struct] = ACTIONS(353), - [anon_sym_LBRACE] = ACTIONS(351), - [anon_sym_RBRACE] = ACTIONS(351), - [anon_sym_sampler] = ACTIONS(353), - [anon_sym_sampler_comparison] = ACTIONS(353), - [anon_sym_texture_1d] = ACTIONS(353), - [anon_sym_texture_2d] = ACTIONS(353), - [anon_sym_texture_2d_array] = ACTIONS(353), - [anon_sym_texture_3d] = ACTIONS(353), - [anon_sym_texture_cube] = ACTIONS(353), - [anon_sym_texture_cube_array] = ACTIONS(353), - [sym_multisampled_texture_type] = ACTIONS(353), - [anon_sym_texture_storage_1d] = ACTIONS(353), - [anon_sym_texture_storage_2d] = ACTIONS(353), - [anon_sym_texture_storage_2d_array] = ACTIONS(353), - [anon_sym_texture_storage_3d] = ACTIONS(353), - [anon_sym_texture_depth_2d] = ACTIONS(353), - [anon_sym_texture_depth_2d_array] = ACTIONS(353), - [anon_sym_texture_depth_cube] = ACTIONS(353), - [anon_sym_texture_depth_cube_array] = ACTIONS(353), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(353), - [anon_sym_alias] = ACTIONS(353), - [anon_sym_bool] = ACTIONS(353), - [anon_sym_f32] = ACTIONS(353), - [anon_sym_f16] = ACTIONS(353), - [anon_sym_i32] = ACTIONS(353), - [anon_sym_u32] = ACTIONS(353), - [anon_sym_ptr] = ACTIONS(353), - [anon_sym_atomic] = ACTIONS(353), - [anon_sym_vec2] = ACTIONS(353), - [anon_sym_vec3] = ACTIONS(353), - [anon_sym_vec4] = ACTIONS(353), - [anon_sym_mat2x2] = ACTIONS(353), - [anon_sym_mat2x3] = ACTIONS(353), - [anon_sym_mat2x4] = ACTIONS(353), - [anon_sym_mat3x2] = ACTIONS(353), - [anon_sym_mat3x3] = ACTIONS(353), - [anon_sym_mat3x4] = ACTIONS(353), - [anon_sym_mat4x2] = ACTIONS(353), - [anon_sym_mat4x3] = ACTIONS(353), - [anon_sym_mat4x4] = ACTIONS(353), - [anon_sym_let] = ACTIONS(353), - [anon_sym_var] = ACTIONS(353), - [anon_sym_override] = ACTIONS(353), - [anon_sym_STAR] = ACTIONS(351), - [anon_sym_AMP] = ACTIONS(351), - [anon_sym__] = ACTIONS(353), - [anon_sym_if] = ACTIONS(353), - [anon_sym_else] = ACTIONS(353), - [anon_sym_switch] = ACTIONS(353), - [anon_sym_case] = ACTIONS(353), - [anon_sym_default] = ACTIONS(353), - [anon_sym_loop] = ACTIONS(353), - [anon_sym_for] = ACTIONS(353), - [anon_sym_while] = ACTIONS(353), - [anon_sym_break] = ACTIONS(353), - [sym_continue_statement] = ACTIONS(353), - [anon_sym_continuing] = ACTIONS(353), - [anon_sym_return] = ACTIONS(353), - [anon_sym_const_assert] = ACTIONS(353), - [anon_sym_discard] = ACTIONS(353), - [anon_sym_fn] = ACTIONS(353), + [9] = { + [sym_ident] = STATE(795), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(168), + [sym_template_elaborated_ident] = STATE(702), + [sym_variable_or_value_statement] = STATE(796), + [sym_variable_decl] = STATE(703), + [sym_call_phrase] = STATE(705), + [sym_lhs_expression] = STATE(437), + [sym_core_lhs_expression] = STATE(406), + [sym_compound_statement] = STATE(216), + [sym_assignment_statement] = STATE(706), + [sym_increment_statement] = STATE(706), + [sym_decrement_statement] = STATE(706), + [sym_if_statement] = STATE(216), + [sym_if_clause] = STATE(167), + [sym_switch_statement] = STATE(216), + [sym_loop_statement] = STATE(216), + [sym_for_statement] = STATE(216), + [sym_while_statement] = STATE(216), + [sym_break_statement] = STATE(796), + [sym_break_if_statement] = STATE(839), + [sym_return_statement] = STATE(796), + [sym_func_call_statement] = STATE(796), + [sym_const_assert_statement] = STATE(796), + [sym_statement] = STATE(12), + [sym_variable_updating_statement] = STATE(796), + [aux_sym_struct_member_repeat1] = STATE(168), + [aux_sym_compound_statement_repeat1] = STATE(12), + [sym_ident_pattern_token] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_AT] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(35), + [anon_sym_const] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(133), + [anon_sym_let] = ACTIONS(37), + [anon_sym_var] = ACTIONS(43), + [anon_sym_STAR] = ACTIONS(45), + [anon_sym_AMP] = ACTIONS(45), + [anon_sym__] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_switch] = ACTIONS(51), + [anon_sym_loop] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_while] = ACTIONS(57), + [anon_sym_break] = ACTIONS(135), + [sym_continue_statement] = ACTIONS(61), + [anon_sym_return] = ACTIONS(65), + [anon_sym_const_assert] = ACTIONS(67), + [anon_sym_discard] = ACTIONS(61), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), }, - [86] = { - [ts_builtin_sym_end] = ACTIONS(355), - [sym_ident_pattern_token] = ACTIONS(357), - [anon_sym_SEMI] = ACTIONS(355), - [anon_sym_AT] = ACTIONS(355), - [anon_sym_LPAREN] = ACTIONS(355), - [anon_sym_const] = ACTIONS(357), - [anon_sym_array] = ACTIONS(357), - [anon_sym_struct] = ACTIONS(357), - [anon_sym_LBRACE] = ACTIONS(355), - [anon_sym_RBRACE] = ACTIONS(355), - [anon_sym_sampler] = ACTIONS(357), - [anon_sym_sampler_comparison] = ACTIONS(357), - [anon_sym_texture_1d] = ACTIONS(357), - [anon_sym_texture_2d] = ACTIONS(357), - [anon_sym_texture_2d_array] = ACTIONS(357), - [anon_sym_texture_3d] = ACTIONS(357), - [anon_sym_texture_cube] = ACTIONS(357), - [anon_sym_texture_cube_array] = ACTIONS(357), - [sym_multisampled_texture_type] = ACTIONS(357), - [anon_sym_texture_storage_1d] = ACTIONS(357), - [anon_sym_texture_storage_2d] = ACTIONS(357), - [anon_sym_texture_storage_2d_array] = ACTIONS(357), - [anon_sym_texture_storage_3d] = ACTIONS(357), - [anon_sym_texture_depth_2d] = ACTIONS(357), - [anon_sym_texture_depth_2d_array] = ACTIONS(357), - [anon_sym_texture_depth_cube] = ACTIONS(357), - [anon_sym_texture_depth_cube_array] = ACTIONS(357), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(357), - [anon_sym_alias] = ACTIONS(357), - [anon_sym_bool] = ACTIONS(357), - [anon_sym_f32] = ACTIONS(357), - [anon_sym_f16] = ACTIONS(357), - [anon_sym_i32] = ACTIONS(357), - [anon_sym_u32] = ACTIONS(357), - [anon_sym_ptr] = ACTIONS(357), - [anon_sym_atomic] = ACTIONS(357), - [anon_sym_vec2] = ACTIONS(357), - [anon_sym_vec3] = ACTIONS(357), - [anon_sym_vec4] = ACTIONS(357), - [anon_sym_mat2x2] = ACTIONS(357), - [anon_sym_mat2x3] = ACTIONS(357), - [anon_sym_mat2x4] = ACTIONS(357), - [anon_sym_mat3x2] = ACTIONS(357), - [anon_sym_mat3x3] = ACTIONS(357), - [anon_sym_mat3x4] = ACTIONS(357), - [anon_sym_mat4x2] = ACTIONS(357), - [anon_sym_mat4x3] = ACTIONS(357), - [anon_sym_mat4x4] = ACTIONS(357), - [anon_sym_let] = ACTIONS(357), - [anon_sym_var] = ACTIONS(357), - [anon_sym_override] = ACTIONS(357), - [anon_sym_STAR] = ACTIONS(355), - [anon_sym_AMP] = ACTIONS(355), - [anon_sym__] = ACTIONS(357), - [anon_sym_if] = ACTIONS(357), - [anon_sym_else] = ACTIONS(357), - [anon_sym_switch] = ACTIONS(357), - [anon_sym_case] = ACTIONS(357), - [anon_sym_default] = ACTIONS(357), - [anon_sym_loop] = ACTIONS(357), - [anon_sym_for] = ACTIONS(357), - [anon_sym_while] = ACTIONS(357), - [anon_sym_break] = ACTIONS(357), - [sym_continue_statement] = ACTIONS(357), - [anon_sym_continuing] = ACTIONS(357), - [anon_sym_return] = ACTIONS(357), - [anon_sym_const_assert] = ACTIONS(357), - [anon_sym_discard] = ACTIONS(357), - [anon_sym_fn] = ACTIONS(357), + [10] = { + [sym_ident] = STATE(795), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(168), + [sym_template_elaborated_ident] = STATE(702), + [sym_variable_or_value_statement] = STATE(796), + [sym_variable_decl] = STATE(703), + [sym_call_phrase] = STATE(705), + [sym_lhs_expression] = STATE(437), + [sym_core_lhs_expression] = STATE(406), + [sym_compound_statement] = STATE(216), + [sym_assignment_statement] = STATE(706), + [sym_increment_statement] = STATE(706), + [sym_decrement_statement] = STATE(706), + [sym_if_statement] = STATE(216), + [sym_if_clause] = STATE(167), + [sym_switch_statement] = STATE(216), + [sym_loop_statement] = STATE(216), + [sym_for_statement] = STATE(216), + [sym_while_statement] = STATE(216), + [sym_break_statement] = STATE(796), + [sym_break_if_statement] = STATE(889), + [sym_return_statement] = STATE(796), + [sym_func_call_statement] = STATE(796), + [sym_const_assert_statement] = STATE(796), + [sym_statement] = STATE(8), + [sym_variable_updating_statement] = STATE(796), + [aux_sym_struct_member_repeat1] = STATE(168), + [aux_sym_compound_statement_repeat1] = STATE(8), + [sym_ident_pattern_token] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_AT] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(35), + [anon_sym_const] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(137), + [anon_sym_let] = ACTIONS(37), + [anon_sym_var] = ACTIONS(43), + [anon_sym_STAR] = ACTIONS(45), + [anon_sym_AMP] = ACTIONS(45), + [anon_sym__] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_switch] = ACTIONS(51), + [anon_sym_loop] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_while] = ACTIONS(57), + [anon_sym_break] = ACTIONS(135), + [sym_continue_statement] = ACTIONS(61), + [anon_sym_return] = ACTIONS(65), + [anon_sym_const_assert] = ACTIONS(67), + [anon_sym_discard] = ACTIONS(61), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), }, - [87] = { - [sym_ident] = STATE(249), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_call_phrase] = STATE(516), - [sym_callable] = STATE(500), - [sym_lhs_expression] = STATE(292), - [sym_core_lhs_expression] = STATE(250), - [sym_assignment_statement] = STATE(515), - [sym_increment_statement] = STATE(515), - [sym_decrement_statement] = STATE(515), - [sym_for_update] = STATE(635), - [sym_func_call_statement] = STATE(643), - [sym_variable_updating_statement] = STATE(643), - [sym_ident_pattern_token] = ACTIONS(101), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_RPAREN] = ACTIONS(359), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_STAR] = ACTIONS(115), - [anon_sym_AMP] = ACTIONS(115), - [anon_sym__] = ACTIONS(117), + [11] = { + [sym_ident] = STATE(795), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(168), + [sym_template_elaborated_ident] = STATE(702), + [sym_variable_or_value_statement] = STATE(796), + [sym_variable_decl] = STATE(703), + [sym_call_phrase] = STATE(705), + [sym_lhs_expression] = STATE(437), + [sym_core_lhs_expression] = STATE(406), + [sym_compound_statement] = STATE(216), + [sym_assignment_statement] = STATE(706), + [sym_increment_statement] = STATE(706), + [sym_decrement_statement] = STATE(706), + [sym_if_statement] = STATE(216), + [sym_if_clause] = STATE(167), + [sym_switch_statement] = STATE(216), + [sym_loop_statement] = STATE(216), + [sym_for_statement] = STATE(216), + [sym_while_statement] = STATE(216), + [sym_break_statement] = STATE(796), + [sym_break_if_statement] = STATE(868), + [sym_return_statement] = STATE(796), + [sym_func_call_statement] = STATE(796), + [sym_const_assert_statement] = STATE(796), + [sym_statement] = STATE(10), + [sym_variable_updating_statement] = STATE(796), + [aux_sym_struct_member_repeat1] = STATE(168), + [aux_sym_compound_statement_repeat1] = STATE(10), + [sym_ident_pattern_token] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_AT] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(35), + [anon_sym_const] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(139), + [anon_sym_let] = ACTIONS(37), + [anon_sym_var] = ACTIONS(43), + [anon_sym_STAR] = ACTIONS(45), + [anon_sym_AMP] = ACTIONS(45), + [anon_sym__] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_switch] = ACTIONS(51), + [anon_sym_loop] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_while] = ACTIONS(57), + [anon_sym_break] = ACTIONS(135), + [sym_continue_statement] = ACTIONS(61), + [anon_sym_return] = ACTIONS(65), + [anon_sym_const_assert] = ACTIONS(67), + [anon_sym_discard] = ACTIONS(61), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), }, - [88] = { - [sym_else_if_clause] = STATE(90), - [sym_else_clause] = STATE(95), - [aux_sym_if_statement_repeat1] = STATE(90), - [sym_ident_pattern_token] = ACTIONS(361), - [anon_sym_SEMI] = ACTIONS(363), - [anon_sym_LPAREN] = ACTIONS(363), - [anon_sym_const] = ACTIONS(361), - [anon_sym_array] = ACTIONS(361), - [anon_sym_LBRACE] = ACTIONS(363), - [anon_sym_RBRACE] = ACTIONS(363), - [anon_sym_sampler] = ACTIONS(361), - [anon_sym_sampler_comparison] = ACTIONS(361), - [anon_sym_texture_1d] = ACTIONS(361), - [anon_sym_texture_2d] = ACTIONS(361), - [anon_sym_texture_2d_array] = ACTIONS(361), - [anon_sym_texture_3d] = ACTIONS(361), - [anon_sym_texture_cube] = ACTIONS(361), - [anon_sym_texture_cube_array] = ACTIONS(361), - [sym_multisampled_texture_type] = ACTIONS(361), - [anon_sym_texture_storage_1d] = ACTIONS(361), - [anon_sym_texture_storage_2d] = ACTIONS(361), - [anon_sym_texture_storage_2d_array] = ACTIONS(361), - [anon_sym_texture_storage_3d] = ACTIONS(361), - [anon_sym_texture_depth_2d] = ACTIONS(361), - [anon_sym_texture_depth_2d_array] = ACTIONS(361), - [anon_sym_texture_depth_cube] = ACTIONS(361), - [anon_sym_texture_depth_cube_array] = ACTIONS(361), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(361), - [anon_sym_bool] = ACTIONS(361), - [anon_sym_f32] = ACTIONS(361), - [anon_sym_f16] = ACTIONS(361), - [anon_sym_i32] = ACTIONS(361), - [anon_sym_u32] = ACTIONS(361), - [anon_sym_ptr] = ACTIONS(361), - [anon_sym_atomic] = ACTIONS(361), - [anon_sym_vec2] = ACTIONS(361), - [anon_sym_vec3] = ACTIONS(361), - [anon_sym_vec4] = ACTIONS(361), - [anon_sym_mat2x2] = ACTIONS(361), - [anon_sym_mat2x3] = ACTIONS(361), - [anon_sym_mat2x4] = ACTIONS(361), - [anon_sym_mat3x2] = ACTIONS(361), - [anon_sym_mat3x3] = ACTIONS(361), - [anon_sym_mat3x4] = ACTIONS(361), - [anon_sym_mat4x2] = ACTIONS(361), - [anon_sym_mat4x3] = ACTIONS(361), - [anon_sym_mat4x4] = ACTIONS(361), - [anon_sym_let] = ACTIONS(361), - [anon_sym_var] = ACTIONS(361), - [anon_sym_STAR] = ACTIONS(363), - [anon_sym_AMP] = ACTIONS(363), - [anon_sym__] = ACTIONS(361), - [anon_sym_if] = ACTIONS(361), - [anon_sym_else] = ACTIONS(365), - [anon_sym_switch] = ACTIONS(361), - [anon_sym_loop] = ACTIONS(361), - [anon_sym_for] = ACTIONS(361), - [anon_sym_while] = ACTIONS(361), - [anon_sym_break] = ACTIONS(361), - [sym_continue_statement] = ACTIONS(361), - [anon_sym_continuing] = ACTIONS(361), - [anon_sym_return] = ACTIONS(361), - [anon_sym_const_assert] = ACTIONS(361), - [anon_sym_discard] = ACTIONS(361), + [12] = { + [sym_ident] = STATE(795), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(168), + [sym_template_elaborated_ident] = STATE(702), + [sym_variable_or_value_statement] = STATE(796), + [sym_variable_decl] = STATE(703), + [sym_call_phrase] = STATE(705), + [sym_lhs_expression] = STATE(437), + [sym_core_lhs_expression] = STATE(406), + [sym_compound_statement] = STATE(216), + [sym_assignment_statement] = STATE(706), + [sym_increment_statement] = STATE(706), + [sym_decrement_statement] = STATE(706), + [sym_if_statement] = STATE(216), + [sym_if_clause] = STATE(167), + [sym_switch_statement] = STATE(216), + [sym_loop_statement] = STATE(216), + [sym_for_statement] = STATE(216), + [sym_while_statement] = STATE(216), + [sym_break_statement] = STATE(796), + [sym_break_if_statement] = STATE(868), + [sym_return_statement] = STATE(796), + [sym_func_call_statement] = STATE(796), + [sym_const_assert_statement] = STATE(796), + [sym_statement] = STATE(8), + [sym_variable_updating_statement] = STATE(796), + [aux_sym_struct_member_repeat1] = STATE(168), + [aux_sym_compound_statement_repeat1] = STATE(8), + [sym_ident_pattern_token] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_AT] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(35), + [anon_sym_const] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(139), + [anon_sym_let] = ACTIONS(37), + [anon_sym_var] = ACTIONS(43), + [anon_sym_STAR] = ACTIONS(45), + [anon_sym_AMP] = ACTIONS(45), + [anon_sym__] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_switch] = ACTIONS(51), + [anon_sym_loop] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_while] = ACTIONS(57), + [anon_sym_break] = ACTIONS(135), + [sym_continue_statement] = ACTIONS(61), + [anon_sym_return] = ACTIONS(65), + [anon_sym_const_assert] = ACTIONS(67), + [anon_sym_discard] = ACTIONS(61), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), }, - [89] = { - [sym_ident] = STATE(249), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_call_phrase] = STATE(516), - [sym_callable] = STATE(500), - [sym_lhs_expression] = STATE(292), - [sym_core_lhs_expression] = STATE(250), - [sym_assignment_statement] = STATE(515), - [sym_increment_statement] = STATE(515), - [sym_decrement_statement] = STATE(515), - [sym_for_update] = STATE(550), - [sym_func_call_statement] = STATE(643), - [sym_variable_updating_statement] = STATE(643), - [sym_ident_pattern_token] = ACTIONS(101), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_RPAREN] = ACTIONS(367), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_STAR] = ACTIONS(115), - [anon_sym_AMP] = ACTIONS(115), - [anon_sym__] = ACTIONS(117), + [13] = { + [sym_ident] = STATE(795), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(168), + [sym_template_elaborated_ident] = STATE(702), + [sym_variable_or_value_statement] = STATE(796), + [sym_variable_decl] = STATE(703), + [sym_call_phrase] = STATE(705), + [sym_lhs_expression] = STATE(437), + [sym_core_lhs_expression] = STATE(406), + [sym_compound_statement] = STATE(216), + [sym_assignment_statement] = STATE(706), + [sym_increment_statement] = STATE(706), + [sym_decrement_statement] = STATE(706), + [sym_if_statement] = STATE(216), + [sym_if_clause] = STATE(167), + [sym_switch_statement] = STATE(216), + [sym_loop_statement] = STATE(216), + [sym_for_statement] = STATE(216), + [sym_while_statement] = STATE(216), + [sym_break_statement] = STATE(796), + [sym_return_statement] = STATE(796), + [sym_func_call_statement] = STATE(796), + [sym_const_assert_statement] = STATE(796), + [sym_statement] = STATE(14), + [sym_variable_updating_statement] = STATE(796), + [aux_sym_struct_member_repeat1] = STATE(168), + [aux_sym_compound_statement_repeat1] = STATE(14), + [sym_ident_pattern_token] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_AT] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(35), + [anon_sym_const] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(141), + [anon_sym_let] = ACTIONS(37), + [anon_sym_var] = ACTIONS(43), + [anon_sym_STAR] = ACTIONS(45), + [anon_sym_AMP] = ACTIONS(45), + [anon_sym__] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_switch] = ACTIONS(51), + [anon_sym_loop] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_while] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [sym_continue_statement] = ACTIONS(61), + [anon_sym_return] = ACTIONS(65), + [anon_sym_const_assert] = ACTIONS(67), + [anon_sym_discard] = ACTIONS(61), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), }, - [90] = { - [sym_else_if_clause] = STATE(92), - [sym_else_clause] = STATE(102), - [aux_sym_if_statement_repeat1] = STATE(92), - [sym_ident_pattern_token] = ACTIONS(369), - [anon_sym_SEMI] = ACTIONS(371), - [anon_sym_LPAREN] = ACTIONS(371), - [anon_sym_const] = ACTIONS(369), - [anon_sym_array] = ACTIONS(369), - [anon_sym_LBRACE] = ACTIONS(371), - [anon_sym_RBRACE] = ACTIONS(371), - [anon_sym_sampler] = ACTIONS(369), - [anon_sym_sampler_comparison] = ACTIONS(369), - [anon_sym_texture_1d] = ACTIONS(369), - [anon_sym_texture_2d] = ACTIONS(369), - [anon_sym_texture_2d_array] = ACTIONS(369), - [anon_sym_texture_3d] = ACTIONS(369), - [anon_sym_texture_cube] = ACTIONS(369), - [anon_sym_texture_cube_array] = ACTIONS(369), - [sym_multisampled_texture_type] = ACTIONS(369), - [anon_sym_texture_storage_1d] = ACTIONS(369), - [anon_sym_texture_storage_2d] = ACTIONS(369), - [anon_sym_texture_storage_2d_array] = ACTIONS(369), - [anon_sym_texture_storage_3d] = ACTIONS(369), - [anon_sym_texture_depth_2d] = ACTIONS(369), - [anon_sym_texture_depth_2d_array] = ACTIONS(369), - [anon_sym_texture_depth_cube] = ACTIONS(369), - [anon_sym_texture_depth_cube_array] = ACTIONS(369), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(369), - [anon_sym_bool] = ACTIONS(369), - [anon_sym_f32] = ACTIONS(369), - [anon_sym_f16] = ACTIONS(369), - [anon_sym_i32] = ACTIONS(369), - [anon_sym_u32] = ACTIONS(369), - [anon_sym_ptr] = ACTIONS(369), - [anon_sym_atomic] = ACTIONS(369), - [anon_sym_vec2] = ACTIONS(369), - [anon_sym_vec3] = ACTIONS(369), - [anon_sym_vec4] = ACTIONS(369), - [anon_sym_mat2x2] = ACTIONS(369), - [anon_sym_mat2x3] = ACTIONS(369), - [anon_sym_mat2x4] = ACTIONS(369), - [anon_sym_mat3x2] = ACTIONS(369), - [anon_sym_mat3x3] = ACTIONS(369), - [anon_sym_mat3x4] = ACTIONS(369), - [anon_sym_mat4x2] = ACTIONS(369), - [anon_sym_mat4x3] = ACTIONS(369), - [anon_sym_mat4x4] = ACTIONS(369), - [anon_sym_let] = ACTIONS(369), - [anon_sym_var] = ACTIONS(369), - [anon_sym_STAR] = ACTIONS(371), - [anon_sym_AMP] = ACTIONS(371), - [anon_sym__] = ACTIONS(369), - [anon_sym_if] = ACTIONS(369), - [anon_sym_else] = ACTIONS(365), - [anon_sym_switch] = ACTIONS(369), - [anon_sym_loop] = ACTIONS(369), - [anon_sym_for] = ACTIONS(369), - [anon_sym_while] = ACTIONS(369), - [anon_sym_break] = ACTIONS(369), - [sym_continue_statement] = ACTIONS(369), - [anon_sym_continuing] = ACTIONS(369), - [anon_sym_return] = ACTIONS(369), - [anon_sym_const_assert] = ACTIONS(369), - [anon_sym_discard] = ACTIONS(369), + [14] = { + [sym_ident] = STATE(795), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(168), + [sym_template_elaborated_ident] = STATE(702), + [sym_variable_or_value_statement] = STATE(796), + [sym_variable_decl] = STATE(703), + [sym_call_phrase] = STATE(705), + [sym_lhs_expression] = STATE(437), + [sym_core_lhs_expression] = STATE(406), + [sym_compound_statement] = STATE(216), + [sym_assignment_statement] = STATE(706), + [sym_increment_statement] = STATE(706), + [sym_decrement_statement] = STATE(706), + [sym_if_statement] = STATE(216), + [sym_if_clause] = STATE(167), + [sym_switch_statement] = STATE(216), + [sym_loop_statement] = STATE(216), + [sym_for_statement] = STATE(216), + [sym_while_statement] = STATE(216), + [sym_break_statement] = STATE(796), + [sym_return_statement] = STATE(796), + [sym_func_call_statement] = STATE(796), + [sym_const_assert_statement] = STATE(796), + [sym_statement] = STATE(8), + [sym_variable_updating_statement] = STATE(796), + [aux_sym_struct_member_repeat1] = STATE(168), + [aux_sym_compound_statement_repeat1] = STATE(8), + [sym_ident_pattern_token] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_AT] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(35), + [anon_sym_const] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(143), + [anon_sym_let] = ACTIONS(37), + [anon_sym_var] = ACTIONS(43), + [anon_sym_STAR] = ACTIONS(45), + [anon_sym_AMP] = ACTIONS(45), + [anon_sym__] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_switch] = ACTIONS(51), + [anon_sym_loop] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_while] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [sym_continue_statement] = ACTIONS(61), + [anon_sym_return] = ACTIONS(65), + [anon_sym_const_assert] = ACTIONS(67), + [anon_sym_discard] = ACTIONS(61), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), }, - [91] = { - [sym_ident] = STATE(249), - [sym_array_type_specifier] = STATE(361), - [sym_texture_and_sampler_types] = STATE(361), - [sym_sampler_type] = STATE(372), - [sym_sampled_texture_type] = STATE(626), - [sym_storage_texture_type] = STATE(615), - [sym_depth_texture_type] = STATE(372), - [sym_type_specifier_without_ident] = STATE(614), - [sym_vec_prefix] = STATE(608), - [sym_mat_prefix] = STATE(608), - [sym_call_phrase] = STATE(516), - [sym_callable] = STATE(500), - [sym_lhs_expression] = STATE(292), - [sym_core_lhs_expression] = STATE(250), - [sym_assignment_statement] = STATE(515), - [sym_increment_statement] = STATE(515), - [sym_decrement_statement] = STATE(515), - [sym_for_update] = STATE(660), - [sym_func_call_statement] = STATE(643), - [sym_variable_updating_statement] = STATE(643), - [sym_ident_pattern_token] = ACTIONS(101), - [anon_sym_LPAREN] = ACTIONS(105), - [anon_sym_RPAREN] = ACTIONS(373), - [anon_sym_array] = ACTIONS(45), - [anon_sym_sampler] = ACTIONS(49), - [anon_sym_sampler_comparison] = ACTIONS(49), - [anon_sym_texture_1d] = ACTIONS(51), - [anon_sym_texture_2d] = ACTIONS(51), - [anon_sym_texture_2d_array] = ACTIONS(51), - [anon_sym_texture_3d] = ACTIONS(51), - [anon_sym_texture_cube] = ACTIONS(51), - [anon_sym_texture_cube_array] = ACTIONS(51), - [sym_multisampled_texture_type] = ACTIONS(53), - [anon_sym_texture_storage_1d] = ACTIONS(55), - [anon_sym_texture_storage_2d] = ACTIONS(55), - [anon_sym_texture_storage_2d_array] = ACTIONS(55), - [anon_sym_texture_storage_3d] = ACTIONS(55), - [anon_sym_texture_depth_2d] = ACTIONS(57), - [anon_sym_texture_depth_2d_array] = ACTIONS(57), - [anon_sym_texture_depth_cube] = ACTIONS(57), - [anon_sym_texture_depth_cube_array] = ACTIONS(57), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(57), - [anon_sym_bool] = ACTIONS(59), - [anon_sym_f32] = ACTIONS(59), - [anon_sym_f16] = ACTIONS(59), - [anon_sym_i32] = ACTIONS(59), - [anon_sym_u32] = ACTIONS(59), - [anon_sym_ptr] = ACTIONS(61), - [anon_sym_atomic] = ACTIONS(63), - [anon_sym_vec2] = ACTIONS(65), - [anon_sym_vec3] = ACTIONS(65), - [anon_sym_vec4] = ACTIONS(65), - [anon_sym_mat2x2] = ACTIONS(67), - [anon_sym_mat2x3] = ACTIONS(67), - [anon_sym_mat2x4] = ACTIONS(67), - [anon_sym_mat3x2] = ACTIONS(67), - [anon_sym_mat3x3] = ACTIONS(67), - [anon_sym_mat3x4] = ACTIONS(67), - [anon_sym_mat4x2] = ACTIONS(67), - [anon_sym_mat4x3] = ACTIONS(67), - [anon_sym_mat4x4] = ACTIONS(67), - [anon_sym_STAR] = ACTIONS(115), - [anon_sym_AMP] = ACTIONS(115), - [anon_sym__] = ACTIONS(117), + [15] = { + [sym_ident] = STATE(795), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(168), + [sym_template_elaborated_ident] = STATE(702), + [sym_variable_or_value_statement] = STATE(796), + [sym_variable_decl] = STATE(703), + [sym_call_phrase] = STATE(705), + [sym_lhs_expression] = STATE(437), + [sym_core_lhs_expression] = STATE(406), + [sym_compound_statement] = STATE(216), + [sym_assignment_statement] = STATE(706), + [sym_increment_statement] = STATE(706), + [sym_decrement_statement] = STATE(706), + [sym_if_statement] = STATE(216), + [sym_if_clause] = STATE(167), + [sym_switch_statement] = STATE(216), + [sym_loop_statement] = STATE(216), + [sym_for_statement] = STATE(216), + [sym_while_statement] = STATE(216), + [sym_break_statement] = STATE(796), + [sym_return_statement] = STATE(796), + [sym_func_call_statement] = STATE(796), + [sym_const_assert_statement] = STATE(796), + [sym_statement] = STATE(16), + [sym_variable_updating_statement] = STATE(796), + [aux_sym_struct_member_repeat1] = STATE(168), + [aux_sym_compound_statement_repeat1] = STATE(16), + [sym_ident_pattern_token] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_AT] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(35), + [anon_sym_const] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(143), + [anon_sym_let] = ACTIONS(37), + [anon_sym_var] = ACTIONS(43), + [anon_sym_STAR] = ACTIONS(45), + [anon_sym_AMP] = ACTIONS(45), + [anon_sym__] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_switch] = ACTIONS(51), + [anon_sym_loop] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_while] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [sym_continue_statement] = ACTIONS(61), + [anon_sym_return] = ACTIONS(65), + [anon_sym_const_assert] = ACTIONS(67), + [anon_sym_discard] = ACTIONS(61), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), }, - [92] = { - [sym_else_if_clause] = STATE(92), - [aux_sym_if_statement_repeat1] = STATE(92), - [sym_ident_pattern_token] = ACTIONS(375), - [anon_sym_SEMI] = ACTIONS(377), - [anon_sym_LPAREN] = ACTIONS(377), - [anon_sym_const] = ACTIONS(375), - [anon_sym_array] = ACTIONS(375), - [anon_sym_LBRACE] = ACTIONS(377), - [anon_sym_RBRACE] = ACTIONS(377), - [anon_sym_sampler] = ACTIONS(375), - [anon_sym_sampler_comparison] = ACTIONS(375), - [anon_sym_texture_1d] = ACTIONS(375), - [anon_sym_texture_2d] = ACTIONS(375), - [anon_sym_texture_2d_array] = ACTIONS(375), - [anon_sym_texture_3d] = ACTIONS(375), - [anon_sym_texture_cube] = ACTIONS(375), - [anon_sym_texture_cube_array] = ACTIONS(375), - [sym_multisampled_texture_type] = ACTIONS(375), - [anon_sym_texture_storage_1d] = ACTIONS(375), - [anon_sym_texture_storage_2d] = ACTIONS(375), - [anon_sym_texture_storage_2d_array] = ACTIONS(375), - [anon_sym_texture_storage_3d] = ACTIONS(375), - [anon_sym_texture_depth_2d] = ACTIONS(375), - [anon_sym_texture_depth_2d_array] = ACTIONS(375), - [anon_sym_texture_depth_cube] = ACTIONS(375), - [anon_sym_texture_depth_cube_array] = ACTIONS(375), - [anon_sym_texture_depth_multisampled_2d] = ACTIONS(375), - [anon_sym_bool] = ACTIONS(375), - [anon_sym_f32] = ACTIONS(375), - [anon_sym_f16] = ACTIONS(375), - [anon_sym_i32] = ACTIONS(375), - [anon_sym_u32] = ACTIONS(375), - [anon_sym_ptr] = ACTIONS(375), - [anon_sym_atomic] = ACTIONS(375), - [anon_sym_vec2] = ACTIONS(375), - [anon_sym_vec3] = ACTIONS(375), - [anon_sym_vec4] = ACTIONS(375), - [anon_sym_mat2x2] = ACTIONS(375), - [anon_sym_mat2x3] = ACTIONS(375), - [anon_sym_mat2x4] = ACTIONS(375), - [anon_sym_mat3x2] = ACTIONS(375), - [anon_sym_mat3x3] = ACTIONS(375), - [anon_sym_mat3x4] = ACTIONS(375), - [anon_sym_mat4x2] = ACTIONS(375), - [anon_sym_mat4x3] = ACTIONS(375), - [anon_sym_mat4x4] = ACTIONS(375), - [anon_sym_let] = ACTIONS(375), - [anon_sym_var] = ACTIONS(375), - [anon_sym_STAR] = ACTIONS(377), - [anon_sym_AMP] = ACTIONS(377), - [anon_sym__] = ACTIONS(375), - [anon_sym_if] = ACTIONS(375), - [anon_sym_else] = ACTIONS(379), - [anon_sym_switch] = ACTIONS(375), - [anon_sym_loop] = ACTIONS(375), - [anon_sym_for] = ACTIONS(375), - [anon_sym_while] = ACTIONS(375), - [anon_sym_break] = ACTIONS(375), - [sym_continue_statement] = ACTIONS(375), - [anon_sym_continuing] = ACTIONS(375), - [anon_sym_return] = ACTIONS(375), - [anon_sym_const_assert] = ACTIONS(375), - [anon_sym_discard] = ACTIONS(375), + [16] = { + [sym_ident] = STATE(795), + [sym_align_attr] = STATE(554), + [sym_binding_attr] = STATE(554), + [sym_blend_src_attr] = STATE(554), + [sym_builtin_attr] = STATE(554), + [sym_const_attr] = STATE(554), + [sym_diagnostic_attr] = STATE(554), + [sym_group_attr] = STATE(554), + [sym_id_attr] = STATE(554), + [sym_interpolate_attr] = STATE(554), + [sym_invariant_attr] = STATE(554), + [sym_location_attr] = STATE(554), + [sym_must_use_attr] = STATE(554), + [sym_size_attr] = STATE(554), + [sym_workgroup_size_attr] = STATE(554), + [sym_vertex_attr] = STATE(554), + [sym_fragment_attr] = STATE(554), + [sym_compute_attr] = STATE(554), + [sym_attribute] = STATE(168), + [sym_template_elaborated_ident] = STATE(702), + [sym_variable_or_value_statement] = STATE(796), + [sym_variable_decl] = STATE(703), + [sym_call_phrase] = STATE(705), + [sym_lhs_expression] = STATE(437), + [sym_core_lhs_expression] = STATE(406), + [sym_compound_statement] = STATE(216), + [sym_assignment_statement] = STATE(706), + [sym_increment_statement] = STATE(706), + [sym_decrement_statement] = STATE(706), + [sym_if_statement] = STATE(216), + [sym_if_clause] = STATE(167), + [sym_switch_statement] = STATE(216), + [sym_loop_statement] = STATE(216), + [sym_for_statement] = STATE(216), + [sym_while_statement] = STATE(216), + [sym_break_statement] = STATE(796), + [sym_return_statement] = STATE(796), + [sym_func_call_statement] = STATE(796), + [sym_const_assert_statement] = STATE(796), + [sym_statement] = STATE(8), + [sym_variable_updating_statement] = STATE(796), + [aux_sym_struct_member_repeat1] = STATE(168), + [aux_sym_compound_statement_repeat1] = STATE(8), + [sym_ident_pattern_token] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_AT] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(35), + [anon_sym_const] = ACTIONS(37), + [anon_sym_LBRACE] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(145), + [anon_sym_let] = ACTIONS(37), + [anon_sym_var] = ACTIONS(43), + [anon_sym_STAR] = ACTIONS(45), + [anon_sym_AMP] = ACTIONS(45), + [anon_sym__] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_switch] = ACTIONS(51), + [anon_sym_loop] = ACTIONS(53), + [anon_sym_for] = ACTIONS(55), + [anon_sym_while] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [sym_continue_statement] = ACTIONS(61), + [anon_sym_return] = ACTIONS(65), + [anon_sym_const_assert] = ACTIONS(67), + [anon_sym_discard] = ACTIONS(61), [sym__comment] = ACTIONS(3), [sym__blankspace] = ACTIONS(3), [sym__block_comment] = ACTIONS(3), @@ -20499,3323 +6314,16019 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }; static const uint16_t ts_small_parse_table[] = { - [0] = 3, + [0] = 35, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(167), 1, + anon_sym_default, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(627), 1, + sym_case_selector, + STATE(633), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(161), 3, + anon_sym_AT, + anon_sym_LBRACE, + anon_sym_COLON, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [125] = 35, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(167), 1, + anon_sym_default, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(627), 1, + sym_case_selector, + STATE(633), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(169), 3, + anon_sym_AT, + anon_sym_LBRACE, + anon_sym_COLON, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [250] = 35, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(167), 1, + anon_sym_default, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(208), 1, + sym_case_selectors, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(623), 1, + sym_case_selector, + STATE(633), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [373] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(310), 1, + sym_unary_expression, + STATE(311), 1, + sym_singular_expression, + STATE(397), 1, + sym_multiplicative_expression, + STATE(459), 1, + sym_additive_expression, + STATE(586), 1, + sym_shift_expression, + STATE(628), 1, + sym_relational_expression, + STATE(659), 1, + sym_template_arg_expression, + STATE(732), 1, + sym_expression, + STATE(744), 1, + sym_bitwise_expression, + STATE(765), 1, + sym_short_circuit_and_expression, + STATE(766), 1, + sym_short_circuit_or_expression, + STATE(782), 1, + sym_ident, + STATE(820), 1, + sym_template_arg_comma_list, + STATE(853), 1, + sym_binary_or_expression, + STATE(854), 1, + sym_binary_and_expression, + STATE(855), 1, + sym_binary_xor_expression, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [493] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(167), 1, + anon_sym_default, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(627), 1, + sym_case_selector, + STATE(633), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [613] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(310), 1, + sym_unary_expression, + STATE(311), 1, + sym_singular_expression, + STATE(397), 1, + sym_multiplicative_expression, + STATE(459), 1, + sym_additive_expression, + STATE(586), 1, + sym_shift_expression, + STATE(628), 1, + sym_relational_expression, + STATE(659), 1, + sym_template_arg_expression, + STATE(732), 1, + sym_expression, + STATE(744), 1, + sym_bitwise_expression, + STATE(765), 1, + sym_short_circuit_and_expression, + STATE(766), 1, + sym_short_circuit_or_expression, + STATE(782), 1, + sym_ident, + STATE(834), 1, + sym_template_arg_comma_list, + STATE(853), 1, + sym_binary_or_expression, + STATE(854), 1, + sym_binary_and_expression, + STATE(855), 1, + sym_binary_xor_expression, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [733] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(310), 1, + sym_unary_expression, + STATE(311), 1, + sym_singular_expression, + STATE(397), 1, + sym_multiplicative_expression, + STATE(459), 1, + sym_additive_expression, + STATE(586), 1, + sym_shift_expression, + STATE(628), 1, + sym_relational_expression, + STATE(659), 1, + sym_template_arg_expression, + STATE(732), 1, + sym_expression, + STATE(744), 1, + sym_bitwise_expression, + STATE(758), 1, + sym_template_arg_comma_list, + STATE(765), 1, + sym_short_circuit_and_expression, + STATE(766), 1, + sym_short_circuit_or_expression, + STATE(782), 1, + sym_ident, + STATE(853), 1, + sym_binary_or_expression, + STATE(854), 1, + sym_binary_and_expression, + STATE(855), 1, + sym_binary_xor_expression, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [853] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(189), 1, + anon_sym_RPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(657), 1, + sym_expression, + STATE(762), 1, + sym_expression_comma_list, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [973] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(191), 1, + anon_sym_RPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(657), 1, + sym_expression, + STATE(826), 1, + sym_expression_comma_list, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [1093] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(193), 1, + anon_sym_RPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(657), 1, + sym_expression, + STATE(819), 1, + sym_expression_comma_list, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [1213] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(195), 1, + anon_sym_RPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(657), 1, + sym_expression, + STATE(833), 1, + sym_expression_comma_list, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [1333] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(310), 1, + sym_unary_expression, + STATE(311), 1, + sym_singular_expression, + STATE(397), 1, + sym_multiplicative_expression, + STATE(459), 1, + sym_additive_expression, + STATE(586), 1, + sym_shift_expression, + STATE(628), 1, + sym_relational_expression, + STATE(659), 1, + sym_template_arg_expression, + STATE(732), 1, + sym_expression, + STATE(744), 1, + sym_bitwise_expression, + STATE(765), 1, + sym_short_circuit_and_expression, + STATE(766), 1, + sym_short_circuit_or_expression, + STATE(782), 1, + sym_ident, + STATE(827), 1, + sym_template_arg_comma_list, + STATE(853), 1, + sym_binary_or_expression, + STATE(854), 1, + sym_binary_and_expression, + STATE(855), 1, + sym_binary_xor_expression, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [1453] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(197), 1, + anon_sym_RPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(657), 1, + sym_expression, + STATE(809), 1, + sym_expression_comma_list, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [1573] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(199), 1, + anon_sym_RPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(657), 1, + sym_expression, + STATE(840), 1, + sym_expression_comma_list, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [1693] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(201), 1, + sym__template_args_end, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(310), 1, + sym_unary_expression, + STATE(311), 1, + sym_singular_expression, + STATE(397), 1, + sym_multiplicative_expression, + STATE(459), 1, + sym_additive_expression, + STATE(586), 1, + sym_shift_expression, + STATE(628), 1, + sym_relational_expression, + STATE(692), 1, + sym_template_arg_expression, + STATE(732), 1, + sym_expression, + STATE(744), 1, + sym_bitwise_expression, + STATE(765), 1, + sym_short_circuit_and_expression, + STATE(766), 1, + sym_short_circuit_or_expression, + STATE(782), 1, + sym_ident, + STATE(853), 1, + sym_binary_or_expression, + STATE(854), 1, + sym_binary_and_expression, + STATE(855), 1, + sym_binary_xor_expression, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [1813] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(203), 1, + anon_sym_RPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(657), 1, + sym_expression, + STATE(799), 1, + sym_expression_comma_list, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [1933] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(205), 1, + anon_sym_RPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(657), 1, + sym_expression, + STATE(847), 1, + sym_expression_comma_list, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [2053] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(310), 1, + sym_unary_expression, + STATE(311), 1, + sym_singular_expression, + STATE(397), 1, + sym_multiplicative_expression, + STATE(459), 1, + sym_additive_expression, + STATE(586), 1, + sym_shift_expression, + STATE(628), 1, + sym_relational_expression, + STATE(659), 1, + sym_template_arg_expression, + STATE(732), 1, + sym_expression, + STATE(744), 1, + sym_bitwise_expression, + STATE(765), 1, + sym_short_circuit_and_expression, + STATE(766), 1, + sym_short_circuit_or_expression, + STATE(782), 1, + sym_ident, + STATE(810), 1, + sym_template_arg_comma_list, + STATE(853), 1, + sym_binary_or_expression, + STATE(854), 1, + sym_binary_and_expression, + STATE(855), 1, + sym_binary_xor_expression, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [2173] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(310), 1, + sym_unary_expression, + STATE(311), 1, + sym_singular_expression, + STATE(397), 1, + sym_multiplicative_expression, + STATE(459), 1, + sym_additive_expression, + STATE(586), 1, + sym_shift_expression, + STATE(628), 1, + sym_relational_expression, + STATE(659), 1, + sym_template_arg_expression, + STATE(732), 1, + sym_expression, + STATE(744), 1, + sym_bitwise_expression, + STATE(765), 1, + sym_short_circuit_and_expression, + STATE(766), 1, + sym_short_circuit_or_expression, + STATE(782), 1, + sym_ident, + STATE(841), 1, + sym_template_arg_comma_list, + STATE(853), 1, + sym_binary_or_expression, + STATE(854), 1, + sym_binary_and_expression, + STATE(855), 1, + sym_binary_xor_expression, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [2293] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(310), 1, + sym_unary_expression, + STATE(311), 1, + sym_singular_expression, + STATE(397), 1, + sym_multiplicative_expression, + STATE(459), 1, + sym_additive_expression, + STATE(586), 1, + sym_shift_expression, + STATE(628), 1, + sym_relational_expression, + STATE(659), 1, + sym_template_arg_expression, + STATE(732), 1, + sym_expression, + STATE(744), 1, + sym_bitwise_expression, + STATE(765), 1, + sym_short_circuit_and_expression, + STATE(766), 1, + sym_short_circuit_or_expression, + STATE(778), 1, + sym_template_arg_comma_list, + STATE(782), 1, + sym_ident, + STATE(853), 1, + sym_binary_or_expression, + STATE(854), 1, + sym_binary_and_expression, + STATE(855), 1, + sym_binary_xor_expression, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [2413] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(310), 1, + sym_unary_expression, + STATE(311), 1, + sym_singular_expression, + STATE(397), 1, + sym_multiplicative_expression, + STATE(459), 1, + sym_additive_expression, + STATE(586), 1, + sym_shift_expression, + STATE(628), 1, + sym_relational_expression, + STATE(659), 1, + sym_template_arg_expression, + STATE(732), 1, + sym_expression, + STATE(744), 1, + sym_bitwise_expression, + STATE(765), 1, + sym_short_circuit_and_expression, + STATE(766), 1, + sym_short_circuit_or_expression, + STATE(782), 1, + sym_ident, + STATE(800), 1, + sym_template_arg_comma_list, + STATE(853), 1, + sym_binary_or_expression, + STATE(854), 1, + sym_binary_and_expression, + STATE(855), 1, + sym_binary_xor_expression, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [2533] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(207), 1, + anon_sym_RPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(657), 1, + sym_expression, + STATE(789), 1, + sym_expression_comma_list, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [2653] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + ACTIONS(209), 1, + sym__template_args_end, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(310), 1, + sym_unary_expression, + STATE(311), 1, + sym_singular_expression, + STATE(397), 1, + sym_multiplicative_expression, + STATE(459), 1, + sym_additive_expression, + STATE(586), 1, + sym_shift_expression, + STATE(628), 1, + sym_relational_expression, + STATE(692), 1, + sym_template_arg_expression, + STATE(732), 1, + sym_expression, + STATE(744), 1, + sym_bitwise_expression, + STATE(765), 1, + sym_short_circuit_and_expression, + STATE(766), 1, + sym_short_circuit_or_expression, + STATE(782), 1, + sym_ident, + STATE(853), 1, + sym_binary_or_expression, + STATE(854), 1, + sym_binary_and_expression, + STATE(855), 1, + sym_binary_xor_expression, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [2773] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(211), 1, + anon_sym_RPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(657), 1, + sym_expression, + STATE(777), 1, + sym_expression_comma_list, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [2893] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(310), 1, + sym_unary_expression, + STATE(311), 1, + sym_singular_expression, + STATE(397), 1, + sym_multiplicative_expression, + STATE(459), 1, + sym_additive_expression, + STATE(586), 1, + sym_shift_expression, + STATE(628), 1, + sym_relational_expression, + STATE(659), 1, + sym_template_arg_expression, + STATE(732), 1, + sym_expression, + STATE(744), 1, + sym_bitwise_expression, + STATE(765), 1, + sym_short_circuit_and_expression, + STATE(766), 1, + sym_short_circuit_or_expression, + STATE(782), 1, + sym_ident, + STATE(790), 1, + sym_template_arg_comma_list, + STATE(853), 1, + sym_binary_or_expression, + STATE(854), 1, + sym_binary_and_expression, + STATE(855), 1, + sym_binary_xor_expression, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [3013] = 34, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(310), 1, + sym_unary_expression, + STATE(311), 1, + sym_singular_expression, + STATE(397), 1, + sym_multiplicative_expression, + STATE(459), 1, + sym_additive_expression, + STATE(586), 1, + sym_shift_expression, + STATE(628), 1, + sym_relational_expression, + STATE(659), 1, + sym_template_arg_expression, + STATE(732), 1, + sym_expression, + STATE(744), 1, + sym_bitwise_expression, + STATE(765), 1, + sym_short_circuit_and_expression, + STATE(766), 1, + sym_short_circuit_or_expression, + STATE(782), 1, + sym_ident, + STATE(848), 1, + sym_template_arg_comma_list, + STATE(853), 1, + sym_binary_or_expression, + STATE(854), 1, + sym_binary_and_expression, + STATE(855), 1, + sym_binary_xor_expression, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [3133] = 33, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(213), 1, + anon_sym_RPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(727), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [3250] = 33, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(215), 1, + anon_sym_SEMI, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(817), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [3367] = 33, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(310), 1, + sym_unary_expression, + STATE(311), 1, + sym_singular_expression, + STATE(397), 1, + sym_multiplicative_expression, + STATE(459), 1, + sym_additive_expression, + STATE(586), 1, + sym_shift_expression, + STATE(628), 1, + sym_relational_expression, + STATE(692), 1, + sym_template_arg_expression, + STATE(732), 1, + sym_expression, + STATE(744), 1, + sym_bitwise_expression, + STATE(765), 1, + sym_short_circuit_and_expression, + STATE(766), 1, + sym_short_circuit_or_expression, + STATE(782), 1, + sym_ident, + STATE(853), 1, + sym_binary_or_expression, + STATE(854), 1, + sym_binary_and_expression, + STATE(855), 1, + sym_binary_xor_expression, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [3484] = 33, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(217), 1, + anon_sym_SEMI, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(857), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [3601] = 33, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(219), 1, + anon_sym_RPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(696), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [3718] = 33, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(221), 1, + anon_sym_RPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(697), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [3835] = 33, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(223), 1, + anon_sym_RPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(696), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [3952] = 33, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + ACTIONS(225), 1, + anon_sym_SEMI, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(751), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [4069] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(849), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [4183] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(811), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [4297] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(784), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [4411] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(761), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [4525] = 22, + ACTIONS(9), 1, + anon_sym_diagnostic, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(13), 1, + anon_sym_const, + ACTIONS(15), 1, + anon_sym_struct, + ACTIONS(17), 1, + anon_sym_alias, + ACTIONS(19), 1, + anon_sym_var, + ACTIONS(21), 1, + anon_sym_override, + ACTIONS(23), 1, + anon_sym_const_assert, + ACTIONS(25), 1, + anon_sym_fn, + ACTIONS(27), 1, + anon_sym_enable, + ACTIONS(29), 1, + anon_sym_requires, + ACTIONS(227), 1, + ts_builtin_sym_end, + ACTIONS(229), 1, + anon_sym_SEMI, + STATE(254), 1, + sym_function_header, + STATE(740), 1, + sym_variable_decl, + STATE(177), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + STATE(327), 2, + sym_global_directive, + aux_sym_translation_unit_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(102), 3, + sym_struct_decl, + sym_function_decl, + aux_sym_translation_unit_repeat2, + STATE(463), 3, + sym_diagnostic_directive, + sym_enable_directive, + sym_requires_directive, + STATE(886), 4, + sym_type_alias_decl, + sym_global_variable_decl, + sym_global_value_decl, + sym_const_assert_statement, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [4619] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(838), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [4733] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(248), 1, + sym_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [4847] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(816), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [4961] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(842), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [5075] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(845), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [5189] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(808), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [5303] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(805), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [5417] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(859), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [5531] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(255), 1, + sym_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [5645] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(264), 1, + sym_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [5759] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(793), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [5873] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(835), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [5987] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(708), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [6101] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(851), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [6215] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + STATE(885), 1, + sym_expression, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [6329] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(745), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [6443] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(746), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [6557] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(818), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [6671] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(696), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [6785] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(737), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [6899] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(779), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [7013] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(794), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [7127] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(767), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [7241] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(801), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [7355] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(725), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [7469] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(804), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [7583] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(791), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [7697] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(814), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [7811] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(806), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [7925] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(724), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [8039] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(241), 1, + sym_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [8153] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(239), 1, + sym_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [8267] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(238), 1, + sym_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [8381] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(831), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [8495] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(720), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [8609] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(757), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [8723] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(719), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [8837] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(821), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [8951] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(716), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [9065] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(824), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [9179] = 32, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(179), 1, + sym_unary_expression, + STATE(180), 1, + sym_singular_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(599), 1, + sym_relational_expression, + STATE(615), 1, + sym_bitwise_expression, + STATE(828), 1, + sym_expression, + STATE(860), 1, + sym_binary_xor_expression, + STATE(861), 1, + sym_binary_and_expression, + STATE(862), 1, + sym_binary_or_expression, + STATE(863), 1, + sym_short_circuit_or_expression, + STATE(864), 1, + sym_short_circuit_and_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [9293] = 25, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(180), 1, + sym_singular_expression, + STATE(240), 1, + sym_unary_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(439), 1, + sym_shift_expression, + STATE(605), 1, + sym_relational_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [9386] = 25, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(180), 1, + sym_singular_expression, + STATE(240), 1, + sym_unary_expression, + STATE(287), 1, + sym_multiplicative_expression, + STATE(335), 1, + sym_additive_expression, + STATE(423), 1, + sym_shift_expression, + STATE(604), 1, + sym_relational_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [9479] = 25, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(311), 1, + sym_singular_expression, + STATE(369), 1, + sym_unary_expression, + STATE(397), 1, + sym_multiplicative_expression, + STATE(459), 1, + sym_additive_expression, + STATE(586), 1, + sym_shift_expression, + STATE(647), 1, + sym_relational_expression, + STATE(782), 1, + sym_ident, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [9572] = 25, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(311), 1, + sym_singular_expression, + STATE(369), 1, + sym_unary_expression, + STATE(397), 1, + sym_multiplicative_expression, + STATE(459), 1, + sym_additive_expression, + STATE(594), 1, + sym_shift_expression, + STATE(646), 1, + sym_relational_expression, + STATE(782), 1, + sym_ident, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [9665] = 17, + ACTIONS(231), 1, + ts_builtin_sym_end, + ACTIONS(233), 1, + anon_sym_SEMI, + ACTIONS(236), 1, + anon_sym_AT, + ACTIONS(239), 1, + anon_sym_const, + ACTIONS(242), 1, + anon_sym_struct, + ACTIONS(245), 1, + anon_sym_alias, + ACTIONS(248), 1, + anon_sym_var, + ACTIONS(251), 1, + anon_sym_override, + ACTIONS(254), 1, + anon_sym_const_assert, + ACTIONS(257), 1, + anon_sym_fn, + STATE(254), 1, + sym_function_header, + STATE(740), 1, + sym_variable_decl, + STATE(177), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(101), 3, + sym_struct_decl, + sym_function_decl, + aux_sym_translation_unit_repeat2, + STATE(886), 4, + sym_type_alias_decl, + sym_global_variable_decl, + sym_global_value_decl, + sym_const_assert_statement, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [9741] = 17, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(13), 1, + anon_sym_const, + ACTIONS(15), 1, + anon_sym_struct, + ACTIONS(17), 1, + anon_sym_alias, + ACTIONS(19), 1, + anon_sym_var, + ACTIONS(21), 1, + anon_sym_override, + ACTIONS(23), 1, + anon_sym_const_assert, + ACTIONS(25), 1, + anon_sym_fn, + ACTIONS(260), 1, + ts_builtin_sym_end, + ACTIONS(262), 1, + anon_sym_SEMI, + STATE(254), 1, + sym_function_header, + STATE(740), 1, + sym_variable_decl, + STATE(177), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(101), 3, + sym_struct_decl, + sym_function_decl, + aux_sym_translation_unit_repeat2, + STATE(886), 4, + sym_type_alias_decl, + sym_global_variable_decl, + sym_global_value_decl, + sym_const_assert_statement, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [9817] = 24, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(268), 1, + sym_hex_int_literal, + ACTIONS(272), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(276), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(278), 1, + anon_sym_LPAREN, + STATE(297), 1, + sym_template_elaborated_ident, + STATE(315), 1, + sym_primary_expression, + STATE(346), 1, + sym_decimal_int_literal, + STATE(358), 1, + sym_call_phrase, + STATE(403), 1, + sym_singular_expression, + STATE(428), 1, + sym_unary_expression, + STATE(447), 1, + sym_multiplicative_expression, + STATE(565), 1, + sym_additive_expression, + STATE(597), 1, + sym_shift_expression, + STATE(802), 1, + sym_ident, + ACTIONS(264), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(266), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(274), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(350), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(349), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(351), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(270), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(280), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [9907] = 24, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(286), 1, + sym_hex_int_literal, + ACTIONS(290), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(294), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(296), 1, + anon_sym_LPAREN, + STATE(425), 1, + sym_template_elaborated_ident, + STATE(457), 1, + sym_primary_expression, + STATE(461), 1, + sym_decimal_int_literal, + STATE(465), 1, + sym_call_phrase, + STATE(547), 1, + sym_unary_expression, + STATE(561), 1, + sym_singular_expression, + STATE(589), 1, + sym_multiplicative_expression, + STATE(612), 1, + sym_additive_expression, + STATE(635), 1, + sym_shift_expression, + STATE(750), 1, + sym_ident, + ACTIONS(282), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(284), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(292), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(460), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(464), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(481), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(288), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(298), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [9997] = 17, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(13), 1, + anon_sym_const, + ACTIONS(15), 1, + anon_sym_struct, + ACTIONS(17), 1, + anon_sym_alias, + ACTIONS(19), 1, + anon_sym_var, + ACTIONS(21), 1, + anon_sym_override, + ACTIONS(23), 1, + anon_sym_const_assert, + ACTIONS(25), 1, + anon_sym_fn, + ACTIONS(227), 1, + ts_builtin_sym_end, + ACTIONS(262), 1, + anon_sym_SEMI, + STATE(254), 1, + sym_function_header, + STATE(740), 1, + sym_variable_decl, + STATE(177), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(101), 3, + sym_struct_decl, + sym_function_decl, + aux_sym_translation_unit_repeat2, + STATE(886), 4, + sym_type_alias_decl, + sym_global_variable_decl, + sym_global_value_decl, + sym_const_assert_statement, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [10073] = 24, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(268), 1, + sym_hex_int_literal, + ACTIONS(272), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(276), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(278), 1, + anon_sym_LPAREN, + STATE(297), 1, + sym_template_elaborated_ident, + STATE(315), 1, + sym_primary_expression, + STATE(346), 1, + sym_decimal_int_literal, + STATE(358), 1, + sym_call_phrase, + STATE(403), 1, + sym_singular_expression, + STATE(413), 1, + sym_unary_expression, + STATE(426), 1, + sym_multiplicative_expression, + STATE(503), 1, + sym_additive_expression, + STATE(597), 1, + sym_shift_expression, + STATE(802), 1, + sym_ident, + ACTIONS(264), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(266), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(274), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(350), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(349), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(351), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(270), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(280), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [10163] = 24, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(286), 1, + sym_hex_int_literal, + ACTIONS(290), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(294), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(296), 1, + anon_sym_LPAREN, + STATE(425), 1, + sym_template_elaborated_ident, + STATE(457), 1, + sym_primary_expression, + STATE(461), 1, + sym_decimal_int_literal, + STATE(465), 1, + sym_call_phrase, + STATE(561), 1, + sym_singular_expression, + STATE(587), 1, + sym_unary_expression, + STATE(600), 1, + sym_multiplicative_expression, + STATE(618), 1, + sym_additive_expression, + STATE(635), 1, + sym_shift_expression, + STATE(750), 1, + sym_ident, + ACTIONS(282), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(284), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(292), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(460), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(464), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(481), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(288), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(298), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [10253] = 22, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(304), 1, + sym_hex_int_literal, + ACTIONS(308), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(312), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(314), 1, + anon_sym_LPAREN, + STATE(302), 1, + sym_template_elaborated_ident, + STATE(320), 1, + sym_primary_expression, + STATE(332), 1, + sym_call_phrase, + STATE(339), 1, + sym_decimal_int_literal, + STATE(416), 1, + sym_singular_expression, + STATE(450), 1, + sym_multiplicative_expression, + STATE(454), 1, + sym_unary_expression, + STATE(764), 1, + sym_ident, + ACTIONS(300), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(302), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(310), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(340), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(336), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(338), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(306), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(316), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [10337] = 22, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(322), 1, + sym_hex_int_literal, + ACTIONS(326), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(330), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(332), 1, + anon_sym_LPAREN, + STATE(466), 1, + sym_template_elaborated_ident, + STATE(504), 1, + sym_primary_expression, + STATE(548), 1, + sym_decimal_int_literal, + STATE(559), 1, + sym_call_phrase, + STATE(581), 1, + sym_multiplicative_expression, + STATE(591), 1, + sym_unary_expression, + STATE(602), 1, + sym_singular_expression, + STATE(843), 1, + sym_ident, + ACTIONS(318), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(320), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(328), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(555), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(552), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(556), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(324), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(334), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [10421] = 22, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(340), 1, + sym_hex_int_literal, + ACTIONS(344), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(348), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(350), 1, + anon_sym_LPAREN, + STATE(333), 1, + sym_template_elaborated_ident, + STATE(381), 1, + sym_primary_expression, + STATE(390), 1, + sym_call_phrase, + STATE(399), 1, + sym_decimal_int_literal, + STATE(421), 1, + sym_multiplicative_expression, + STATE(443), 1, + sym_singular_expression, + STATE(454), 1, + sym_unary_expression, + STATE(836), 1, + sym_ident, + ACTIONS(336), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(338), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(346), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(393), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(391), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(394), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(342), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(352), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [10505] = 22, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(358), 1, + sym_hex_int_literal, + ACTIONS(362), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(366), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(368), 1, + anon_sym_LPAREN, + STATE(435), 1, + sym_template_elaborated_ident, + STATE(440), 1, + sym_primary_expression, + STATE(470), 1, + sym_decimal_int_literal, + STATE(496), 1, + sym_call_phrase, + STATE(557), 1, + sym_singular_expression, + STATE(591), 1, + sym_unary_expression, + STATE(593), 1, + sym_multiplicative_expression, + STATE(829), 1, + sym_ident, + ACTIONS(354), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(356), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(364), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(474), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(467), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(493), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(360), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(370), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [10589] = 22, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(376), 1, + sym_hex_int_literal, + ACTIONS(380), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(384), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(386), 1, + anon_sym_LPAREN, + STATE(321), 1, + sym_template_elaborated_ident, + STATE(334), 1, + sym_primary_expression, + STATE(371), 1, + sym_call_phrase, + STATE(384), 1, + sym_decimal_int_literal, + STATE(388), 1, + sym_multiplicative_expression, + STATE(420), 1, + sym_unary_expression, + STATE(434), 1, + sym_singular_expression, + STATE(812), 1, + sym_ident, + ACTIONS(372), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(374), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(382), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(374), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(361), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(372), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(378), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(388), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [10673] = 22, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(394), 1, + sym_hex_int_literal, + ACTIONS(398), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(402), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(404), 1, + anon_sym_LPAREN, + STATE(188), 1, + sym_template_elaborated_ident, + STATE(213), 1, + sym_primary_expression, + STATE(270), 1, + sym_call_phrase, + STATE(280), 1, + sym_decimal_int_literal, + STATE(283), 1, + sym_multiplicative_expression, + STATE(301), 1, + sym_unary_expression, + STATE(309), 1, + sym_singular_expression, + STATE(792), 1, + sym_ident, + ACTIONS(390), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(392), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(400), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(274), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(273), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(276), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(396), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(406), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [10757] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(340), 1, + sym_hex_int_literal, + ACTIONS(344), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(348), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(350), 1, + anon_sym_LPAREN, + STATE(333), 1, + sym_template_elaborated_ident, + STATE(381), 1, + sym_primary_expression, + STATE(390), 1, + sym_call_phrase, + STATE(399), 1, + sym_decimal_int_literal, + STATE(436), 1, + sym_unary_expression, + STATE(443), 1, + sym_singular_expression, + STATE(836), 1, + sym_ident, + ACTIONS(336), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(338), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(346), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(393), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(391), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(394), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(342), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(352), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [10838] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(286), 1, + sym_hex_int_literal, + ACTIONS(290), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(294), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(296), 1, + anon_sym_LPAREN, + STATE(425), 1, + sym_template_elaborated_ident, + STATE(457), 1, + sym_primary_expression, + STATE(461), 1, + sym_decimal_int_literal, + STATE(465), 1, + sym_call_phrase, + STATE(506), 1, + sym_unary_expression, + STATE(561), 1, + sym_singular_expression, + STATE(750), 1, + sym_ident, + ACTIONS(282), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(284), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(292), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(460), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(464), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(481), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(288), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(298), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [10919] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(268), 1, + sym_hex_int_literal, + ACTIONS(272), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(276), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(278), 1, + anon_sym_LPAREN, + STATE(297), 1, + sym_template_elaborated_ident, + STATE(315), 1, + sym_primary_expression, + STATE(346), 1, + sym_decimal_int_literal, + STATE(358), 1, + sym_call_phrase, + STATE(403), 1, + sym_singular_expression, + STATE(408), 1, + sym_unary_expression, + STATE(802), 1, + sym_ident, + ACTIONS(264), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(266), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(274), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(350), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(349), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(351), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(270), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(280), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [11000] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(358), 1, + sym_hex_int_literal, + ACTIONS(362), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(366), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(368), 1, + anon_sym_LPAREN, + STATE(435), 1, + sym_template_elaborated_ident, + STATE(440), 1, + sym_primary_expression, + STATE(470), 1, + sym_decimal_int_literal, + STATE(496), 1, + sym_call_phrase, + STATE(557), 1, + sym_singular_expression, + STATE(562), 1, + sym_unary_expression, + STATE(829), 1, + sym_ident, + ACTIONS(354), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(356), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(364), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(474), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(467), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(493), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(360), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(370), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [11081] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(322), 1, + sym_hex_int_literal, + ACTIONS(326), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(330), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(332), 1, + anon_sym_LPAREN, + STATE(466), 1, + sym_template_elaborated_ident, + STATE(504), 1, + sym_primary_expression, + STATE(548), 1, + sym_decimal_int_literal, + STATE(559), 1, + sym_call_phrase, + STATE(602), 1, + sym_singular_expression, + STATE(632), 1, + sym_unary_expression, + STATE(843), 1, + sym_ident, + ACTIONS(318), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(320), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(328), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(555), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(552), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(556), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(324), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(334), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [11162] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(358), 1, + sym_hex_int_literal, + ACTIONS(362), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(366), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(368), 1, + anon_sym_LPAREN, + STATE(435), 1, + sym_template_elaborated_ident, + STATE(440), 1, + sym_primary_expression, + STATE(470), 1, + sym_decimal_int_literal, + STATE(496), 1, + sym_call_phrase, + STATE(557), 1, + sym_singular_expression, + STATE(592), 1, + sym_unary_expression, + STATE(829), 1, + sym_ident, + ACTIONS(354), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(356), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(364), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(474), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(467), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(493), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(360), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(370), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [11243] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(358), 1, + sym_hex_int_literal, + ACTIONS(362), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(366), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(368), 1, + anon_sym_LPAREN, + STATE(435), 1, + sym_template_elaborated_ident, + STATE(440), 1, + sym_primary_expression, + STATE(470), 1, + sym_decimal_int_literal, + STATE(496), 1, + sym_call_phrase, + STATE(557), 1, + sym_singular_expression, + STATE(632), 1, + sym_unary_expression, + STATE(829), 1, + sym_ident, + ACTIONS(354), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(356), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(364), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(474), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(467), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(493), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(360), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(370), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [11324] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(304), 1, + sym_hex_int_literal, + ACTIONS(308), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(312), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(314), 1, + anon_sym_LPAREN, + STATE(302), 1, + sym_template_elaborated_ident, + STATE(320), 1, + sym_primary_expression, + STATE(332), 1, + sym_call_phrase, + STATE(339), 1, + sym_decimal_int_literal, + STATE(415), 1, + sym_unary_expression, + STATE(416), 1, + sym_singular_expression, + STATE(764), 1, + sym_ident, + ACTIONS(300), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(302), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(310), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(340), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(336), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(338), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(306), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(316), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [11405] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(376), 1, + sym_hex_int_literal, + ACTIONS(380), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(384), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(386), 1, + anon_sym_LPAREN, + STATE(321), 1, + sym_template_elaborated_ident, + STATE(334), 1, + sym_primary_expression, + STATE(371), 1, + sym_call_phrase, + STATE(384), 1, + sym_decimal_int_literal, + STATE(429), 1, + sym_unary_expression, + STATE(434), 1, + sym_singular_expression, + STATE(812), 1, + sym_ident, + ACTIONS(372), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(374), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(382), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(374), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(361), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(372), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(378), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(388), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [11486] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(340), 1, + sym_hex_int_literal, + ACTIONS(344), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(348), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(350), 1, + anon_sym_LPAREN, + STATE(333), 1, + sym_template_elaborated_ident, + STATE(381), 1, + sym_primary_expression, + STATE(390), 1, + sym_call_phrase, + STATE(399), 1, + sym_decimal_int_literal, + STATE(443), 1, + sym_singular_expression, + STATE(453), 1, + sym_unary_expression, + STATE(836), 1, + sym_ident, + ACTIONS(336), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(338), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(346), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(393), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(391), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(394), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(342), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(352), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [11567] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(322), 1, + sym_hex_int_literal, + ACTIONS(326), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(330), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(332), 1, + anon_sym_LPAREN, + STATE(466), 1, + sym_template_elaborated_ident, + STATE(504), 1, + sym_primary_expression, + STATE(548), 1, + sym_decimal_int_literal, + STATE(559), 1, + sym_call_phrase, + STATE(601), 1, + sym_unary_expression, + STATE(602), 1, + sym_singular_expression, + STATE(843), 1, + sym_ident, + ACTIONS(318), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(320), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(328), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(555), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(552), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(556), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(324), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(334), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [11648] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(151), 1, + sym_hex_int_literal, + ACTIONS(155), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(159), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(163), 1, + anon_sym_LPAREN, + STATE(147), 1, + sym_template_elaborated_ident, + STATE(149), 1, + sym_primary_expression, + STATE(154), 1, + sym_call_phrase, + STATE(166), 1, + sym_decimal_int_literal, + STATE(180), 1, + sym_singular_expression, + STATE(183), 1, + sym_unary_expression, + STATE(865), 1, + sym_ident, + ACTIONS(147), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(149), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(157), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(162), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(157), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(163), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(153), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(165), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [11729] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(376), 1, + sym_hex_int_literal, + ACTIONS(380), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(384), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(386), 1, + anon_sym_LPAREN, + STATE(321), 1, + sym_template_elaborated_ident, + STATE(334), 1, + sym_primary_expression, + STATE(371), 1, + sym_call_phrase, + STATE(384), 1, + sym_decimal_int_literal, + STATE(434), 1, + sym_singular_expression, + STATE(580), 1, + sym_unary_expression, + STATE(812), 1, + sym_ident, + ACTIONS(372), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(374), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(382), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(374), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(361), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(372), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(378), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(388), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [11810] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(394), 1, + sym_hex_int_literal, + ACTIONS(398), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(402), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(404), 1, + anon_sym_LPAREN, + STATE(188), 1, + sym_template_elaborated_ident, + STATE(213), 1, + sym_primary_expression, + STATE(270), 1, + sym_call_phrase, + STATE(280), 1, + sym_decimal_int_literal, + STATE(309), 1, + sym_singular_expression, + STATE(433), 1, + sym_unary_expression, + STATE(792), 1, + sym_ident, + ACTIONS(390), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(392), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(400), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(274), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(273), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(276), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(396), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(406), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [11891] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(376), 1, + sym_hex_int_literal, + ACTIONS(380), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(384), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(386), 1, + anon_sym_LPAREN, + STATE(321), 1, + sym_template_elaborated_ident, + STATE(334), 1, + sym_primary_expression, + STATE(371), 1, + sym_call_phrase, + STATE(384), 1, + sym_decimal_int_literal, + STATE(424), 1, + sym_unary_expression, + STATE(434), 1, + sym_singular_expression, + STATE(812), 1, + sym_ident, + ACTIONS(372), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(374), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(382), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(374), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(361), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(372), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(378), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(388), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [11972] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(394), 1, + sym_hex_int_literal, + ACTIONS(398), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(402), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(404), 1, + anon_sym_LPAREN, + STATE(188), 1, + sym_template_elaborated_ident, + STATE(213), 1, + sym_primary_expression, + STATE(270), 1, + sym_call_phrase, + STATE(280), 1, + sym_decimal_int_literal, + STATE(303), 1, + sym_unary_expression, + STATE(309), 1, + sym_singular_expression, + STATE(792), 1, + sym_ident, + ACTIONS(390), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(392), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(400), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(274), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(273), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(276), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(396), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(406), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [12053] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(358), 1, + sym_hex_int_literal, + ACTIONS(362), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(366), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(368), 1, + anon_sym_LPAREN, + STATE(435), 1, + sym_template_elaborated_ident, + STATE(440), 1, + sym_primary_expression, + STATE(470), 1, + sym_decimal_int_literal, + STATE(496), 1, + sym_call_phrase, + STATE(557), 1, + sym_singular_expression, + STATE(645), 1, + sym_unary_expression, + STATE(829), 1, + sym_ident, + ACTIONS(354), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(356), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(364), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(474), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(467), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(493), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(360), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(370), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [12134] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(358), 1, + sym_hex_int_literal, + ACTIONS(362), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(366), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(368), 1, + anon_sym_LPAREN, + STATE(435), 1, + sym_template_elaborated_ident, + STATE(440), 1, + sym_primary_expression, + STATE(470), 1, + sym_decimal_int_literal, + STATE(496), 1, + sym_call_phrase, + STATE(557), 1, + sym_singular_expression, + STATE(644), 1, + sym_unary_expression, + STATE(829), 1, + sym_ident, + ACTIONS(354), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(356), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(364), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(474), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(467), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(493), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(360), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(370), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [12215] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(358), 1, + sym_hex_int_literal, + ACTIONS(362), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(366), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(368), 1, + anon_sym_LPAREN, + STATE(435), 1, + sym_template_elaborated_ident, + STATE(440), 1, + sym_primary_expression, + STATE(470), 1, + sym_decimal_int_literal, + STATE(496), 1, + sym_call_phrase, + STATE(557), 1, + sym_singular_expression, + STATE(643), 1, + sym_unary_expression, + STATE(829), 1, + sym_ident, + ACTIONS(354), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(356), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(364), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(474), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(467), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(493), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(360), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(370), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [12296] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(322), 1, + sym_hex_int_literal, + ACTIONS(326), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(330), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(332), 1, + anon_sym_LPAREN, + STATE(466), 1, + sym_template_elaborated_ident, + STATE(504), 1, + sym_primary_expression, + STATE(548), 1, + sym_decimal_int_literal, + STATE(559), 1, + sym_call_phrase, + STATE(592), 1, + sym_unary_expression, + STATE(602), 1, + sym_singular_expression, + STATE(843), 1, + sym_ident, + ACTIONS(318), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(320), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(328), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(555), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(552), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(556), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(324), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(334), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [12377] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(175), 1, + sym_hex_int_literal, + ACTIONS(179), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(183), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(185), 1, + anon_sym_LPAREN, + STATE(189), 1, + sym_template_elaborated_ident, + STATE(228), 1, + sym_primary_expression, + STATE(265), 1, + sym_decimal_int_literal, + STATE(269), 1, + sym_call_phrase, + STATE(311), 1, + sym_singular_expression, + STATE(312), 1, + sym_unary_expression, + STATE(782), 1, + sym_ident, + ACTIONS(171), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(173), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(181), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(245), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(244), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + STATE(249), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + ACTIONS(177), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(187), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [12458] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(304), 1, + sym_hex_int_literal, + ACTIONS(308), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(312), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(314), 1, + anon_sym_LPAREN, + STATE(302), 1, + sym_template_elaborated_ident, + STATE(320), 1, + sym_primary_expression, + STATE(332), 1, + sym_call_phrase, + STATE(339), 1, + sym_decimal_int_literal, + STATE(416), 1, + sym_singular_expression, + STATE(606), 1, + sym_unary_expression, + STATE(764), 1, + sym_ident, + ACTIONS(300), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(302), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(310), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(340), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(336), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(338), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(306), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(316), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [12539] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(304), 1, + sym_hex_int_literal, + ACTIONS(308), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(312), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(314), 1, + anon_sym_LPAREN, + STATE(302), 1, + sym_template_elaborated_ident, + STATE(320), 1, + sym_primary_expression, + STATE(332), 1, + sym_call_phrase, + STATE(339), 1, + sym_decimal_int_literal, + STATE(416), 1, + sym_singular_expression, + STATE(607), 1, + sym_unary_expression, + STATE(764), 1, + sym_ident, + ACTIONS(300), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(302), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(310), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(340), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(336), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(338), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(306), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(316), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [12620] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(304), 1, + sym_hex_int_literal, + ACTIONS(308), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(312), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(314), 1, + anon_sym_LPAREN, + STATE(302), 1, + sym_template_elaborated_ident, + STATE(320), 1, + sym_primary_expression, + STATE(332), 1, + sym_call_phrase, + STATE(339), 1, + sym_decimal_int_literal, + STATE(416), 1, + sym_singular_expression, + STATE(608), 1, + sym_unary_expression, + STATE(764), 1, + sym_ident, + ACTIONS(300), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(302), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(310), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(340), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(336), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(338), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(306), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(316), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [12701] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(394), 1, + sym_hex_int_literal, + ACTIONS(398), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(402), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(404), 1, + anon_sym_LPAREN, + STATE(188), 1, + sym_template_elaborated_ident, + STATE(213), 1, + sym_primary_expression, + STATE(270), 1, + sym_call_phrase, + STATE(280), 1, + sym_decimal_int_literal, + STATE(308), 1, + sym_unary_expression, + STATE(309), 1, + sym_singular_expression, + STATE(792), 1, + sym_ident, + ACTIONS(390), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(392), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(400), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(274), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(273), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(276), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(396), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(406), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [12782] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(340), 1, + sym_hex_int_literal, + ACTIONS(344), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(348), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(350), 1, + anon_sym_LPAREN, + STATE(333), 1, + sym_template_elaborated_ident, + STATE(381), 1, + sym_primary_expression, + STATE(390), 1, + sym_call_phrase, + STATE(399), 1, + sym_decimal_int_literal, + STATE(443), 1, + sym_singular_expression, + STATE(603), 1, + sym_unary_expression, + STATE(836), 1, + sym_ident, + ACTIONS(336), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(338), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(346), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(393), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(391), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(394), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(342), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(352), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [12863] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(304), 1, + sym_hex_int_literal, + ACTIONS(308), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(312), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(314), 1, + anon_sym_LPAREN, + STATE(302), 1, + sym_template_elaborated_ident, + STATE(320), 1, + sym_primary_expression, + STATE(332), 1, + sym_call_phrase, + STATE(339), 1, + sym_decimal_int_literal, + STATE(416), 1, + sym_singular_expression, + STATE(603), 1, + sym_unary_expression, + STATE(764), 1, + sym_ident, + ACTIONS(300), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(302), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(310), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(340), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(336), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(338), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(306), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(316), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [12944] = 21, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(304), 1, + sym_hex_int_literal, + ACTIONS(308), 1, + aux_sym_decimal_float_literal_token4, + ACTIONS(312), 1, + aux_sym_hex_float_literal_token2, + ACTIONS(314), 1, + anon_sym_LPAREN, + STATE(302), 1, + sym_template_elaborated_ident, + STATE(320), 1, + sym_primary_expression, + STATE(332), 1, + sym_call_phrase, + STATE(339), 1, + sym_decimal_int_literal, + STATE(416), 1, + sym_singular_expression, + STATE(453), 1, + sym_unary_expression, + STATE(764), 1, + sym_ident, + ACTIONS(300), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(302), 2, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + ACTIONS(310), 2, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + STATE(340), 2, + sym_decimal_float_literal, + sym_hex_float_literal, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(336), 3, + sym_literal, + sym_call_expression, + sym_paren_expression, + STATE(338), 3, + sym_bool_literal, + sym_int_literal, + sym_float_literal, + ACTIONS(306), 4, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + ACTIONS(316), 5, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [13025] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(408), 8, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(410), 23, + anon_sym_const, + anon_sym_struct, + anon_sym_alias, + anon_sym_let, + anon_sym_var, + anon_sym_override, + anon_sym__, + anon_sym_if, + anon_sym_else, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + anon_sym_fn, + sym_ident_pattern_token, + [13066] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(412), 8, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(414), 23, + anon_sym_const, + anon_sym_struct, + anon_sym_alias, + anon_sym_let, + anon_sym_var, + anon_sym_override, + anon_sym__, + anon_sym_if, + anon_sym_else, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + anon_sym_fn, + sym_ident_pattern_token, + [13107] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(416), 8, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(418), 23, + anon_sym_const, + anon_sym_struct, + anon_sym_alias, + anon_sym_let, + anon_sym_var, + anon_sym_override, + anon_sym__, + anon_sym_if, + anon_sym_else, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + anon_sym_fn, + sym_ident_pattern_token, + [13148] = 5, + ACTIONS(424), 1, + sym__template_args_start, + STATE(150), 1, + sym_template_list, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(422), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(420), 25, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13192] = 6, + ACTIONS(428), 1, + anon_sym_AT, + ACTIONS(431), 1, + anon_sym_LBRACE, + STATE(146), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(426), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [13238] = 5, + ACTIONS(435), 1, + anon_sym_LPAREN, + STATE(159), 1, + sym_argument_expression_list, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(437), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(433), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13281] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(441), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(439), 25, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13319] = 6, + ACTIONS(445), 1, + anon_sym_DOT, + ACTIONS(447), 1, + anon_sym_LBRACK, + STATE(181), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(449), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(443), 22, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13363] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(453), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(451), 25, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13401] = 6, + ACTIONS(445), 1, + anon_sym_DOT, + ACTIONS(447), 1, + anon_sym_LBRACK, + STATE(184), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(457), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(455), 22, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13445] = 6, + ACTIONS(445), 1, + anon_sym_DOT, + ACTIONS(447), 1, + anon_sym_LBRACK, + STATE(182), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(461), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(459), 22, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13489] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(465), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(463), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13526] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(469), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(467), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13563] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(473), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(471), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13600] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(477), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(475), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13637] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(437), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(433), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13674] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(481), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(479), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13711] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(485), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(483), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13748] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(465), 11, + anon_sym_var, + anon_sym_override, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + ACTIONS(463), 16, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13785] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(489), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(487), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13822] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(493), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(491), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13859] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(497), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(495), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13896] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(501), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(499), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13933] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(505), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(503), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [13970] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(509), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(507), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [14007] = 6, + ACTIONS(515), 1, + anon_sym_else, + STATE(194), 1, + sym_else_clause, + STATE(171), 2, + sym_else_if_clause, + aux_sym_if_statement_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(513), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(511), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [14050] = 11, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(517), 1, + anon_sym_LBRACE, + ACTIONS(519), 1, + anon_sym_if, + ACTIONS(521), 1, + anon_sym_switch, + ACTIONS(523), 1, + anon_sym_loop, + ACTIONS(525), 1, + anon_sym_for, + ACTIONS(527), 1, + anon_sym_while, + STATE(172), 1, + sym_if_clause, + STATE(146), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [14103] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(489), 11, + anon_sym_var, + anon_sym_override, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + ACTIONS(487), 16, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [14140] = 6, + ACTIONS(515), 1, + anon_sym_else, + STATE(201), 1, + sym_else_clause, + STATE(175), 2, + sym_else_if_clause, + aux_sym_if_statement_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(531), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(529), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [14183] = 6, + ACTIONS(515), 1, + anon_sym_else, + STATE(220), 1, + sym_else_clause, + STATE(175), 2, + sym_else_if_clause, + aux_sym_if_statement_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(535), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(533), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [14226] = 6, + ACTIONS(515), 1, + anon_sym_else, + STATE(220), 1, + sym_else_clause, + STATE(170), 2, + sym_else_if_clause, + aux_sym_if_statement_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(535), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(533), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [14269] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(539), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(537), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [14306] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(543), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(541), 24, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [14343] = 5, + ACTIONS(549), 1, + anon_sym_else, + STATE(175), 2, + sym_else_if_clause, + aux_sym_if_statement_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(547), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(545), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [14383] = 9, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(552), 1, + sym_ident_pattern_token, + ACTIONS(554), 1, + anon_sym_RPAREN, + STATE(648), 1, + sym_param, + STATE(755), 1, + sym_param_list, + STATE(756), 1, + sym_ident, + STATE(261), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [14430] = 9, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(19), 1, + anon_sym_var, + ACTIONS(25), 1, + anon_sym_fn, + ACTIONS(556), 1, + anon_sym_override, + STATE(277), 1, + sym_function_header, + STATE(688), 1, + sym_variable_decl, + STATE(146), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [14477] = 5, + ACTIONS(558), 1, + sym__template_args_start, + STATE(221), 1, + sym_template_list, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(422), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(420), 20, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [14516] = 7, + ACTIONS(562), 1, + anon_sym_AMP, + ACTIONS(564), 1, + anon_sym_SLASH, + ACTIONS(566), 1, + anon_sym_PIPE, + ACTIONS(568), 1, + anon_sym_CARET, + ACTIONS(570), 2, + sym__shift_left, + sym__shift_right, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(560), 19, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14559] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(574), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(572), 22, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [14594] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(578), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(576), 22, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [14629] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(457), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(455), 22, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [14664] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(582), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(580), 22, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [14699] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(586), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(584), 22, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [14734] = 5, + ACTIONS(422), 1, + anon_sym_SLASH, + ACTIONS(588), 1, + sym__template_args_start, + STATE(217), 1, + sym_template_list, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(420), 22, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14773] = 8, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(590), 1, + sym_ident_pattern_token, + ACTIONS(592), 1, + anon_sym_RBRACE, + STATE(687), 1, + sym_struct_member, + STATE(760), 1, + sym_member_ident, + STATE(253), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [14817] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(596), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(594), 17, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_else, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [14851] = 5, + ACTIONS(437), 1, + anon_sym_SLASH, + ACTIONS(598), 1, + anon_sym_LPAREN, + STATE(266), 1, + sym_argument_expression_list, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(433), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14889] = 5, + ACTIONS(600), 1, + anon_sym_LPAREN, + STATE(237), 1, + sym_argument_expression_list, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(437), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(433), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [14927] = 8, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(590), 1, + sym_ident_pattern_token, + ACTIONS(602), 1, + anon_sym_RBRACE, + STATE(687), 1, + sym_struct_member, + STATE(760), 1, + sym_member_ident, + STATE(253), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [14971] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(606), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(604), 17, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_else, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [15005] = 8, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(552), 1, + sym_ident_pattern_token, + ACTIONS(608), 1, + anon_sym_RPAREN, + STATE(689), 1, + sym_param, + STATE(756), 1, + sym_ident, + STATE(261), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [15049] = 8, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(552), 1, + sym_ident_pattern_token, + ACTIONS(610), 1, + anon_sym_RPAREN, + STATE(689), 1, + sym_param, + STATE(756), 1, + sym_ident, + STATE(261), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [15093] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(535), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(533), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [15126] = 6, + ACTIONS(612), 1, + anon_sym_DOT, + ACTIONS(614), 1, + anon_sym_LBRACK, + STATE(299), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(457), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(455), 17, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [15165] = 7, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(616), 1, + sym_ident_pattern_token, + STATE(691), 1, + sym_template_elaborated_ident, + STATE(764), 1, + sym_ident, + STATE(222), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [15206] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(620), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(618), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [15239] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(624), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(622), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [15272] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(628), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(626), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [15305] = 5, + ACTIONS(630), 1, + sym__template_args_start, + STATE(293), 1, + sym_template_list, + ACTIONS(422), 2, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(420), 19, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [15342] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(634), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(632), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [15375] = 7, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(590), 1, + sym_ident_pattern_token, + STATE(687), 1, + sym_struct_member, + STATE(760), 1, + sym_member_ident, + STATE(253), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [15416] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(638), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(636), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [15449] = 7, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(616), 1, + sym_ident_pattern_token, + STATE(729), 1, + sym_template_elaborated_ident, + STATE(764), 1, + sym_ident, + STATE(146), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [15490] = 7, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(39), 1, + anon_sym_LBRACE, + ACTIONS(640), 1, + anon_sym_COLON, + STATE(673), 1, + sym_compound_statement, + STATE(289), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [15531] = 7, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(552), 1, + sym_ident_pattern_token, + STATE(689), 1, + sym_param, + STATE(756), 1, + sym_ident, + STATE(261), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [15572] = 6, + ACTIONS(457), 1, + anon_sym_SLASH, + ACTIONS(642), 1, + anon_sym_DOT, + ACTIONS(644), 1, + anon_sym_LBRACK, + STATE(307), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(455), 19, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [15611] = 7, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(39), 1, + anon_sym_LBRACE, + ACTIONS(646), 1, + anon_sym_COLON, + STATE(663), 1, + sym_compound_statement, + STATE(289), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [15652] = 3, + ACTIONS(441), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(439), 22, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [15685] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(650), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(648), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [15718] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(654), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(652), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [15751] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(658), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(656), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [15784] = 6, + ACTIONS(449), 1, + anon_sym_SLASH, + ACTIONS(642), 1, + anon_sym_DOT, + ACTIONS(644), 1, + anon_sym_LBRACK, + STATE(304), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(443), 19, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [15823] = 7, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(616), 1, + sym_ident_pattern_token, + STATE(713), 1, + sym_template_elaborated_ident, + STATE(764), 1, + sym_ident, + STATE(204), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [15864] = 6, + ACTIONS(461), 1, + anon_sym_SLASH, + ACTIONS(642), 1, + anon_sym_DOT, + ACTIONS(644), 1, + anon_sym_LBRACK, + STATE(306), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(459), 19, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [15903] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(662), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(660), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [15936] = 3, + ACTIONS(453), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(451), 22, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [15969] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(666), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(664), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [16002] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(670), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(668), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [16035] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(531), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(529), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [16068] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(453), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(451), 20, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [16101] = 7, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(616), 1, + sym_ident_pattern_token, + STATE(713), 1, + sym_template_elaborated_ident, + STATE(764), 1, + sym_ident, + STATE(146), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [16142] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(674), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(672), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [16175] = 6, + ACTIONS(612), 1, + anon_sym_DOT, + ACTIONS(614), 1, + anon_sym_LBRACK, + STATE(294), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(461), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(459), 17, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [16214] = 18, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(35), 1, + anon_sym_LPAREN, + ACTIONS(43), 1, + anon_sym_var, + ACTIONS(47), 1, + anon_sym__, + ACTIONS(676), 1, + anon_sym_SEMI, + STATE(406), 1, + sym_core_lhs_expression, + STATE(437), 1, + sym_lhs_expression, + STATE(702), 1, + sym_template_elaborated_ident, + STATE(703), 1, + sym_variable_decl, + STATE(705), 1, + sym_call_phrase, + STATE(749), 1, + sym_for_init, + STATE(795), 1, + sym_ident, + STATE(823), 1, + sym_for_header, + ACTIONS(37), 2, + anon_sym_const, + anon_sym_let, + ACTIONS(45), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(706), 3, + sym_assignment_statement, + sym_increment_statement, + sym_decrement_statement, + STATE(787), 3, + sym_variable_or_value_statement, + sym_func_call_statement, + sym_variable_updating_statement, + [16277] = 7, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(590), 1, + sym_ident_pattern_token, + STATE(655), 1, + sym_struct_member, + STATE(760), 1, + sym_member_ident, + STATE(253), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [16318] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(680), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(678), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [16351] = 6, + ACTIONS(612), 1, + anon_sym_DOT, + ACTIONS(614), 1, + anon_sym_LBRACK, + STATE(305), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(449), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(443), 17, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [16390] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(684), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(682), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [16423] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(688), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(686), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [16456] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(692), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(690), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [16489] = 7, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(39), 1, + anon_sym_LBRACE, + ACTIONS(694), 1, + anon_sym_if, + STATE(219), 1, + sym_compound_statement, + STATE(289), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [16530] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(441), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(439), 20, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [16563] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(698), 7, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(696), 16, + anon_sym_const, + anon_sym_let, + anon_sym_var, + anon_sym__, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_break, + sym_continue_statement, + anon_sym_continuing, + anon_sym_return, + anon_sym_const_assert, + anon_sym_discard, + sym_ident_pattern_token, + [16596] = 18, + ACTIONS(31), 1, + sym_ident_pattern_token, + ACTIONS(35), 1, + anon_sym_LPAREN, + ACTIONS(43), 1, + anon_sym_var, + ACTIONS(47), 1, + anon_sym__, + ACTIONS(676), 1, + anon_sym_SEMI, + STATE(406), 1, + sym_core_lhs_expression, + STATE(437), 1, + sym_lhs_expression, + STATE(702), 1, + sym_template_elaborated_ident, + STATE(703), 1, + sym_variable_decl, + STATE(705), 1, + sym_call_phrase, + STATE(749), 1, + sym_for_init, + STATE(788), 1, + sym_for_header, + STATE(795), 1, + sym_ident, + ACTIONS(37), 2, + anon_sym_const, + anon_sym_let, + ACTIONS(45), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(706), 3, + sym_assignment_statement, + sym_increment_statement, + sym_decrement_statement, + STATE(787), 3, + sym_variable_or_value_statement, + sym_func_call_statement, + sym_variable_updating_statement, + [16659] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(477), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(475), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [16691] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(485), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(483), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [16723] = 6, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(39), 1, + anon_sym_LBRACE, + STATE(191), 1, + sym_compound_statement, + STATE(289), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [16761] = 6, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(700), 1, + anon_sym_LBRACE, + STATE(203), 1, + sym_switch_body, + STATE(284), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [16799] = 4, + ACTIONS(564), 1, + anon_sym_SLASH, + ACTIONS(570), 2, + sym__shift_left, + sym__shift_right, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(560), 19, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16833] = 6, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(39), 1, + anon_sym_LBRACE, + STATE(211), 1, + sym_compound_statement, + STATE(289), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [16871] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(539), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(537), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [16903] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(501), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(499), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [16935] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(497), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(495), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [16967] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(493), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(491), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [16999] = 6, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(39), 1, + anon_sym_LBRACE, + STATE(223), 1, + sym_compound_statement, + STATE(289), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [17037] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(543), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(541), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [17069] = 6, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(39), 1, + anon_sym_LBRACE, + STATE(187), 1, + sym_compound_statement, + STATE(289), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [17107] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(437), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(433), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [17139] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(473), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(471), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [17171] = 3, + ACTIONS(441), 2, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(439), 20, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + sym_ident_pattern_token, + [17203] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(489), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(487), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [17235] = 6, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(590), 1, + sym_ident_pattern_token, + STATE(783), 1, + sym_member_ident, + STATE(146), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [17273] = 6, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(39), 1, + anon_sym_LBRACE, + STATE(585), 1, + sym_compound_statement, + STATE(289), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [17311] = 6, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(39), 1, + anon_sym_LBRACE, + STATE(198), 1, + sym_compound_statement, + STATE(289), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [17349] = 6, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(39), 1, + anon_sym_LBRACE, + STATE(656), 1, + sym_compound_statement, + STATE(289), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [17387] = 3, + ACTIONS(489), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(487), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [17419] = 3, + ACTIONS(473), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(471), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [17451] = 6, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(39), 1, + anon_sym_LBRACE, + STATE(230), 1, + sym_compound_statement, + STATE(289), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [17489] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(481), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(479), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [17521] = 6, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(552), 1, + sym_ident_pattern_token, + STATE(785), 1, + sym_ident, + STATE(146), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [17559] = 3, + ACTIONS(505), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(503), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [17591] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(465), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(463), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [17623] = 6, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(700), 1, + anon_sym_LBRACE, + STATE(197), 1, + sym_switch_body, + STATE(284), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [17661] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(509), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(507), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [17693] = 3, + ACTIONS(485), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(483), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [17725] = 3, + ACTIONS(465), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(463), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [17757] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(505), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(503), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [17789] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(469), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(467), 19, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [17821] = 3, + ACTIONS(469), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(467), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [17853] = 3, + ACTIONS(481), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(479), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [17885] = 3, + ACTIONS(477), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(475), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [17917] = 3, + ACTIONS(437), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(433), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [17949] = 3, + ACTIONS(493), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(491), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [17981] = 6, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(39), 1, + anon_sym_LBRACE, + STATE(662), 1, + sym_compound_statement, + STATE(289), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [18019] = 3, + ACTIONS(497), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(495), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [18051] = 6, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(39), 1, + anon_sym_LBRACE, + STATE(579), 1, + sym_compound_statement, + STATE(289), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [18089] = 3, + ACTIONS(501), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(499), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [18121] = 3, + ACTIONS(539), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(537), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [18153] = 3, + ACTIONS(509), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(507), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [18185] = 6, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(702), 1, + anon_sym_LBRACE, + STATE(813), 1, + sym_continuing_compound_statement, + STATE(292), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [18223] = 3, + ACTIONS(543), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(541), 21, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [18255] = 5, + ACTIONS(708), 1, + anon_sym_SLASH, + STATE(129), 1, + sym_multiplicative_operator, + ACTIONS(706), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(704), 17, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [18290] = 5, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(710), 1, + anon_sym_LBRACE, + STATE(146), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [18325] = 5, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(712), 1, + anon_sym_LBRACE, + STATE(146), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [18360] = 5, + ACTIONS(422), 1, + anon_sym_SLASH, + ACTIONS(714), 1, + sym__template_args_start, + STATE(316), 1, + sym_template_list, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(420), 18, + sym__shift_left, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [18395] = 5, + ACTIONS(708), 1, + anon_sym_SLASH, + STATE(129), 1, + sym_multiplicative_operator, + ACTIONS(706), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(716), 17, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [18430] = 5, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(718), 1, + anon_sym_LBRACE, + STATE(291), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [18465] = 5, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(517), 1, + anon_sym_LBRACE, + STATE(146), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [18500] = 5, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(720), 1, + anon_sym_LBRACE, + STATE(285), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [18535] = 5, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(720), 1, + anon_sym_LBRACE, + STATE(146), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [18570] = 5, + ACTIONS(11), 1, + anon_sym_AT, + ACTIONS(722), 1, + anon_sym_LBRACE, + STATE(146), 2, + sym_attribute, + aux_sym_struct_member_repeat1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + STATE(554), 17, + sym_align_attr, + sym_binding_attr, + sym_blend_src_attr, + sym_builtin_attr, + sym_const_attr, + sym_diagnostic_attr, + sym_group_attr, + sym_id_attr, + sym_interpolate_attr, + sym_invariant_attr, + sym_location_attr, + sym_must_use_attr, + sym_size_attr, + sym_workgroup_size_attr, + sym_vertex_attr, + sym_fragment_attr, + sym_compute_attr, + [18605] = 3, + ACTIONS(453), 2, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(451), 19, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [18636] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(457), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(455), 17, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [18666] = 5, + ACTIONS(422), 1, + anon_sym_SLASH, + ACTIONS(724), 1, + sym__template_args_start, + STATE(344), 1, + sym_template_list, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(420), 17, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [18700] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(726), 8, + anon_sym_true, + anon_sym_false, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + sym_hex_int_literal, + aux_sym_decimal_float_literal_token4, + aux_sym_hex_float_literal_token2, + sym_ident_pattern_token, + ACTIONS(728), 12, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [18730] = 5, + ACTIONS(437), 1, + anon_sym_SLASH, + ACTIONS(730), 1, + anon_sym_LPAREN, + STATE(331), 1, + sym_argument_expression_list, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(433), 17, + sym__shift_left, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [18764] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(732), 8, + anon_sym_true, + anon_sym_false, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + sym_hex_int_literal, + aux_sym_decimal_float_literal_token4, + aux_sym_hex_float_literal_token2, + sym_ident_pattern_token, + ACTIONS(734), 12, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [18794] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(586), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(584), 17, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [18824] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(736), 8, + anon_sym_true, + anon_sym_false, + aux_sym_decimal_int_literal_token1, + aux_sym_decimal_int_literal_token2, + sym_hex_int_literal, + aux_sym_decimal_float_literal_token4, + aux_sym_hex_float_literal_token2, + sym_ident_pattern_token, + ACTIONS(738), 12, + aux_sym_decimal_float_literal_token1, + aux_sym_decimal_float_literal_token2, + aux_sym_decimal_float_literal_token3, + aux_sym_decimal_float_literal_token5, + aux_sym_hex_float_literal_token1, + aux_sym_hex_float_literal_token3, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + [18854] = 3, + ACTIONS(564), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(560), 19, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [18884] = 5, + ACTIONS(740), 1, + anon_sym_LPAREN, + STATE(328), 1, + sym_argument_expression_list, + ACTIONS(437), 2, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(433), 16, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [18918] = 3, + ACTIONS(744), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(742), 19, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [18948] = 3, + ACTIONS(578), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(576), 19, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [18978] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(578), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(576), 17, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [19008] = 3, + ACTIONS(457), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(455), 19, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19038] = 3, + ACTIONS(586), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(584), 19, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19068] = 3, + ACTIONS(582), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(580), 19, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19098] = 3, + ACTIONS(574), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(572), 19, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19128] = 7, + ACTIONS(562), 1, + anon_sym_AMP, + ACTIONS(564), 1, + anon_sym_SLASH, + ACTIONS(566), 1, + anon_sym_PIPE, + ACTIONS(568), 1, + anon_sym_CARET, + ACTIONS(746), 2, + sym__shift_left, + sym__shift_right, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(560), 14, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19166] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(574), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(572), 17, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [19196] = 3, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(582), 3, + anon_sym_AMP, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(580), 17, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__shift_left, + sym__greater_than, + sym__greater_than_equal, + sym__shift_right, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [19226] = 3, + ACTIONS(441), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(439), 18, + sym__shift_left, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19255] = 6, + ACTIONS(461), 1, + anon_sym_SLASH, + ACTIONS(748), 1, + anon_sym_DOT, + ACTIONS(750), 1, + anon_sym_LBRACK, + STATE(409), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(459), 15, + sym__shift_left, + sym__shift_right, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19290] = 6, + ACTIONS(449), 1, + anon_sym_SLASH, + ACTIONS(748), 1, + anon_sym_DOT, + ACTIONS(750), 1, + anon_sym_LBRACK, + STATE(410), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(443), 15, + sym__shift_left, + sym__shift_right, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19325] = 3, + ACTIONS(453), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(451), 18, + sym__shift_left, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19354] = 6, + ACTIONS(752), 1, + anon_sym_DOT, + ACTIONS(754), 1, + anon_sym_LBRACK, + STATE(387), 1, + sym_component_or_swizzle_specifier, + ACTIONS(461), 2, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(459), 14, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [19389] = 6, + ACTIONS(752), 1, + anon_sym_DOT, + ACTIONS(754), 1, + anon_sym_LBRACK, + STATE(385), 1, + sym_component_or_swizzle_specifier, + ACTIONS(457), 2, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(455), 14, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [19424] = 5, + ACTIONS(422), 1, + anon_sym_SLASH, + ACTIONS(756), 1, + sym__template_args_start, + STATE(376), 1, + sym_template_list, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(420), 16, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19457] = 6, + ACTIONS(752), 1, + anon_sym_DOT, + ACTIONS(754), 1, + anon_sym_LBRACK, + STATE(412), 1, + sym_component_or_swizzle_specifier, + ACTIONS(449), 2, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(443), 14, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [19492] = 5, + ACTIONS(437), 1, + anon_sym_SLASH, + ACTIONS(758), 1, + anon_sym_LPAREN, + STATE(366), 1, + sym_argument_expression_list, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(433), 16, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19525] = 6, + ACTIONS(457), 1, + anon_sym_SLASH, + ACTIONS(748), 1, + anon_sym_DOT, + ACTIONS(750), 1, + anon_sym_LBRACK, + STATE(404), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(455), 15, + sym__shift_left, + sym__shift_right, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19560] = 3, + ACTIONS(477), 2, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(475), 16, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [19588] = 3, + ACTIONS(539), 2, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(537), 16, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [19616] = 3, + ACTIONS(505), 2, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(503), 16, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [19644] = 3, + ACTIONS(473), 2, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(471), 16, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [19672] = 8, + ACTIONS(762), 1, + anon_sym_diagnostic, + ACTIONS(765), 1, + anon_sym_const, + ACTIONS(767), 1, + anon_sym_enable, + ACTIONS(770), 1, + anon_sym_requires, + STATE(327), 2, + sym_global_directive, + aux_sym_translation_unit_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(384), 6, + STATE(463), 3, + sym_diagnostic_directive, + sym_enable_directive, + sym_requires_directive, + ACTIONS(760), 9, + ts_builtin_sym_end, anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_STAR, - anon_sym_AMP, - ACTIONS(382), 55, - anon_sym_const, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_let, + anon_sym_AT, + anon_sym_struct, + anon_sym_alias, anon_sym_var, - anon_sym__, - anon_sym_if, - anon_sym_else, - anon_sym_switch, - anon_sym_loop, - anon_sym_for, - anon_sym_while, - anon_sym_break, - sym_continue_statement, - anon_sym_continuing, - anon_sym_return, + anon_sym_override, anon_sym_const_assert, - anon_sym_discard, - sym_ident_pattern_token, - [71] = 3, + anon_sym_fn, + [19710] = 3, + ACTIONS(485), 2, + anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(388), 6, + ACTIONS(483), 16, anon_sym_SEMI, - anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, - ACTIONS(386), 55, - anon_sym_const, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_let, - anon_sym_var, - anon_sym__, - anon_sym_if, - anon_sym_else, - anon_sym_switch, - anon_sym_loop, - anon_sym_for, - anon_sym_while, - anon_sym_break, - sym_continue_statement, - anon_sym_continuing, - anon_sym_return, - anon_sym_const_assert, - anon_sym_discard, - sym_ident_pattern_token, - [142] = 3, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [19738] = 3, + ACTIONS(465), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(371), 6, + ACTIONS(463), 17, + sym__shift_left, + sym__shift_right, anon_sym_SEMI, - anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, - ACTIONS(369), 54, - anon_sym_const, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_let, - anon_sym_var, - anon_sym__, - anon_sym_if, - anon_sym_switch, - anon_sym_loop, - anon_sym_for, - anon_sym_while, - anon_sym_break, - sym_continue_statement, - anon_sym_continuing, - anon_sym_return, - anon_sym_const_assert, - anon_sym_discard, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19766] = 19, + ACTIONS(773), 1, sym_ident_pattern_token, - [212] = 3, + ACTIONS(775), 1, + anon_sym_diagnostic, + ACTIONS(777), 1, + anon_sym_align, + ACTIONS(779), 1, + anon_sym_binding, + ACTIONS(781), 1, + anon_sym_blend_src, + ACTIONS(783), 1, + anon_sym_builtin, + ACTIONS(785), 1, + anon_sym_const, + ACTIONS(787), 1, + anon_sym_group, + ACTIONS(789), 1, + anon_sym_id, + ACTIONS(791), 1, + anon_sym_interpolate, + ACTIONS(793), 1, + anon_sym_invariant, + ACTIONS(795), 1, + anon_sym_location, + ACTIONS(797), 1, + anon_sym_must_use, + ACTIONS(799), 1, + anon_sym_size, + ACTIONS(801), 1, + anon_sym_workgroup_size, + ACTIONS(803), 1, + anon_sym_vertex, + ACTIONS(805), 1, + anon_sym_fragment, + ACTIONS(807), 1, + anon_sym_compute, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + [19826] = 3, + ACTIONS(485), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(392), 6, + ACTIONS(483), 17, + sym__shift_left, + sym__shift_right, anon_sym_SEMI, - anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, - ACTIONS(390), 54, - anon_sym_const, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_let, - anon_sym_var, - anon_sym__, - anon_sym_if, - anon_sym_switch, - anon_sym_loop, - anon_sym_for, - anon_sym_while, - anon_sym_break, - sym_continue_statement, - anon_sym_continuing, - anon_sym_return, - anon_sym_const_assert, - anon_sym_discard, - sym_ident_pattern_token, - [282] = 3, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19854] = 3, + ACTIONS(469), 2, + anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(396), 6, + ACTIONS(467), 16, anon_sym_SEMI, - anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, - ACTIONS(394), 54, - anon_sym_const, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_let, - anon_sym_var, - anon_sym__, - anon_sym_if, - anon_sym_switch, - anon_sym_loop, - anon_sym_for, - anon_sym_while, - anon_sym_break, - sym_continue_statement, - anon_sym_continuing, - anon_sym_return, - anon_sym_const_assert, - anon_sym_discard, - sym_ident_pattern_token, - [352] = 3, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [19882] = 5, + ACTIONS(437), 1, + anon_sym_SLASH, + ACTIONS(809), 1, + anon_sym_LPAREN, + STATE(407), 1, + sym_argument_expression_list, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(400), 6, + ACTIONS(433), 15, anon_sym_SEMI, - anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, - ACTIONS(398), 54, - anon_sym_const, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_let, - anon_sym_var, - anon_sym__, - anon_sym_if, - anon_sym_switch, - anon_sym_loop, - anon_sym_for, - anon_sym_while, - anon_sym_break, - sym_continue_statement, - anon_sym_continuing, - anon_sym_return, - anon_sym_const_assert, - anon_sym_discard, - sym_ident_pattern_token, - [422] = 3, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19914] = 6, + ACTIONS(449), 1, + anon_sym_SLASH, + ACTIONS(811), 1, + anon_sym_DOT, + ACTIONS(813), 1, + anon_sym_LBRACK, + STATE(431), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(443), 14, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19948] = 4, + STATE(113), 1, + sym_additive_operator, + ACTIONS(817), 2, + anon_sym_DASH, + anon_sym_PLUS, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(404), 6, + ACTIONS(815), 15, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, anon_sym_SEMI, - anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_STAR, - anon_sym_AMP, - ACTIONS(402), 54, - anon_sym_const, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_let, - anon_sym_var, - anon_sym__, - anon_sym_if, - anon_sym_switch, - anon_sym_loop, - anon_sym_for, - anon_sym_while, - anon_sym_break, - sym_continue_statement, - anon_sym_continuing, - anon_sym_return, - anon_sym_const_assert, - anon_sym_discard, - sym_ident_pattern_token, - [492] = 3, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [19978] = 3, + ACTIONS(437), 2, + anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(408), 6, + ACTIONS(433), 16, anon_sym_SEMI, - anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, - ACTIONS(406), 54, - anon_sym_const, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_let, - anon_sym_var, - anon_sym__, - anon_sym_if, - anon_sym_switch, - anon_sym_loop, - anon_sym_for, - anon_sym_while, - anon_sym_break, - sym_continue_statement, - anon_sym_continuing, - anon_sym_return, - anon_sym_const_assert, - anon_sym_discard, - sym_ident_pattern_token, - [562] = 3, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [20006] = 3, + ACTIONS(481), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(412), 6, + ACTIONS(479), 17, + sym__shift_left, + sym__shift_right, anon_sym_SEMI, - anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, - ACTIONS(410), 54, - anon_sym_const, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_let, - anon_sym_var, - anon_sym__, - anon_sym_if, - anon_sym_switch, - anon_sym_loop, - anon_sym_for, - anon_sym_while, - anon_sym_break, - sym_continue_statement, - anon_sym_continuing, - anon_sym_return, - anon_sym_const_assert, - anon_sym_discard, - sym_ident_pattern_token, - [632] = 3, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [20034] = 3, + ACTIONS(497), 2, + anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(416), 6, + ACTIONS(495), 16, anon_sym_SEMI, - anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, - ACTIONS(414), 54, - anon_sym_const, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_let, - anon_sym_var, - anon_sym__, - anon_sym_if, - anon_sym_switch, - anon_sym_loop, - anon_sym_for, - anon_sym_while, - anon_sym_break, - sym_continue_statement, - anon_sym_continuing, - anon_sym_return, - anon_sym_const_assert, - anon_sym_discard, - sym_ident_pattern_token, - [702] = 3, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [20062] = 3, + ACTIONS(509), 2, + anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(420), 6, + ACTIONS(507), 16, anon_sym_SEMI, - anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, - ACTIONS(418), 54, - anon_sym_const, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_let, - anon_sym_var, - anon_sym__, - anon_sym_if, - anon_sym_switch, - anon_sym_loop, - anon_sym_for, - anon_sym_while, - anon_sym_break, - sym_continue_statement, - anon_sym_continuing, - anon_sym_return, - anon_sym_const_assert, - anon_sym_discard, - sym_ident_pattern_token, - [772] = 3, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [20090] = 3, + ACTIONS(493), 2, + anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(424), 6, + ACTIONS(491), 16, anon_sym_SEMI, - anon_sym_LPAREN, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, - ACTIONS(422), 54, - anon_sym_const, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_let, - anon_sym_var, - anon_sym__, - anon_sym_if, - anon_sym_switch, - anon_sym_loop, - anon_sym_for, - anon_sym_while, - anon_sym_break, - sym_continue_statement, - anon_sym_continuing, - anon_sym_return, - anon_sym_const_assert, - anon_sym_discard, - sym_ident_pattern_token, - [842] = 3, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [20118] = 5, + ACTIONS(420), 1, + anon_sym_LPAREN, + ACTIONS(630), 1, + sym__template_args_start, + STATE(293), 1, + sym_template_list, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(819), 15, + sym__shift_left_assign, + sym__shift_right_assign, + anon_sym_DOT, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + [20150] = 3, + ACTIONS(489), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(428), 6, + ACTIONS(487), 17, + sym__shift_left, + sym__shift_right, anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_STAR, - anon_sym_AMP, - ACTIONS(426), 54, - anon_sym_const, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_let, - anon_sym_var, - anon_sym__, - anon_sym_if, - anon_sym_switch, - anon_sym_loop, - anon_sym_for, - anon_sym_while, - anon_sym_break, - sym_continue_statement, - anon_sym_continuing, - anon_sym_return, - anon_sym_const_assert, - anon_sym_discard, - sym_ident_pattern_token, - [912] = 3, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [20178] = 3, + ACTIONS(473), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(432), 12, - aux_sym_decimal_float_literal_token1, - aux_sym_decimal_float_literal_token2, - aux_sym_decimal_float_literal_token3, - aux_sym_decimal_float_literal_token5, - aux_sym_hex_float_literal_token1, - aux_sym_hex_float_literal_token3, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_STAR, - anon_sym_AMP, - ACTIONS(430), 47, - anon_sym_true, - anon_sym_false, - aux_sym_decimal_int_literal_token1, - aux_sym_decimal_int_literal_token2, - sym_hex_int_literal, - aux_sym_decimal_float_literal_token4, - aux_sym_hex_float_literal_token2, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_bitcast, - sym_ident_pattern_token, - [981] = 3, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(436), 12, - aux_sym_decimal_float_literal_token1, - aux_sym_decimal_float_literal_token2, - aux_sym_decimal_float_literal_token3, - aux_sym_decimal_float_literal_token5, - aux_sym_hex_float_literal_token1, - aux_sym_hex_float_literal_token3, - anon_sym_LPAREN, + ACTIONS(471), 17, + sym__shift_left, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, anon_sym_STAR, - anon_sym_AMP, - ACTIONS(434), 47, - anon_sym_true, - anon_sym_false, - aux_sym_decimal_int_literal_token1, - aux_sym_decimal_int_literal_token2, - sym_hex_int_literal, - aux_sym_decimal_float_literal_token4, - aux_sym_hex_float_literal_token2, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_bitcast, - sym_ident_pattern_token, - [1050] = 3, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(440), 12, - aux_sym_decimal_float_literal_token1, - aux_sym_decimal_float_literal_token2, - aux_sym_decimal_float_literal_token3, - aux_sym_decimal_float_literal_token5, - aux_sym_hex_float_literal_token1, - aux_sym_hex_float_literal_token3, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [20206] = 3, + ACTIONS(453), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(451), 17, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_DOT, + anon_sym_COMMA, anon_sym_LPAREN, + anon_sym_LBRACK, anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, anon_sym_STAR, - anon_sym_AMP, - ACTIONS(438), 47, - anon_sym_true, - anon_sym_false, - aux_sym_decimal_int_literal_token1, - aux_sym_decimal_int_literal_token2, - sym_hex_int_literal, - aux_sym_decimal_float_literal_token4, - aux_sym_hex_float_literal_token2, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_bitcast, - sym_ident_pattern_token, - [1119] = 22, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(53), 1, - sym_multisampled_texture_type, - ACTIONS(61), 1, - anon_sym_ptr, - ACTIONS(63), 1, - anon_sym_atomic, - ACTIONS(283), 1, - sym_ident_pattern_token, - ACTIONS(442), 1, - anon_sym_array, - STATE(615), 1, - sym_storage_texture_type, - STATE(618), 1, - sym_type_specifier, - STATE(626), 1, - sym_sampled_texture_type, - ACTIONS(49), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(133), 2, - sym_attribute, - aux_sym_struct_member_repeat1, - STATE(361), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(372), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(388), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(623), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(57), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(59), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [1220] = 22, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(53), 1, - sym_multisampled_texture_type, - ACTIONS(61), 1, - anon_sym_ptr, - ACTIONS(63), 1, - anon_sym_atomic, - ACTIONS(283), 1, - sym_ident_pattern_token, - ACTIONS(442), 1, - anon_sym_array, - STATE(615), 1, - sym_storage_texture_type, - STATE(618), 1, - sym_type_specifier, - STATE(626), 1, - sym_sampled_texture_type, - ACTIONS(49), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(111), 2, - sym_attribute, - aux_sym_struct_member_repeat1, - STATE(361), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(372), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(388), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(623), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(57), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(59), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [1321] = 22, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(53), 1, - sym_multisampled_texture_type, - ACTIONS(61), 1, - anon_sym_ptr, - ACTIONS(63), 1, - anon_sym_atomic, - ACTIONS(283), 1, - sym_ident_pattern_token, - ACTIONS(442), 1, - anon_sym_array, - STATE(615), 1, - sym_storage_texture_type, - STATE(626), 1, - sym_sampled_texture_type, - STATE(653), 1, - sym_type_specifier, - ACTIONS(49), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(133), 2, - sym_attribute, - aux_sym_struct_member_repeat1, - STATE(361), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(372), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(388), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(623), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(57), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(59), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [1422] = 22, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(53), 1, - sym_multisampled_texture_type, - ACTIONS(61), 1, - anon_sym_ptr, - ACTIONS(63), 1, - anon_sym_atomic, - ACTIONS(283), 1, - sym_ident_pattern_token, - ACTIONS(442), 1, - anon_sym_array, - STATE(581), 1, - sym_type_specifier, - STATE(615), 1, - sym_storage_texture_type, - STATE(626), 1, - sym_sampled_texture_type, - ACTIONS(49), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(109), 2, - sym_attribute, - aux_sym_struct_member_repeat1, - STATE(361), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(372), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(388), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(623), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(57), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(59), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [1523] = 20, - ACTIONS(239), 1, - sym_ident_pattern_token, - ACTIONS(444), 1, - anon_sym_array, - ACTIONS(448), 1, - sym_multisampled_texture_type, - ACTIONS(454), 1, - anon_sym_ptr, - ACTIONS(456), 1, - anon_sym_atomic, - STATE(485), 1, - sym_type_specifier, - STATE(657), 1, - sym_sampled_texture_type, - STATE(674), 1, - sym_storage_texture_type, - ACTIONS(446), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(466), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(492), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(509), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(658), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(450), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(452), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [1617] = 20, - ACTIONS(53), 1, - sym_multisampled_texture_type, - ACTIONS(61), 1, - anon_sym_ptr, - ACTIONS(63), 1, - anon_sym_atomic, - ACTIONS(283), 1, - sym_ident_pattern_token, - ACTIONS(442), 1, - anon_sym_array, - STATE(472), 1, - sym_type_specifier, - STATE(615), 1, - sym_storage_texture_type, - STATE(626), 1, - sym_sampled_texture_type, - ACTIONS(49), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(361), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(372), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(388), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(623), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(57), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(59), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [1711] = 20, - ACTIONS(53), 1, - sym_multisampled_texture_type, - ACTIONS(61), 1, - anon_sym_ptr, - ACTIONS(63), 1, - anon_sym_atomic, - ACTIONS(283), 1, - sym_ident_pattern_token, - ACTIONS(442), 1, - anon_sym_array, - STATE(512), 1, - sym_type_specifier, - STATE(615), 1, - sym_storage_texture_type, - STATE(626), 1, - sym_sampled_texture_type, - ACTIONS(49), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(361), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(372), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(388), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(623), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(57), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(59), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [1805] = 20, - ACTIONS(239), 1, - sym_ident_pattern_token, - ACTIONS(444), 1, - anon_sym_array, - ACTIONS(448), 1, - sym_multisampled_texture_type, - ACTIONS(454), 1, - anon_sym_ptr, - ACTIONS(456), 1, - anon_sym_atomic, - STATE(525), 1, - sym_type_specifier, - STATE(657), 1, - sym_sampled_texture_type, - STATE(674), 1, - sym_storage_texture_type, - ACTIONS(446), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(466), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(492), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(509), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(658), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(450), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(452), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [1899] = 20, - ACTIONS(53), 1, - sym_multisampled_texture_type, - ACTIONS(61), 1, - anon_sym_ptr, - ACTIONS(63), 1, - anon_sym_atomic, - ACTIONS(283), 1, - sym_ident_pattern_token, - ACTIONS(442), 1, - anon_sym_array, - STATE(479), 1, - sym_type_specifier, - STATE(615), 1, - sym_storage_texture_type, - STATE(626), 1, - sym_sampled_texture_type, - ACTIONS(49), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(361), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(372), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(388), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(623), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(57), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(59), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [1993] = 20, - ACTIONS(239), 1, - sym_ident_pattern_token, - ACTIONS(444), 1, - anon_sym_array, - ACTIONS(448), 1, - sym_multisampled_texture_type, - ACTIONS(454), 1, - anon_sym_ptr, - ACTIONS(456), 1, - anon_sym_atomic, - STATE(526), 1, - sym_type_specifier, - STATE(657), 1, - sym_sampled_texture_type, - STATE(674), 1, - sym_storage_texture_type, - ACTIONS(446), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(466), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(492), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(509), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(658), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(450), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(452), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [2087] = 20, - ACTIONS(239), 1, - sym_ident_pattern_token, - ACTIONS(444), 1, - anon_sym_array, - ACTIONS(448), 1, - sym_multisampled_texture_type, - ACTIONS(454), 1, - anon_sym_ptr, - ACTIONS(456), 1, - anon_sym_atomic, - STATE(528), 1, - sym_type_specifier, - STATE(657), 1, - sym_sampled_texture_type, - STATE(674), 1, - sym_storage_texture_type, - ACTIONS(446), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(466), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(492), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(509), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(658), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(450), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(452), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [2181] = 20, - ACTIONS(239), 1, - sym_ident_pattern_token, - ACTIONS(444), 1, - anon_sym_array, - ACTIONS(448), 1, - sym_multisampled_texture_type, - ACTIONS(454), 1, - anon_sym_ptr, - ACTIONS(456), 1, - anon_sym_atomic, - STATE(513), 1, - sym_type_specifier, - STATE(657), 1, - sym_sampled_texture_type, - STATE(674), 1, - sym_storage_texture_type, - ACTIONS(446), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(466), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(492), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(509), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(658), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(450), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(452), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [2275] = 20, - ACTIONS(53), 1, - sym_multisampled_texture_type, - ACTIONS(61), 1, - anon_sym_ptr, - ACTIONS(63), 1, - anon_sym_atomic, - ACTIONS(283), 1, - sym_ident_pattern_token, - ACTIONS(442), 1, - anon_sym_array, - STATE(495), 1, - sym_type_specifier, - STATE(615), 1, - sym_storage_texture_type, - STATE(626), 1, - sym_sampled_texture_type, - ACTIONS(49), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(361), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(372), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(388), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(623), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(57), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(59), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [2369] = 20, - ACTIONS(53), 1, - sym_multisampled_texture_type, - ACTIONS(61), 1, - anon_sym_ptr, - ACTIONS(63), 1, - anon_sym_atomic, - ACTIONS(283), 1, - sym_ident_pattern_token, - ACTIONS(442), 1, - anon_sym_array, - STATE(488), 1, - sym_type_specifier, - STATE(615), 1, - sym_storage_texture_type, - STATE(626), 1, - sym_sampled_texture_type, - ACTIONS(49), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(361), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(372), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(388), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(623), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(57), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(59), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [2463] = 20, - ACTIONS(239), 1, - sym_ident_pattern_token, - ACTIONS(444), 1, - anon_sym_array, - ACTIONS(448), 1, - sym_multisampled_texture_type, - ACTIONS(454), 1, - anon_sym_ptr, - ACTIONS(456), 1, - anon_sym_atomic, - STATE(579), 1, - sym_type_specifier, - STATE(657), 1, - sym_sampled_texture_type, - STATE(674), 1, - sym_storage_texture_type, - ACTIONS(446), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(466), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(492), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(509), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(658), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(450), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(452), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [2557] = 20, - ACTIONS(239), 1, - sym_ident_pattern_token, - ACTIONS(444), 1, - anon_sym_array, - ACTIONS(448), 1, - sym_multisampled_texture_type, - ACTIONS(454), 1, - anon_sym_ptr, - ACTIONS(456), 1, - anon_sym_atomic, - STATE(645), 1, - sym_type_specifier, - STATE(657), 1, - sym_sampled_texture_type, - STATE(674), 1, - sym_storage_texture_type, - ACTIONS(446), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(466), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(492), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(509), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(658), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(450), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(452), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [2651] = 20, - ACTIONS(239), 1, - sym_ident_pattern_token, - ACTIONS(444), 1, - anon_sym_array, - ACTIONS(448), 1, - sym_multisampled_texture_type, - ACTIONS(454), 1, - anon_sym_ptr, - ACTIONS(456), 1, - anon_sym_atomic, - STATE(475), 1, - sym_type_specifier, - STATE(657), 1, - sym_sampled_texture_type, - STATE(674), 1, - sym_storage_texture_type, - ACTIONS(446), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(466), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(492), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(509), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(658), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(450), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(452), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [2745] = 20, - ACTIONS(239), 1, - sym_ident_pattern_token, - ACTIONS(444), 1, - anon_sym_array, - ACTIONS(448), 1, - sym_multisampled_texture_type, - ACTIONS(454), 1, - anon_sym_ptr, - ACTIONS(456), 1, - anon_sym_atomic, - STATE(489), 1, - sym_type_specifier, - STATE(657), 1, - sym_sampled_texture_type, - STATE(674), 1, - sym_storage_texture_type, - ACTIONS(446), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(466), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(492), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(509), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(658), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(450), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(452), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [2839] = 20, - ACTIONS(239), 1, - sym_ident_pattern_token, - ACTIONS(444), 1, - anon_sym_array, - ACTIONS(448), 1, - sym_multisampled_texture_type, - ACTIONS(454), 1, - anon_sym_ptr, - ACTIONS(456), 1, - anon_sym_atomic, - STATE(642), 1, - sym_type_specifier, - STATE(657), 1, - sym_sampled_texture_type, - STATE(674), 1, - sym_storage_texture_type, - ACTIONS(446), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(466), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(492), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(509), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(658), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(450), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(452), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [2933] = 20, - ACTIONS(53), 1, - sym_multisampled_texture_type, - ACTIONS(61), 1, - anon_sym_ptr, - ACTIONS(63), 1, - anon_sym_atomic, - ACTIONS(283), 1, - sym_ident_pattern_token, - ACTIONS(442), 1, - anon_sym_array, - STATE(543), 1, - sym_type_specifier, - STATE(615), 1, - sym_storage_texture_type, - STATE(626), 1, - sym_sampled_texture_type, - ACTIONS(49), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(361), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(372), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(388), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(623), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(57), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(59), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [3027] = 20, - ACTIONS(239), 1, - sym_ident_pattern_token, - ACTIONS(444), 1, - anon_sym_array, - ACTIONS(448), 1, - sym_multisampled_texture_type, - ACTIONS(454), 1, - anon_sym_ptr, - ACTIONS(456), 1, - anon_sym_atomic, - STATE(639), 1, - sym_type_specifier, - STATE(657), 1, - sym_sampled_texture_type, - STATE(674), 1, - sym_storage_texture_type, - ACTIONS(446), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(466), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(492), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(509), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(658), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(450), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(452), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [3121] = 20, - ACTIONS(239), 1, - sym_ident_pattern_token, - ACTIONS(444), 1, - anon_sym_array, - ACTIONS(448), 1, - sym_multisampled_texture_type, - ACTIONS(454), 1, - anon_sym_ptr, - ACTIONS(456), 1, - anon_sym_atomic, - STATE(636), 1, - sym_type_specifier, - STATE(657), 1, - sym_sampled_texture_type, - STATE(674), 1, - sym_storage_texture_type, - ACTIONS(446), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(466), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(492), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(509), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(658), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(450), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(452), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [3215] = 20, - ACTIONS(239), 1, - sym_ident_pattern_token, - ACTIONS(444), 1, - anon_sym_array, - ACTIONS(448), 1, - sym_multisampled_texture_type, - ACTIONS(454), 1, - anon_sym_ptr, - ACTIONS(456), 1, - anon_sym_atomic, - STATE(629), 1, - sym_type_specifier, - STATE(657), 1, - sym_sampled_texture_type, - STATE(674), 1, - sym_storage_texture_type, - ACTIONS(446), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(466), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(492), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(509), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(658), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(450), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(452), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [3309] = 20, - ACTIONS(239), 1, - sym_ident_pattern_token, - ACTIONS(444), 1, - anon_sym_array, - ACTIONS(448), 1, - sym_multisampled_texture_type, - ACTIONS(454), 1, - anon_sym_ptr, - ACTIONS(456), 1, - anon_sym_atomic, - STATE(580), 1, - sym_type_specifier, - STATE(657), 1, - sym_sampled_texture_type, - STATE(674), 1, - sym_storage_texture_type, - ACTIONS(446), 2, - anon_sym_sampler, - anon_sym_sampler_comparison, - STATE(466), 2, - sym_sampler_type, - sym_depth_texture_type, - STATE(492), 2, - sym_array_type_specifier, - sym_texture_and_sampler_types, - STATE(509), 2, - sym_ident, - sym_type_specifier_without_ident, - STATE(658), 2, - sym_vec_prefix, - sym_mat_prefix, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(65), 3, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - ACTIONS(55), 4, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - ACTIONS(450), 5, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - ACTIONS(452), 5, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - ACTIONS(51), 6, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - ACTIONS(67), 9, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - [3403] = 4, - ACTIONS(460), 1, - anon_sym_AT, - STATE(133), 2, - sym_attribute, - aux_sym_struct_member_repeat1, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [20234] = 3, + ACTIONS(543), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(458), 42, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_var, - anon_sym_override, - anon_sym_fn, - sym_ident_pattern_token, - [3460] = 3, - ACTIONS(465), 1, + ACTIONS(541), 17, + sym__shift_left, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [20262] = 3, + ACTIONS(509), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(463), 42, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_var, - anon_sym_override, - anon_sym_fn, - sym_ident_pattern_token, - [3513] = 3, - ACTIONS(469), 1, + ACTIONS(507), 17, + sym__shift_left, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [20290] = 3, + ACTIONS(539), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(467), 42, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_var, - anon_sym_override, - anon_sym_fn, - sym_ident_pattern_token, - [3566] = 3, - ACTIONS(473), 1, + ACTIONS(537), 17, + sym__shift_left, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [20318] = 3, + ACTIONS(501), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(471), 42, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_var, - anon_sym_override, - anon_sym_fn, - sym_ident_pattern_token, - [3619] = 3, - ACTIONS(477), 1, + ACTIONS(499), 17, + sym__shift_left, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [20346] = 3, + ACTIONS(497), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(475), 42, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_var, - anon_sym_override, - anon_sym_fn, - sym_ident_pattern_token, - [3672] = 3, - ACTIONS(481), 1, + ACTIONS(495), 17, + sym__shift_left, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [20374] = 3, + ACTIONS(493), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(479), 42, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_var, - anon_sym_override, - anon_sym_fn, - sym_ident_pattern_token, - [3725] = 3, - ACTIONS(485), 1, + ACTIONS(491), 17, + sym__shift_left, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [20402] = 3, + ACTIONS(437), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(483), 42, - anon_sym_array, - anon_sym_sampler, - anon_sym_sampler_comparison, - anon_sym_texture_1d, - anon_sym_texture_2d, - anon_sym_texture_2d_array, - anon_sym_texture_3d, - anon_sym_texture_cube, - anon_sym_texture_cube_array, - sym_multisampled_texture_type, - anon_sym_texture_storage_1d, - anon_sym_texture_storage_2d, - anon_sym_texture_storage_2d_array, - anon_sym_texture_storage_3d, - anon_sym_texture_depth_2d, - anon_sym_texture_depth_2d_array, - anon_sym_texture_depth_cube, - anon_sym_texture_depth_cube_array, - anon_sym_texture_depth_multisampled_2d, - anon_sym_bool, - anon_sym_f32, - anon_sym_f16, - anon_sym_i32, - anon_sym_u32, - anon_sym_ptr, - anon_sym_atomic, - anon_sym_vec2, - anon_sym_vec3, - anon_sym_vec4, - anon_sym_mat2x2, - anon_sym_mat2x3, - anon_sym_mat2x4, - anon_sym_mat3x2, - anon_sym_mat3x3, - anon_sym_mat3x4, - anon_sym_mat4x2, - anon_sym_mat4x3, - anon_sym_mat4x4, - anon_sym_var, - anon_sym_override, - anon_sym_fn, - sym_ident_pattern_token, - [3778] = 4, - ACTIONS(489), 1, - anon_sym_LPAREN, + ACTIONS(433), 17, + sym__shift_left, + sym__shift_right, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [20430] = 3, + ACTIONS(477), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(491), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(487), 23, - sym__less_than, - sym__less_than_equal, + ACTIONS(475), 17, sym__shift_left, - sym__greater_than, - sym__greater_than_equal, sym__shift_right, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [3817] = 3, + [20458] = 3, + ACTIONS(501), 2, + anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(495), 3, + ACTIONS(499), 16, + anon_sym_SEMI, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [20486] = 3, + ACTIONS(543), 2, anon_sym_SLASH, anon_sym_PIPE, - ACTIONS(493), 24, - sym__less_than, - sym__less_than_equal, - sym__shift_left, - sym__greater_than, - sym__greater_than_equal, - sym__shift_right, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(541), 16, anon_sym_SEMI, - anon_sym_LPAREN, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_CARET, - [3854] = 6, - ACTIONS(499), 1, - anon_sym_LBRACK, - ACTIONS(501), 1, - anon_sym_DOT, - STATE(164), 1, - sym_component_or_swizzle_specifier, + [20514] = 3, + ACTIONS(441), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(503), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(497), 21, + ACTIONS(439), 17, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -23824,138 +22335,129 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [3897] = 6, - ACTIONS(499), 1, - anon_sym_LBRACK, - ACTIONS(501), 1, + [20542] = 6, + ACTIONS(461), 1, + anon_sym_SLASH, + ACTIONS(811), 1, anon_sym_DOT, - STATE(166), 1, + ACTIONS(813), 1, + anon_sym_LBRACK, + STATE(419), 1, sym_component_or_swizzle_specifier, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(507), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(505), 21, + ACTIONS(459), 14, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [20576] = 3, + ACTIONS(481), 2, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(479), 16, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, + anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_CARET, - [3940] = 6, - ACTIONS(499), 1, - anon_sym_LBRACK, - ACTIONS(501), 1, - anon_sym_DOT, - STATE(163), 1, - sym_component_or_swizzle_specifier, + [20604] = 3, + ACTIONS(469), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(511), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(509), 21, - sym__less_than, - sym__less_than_equal, + ACTIONS(467), 17, sym__shift_left, - sym__greater_than, - sym__greater_than_equal, sym__shift_right, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, + anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [3983] = 3, + [20632] = 3, + ACTIONS(505), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(515), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(513), 23, - sym__less_than, - sym__less_than_equal, + ACTIONS(503), 17, sym__shift_left, - sym__greater_than, - sym__greater_than_equal, sym__shift_right, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4019] = 3, + [20660] = 6, + ACTIONS(457), 1, + anon_sym_SLASH, + ACTIONS(811), 1, + anon_sym_DOT, + ACTIONS(813), 1, + anon_sym_LBRACK, + STATE(422), 1, + sym_component_or_swizzle_specifier, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(491), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(487), 23, + ACTIONS(455), 14, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -23964,31 +22466,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4055] = 3, + [20694] = 3, + ACTIONS(497), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(519), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(517), 23, + ACTIONS(495), 16, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -23997,31 +22490,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4091] = 3, + [20721] = 3, + ACTIONS(505), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(523), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(521), 23, + ACTIONS(503), 16, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -24030,31 +22514,57 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4127] = 3, + [20748] = 14, + ACTIONS(35), 1, + anon_sym_LPAREN, + ACTIONS(47), 1, + anon_sym__, + ACTIONS(616), 1, + sym_ident_pattern_token, + ACTIONS(821), 1, + anon_sym_RPAREN, + STATE(406), 1, + sym_core_lhs_expression, + STATE(437), 1, + sym_lhs_expression, + STATE(702), 1, + sym_template_elaborated_ident, + STATE(705), 1, + sym_call_phrase, + STATE(795), 1, + sym_ident, + STATE(890), 1, + sym_for_update, + ACTIONS(45), 2, + anon_sym_STAR, + anon_sym_AMP, + STATE(852), 2, + sym_func_call_statement, + sym_variable_updating_statement, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(527), 3, - anon_sym_AMP, + STATE(706), 3, + sym_assignment_statement, + sym_increment_statement, + sym_decrement_statement, + [20797] = 3, + ACTIONS(477), 1, anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(525), 23, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(475), 16, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -24063,31 +22573,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4163] = 3, + [20824] = 3, + ACTIONS(481), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(531), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(529), 23, + ACTIONS(479), 16, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -24096,31 +22597,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4199] = 3, + [20851] = 3, + ACTIONS(485), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(535), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(533), 23, + ACTIONS(483), 16, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -24129,31 +22621,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4235] = 3, + [20878] = 3, + ACTIONS(465), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(539), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(537), 23, + ACTIONS(463), 16, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -24162,31 +22645,58 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4271] = 3, + [20905] = 14, + ACTIONS(35), 1, + anon_sym_LPAREN, + ACTIONS(47), 1, + anon_sym__, + ACTIONS(616), 1, + sym_ident_pattern_token, + ACTIONS(823), 1, + anon_sym_RPAREN, + STATE(406), 1, + sym_core_lhs_expression, + STATE(437), 1, + sym_lhs_expression, + STATE(702), 1, + sym_template_elaborated_ident, + STATE(705), 1, + sym_call_phrase, + STATE(795), 1, + sym_ident, + STATE(870), 1, + sym_for_update, + ACTIONS(45), 2, + anon_sym_STAR, + anon_sym_AMP, + STATE(852), 2, + sym_func_call_statement, + sym_variable_updating_statement, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(543), 3, - anon_sym_AMP, + STATE(706), 3, + sym_assignment_statement, + sym_increment_statement, + sym_decrement_statement, + [20954] = 4, + ACTIONS(564), 1, anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(541), 23, + ACTIONS(746), 2, + sym__shift_left, + sym__shift_right, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(560), 14, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -24195,31 +22705,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4307] = 3, + [20983] = 3, + ACTIONS(473), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(547), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(545), 23, + ACTIONS(471), 16, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -24228,31 +22729,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4343] = 3, + [21010] = 3, + ACTIONS(469), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(551), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(549), 23, + ACTIONS(467), 16, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -24261,64 +22753,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4379] = 3, + [21037] = 3, + ACTIONS(437), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(555), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(553), 23, + ACTIONS(433), 16, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [21064] = 6, + ACTIONS(461), 1, + anon_sym_SLASH, + ACTIONS(825), 1, + anon_sym_DOT, + ACTIONS(827), 1, + anon_sym_LBRACK, + STATE(448), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(459), 13, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4415] = 3, + [21097] = 3, + ACTIONS(493), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(559), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(557), 23, + ACTIONS(491), 16, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -24327,97 +22828,70 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4451] = 3, + [21124] = 3, + ACTIONS(441), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(563), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(561), 23, - sym__less_than, - sym__less_than_equal, - sym__shift_left, - sym__greater_than, - sym__greater_than_equal, - sym__shift_right, + ACTIONS(439), 16, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, + anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4487] = 3, + [21151] = 3, + ACTIONS(453), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(567), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(565), 23, - sym__less_than, - sym__less_than_equal, - sym__shift_left, - sym__greater_than, - sym__greater_than_equal, - sym__shift_right, + ACTIONS(451), 16, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, + anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4523] = 3, + [21178] = 3, + ACTIONS(489), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(571), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(569), 23, + ACTIONS(487), 16, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -24426,82 +22900,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4559] = 19, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(11), 1, - anon_sym_const, - ACTIONS(13), 1, - anon_sym_struct, - ACTIONS(15), 1, - anon_sym_alias, - ACTIONS(17), 1, - anon_sym_var, - ACTIONS(19), 1, - anon_sym_override, - ACTIONS(21), 1, - anon_sym_const_assert, - ACTIONS(23), 1, - anon_sym_fn, - ACTIONS(25), 1, - anon_sym_enable, - ACTIONS(573), 1, - ts_builtin_sym_end, - ACTIONS(575), 1, - anon_sym_SEMI, - STATE(338), 1, - sym_enable_directive, - STATE(464), 1, - sym_variable_decl, - STATE(465), 1, - sym_function_header, - STATE(288), 2, - sym_global_directive, - aux_sym_translation_unit_repeat1, - STATE(355), 2, - sym_attribute, - aux_sym_struct_member_repeat1, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - STATE(191), 3, - sym_struct_decl, - sym_function_decl, - aux_sym_translation_unit_repeat2, - STATE(646), 4, - sym_type_alias_decl, - sym_global_variable_decl, - sym_global_constant_decl, - sym_const_assert_statement, - [4626] = 7, - ACTIONS(579), 1, - anon_sym_AMP, - ACTIONS(581), 1, + [21205] = 3, + ACTIONS(543), 1, anon_sym_SLASH, - ACTIONS(583), 1, - anon_sym_PIPE, - ACTIONS(585), 1, - anon_sym_CARET, - ACTIONS(587), 2, - sym__shift_left, - sym__shift_right, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(577), 18, + ACTIONS(541), 16, + sym__template_args_end, sym__less_than, sym__less_than_equal, sym__greater_than, sym__greater_than_equal, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -24510,24 +22924,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [4668] = 3, + [21232] = 6, + ACTIONS(457), 1, + anon_sym_SLASH, + ACTIONS(825), 1, + anon_sym_DOT, + ACTIONS(827), 1, + anon_sym_LBRACK, + STATE(441), 1, + sym_component_or_swizzle_specifier, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(591), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(589), 21, - sym__less_than, - sym__less_than_equal, - sym__shift_left, - sym__greater_than, - sym__greater_than_equal, - sym__shift_right, + ACTIONS(455), 13, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, @@ -24536,33 +22949,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4702] = 3, + [21265] = 3, + ACTIONS(501), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(595), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(593), 21, + ACTIONS(499), 16, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -24571,25 +22975,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4736] = 3, + [21292] = 6, + ACTIONS(449), 1, + anon_sym_SLASH, + ACTIONS(825), 1, + anon_sym_DOT, + ACTIONS(827), 1, + anon_sym_LBRACK, + STATE(455), 1, + sym_component_or_swizzle_specifier, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(599), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(597), 21, - sym__less_than, - sym__less_than_equal, - sym__shift_left, - sym__greater_than, - sym__greater_than_equal, - sym__shift_right, + ACTIONS(443), 13, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, @@ -24598,33 +23000,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4770] = 3, + [21325] = 3, + ACTIONS(539), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(503), 3, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(497), 21, + ACTIONS(537), 16, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -24633,29 +23026,57 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4804] = 3, + [21352] = 14, + ACTIONS(35), 1, + anon_sym_LPAREN, + ACTIONS(47), 1, + anon_sym__, + ACTIONS(616), 1, + sym_ident_pattern_token, + ACTIONS(829), 1, + anon_sym_RPAREN, + STATE(406), 1, + sym_core_lhs_expression, + STATE(437), 1, + sym_lhs_expression, + STATE(702), 1, + sym_template_elaborated_ident, + STATE(705), 1, + sym_call_phrase, + STATE(795), 1, + sym_ident, + STATE(850), 1, + sym_for_update, + ACTIONS(45), 2, + anon_sym_STAR, + anon_sym_AMP, + STATE(852), 2, + sym_func_call_statement, + sym_variable_updating_statement, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(603), 3, - anon_sym_AMP, + STATE(706), 3, + sym_assignment_statement, + sym_increment_statement, + sym_decrement_statement, + [21401] = 3, + ACTIONS(509), 1, anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(601), 21, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(507), 16, + sym__template_args_end, sym__less_than, sym__less_than_equal, - sym__shift_left, sym__greater_than, sym__greater_than_equal, - sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -24664,840 +23085,655 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [4838] = 3, - ACTIONS(495), 1, + [21428] = 3, + ACTIONS(586), 2, anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(493), 21, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(584), 14, anon_sym_SEMI, - anon_sym_LPAREN, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [4870] = 6, - ACTIONS(503), 1, + anon_sym_CARET, + [21454] = 3, + ACTIONS(543), 1, anon_sym_SLASH, - ACTIONS(605), 1, - anon_sym_LBRACK, - ACTIONS(607), 1, - anon_sym_DOT, - STATE(197), 1, - sym_component_or_swizzle_specifier, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(497), 18, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(541), 15, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, + anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [4908] = 6, - ACTIONS(511), 1, + [21480] = 3, + ACTIONS(457), 2, anon_sym_SLASH, - ACTIONS(605), 1, - anon_sym_LBRACK, - ACTIONS(607), 1, - anon_sym_DOT, - STATE(198), 1, - sym_component_or_swizzle_specifier, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(509), 18, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(455), 14, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_RBRACK, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [4946] = 4, - ACTIONS(489), 1, - anon_sym_LPAREN, - ACTIONS(491), 1, + anon_sym_CARET, + [21506] = 5, + ACTIONS(708), 1, anon_sym_SLASH, + STATE(128), 1, + sym_multiplicative_operator, + ACTIONS(706), 2, + anon_sym_STAR, + anon_sym_PERCENT, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(487), 20, + ACTIONS(704), 12, + sym__template_args_end, sym__less_than, sym__less_than_equal, sym__greater_than, sym__greater_than_equal, - anon_sym_SEMI, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, anon_sym_PLUS, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [4980] = 6, - ACTIONS(507), 1, - anon_sym_SLASH, - ACTIONS(605), 1, - anon_sym_LBRACK, - ACTIONS(607), 1, + [21536] = 5, + ACTIONS(831), 1, anon_sym_DOT, - STATE(201), 1, + ACTIONS(833), 1, + anon_sym_LBRACK, + STATE(492), 1, sym_component_or_swizzle_specifier, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(505), 18, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(459), 13, + sym__shift_left_assign, + sym__shift_right_assign, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + [21566] = 3, + ACTIONS(469), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(467), 15, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, + anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5018] = 3, - ACTIONS(555), 1, + [21592] = 3, + ACTIONS(437), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(553), 20, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(433), 15, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5049] = 3, - ACTIONS(531), 1, + [21618] = 5, + ACTIONS(831), 1, + anon_sym_DOT, + ACTIONS(833), 1, + anon_sym_LBRACK, + STATE(483), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(455), 13, + sym__shift_left_assign, + sym__shift_right_assign, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + [21648] = 3, + ACTIONS(493), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(529), 20, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(491), 15, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5080] = 3, - ACTIONS(567), 1, + [21674] = 3, + ACTIONS(497), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(565), 20, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(495), 15, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5111] = 3, - ACTIONS(491), 1, + [21700] = 3, + ACTIONS(501), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(487), 20, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(499), 15, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5142] = 3, - ACTIONS(523), 1, + [21726] = 3, + ACTIONS(465), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(521), 20, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(463), 15, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5173] = 3, - ACTIONS(539), 1, + [21752] = 5, + ACTIONS(708), 1, anon_sym_SLASH, + STATE(128), 1, + sym_multiplicative_operator, + ACTIONS(706), 2, + anon_sym_STAR, + anon_sym_PERCENT, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(537), 20, + ACTIONS(716), 12, + sym__template_args_end, sym__less_than, sym__less_than_equal, sym__greater_than, sym__greater_than_equal, - anon_sym_SEMI, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, anon_sym_PLUS, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5204] = 16, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(11), 1, - anon_sym_const, - ACTIONS(13), 1, - anon_sym_struct, - ACTIONS(15), 1, - anon_sym_alias, - ACTIONS(17), 1, - anon_sym_var, - ACTIONS(19), 1, - anon_sym_override, - ACTIONS(21), 1, - anon_sym_const_assert, - ACTIONS(23), 1, - anon_sym_fn, - ACTIONS(573), 1, - ts_builtin_sym_end, - ACTIONS(609), 1, - anon_sym_SEMI, - STATE(464), 1, - sym_variable_decl, - STATE(465), 1, - sym_function_header, - STATE(355), 2, - sym_attribute, - aux_sym_struct_member_repeat1, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - STATE(192), 3, - sym_struct_decl, - sym_function_decl, - aux_sym_translation_unit_repeat2, - STATE(646), 4, - sym_type_alias_decl, - sym_global_variable_decl, - sym_global_constant_decl, - sym_const_assert_statement, - [5261] = 3, - ACTIONS(563), 1, + [21782] = 3, + ACTIONS(539), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(561), 20, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(537), 15, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5292] = 3, - ACTIONS(551), 1, + [21808] = 3, + ACTIONS(509), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(549), 20, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(507), 15, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5323] = 4, - ACTIONS(581), 1, + [21834] = 3, + ACTIONS(473), 1, anon_sym_SLASH, - ACTIONS(587), 2, - sym__shift_left, - sym__shift_right, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(577), 18, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(471), 15, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, + anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5356] = 3, - ACTIONS(571), 1, + [21860] = 3, + ACTIONS(505), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(569), 20, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(503), 15, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5387] = 3, - ACTIONS(535), 1, + [21886] = 3, + ACTIONS(489), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(533), 20, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(487), 15, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5418] = 3, - ACTIONS(519), 1, + [21912] = 3, + ACTIONS(574), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(517), 20, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(572), 15, + sym__shift_left, + sym__shift_right, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5449] = 3, - ACTIONS(543), 1, + [21938] = 3, + ACTIONS(586), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(541), 20, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(584), 15, + sym__shift_left, + sym__shift_right, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5480] = 3, - ACTIONS(527), 1, + [21964] = 5, + ACTIONS(422), 1, anon_sym_SLASH, + ACTIONS(835), 1, + sym__template_args_start, + STATE(438), 1, + sym_template_list, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(525), 20, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, - anon_sym_SEMI, + ACTIONS(420), 13, + sym__template_args_end, + sym__shift_left, + sym__shift_right, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, + anon_sym_LPAREN, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5511] = 3, - ACTIONS(559), 1, + [21994] = 5, + ACTIONS(831), 1, + anon_sym_DOT, + ACTIONS(833), 1, + anon_sym_LBRACK, + STATE(462), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(837), 13, + sym__shift_left_assign, + sym__shift_right_assign, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + [22024] = 3, + ACTIONS(485), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(557), 20, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(483), 15, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5542] = 3, - ACTIONS(515), 1, + [22050] = 3, + ACTIONS(582), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(513), 20, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(580), 15, + sym__shift_left, + sym__shift_right, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5573] = 3, - ACTIONS(547), 1, + [22076] = 3, + ACTIONS(457), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(545), 20, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(455), 15, + sym__shift_left, + sym__shift_right, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5604] = 16, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(11), 1, - anon_sym_const, - ACTIONS(13), 1, - anon_sym_struct, - ACTIONS(15), 1, - anon_sym_alias, - ACTIONS(17), 1, - anon_sym_var, - ACTIONS(19), 1, - anon_sym_override, - ACTIONS(21), 1, - anon_sym_const_assert, - ACTIONS(23), 1, - anon_sym_fn, - ACTIONS(609), 1, - anon_sym_SEMI, - ACTIONS(611), 1, - ts_builtin_sym_end, - STATE(464), 1, - sym_variable_decl, - STATE(465), 1, - sym_function_header, - STATE(355), 2, - sym_attribute, - aux_sym_struct_member_repeat1, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - STATE(192), 3, - sym_struct_decl, - sym_function_decl, - aux_sym_translation_unit_repeat2, - STATE(646), 4, - sym_type_alias_decl, - sym_global_variable_decl, - sym_global_constant_decl, - sym_const_assert_statement, - [5661] = 16, - ACTIONS(613), 1, - ts_builtin_sym_end, - ACTIONS(615), 1, - anon_sym_SEMI, - ACTIONS(618), 1, - anon_sym_AT, - ACTIONS(621), 1, - anon_sym_const, - ACTIONS(624), 1, - anon_sym_struct, - ACTIONS(627), 1, - anon_sym_alias, - ACTIONS(630), 1, - anon_sym_var, - ACTIONS(633), 1, - anon_sym_override, - ACTIONS(636), 1, - anon_sym_const_assert, - ACTIONS(639), 1, - anon_sym_fn, - STATE(464), 1, - sym_variable_decl, - STATE(465), 1, - sym_function_header, - STATE(355), 2, - sym_attribute, - aux_sym_struct_member_repeat1, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - STATE(192), 3, - sym_struct_decl, - sym_function_decl, - aux_sym_translation_unit_repeat2, - STATE(646), 4, - sym_type_alias_decl, - sym_global_variable_decl, - sym_global_constant_decl, - sym_const_assert_statement, - [5718] = 5, - ACTIONS(646), 1, + [22102] = 3, + ACTIONS(578), 1, anon_sym_SLASH, - STATE(73), 1, - sym_multiplicative_operator, - ACTIONS(644), 2, - anon_sym_STAR, - anon_sym_PERCENT, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(642), 16, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(576), 15, + sym__shift_left, + sym__shift_right, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_RBRACK, anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5752] = 5, - ACTIONS(646), 1, + [22128] = 3, + ACTIONS(477), 1, anon_sym_SLASH, - STATE(73), 1, - sym_multiplicative_operator, - ACTIONS(644), 2, - anon_sym_STAR, - anon_sym_PERCENT, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(648), 16, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(475), 15, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, + anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5786] = 3, - ACTIONS(495), 2, + [22154] = 3, + ACTIONS(578), 2, anon_sym_SLASH, anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(493), 18, + ACTIONS(576), 14, anon_sym_SEMI, - anon_sym_LPAREN, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_COLON, - anon_sym_EQ, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, @@ -25505,20 +23741,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_PIPE_PIPE, anon_sym_CARET, - [5816] = 3, - ACTIONS(652), 1, + [22180] = 4, + ACTIONS(564), 1, anon_sym_SLASH, + ACTIONS(839), 2, + sym__shift_left, + sym__shift_right, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(650), 18, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(560), 13, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, @@ -25527,132 +23763,137 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5845] = 3, - ACTIONS(595), 1, + [22208] = 3, + ACTIONS(481), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(593), 18, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(479), 15, anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, + anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5874] = 3, - ACTIONS(591), 1, + [22234] = 3, + ACTIONS(582), 2, anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(589), 18, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(580), 14, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_RBRACK, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5903] = 3, - ACTIONS(603), 1, + anon_sym_CARET, + [22260] = 3, + ACTIONS(574), 2, anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(601), 18, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, + ACTIONS(572), 14, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_RBRACK, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5932] = 3, - ACTIONS(599), 1, + anon_sym_CARET, + [22286] = 5, + ACTIONS(841), 1, + sym__template_args_start, + STATE(445), 1, + sym_template_list, + ACTIONS(422), 2, anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(597), 18, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, - anon_sym_SEMI, + ACTIONS(420), 12, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5961] = 3, - ACTIONS(503), 1, + anon_sym_CARET, + [22316] = 2, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(475), 15, + sym__shift_left_assign, + sym__shift_right_assign, + anon_sym_DOT, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + [22339] = 3, + ACTIONS(457), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(497), 18, + ACTIONS(455), 14, + sym__template_args_end, sym__less_than, sym__less_than_equal, sym__greater_than, sym__greater_than_equal, - anon_sym_SEMI, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -25661,24 +23902,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5990] = 3, - ACTIONS(581), 1, + [22364] = 3, + ACTIONS(564), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(577), 18, + ACTIONS(560), 14, + sym__template_args_end, sym__less_than, sym__less_than_equal, sym__greater_than, sym__greater_than_equal, - anon_sym_SEMI, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, @@ -25687,291 +23924,179 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6019] = 3, - STATE(652), 1, - sym_texel_format, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(654), 17, - anon_sym_rgba8unorm, - anon_sym_rgba8snorm, - anon_sym_rgba8uint, - anon_sym_rgba8sint, - anon_sym_rgba16uint, - anon_sym_rgba16sint, - anon_sym_rgba16float, - anon_sym_r32uint, - anon_sym_r32sint, - anon_sym_r32float, - anon_sym_rg32uint, - anon_sym_rg32sint, - anon_sym_rg32float, - anon_sym_rgba32uint, - anon_sym_rgba32sint, - anon_sym_rgba32float, - anon_sym_bgra8unorm, - [6047] = 6, - ACTIONS(656), 1, - anon_sym_LBRACK, - ACTIONS(658), 1, - anon_sym_DOT, - STATE(282), 1, - sym_component_or_swizzle_specifier, - ACTIONS(507), 2, + [22389] = 5, + ACTIONS(708), 1, anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(505), 13, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_DASH, + STATE(123), 1, + sym_multiplicative_operator, + ACTIONS(706), 2, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - [6081] = 3, - ACTIONS(495), 1, - anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(493), 17, - sym__shift_left, - sym__shift_right, + ACTIONS(704), 11, anon_sym_SEMI, - anon_sym_LPAREN, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6109] = 4, - ACTIONS(489), 1, - anon_sym_LPAREN, - ACTIONS(491), 2, + [22418] = 3, + ACTIONS(586), 1, anon_sym_SLASH, - anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(487), 15, - anon_sym_SEMI, + ACTIONS(584), 14, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [6139] = 6, - ACTIONS(656), 1, - anon_sym_LBRACK, - ACTIONS(658), 1, - anon_sym_DOT, - STATE(266), 1, - sym_component_or_swizzle_specifier, - ACTIONS(511), 2, - anon_sym_SLASH, - anon_sym_PIPE, + [22443] = 3, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(509), 13, + ACTIONS(845), 6, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(843), 9, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, + anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [6173] = 6, - ACTIONS(503), 1, + [22468] = 3, + ACTIONS(744), 1, anon_sym_SLASH, - ACTIONS(660), 1, - anon_sym_LBRACK, - ACTIONS(662), 1, - anon_sym_DOT, - STATE(275), 1, - sym_component_or_swizzle_specifier, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(497), 14, - sym__shift_left, - sym__shift_right, - anon_sym_SEMI, + ACTIONS(742), 14, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6207] = 6, - ACTIONS(507), 1, + [22493] = 5, + ACTIONS(437), 1, anon_sym_SLASH, - ACTIONS(660), 1, - anon_sym_LBRACK, - ACTIONS(662), 1, - anon_sym_DOT, - STATE(258), 1, - sym_component_or_swizzle_specifier, + ACTIONS(847), 1, + anon_sym_LPAREN, + STATE(478), 1, + sym_argument_expression_list, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(505), 14, + ACTIONS(433), 12, + sym__template_args_end, sym__shift_left, sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6241] = 4, - ACTIONS(489), 1, - anon_sym_LPAREN, - ACTIONS(491), 1, + [22522] = 5, + ACTIONS(708), 1, anon_sym_SLASH, + STATE(123), 1, + sym_multiplicative_operator, + ACTIONS(706), 2, + anon_sym_STAR, + anon_sym_PERCENT, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(487), 16, - sym__shift_left, - sym__shift_right, + ACTIONS(716), 11, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6271] = 3, - STATE(599), 1, - sym_texel_format, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(654), 17, - anon_sym_rgba8unorm, - anon_sym_rgba8snorm, - anon_sym_rgba8uint, - anon_sym_rgba8sint, - anon_sym_rgba16uint, - anon_sym_rgba16sint, - anon_sym_rgba16float, - anon_sym_r32uint, - anon_sym_r32sint, - anon_sym_r32float, - anon_sym_rg32uint, - anon_sym_rg32sint, - anon_sym_rg32float, - anon_sym_rgba32uint, - anon_sym_rgba32sint, - anon_sym_rgba32float, - anon_sym_bgra8unorm, - [6299] = 6, - ACTIONS(656), 1, - anon_sym_LBRACK, - ACTIONS(658), 1, - anon_sym_DOT, - STATE(276), 1, - sym_component_or_swizzle_specifier, - ACTIONS(503), 2, - anon_sym_SLASH, - anon_sym_PIPE, + [22551] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(497), 13, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - [6333] = 6, - ACTIONS(511), 1, - anon_sym_SLASH, - ACTIONS(660), 1, - anon_sym_LBRACK, - ACTIONS(662), 1, + ACTIONS(479), 15, + sym__shift_left_assign, + sym__shift_right_assign, anon_sym_DOT, - STATE(265), 1, - sym_component_or_swizzle_specifier, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + [22574] = 4, + ACTIONS(564), 1, + anon_sym_SLASH, + ACTIONS(849), 2, + sym__shift_left, + sym__shift_right, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(509), 14, - sym__shift_left, - sym__shift_right, + ACTIONS(560), 12, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, @@ -25980,170 +24105,153 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6367] = 4, - STATE(64), 1, - sym_additive_operator, - ACTIONS(666), 2, - anon_sym_DASH, - anon_sym_PLUS, + [22601] = 3, + ACTIONS(582), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(664), 14, + ACTIONS(580), 14, + sym__template_args_end, sym__less_than, sym__less_than_equal, sym__greater_than, sym__greater_than_equal, - anon_sym_SEMI, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6396] = 3, - ACTIONS(559), 1, - anon_sym_SLASH, + [22626] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(557), 16, - sym__shift_left, - sym__shift_right, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, + ACTIONS(851), 15, + sym__shift_left_assign, + sym__shift_right_assign, anon_sym_DOT, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [6423] = 3, - ACTIONS(519), 1, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + [22649] = 3, + ACTIONS(578), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(517), 16, - sym__shift_left, - sym__shift_right, - anon_sym_SEMI, + ACTIONS(576), 14, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6450] = 3, - ACTIONS(531), 2, - anon_sym_SLASH, - anon_sym_PIPE, + [22674] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(529), 15, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, + ACTIONS(819), 15, + sym__shift_left_assign, + sym__shift_right_assign, anon_sym_DOT, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - [6477] = 3, - ACTIONS(555), 2, - anon_sym_SLASH, - anon_sym_PIPE, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + [22697] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(553), 15, + ACTIONS(853), 15, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [6504] = 3, - ACTIONS(519), 2, + [22720] = 3, + ACTIONS(574), 1, anon_sym_SLASH, - anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(517), 15, - anon_sym_SEMI, + ACTIONS(572), 14, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [6531] = 3, - ACTIONS(527), 2, + [22745] = 5, + ACTIONS(855), 1, + anon_sym_LPAREN, + STATE(488), 1, + sym_argument_expression_list, + ACTIONS(437), 2, anon_sym_SLASH, anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(525), 15, - anon_sym_SEMI, + ACTIONS(433), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, @@ -26151,95 +24259,110 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_PIPE_PIPE, anon_sym_CARET, - [6558] = 3, - ACTIONS(567), 2, + [22774] = 3, + ACTIONS(582), 1, anon_sym_SLASH, - anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(565), 15, + ACTIONS(580), 13, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, + anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [6585] = 3, - ACTIONS(539), 1, + [22798] = 6, + ACTIONS(857), 1, + anon_sym_EQ, + ACTIONS(861), 1, + anon_sym_PLUS_PLUS, + ACTIONS(863), 1, + anon_sym_DASH_DASH, + STATE(68), 1, + sym_compound_assignment_operator, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(859), 10, + sym__shift_left_assign, + sym__shift_right_assign, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + [22828] = 3, + ACTIONS(453), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(537), 16, + ACTIONS(451), 13, + sym__template_args_end, sym__shift_left, sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, + anon_sym_LPAREN, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6612] = 3, - ACTIONS(523), 2, - anon_sym_SLASH, - anon_sym_PIPE, + [22852] = 3, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(521), 15, + ACTIONS(865), 6, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(843), 8, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [6639] = 3, - ACTIONS(515), 2, + [22876] = 6, + ACTIONS(867), 1, + anon_sym_DOT, + ACTIONS(869), 1, + anon_sym_LBRACK, + STATE(543), 1, + sym_component_or_swizzle_specifier, + ACTIONS(449), 2, anon_sym_SLASH, anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(513), 15, - anon_sym_SEMI, + ACTIONS(443), 9, + sym__template_args_end, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, @@ -26247,95 +24370,89 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_PIPE_PIPE, anon_sym_CARET, - [6666] = 3, - ACTIONS(547), 2, + [22906] = 3, + ACTIONS(586), 1, anon_sym_SLASH, - anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(545), 15, + ACTIONS(584), 13, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, + anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [6693] = 3, - ACTIONS(535), 1, + [22930] = 6, + ACTIONS(461), 1, anon_sym_SLASH, + ACTIONS(871), 1, + anon_sym_DOT, + ACTIONS(873), 1, + anon_sym_LBRACK, + STATE(544), 1, + sym_component_or_swizzle_specifier, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(533), 16, + ACTIONS(459), 10, + sym__template_args_end, sym__shift_left, sym__shift_right, - anon_sym_SEMI, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6720] = 3, - ACTIONS(491), 1, + [22960] = 3, + ACTIONS(574), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(487), 16, - sym__shift_left, - sym__shift_right, + ACTIONS(572), 13, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6747] = 3, - ACTIONS(543), 2, + [22984] = 6, + ACTIONS(867), 1, + anon_sym_DOT, + ACTIONS(869), 1, + anon_sym_LBRACK, + STATE(536), 1, + sym_component_or_swizzle_specifier, + ACTIONS(461), 2, anon_sym_SLASH, anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(541), 15, - anon_sym_SEMI, + ACTIONS(459), 9, + sym__template_args_end, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, @@ -26343,47 +24460,41 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_PIPE_PIPE, anon_sym_CARET, - [6774] = 3, - ACTIONS(563), 1, + [23014] = 3, + ACTIONS(453), 2, anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(561), 16, - sym__shift_left, - sym__shift_right, - anon_sym_SEMI, + ACTIONS(451), 12, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, + anon_sym_LPAREN, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6801] = 3, - ACTIONS(535), 2, + anon_sym_CARET, + [23038] = 3, + ACTIONS(441), 2, anon_sym_SLASH, anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(533), 15, - anon_sym_SEMI, + ACTIONS(439), 12, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, + anon_sym_LPAREN, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, @@ -26391,779 +24502,765 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_PIPE_PIPE, anon_sym_CARET, - [6828] = 3, - ACTIONS(571), 2, + [23062] = 5, + ACTIONS(708), 1, anon_sym_SLASH, - anon_sym_PIPE, + STATE(141), 1, + sym_multiplicative_operator, + ACTIONS(706), 2, + anon_sym_STAR, + anon_sym_PERCENT, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(569), 15, + ACTIONS(716), 10, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, anon_sym_PLUS, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [6855] = 3, - ACTIONS(523), 1, + [23090] = 3, + ACTIONS(457), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(521), 16, - sym__shift_left, - sym__shift_right, + ACTIONS(455), 13, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6882] = 3, - ACTIONS(531), 1, + [23114] = 5, + ACTIONS(422), 1, anon_sym_SLASH, + ACTIONS(875), 1, + sym__template_args_start, + STATE(499), 1, + sym_template_list, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(529), 16, - sym__shift_left, - sym__shift_right, - anon_sym_SEMI, + ACTIONS(420), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, + anon_sym_LPAREN, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6909] = 3, - ACTIONS(547), 1, + [23142] = 5, + ACTIONS(708), 1, anon_sym_SLASH, + STATE(141), 1, + sym_multiplicative_operator, + ACTIONS(706), 2, + anon_sym_STAR, + anon_sym_PERCENT, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(545), 16, - sym__shift_left, - sym__shift_right, + ACTIONS(704), 10, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + [23170] = 6, + ACTIONS(457), 1, + anon_sym_SLASH, + ACTIONS(871), 1, anon_sym_DOT, + ACTIONS(873), 1, + anon_sym_LBRACK, + STATE(524), 1, + sym_component_or_swizzle_specifier, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(455), 10, + sym__template_args_end, + sym__shift_left, + sym__shift_right, + anon_sym_COMMA, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6936] = 3, - ACTIONS(515), 1, + [23200] = 6, + ACTIONS(867), 1, + anon_sym_DOT, + ACTIONS(869), 1, + anon_sym_LBRACK, + STATE(540), 1, + sym_component_or_swizzle_specifier, + ACTIONS(457), 2, + anon_sym_SLASH, + anon_sym_PIPE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(455), 9, + sym__template_args_end, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [23230] = 3, + ACTIONS(744), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(513), 16, - sym__shift_left, - sym__shift_right, + ACTIONS(742), 13, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6963] = 3, - ACTIONS(527), 1, + [23254] = 3, + ACTIONS(564), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(525), 16, - sym__shift_left, - sym__shift_right, + ACTIONS(560), 13, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [6990] = 3, - ACTIONS(563), 2, + [23278] = 3, + ACTIONS(578), 1, anon_sym_SLASH, - anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(561), 15, + ACTIONS(576), 13, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, + anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [7017] = 3, - ACTIONS(567), 1, + [23302] = 3, + ACTIONS(441), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(565), 16, + ACTIONS(439), 13, + sym__template_args_end, sym__shift_left, sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, + anon_sym_LPAREN, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7044] = 3, - ACTIONS(555), 1, + [23326] = 6, + ACTIONS(449), 1, anon_sym_SLASH, + ACTIONS(871), 1, + anon_sym_DOT, + ACTIONS(873), 1, + anon_sym_LBRACK, + STATE(571), 1, + sym_component_or_swizzle_specifier, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(553), 16, + ACTIONS(443), 10, + sym__template_args_end, sym__shift_left, sym__shift_right, - anon_sym_SEMI, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7071] = 3, - ACTIONS(551), 2, + [23356] = 3, + ACTIONS(465), 1, anon_sym_SLASH, - anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(549), 15, - anon_sym_SEMI, + ACTIONS(463), 12, + sym__template_args_end, + sym__shift_left, + sym__shift_right, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, + anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [7098] = 3, - ACTIONS(559), 2, - anon_sym_SLASH, - anon_sym_PIPE, + [23379] = 4, + STATE(112), 1, + sym_additive_operator, + ACTIONS(817), 2, + anon_sym_DASH, + anon_sym_PLUS, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(557), 15, - anon_sym_SEMI, + ACTIONS(815), 10, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [7125] = 3, - ACTIONS(539), 2, + [23404] = 3, + ACTIONS(493), 1, anon_sym_SLASH, - anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(537), 15, - anon_sym_SEMI, + ACTIONS(491), 12, + sym__template_args_end, + sym__shift_left, + sym__shift_right, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, + anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [7152] = 3, - ACTIONS(571), 1, + [23427] = 3, + ACTIONS(509), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(569), 16, + ACTIONS(507), 12, + sym__template_args_end, sym__shift_left, sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7179] = 3, - ACTIONS(551), 1, + [23450] = 2, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(877), 13, + sym__shift_left_assign, + sym__shift_right_assign, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + [23471] = 3, + ACTIONS(881), 1, + anon_sym_const, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(879), 12, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_diagnostic, + anon_sym_AT, + anon_sym_struct, + anon_sym_alias, + anon_sym_var, + anon_sym_override, + anon_sym_const_assert, + anon_sym_fn, + anon_sym_enable, + anon_sym_requires, + [23494] = 3, + ACTIONS(497), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(549), 16, + ACTIONS(495), 12, + sym__template_args_end, sym__shift_left, sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7206] = 3, - ACTIONS(491), 2, + [23517] = 3, + ACTIONS(469), 1, anon_sym_SLASH, - anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(487), 15, - anon_sym_SEMI, + ACTIONS(467), 12, + sym__template_args_end, + sym__shift_left, + sym__shift_right, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, + anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [7233] = 3, - ACTIONS(543), 1, + [23540] = 5, + ACTIONS(437), 1, anon_sym_SLASH, + ACTIONS(883), 1, + anon_sym_LPAREN, + STATE(564), 1, + sym_argument_expression_list, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(541), 16, - sym__shift_left, - sym__shift_right, - anon_sym_SEMI, + ACTIONS(433), 10, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7260] = 6, - ACTIONS(507), 1, + [23567] = 3, + ACTIONS(437), 2, anon_sym_SLASH, - ACTIONS(668), 1, - anon_sym_LBRACK, - ACTIONS(670), 1, - anon_sym_DOT, - STATE(310), 1, - sym_component_or_swizzle_specifier, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(505), 12, - anon_sym_SEMI, + ACTIONS(433), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7292] = 5, - ACTIONS(672), 1, - anon_sym_LBRACK, - ACTIONS(674), 1, - anon_sym_DOT, - STATE(309), 1, - sym_component_or_swizzle_specifier, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(505), 13, - sym__shift_left_assign, - sym__shift_right_assign, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_CARET_EQ, - anon_sym_PLUS_PLUS, - anon_sym_DASH_DASH, - [7322] = 3, - ACTIONS(489), 1, - anon_sym_LPAREN, + anon_sym_CARET, + [23590] = 3, + ACTIONS(539), 2, + anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(676), 15, - sym__shift_left_assign, - sym__shift_right_assign, - anon_sym_EQ, - anon_sym_LBRACK, + ACTIONS(537), 11, + sym__template_args_end, anon_sym_DOT, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_CARET_EQ, - anon_sym_PLUS_PLUS, - anon_sym_DASH_DASH, - [7348] = 5, - ACTIONS(672), 1, + anon_sym_COMMA, anon_sym_LBRACK, - ACTIONS(674), 1, - anon_sym_DOT, - STATE(296), 1, - sym_component_or_swizzle_specifier, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(678), 13, - sym__shift_left_assign, - sym__shift_right_assign, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_CARET_EQ, - anon_sym_PLUS_PLUS, - anon_sym_DASH_DASH, - [7378] = 3, - ACTIONS(495), 1, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [23613] = 3, + ACTIONS(473), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(493), 15, - anon_sym_SEMI, - anon_sym_LPAREN, + ACTIONS(471), 12, + sym__template_args_end, + sym__shift_left, + sym__shift_right, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7404] = 6, - ACTIONS(511), 1, + [23636] = 3, + ACTIONS(509), 2, anon_sym_SLASH, - ACTIONS(668), 1, - anon_sym_LBRACK, - ACTIONS(670), 1, - anon_sym_DOT, - STATE(305), 1, - sym_component_or_swizzle_specifier, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(509), 12, - anon_sym_SEMI, + ACTIONS(507), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7436] = 4, - ACTIONS(489), 1, - anon_sym_LPAREN, - ACTIONS(491), 1, + anon_sym_CARET, + [23659] = 3, + ACTIONS(489), 2, anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(487), 14, - anon_sym_SEMI, + ACTIONS(487), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7464] = 6, - ACTIONS(503), 1, + anon_sym_CARET, + [23682] = 3, + ACTIONS(481), 2, anon_sym_SLASH, - ACTIONS(668), 1, - anon_sym_LBRACK, - ACTIONS(670), 1, - anon_sym_DOT, - STATE(308), 1, - sym_component_or_swizzle_specifier, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(497), 12, - anon_sym_SEMI, + ACTIONS(479), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7496] = 2, + anon_sym_CARET, + [23705] = 3, + ACTIONS(887), 1, + anon_sym_const, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(493), 16, - sym__shift_left_assign, - sym__shift_right_assign, - anon_sym_LPAREN, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_CARET_EQ, - anon_sym_PLUS_PLUS, - anon_sym_DASH_DASH, - [7520] = 5, - ACTIONS(672), 1, - anon_sym_LBRACK, - ACTIONS(674), 1, - anon_sym_DOT, - STATE(301), 1, - sym_component_or_swizzle_specifier, + ACTIONS(885), 12, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_diagnostic, + anon_sym_AT, + anon_sym_struct, + anon_sym_alias, + anon_sym_var, + anon_sym_override, + anon_sym_const_assert, + anon_sym_fn, + anon_sym_enable, + anon_sym_requires, + [23728] = 3, + ACTIONS(493), 2, + anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(497), 13, - sym__shift_left_assign, - sym__shift_right_assign, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_CARET_EQ, - anon_sym_PLUS_PLUS, - anon_sym_DASH_DASH, - [7550] = 4, - ACTIONS(581), 1, + ACTIONS(491), 11, + sym__template_args_end, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [23751] = 3, + ACTIONS(477), 2, anon_sym_SLASH, - ACTIONS(680), 2, - sym__shift_left, - sym__shift_right, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(577), 12, - anon_sym_SEMI, + ACTIONS(475), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7577] = 3, - ACTIONS(503), 1, + anon_sym_CARET, + [23774] = 3, + ACTIONS(891), 1, + anon_sym_const, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(889), 12, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_diagnostic, + anon_sym_AT, + anon_sym_struct, + anon_sym_alias, + anon_sym_var, + anon_sym_override, + anon_sym_const_assert, + anon_sym_fn, + anon_sym_enable, + anon_sym_requires, + [23797] = 3, + ACTIONS(543), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(497), 14, + ACTIONS(541), 12, + sym__template_args_end, sym__shift_left, sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7602] = 3, - ACTIONS(523), 1, + [23820] = 3, + ACTIONS(485), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(521), 14, - anon_sym_SEMI, + ACTIONS(483), 12, + sym__template_args_end, + sym__shift_left, + sym__shift_right, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7627] = 3, - ACTIONS(567), 1, + [23843] = 5, + ACTIONS(740), 1, + anon_sym_LPAREN, + STATE(510), 1, + sym_argument_expression_list, + ACTIONS(895), 2, + anon_sym_AT, + anon_sym_LBRACE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(893), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [23870] = 3, + ACTIONS(543), 2, anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(565), 14, - anon_sym_SEMI, + ACTIONS(541), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7652] = 3, - ACTIONS(535), 1, + anon_sym_CARET, + [23893] = 3, + ACTIONS(437), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(533), 14, - anon_sym_SEMI, + ACTIONS(433), 12, + sym__template_args_end, + sym__shift_left, + sym__shift_right, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7677] = 3, - ACTIONS(599), 1, + [23916] = 3, + ACTIONS(501), 2, anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(597), 14, - sym__shift_left, - sym__shift_right, - anon_sym_SEMI, + ACTIONS(499), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7702] = 2, + anon_sym_CARET, + [23939] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(676), 15, + ACTIONS(584), 13, sym__shift_left_assign, sym__shift_right_assign, anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -27174,65 +25271,99 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET_EQ, anon_sym_PLUS_PLUS, anon_sym_DASH_DASH, - [7725] = 3, - ACTIONS(603), 1, + [23960] = 3, + ACTIONS(501), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(499), 12, + sym__template_args_end, + sym__shift_left, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [23983] = 3, + ACTIONS(539), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(537), 12, + sym__template_args_end, + sym__shift_left, + sym__shift_right, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [24006] = 3, + ACTIONS(489), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(601), 14, + ACTIONS(487), 12, + sym__template_args_end, sym__shift_left, sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7750] = 3, - ACTIONS(591), 1, + [24029] = 3, + ACTIONS(481), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(589), 14, + ACTIONS(479), 12, + sym__template_args_end, sym__shift_left, sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7775] = 3, - ACTIONS(591), 2, + [24052] = 3, + ACTIONS(485), 2, anon_sym_SLASH, anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(589), 13, - anon_sym_SEMI, + ACTIONS(483), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, @@ -27240,61 +25371,75 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_PIPE_PIPE, anon_sym_CARET, - [7800] = 3, - ACTIONS(539), 1, + [24075] = 3, + ACTIONS(473), 2, anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(537), 14, - anon_sym_SEMI, + ACTIONS(471), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7825] = 3, - ACTIONS(603), 2, - anon_sym_SLASH, - anon_sym_PIPE, + anon_sym_CARET, + [24098] = 3, + ACTIONS(899), 1, + anon_sym_const, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(601), 13, + ACTIONS(897), 12, + ts_builtin_sym_end, anon_sym_SEMI, + anon_sym_diagnostic, + anon_sym_AT, + anon_sym_struct, + anon_sym_alias, + anon_sym_var, + anon_sym_override, + anon_sym_const_assert, + anon_sym_fn, + anon_sym_enable, + anon_sym_requires, + [24121] = 3, + ACTIONS(505), 1, + anon_sym_SLASH, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(503), 12, + sym__template_args_end, + sym__shift_left, + sym__shift_right, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, + anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_CARET, - [7850] = 2, + [24144] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(553), 15, + ACTIONS(455), 13, sym__shift_left_assign, sym__shift_right_assign, anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -27305,87 +25450,59 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET_EQ, anon_sym_PLUS_PLUS, anon_sym_DASH_DASH, - [7873] = 3, - ACTIONS(551), 1, + [24165] = 3, + ACTIONS(497), 2, anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(549), 14, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, + ACTIONS(495), 11, + sym__template_args_end, anon_sym_DOT, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [7898] = 3, - ACTIONS(555), 1, - anon_sym_SLASH, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(553), 14, - anon_sym_SEMI, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7923] = 3, - ACTIONS(563), 1, + anon_sym_CARET, + [24188] = 3, + ACTIONS(465), 2, anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(561), 14, - anon_sym_SEMI, + ACTIONS(463), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7948] = 3, - ACTIONS(599), 2, + anon_sym_CARET, + [24211] = 3, + ACTIONS(505), 2, anon_sym_SLASH, anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(597), 13, - anon_sym_SEMI, + ACTIONS(503), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, @@ -27393,4494 +25510,4500 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_PIPE_PIPE, anon_sym_CARET, - [7973] = 3, - ACTIONS(547), 1, + [24234] = 3, + ACTIONS(469), 2, anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(545), 14, - anon_sym_SEMI, + ACTIONS(467), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, + anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [7998] = 3, - ACTIONS(595), 1, + anon_sym_CARET, + [24257] = 3, + ACTIONS(477), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(593), 14, + ACTIONS(475), 12, + sym__template_args_end, sym__shift_left, sym__shift_right, - anon_sym_SEMI, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [8023] = 3, - ACTIONS(595), 2, - anon_sym_SLASH, - anon_sym_PIPE, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(593), 13, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - [8048] = 3, - ACTIONS(559), 1, + [24280] = 3, + ACTIONS(441), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(557), 14, - anon_sym_SEMI, + ACTIONS(439), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, + anon_sym_LPAREN, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [8073] = 3, - ACTIONS(491), 1, + [24302] = 3, + ACTIONS(453), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(487), 14, - anon_sym_SEMI, + ACTIONS(451), 11, + sym__template_args_end, + anon_sym_DOT, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, + anon_sym_LPAREN, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [8098] = 2, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(557), 15, - sym__shift_left_assign, - sym__shift_right_assign, - anon_sym_EQ, - anon_sym_LBRACK, + [24324] = 6, + ACTIONS(457), 1, + anon_sym_SLASH, + ACTIONS(901), 1, anon_sym_DOT, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_CARET_EQ, - anon_sym_PLUS_PLUS, - anon_sym_DASH_DASH, - [8121] = 2, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(682), 15, - sym__shift_left_assign, - sym__shift_right_assign, - anon_sym_EQ, + ACTIONS(903), 1, anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_CARET_EQ, - anon_sym_PLUS_PLUS, - anon_sym_DASH_DASH, - [8144] = 3, - ACTIONS(515), 1, - anon_sym_SLASH, + STATE(598), 1, + sym_component_or_swizzle_specifier, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(513), 14, - anon_sym_SEMI, + ACTIONS(455), 8, + sym__template_args_end, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [8169] = 3, - ACTIONS(503), 2, - anon_sym_SLASH, - anon_sym_PIPE, + [24352] = 3, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(497), 13, + ACTIONS(907), 3, anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, + anon_sym_AT, anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_PIPE_PIPE, - anon_sym_CARET, - [8194] = 3, - ACTIONS(571), 1, - anon_sym_SLASH, + ACTIONS(905), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [24374] = 3, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(569), 14, + ACTIONS(911), 3, anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, + anon_sym_AT, anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, + ACTIONS(909), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [24396] = 4, + STATE(110), 1, + sym_additive_operator, + ACTIONS(817), 2, anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8219] = 3, - ACTIONS(543), 1, - anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(541), 14, + ACTIONS(815), 9, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, - anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [8244] = 3, - ACTIONS(531), 1, + [24420] = 6, + ACTIONS(449), 1, anon_sym_SLASH, + ACTIONS(901), 1, + anon_sym_DOT, + ACTIONS(903), 1, + anon_sym_LBRACK, + STATE(595), 1, + sym_component_or_swizzle_specifier, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(529), 14, - anon_sym_SEMI, + ACTIONS(443), 8, + sym__template_args_end, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [8269] = 3, - ACTIONS(519), 1, + [24448] = 6, + ACTIONS(461), 1, anon_sym_SLASH, + ACTIONS(901), 1, + anon_sym_DOT, + ACTIONS(903), 1, + anon_sym_LBRACK, + STATE(596), 1, + sym_component_or_swizzle_specifier, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(517), 14, - anon_sym_SEMI, + ACTIONS(459), 8, + sym__template_args_end, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [8294] = 3, - ACTIONS(527), 1, + [24476] = 3, + ACTIONS(582), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(525), 14, - anon_sym_SEMI, + ACTIONS(580), 10, + sym__template_args_end, + sym__shift_left, + sym__shift_right, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [8319] = 6, - ACTIONS(686), 1, - anon_sym_const, - ACTIONS(688), 1, - anon_sym_enable, - STATE(338), 1, - sym_enable_directive, - STATE(288), 2, - sym_global_directive, - aux_sym_translation_unit_repeat1, + [24497] = 3, + ACTIONS(915), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(684), 9, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_AT, - anon_sym_struct, - anon_sym_alias, + ACTIONS(913), 9, anon_sym_var, anon_sym_override, - anon_sym_const_assert, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, anon_sym_fn, - [8349] = 4, - ACTIONS(581), 1, - anon_sym_SLASH, - ACTIONS(691), 2, - sym__shift_left, - sym__shift_right, + sym_ident_pattern_token, + [24518] = 4, + ACTIONS(590), 1, + sym_ident_pattern_token, + STATE(317), 2, + sym_member_ident, + sym_swizzle_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(577), 11, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_PIPE_PIPE, - [8375] = 5, - ACTIONS(646), 1, - anon_sym_SLASH, - STATE(78), 1, - sym_multiplicative_operator, - ACTIONS(644), 2, - anon_sym_STAR, - anon_sym_PERCENT, + ACTIONS(917), 8, + aux_sym_swizzle_name_token1, + aux_sym_swizzle_name_token2, + aux_sym_swizzle_name_token3, + aux_sym_swizzle_name_token4, + aux_sym_swizzle_name_token5, + aux_sym_swizzle_name_token6, + aux_sym_swizzle_name_token7, + aux_sym_swizzle_name_token8, + [24541] = 4, + ACTIONS(919), 1, + sym_ident_pattern_token, + STATE(152), 2, + sym_member_ident, + sym_swizzle_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(642), 10, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(921), 8, + aux_sym_swizzle_name_token1, + aux_sym_swizzle_name_token2, + aux_sym_swizzle_name_token3, + aux_sym_swizzle_name_token4, + aux_sym_swizzle_name_token5, + aux_sym_swizzle_name_token6, + aux_sym_swizzle_name_token7, + aux_sym_swizzle_name_token8, + [24564] = 3, + ACTIONS(925), 2, + anon_sym_AT, anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8403] = 3, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(695), 6, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(693), 8, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8427] = 6, - ACTIONS(697), 1, - anon_sym_EQ, - ACTIONS(701), 1, - anon_sym_PLUS_PLUS, - ACTIONS(703), 1, - anon_sym_DASH_DASH, - STATE(31), 1, - sym_compound_assignment_operator, + ACTIONS(923), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [24585] = 3, + ACTIONS(501), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(699), 10, - sym__shift_left_assign, - sym__shift_right_assign, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_CARET_EQ, - [8457] = 5, - ACTIONS(646), 1, - anon_sym_SLASH, - STATE(78), 1, - sym_multiplicative_operator, - ACTIONS(644), 2, + ACTIONS(499), 10, + sym__template_args_end, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [24606] = 3, + ACTIONS(929), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(648), 10, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(927), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [24627] = 3, + ACTIONS(933), 2, + anon_sym_AT, anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8485] = 6, - ACTIONS(707), 1, - anon_sym_builtin, - ACTIONS(711), 1, - anon_sym_interpolate, - ACTIONS(713), 1, - anon_sym_workgroup_size, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(709), 5, - anon_sym_const, - anon_sym_invariant, - anon_sym_vertex, - anon_sym_fragment, - anon_sym_compute, - ACTIONS(705), 6, - anon_sym_align, - anon_sym_binding, - anon_sym_group, - anon_sym_id, - anon_sym_location, - anon_sym_size, - [8515] = 2, + ACTIONS(931), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [24648] = 3, + ACTIONS(937), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(715), 14, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(935), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [24669] = 3, + ACTIONS(941), 2, + anon_sym_AT, anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8537] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(717), 13, - sym__shift_left_assign, - sym__shift_right_assign, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_CARET_EQ, - anon_sym_PLUS_PLUS, - anon_sym_DASH_DASH, - [8558] = 3, - ACTIONS(599), 1, - anon_sym_SLASH, + ACTIONS(939), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [24690] = 4, + ACTIONS(943), 1, + sym_ident_pattern_token, + STATE(356), 2, + sym_member_ident, + sym_swizzle_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(597), 12, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8581] = 5, - ACTIONS(646), 1, - anon_sym_SLASH, - STATE(65), 1, - sym_multiplicative_operator, - ACTIONS(644), 2, - anon_sym_STAR, - anon_sym_PERCENT, + ACTIONS(945), 8, + aux_sym_swizzle_name_token1, + aux_sym_swizzle_name_token2, + aux_sym_swizzle_name_token3, + aux_sym_swizzle_name_token4, + aux_sym_swizzle_name_token5, + aux_sym_swizzle_name_token6, + aux_sym_swizzle_name_token7, + aux_sym_swizzle_name_token8, + [24713] = 4, + ACTIONS(947), 1, + sym_ident_pattern_token, + STATE(314), 2, + sym_member_ident, + sym_swizzle_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(648), 9, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_PIPE_PIPE, - [8608] = 3, + ACTIONS(949), 8, + aux_sym_swizzle_name_token1, + aux_sym_swizzle_name_token2, + aux_sym_swizzle_name_token3, + aux_sym_swizzle_name_token4, + aux_sym_swizzle_name_token5, + aux_sym_swizzle_name_token6, + aux_sym_swizzle_name_token7, + aux_sym_swizzle_name_token8, + [24736] = 4, + ACTIONS(951), 1, + sym_ident_pattern_token, + STATE(442), 2, + sym_member_ident, + sym_swizzle_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(719), 6, - sym__less_than, - sym__less_than_equal, - sym__greater_than, - sym__greater_than_equal, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(693), 7, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_PIPE_PIPE, - [8631] = 3, - ACTIONS(495), 1, - anon_sym_SLASH, + ACTIONS(953), 8, + aux_sym_swizzle_name_token1, + aux_sym_swizzle_name_token2, + aux_sym_swizzle_name_token3, + aux_sym_swizzle_name_token4, + aux_sym_swizzle_name_token5, + aux_sym_swizzle_name_token6, + aux_sym_swizzle_name_token7, + aux_sym_swizzle_name_token8, + [24759] = 4, + ACTIONS(955), 1, + sym_ident_pattern_token, + STATE(215), 2, + sym_member_ident, + sym_swizzle_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(493), 12, - sym__template_args_end, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [8654] = 2, + ACTIONS(957), 8, + aux_sym_swizzle_name_token1, + aux_sym_swizzle_name_token2, + aux_sym_swizzle_name_token3, + aux_sym_swizzle_name_token4, + aux_sym_swizzle_name_token5, + aux_sym_swizzle_name_token6, + aux_sym_swizzle_name_token7, + aux_sym_swizzle_name_token8, + [24782] = 3, + ACTIONS(961), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(593), 13, - sym__shift_left_assign, - sym__shift_right_assign, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_CARET_EQ, - anon_sym_PLUS_PLUS, - anon_sym_DASH_DASH, - [8675] = 3, - STATE(422), 1, - sym_builtin_value_name, + ACTIONS(959), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [24803] = 3, + ACTIONS(965), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(721), 12, - anon_sym_vertex_index, - anon_sym_instance_index, - anon_sym_position, - anon_sym_front_facing, - anon_sym_frag_depth, - anon_sym_local_invocation_id, - anon_sym_local_invocation_index, - anon_sym_global_invocation_id, - anon_sym_workgroup_id, - anon_sym_num_workgroups, - anon_sym_sample_index, - anon_sym_sample_mask, - [8698] = 3, - ACTIONS(581), 1, - anon_sym_SLASH, + ACTIONS(963), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [24824] = 4, + ACTIONS(967), 1, + sym_ident_pattern_token, + STATE(444), 2, + sym_member_ident, + sym_swizzle_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(577), 12, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(969), 8, + aux_sym_swizzle_name_token1, + aux_sym_swizzle_name_token2, + aux_sym_swizzle_name_token3, + aux_sym_swizzle_name_token4, + aux_sym_swizzle_name_token5, + aux_sym_swizzle_name_token6, + aux_sym_swizzle_name_token7, + aux_sym_swizzle_name_token8, + [24847] = 3, + ACTIONS(973), 2, + anon_sym_AT, anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8721] = 3, - ACTIONS(652), 1, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(971), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [24868] = 3, + ACTIONS(586), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(650), 12, - anon_sym_SEMI, + ACTIONS(584), 10, + sym__template_args_end, + sym__shift_left, + sym__shift_right, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [8744] = 3, - ACTIONS(591), 1, - anon_sym_SLASH, + [24889] = 3, + ACTIONS(977), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(589), 12, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(975), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [24910] = 3, + ACTIONS(981), 2, + anon_sym_AT, anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8767] = 3, - ACTIONS(603), 1, - anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(601), 12, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(979), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [24931] = 3, + ACTIONS(985), 2, + anon_sym_AT, anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8790] = 5, - ACTIONS(646), 1, - anon_sym_SLASH, - STATE(65), 1, - sym_multiplicative_operator, - ACTIONS(644), 2, - anon_sym_STAR, - anon_sym_PERCENT, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(642), 9, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(983), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [24952] = 3, + ACTIONS(989), 2, + anon_sym_AT, anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_PIPE_PIPE, - [8817] = 3, - ACTIONS(595), 1, - anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(593), 12, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(987), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [24973] = 3, + ACTIONS(993), 2, + anon_sym_AT, anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8840] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(497), 13, - sym__shift_left_assign, - sym__shift_right_assign, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_CARET_EQ, - anon_sym_PLUS_PLUS, - anon_sym_DASH_DASH, - [8861] = 3, - ACTIONS(503), 1, - anon_sym_SLASH, + ACTIONS(991), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [24994] = 3, + ACTIONS(997), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(497), 12, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(995), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [25015] = 3, + ACTIONS(1001), 2, + anon_sym_AT, anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8884] = 6, - ACTIONS(511), 1, - anon_sym_SLASH, - ACTIONS(723), 1, - anon_sym_LBRACK, - ACTIONS(725), 1, - anon_sym_DOT, - STATE(352), 1, - sym_component_or_swizzle_specifier, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(509), 8, - sym__template_args_end, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [8912] = 6, - ACTIONS(503), 1, - anon_sym_SLASH, - ACTIONS(723), 1, - anon_sym_LBRACK, - ACTIONS(725), 1, - anon_sym_DOT, - STATE(353), 1, - sym_component_or_swizzle_specifier, + ACTIONS(999), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [25036] = 3, + ACTIONS(1005), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(497), 8, - sym__template_args_end, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [8940] = 6, - ACTIONS(507), 1, - anon_sym_SLASH, - ACTIONS(723), 1, - anon_sym_LBRACK, - ACTIONS(725), 1, - anon_sym_DOT, - STATE(349), 1, - sym_component_or_swizzle_specifier, + ACTIONS(1003), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [25057] = 3, + ACTIONS(1009), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(505), 8, - sym__template_args_end, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [8968] = 4, - ACTIONS(489), 1, - anon_sym_LPAREN, - ACTIONS(491), 1, - anon_sym_SLASH, + ACTIONS(1007), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [25078] = 3, + ACTIONS(1013), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(487), 10, - sym__template_args_end, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [8992] = 4, - ACTIONS(727), 1, + ACTIONS(1011), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, sym_ident_pattern_token, - STATE(209), 2, - sym_member_ident, - sym_swizzle_name, + [25099] = 3, + ACTIONS(1017), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(729), 8, - anon_sym_SLASH_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - [9015] = 3, - ACTIONS(567), 1, + ACTIONS(1015), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [25120] = 3, + ACTIONS(457), 2, anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(565), 10, + ACTIONS(455), 9, sym__template_args_end, - anon_sym_LBRACK, - anon_sym_DOT, + anon_sym_COMMA, anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, + anon_sym_PIPE_PIPE, anon_sym_CARET, - [9036] = 4, - STATE(63), 1, - sym_additive_operator, - ACTIONS(666), 2, - anon_sym_DASH, - anon_sym_PLUS, + [25141] = 3, + ACTIONS(1021), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(664), 8, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(1019), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [25162] = 3, + ACTIONS(1025), 2, + anon_sym_AT, anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [9059] = 3, - ACTIONS(539), 1, - anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(537), 10, - sym__template_args_end, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9080] = 3, - ACTIONS(543), 1, + ACTIONS(1023), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [25183] = 3, + ACTIONS(1029), 2, + anon_sym_AT, + anon_sym_LBRACE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(1027), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [25204] = 3, + ACTIONS(586), 2, anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(541), 10, + ACTIONS(584), 9, sym__template_args_end, - anon_sym_LBRACK, - anon_sym_DOT, + anon_sym_COMMA, anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, + anon_sym_PIPE_PIPE, anon_sym_CARET, - [9101] = 3, - ACTIONS(519), 1, + [25225] = 3, + ACTIONS(473), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(517), 10, + ACTIONS(471), 10, sym__template_args_end, - anon_sym_LBRACK, anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9122] = 3, - ACTIONS(551), 1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25246] = 3, + ACTIONS(543), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(549), 10, + ACTIONS(541), 10, sym__template_args_end, - anon_sym_LBRACK, anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9143] = 4, - ACTIONS(731), 1, - sym_ident_pattern_token, - STATE(204), 2, - sym_member_ident, - sym_swizzle_name, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(733), 8, - anon_sym_SLASH_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - [9166] = 3, - ACTIONS(547), 1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25267] = 3, + ACTIONS(578), 2, anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(545), 10, + ACTIONS(576), 9, sym__template_args_end, - anon_sym_LBRACK, - anon_sym_DOT, + anon_sym_COMMA, anon_sym_DASH, anon_sym_STAR, anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, + anon_sym_PIPE_PIPE, anon_sym_CARET, - [9187] = 3, - ACTIONS(563), 1, + [25288] = 3, + ACTIONS(457), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(561), 10, + ACTIONS(455), 10, sym__template_args_end, - anon_sym_LBRACK, - anon_sym_DOT, + sym__shift_left, + sym__shift_right, + anon_sym_COMMA, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9208] = 4, - ACTIONS(735), 1, - sym_ident_pattern_token, - STATE(248), 2, - sym_member_ident, - sym_swizzle_name, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(737), 8, - anon_sym_SLASH_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - [9231] = 4, - ACTIONS(739), 1, - sym_ident_pattern_token, - STATE(143), 2, - sym_member_ident, - sym_swizzle_name, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25309] = 3, + ACTIONS(1033), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(741), 8, - anon_sym_SLASH_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - [9254] = 3, - ACTIONS(745), 1, - anon_sym_const, + ACTIONS(1031), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [25330] = 3, + ACTIONS(1037), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(743), 10, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_AT, - anon_sym_struct, - anon_sym_alias, + ACTIONS(1035), 9, anon_sym_var, anon_sym_override, - anon_sym_const_assert, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, anon_sym_fn, - anon_sym_enable, - [9275] = 3, - ACTIONS(535), 1, + sym_ident_pattern_token, + [25351] = 4, + ACTIONS(564), 1, anon_sym_SLASH, + ACTIONS(1039), 2, + sym__shift_left, + sym__shift_right, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(533), 10, + ACTIONS(560), 8, sym__template_args_end, - anon_sym_LBRACK, - anon_sym_DOT, + anon_sym_COMMA, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9296] = 3, - ACTIONS(491), 1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25374] = 3, + ACTIONS(509), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(487), 10, + ACTIONS(507), 10, sym__template_args_end, - anon_sym_LBRACK, anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9317] = 3, - ACTIONS(515), 1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25395] = 3, + ACTIONS(539), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(513), 10, + ACTIONS(537), 10, sym__template_args_end, - anon_sym_LBRACK, anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9338] = 3, - ACTIONS(531), 1, - anon_sym_SLASH, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25416] = 4, + ACTIONS(1041), 1, + sym_ident_pattern_token, + STATE(224), 2, + sym_member_ident, + sym_swizzle_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(529), 10, - sym__template_args_end, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9359] = 3, - ACTIONS(523), 1, - anon_sym_SLASH, + ACTIONS(1043), 8, + aux_sym_swizzle_name_token1, + aux_sym_swizzle_name_token2, + aux_sym_swizzle_name_token3, + aux_sym_swizzle_name_token4, + aux_sym_swizzle_name_token5, + aux_sym_swizzle_name_token6, + aux_sym_swizzle_name_token7, + aux_sym_swizzle_name_token8, + [25439] = 4, + ACTIONS(1045), 1, + sym_ident_pattern_token, + STATE(373), 2, + sym_member_ident, + sym_swizzle_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(521), 10, - sym__template_args_end, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_AMP, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9380] = 3, - ACTIONS(555), 1, + ACTIONS(1047), 8, + aux_sym_swizzle_name_token1, + aux_sym_swizzle_name_token2, + aux_sym_swizzle_name_token3, + aux_sym_swizzle_name_token4, + aux_sym_swizzle_name_token5, + aux_sym_swizzle_name_token6, + aux_sym_swizzle_name_token7, + aux_sym_swizzle_name_token8, + [25462] = 3, + ACTIONS(497), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(553), 10, + ACTIONS(495), 10, sym__template_args_end, - anon_sym_LBRACK, anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9401] = 4, - ACTIONS(747), 1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25483] = 4, + ACTIONS(1049), 1, sym_ident_pattern_token, - STATE(313), 2, + STATE(505), 2, sym_member_ident, sym_swizzle_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(749), 8, - anon_sym_SLASH_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - [9424] = 4, - ACTIONS(751), 1, - sym_ident_pattern_token, - STATE(247), 2, - sym_member_ident, - sym_swizzle_name, + ACTIONS(1051), 8, + aux_sym_swizzle_name_token1, + aux_sym_swizzle_name_token2, + aux_sym_swizzle_name_token3, + aux_sym_swizzle_name_token4, + aux_sym_swizzle_name_token5, + aux_sym_swizzle_name_token6, + aux_sym_swizzle_name_token7, + aux_sym_swizzle_name_token8, + [25506] = 3, + ACTIONS(1055), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(753), 8, - anon_sym_SLASH_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - [9447] = 3, - ACTIONS(527), 1, + ACTIONS(1053), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [25527] = 3, + ACTIONS(493), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(525), 10, + ACTIONS(491), 10, sym__template_args_end, - anon_sym_LBRACK, anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9468] = 3, - ACTIONS(559), 1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25548] = 3, + ACTIONS(437), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(557), 10, + ACTIONS(433), 10, sym__template_args_end, - anon_sym_LBRACK, anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25569] = 3, + ACTIONS(574), 2, + anon_sym_SLASH, anon_sym_PIPE, - anon_sym_CARET, - [9489] = 3, - ACTIONS(757), 1, - anon_sym_const, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(755), 10, - ts_builtin_sym_end, - anon_sym_SEMI, + ACTIONS(572), 9, + sym__template_args_end, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [25590] = 3, + ACTIONS(1059), 2, anon_sym_AT, - anon_sym_struct, - anon_sym_alias, + anon_sym_LBRACE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(1057), 9, anon_sym_var, anon_sym_override, - anon_sym_const_assert, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, anon_sym_fn, - anon_sym_enable, - [9510] = 3, - ACTIONS(571), 1, + sym_ident_pattern_token, + [25611] = 3, + ACTIONS(469), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(569), 10, + ACTIONS(467), 10, sym__template_args_end, - anon_sym_LBRACK, anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9531] = 4, - ACTIONS(759), 1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25632] = 4, + ACTIONS(1061), 1, sym_ident_pattern_token, - STATE(172), 2, + STATE(389), 2, sym_member_ident, sym_swizzle_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(761), 8, - anon_sym_SLASH_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_LBRACKrgba_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - anon_sym_SLASH_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_LBRACKxyzw_RBRACK_SLASH, - [9554] = 3, - ACTIONS(765), 1, - anon_sym_const, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - ACTIONS(763), 9, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_AT, - anon_sym_struct, - anon_sym_alias, - anon_sym_var, - anon_sym_override, - anon_sym_const_assert, - anon_sym_fn, - [9574] = 3, - ACTIONS(769), 1, - anon_sym_const, + ACTIONS(1063), 8, + aux_sym_swizzle_name_token1, + aux_sym_swizzle_name_token2, + aux_sym_swizzle_name_token3, + aux_sym_swizzle_name_token4, + aux_sym_swizzle_name_token5, + aux_sym_swizzle_name_token6, + aux_sym_swizzle_name_token7, + aux_sym_swizzle_name_token8, + [25655] = 3, + ACTIONS(574), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(767), 9, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_AT, - anon_sym_struct, - anon_sym_alias, - anon_sym_var, - anon_sym_override, - anon_sym_const_assert, - anon_sym_fn, - [9594] = 3, - ACTIONS(773), 1, - anon_sym_const, + ACTIONS(572), 10, + sym__template_args_end, + sym__shift_left, + sym__shift_right, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25676] = 3, + ACTIONS(582), 2, + anon_sym_SLASH, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(771), 9, - ts_builtin_sym_end, - anon_sym_SEMI, + ACTIONS(580), 9, + sym__template_args_end, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + [25697] = 3, + ACTIONS(1067), 2, anon_sym_AT, - anon_sym_struct, - anon_sym_alias, - anon_sym_var, - anon_sym_override, - anon_sym_const_assert, - anon_sym_fn, - [9614] = 3, - ACTIONS(777), 1, - anon_sym_const, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(775), 9, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_AT, - anon_sym_struct, - anon_sym_alias, + ACTIONS(1065), 9, anon_sym_var, anon_sym_override, - anon_sym_const_assert, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, anon_sym_fn, - [9634] = 3, - ACTIONS(781), 1, - anon_sym_const, + sym_ident_pattern_token, + [25718] = 3, + ACTIONS(485), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(779), 9, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_AT, - anon_sym_struct, - anon_sym_alias, - anon_sym_var, - anon_sym_override, - anon_sym_const_assert, - anon_sym_fn, - [9654] = 4, - STATE(62), 1, + ACTIONS(483), 10, + sym__template_args_end, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25739] = 4, + STATE(108), 1, sym_additive_operator, - ACTIONS(666), 2, + ACTIONS(817), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(664), 7, + ACTIONS(815), 8, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_RBRACK, anon_sym_PIPE_PIPE, - [9676] = 3, - ACTIONS(783), 1, - anon_sym_const, + [25762] = 3, + ACTIONS(1071), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(613), 9, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_AT, - anon_sym_struct, - anon_sym_alias, + ACTIONS(1069), 9, anon_sym_var, anon_sym_override, - anon_sym_const_assert, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, anon_sym_fn, - [9696] = 3, - ACTIONS(787), 1, - anon_sym_const, + sym_ident_pattern_token, + [25783] = 3, + ACTIONS(1075), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(785), 9, - ts_builtin_sym_end, - anon_sym_SEMI, + ACTIONS(1073), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [25804] = 3, + ACTIONS(1079), 2, anon_sym_AT, - anon_sym_struct, - anon_sym_alias, + anon_sym_LBRACE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(1077), 9, anon_sym_var, anon_sym_override, - anon_sym_const_assert, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, anon_sym_fn, - [9716] = 3, - ACTIONS(503), 1, + sym_ident_pattern_token, + [25825] = 3, + ACTIONS(481), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(497), 8, + ACTIONS(479), 10, sym__template_args_end, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9735] = 3, - ACTIONS(599), 1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25846] = 3, + ACTIONS(465), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(597), 8, + ACTIONS(463), 10, sym__template_args_end, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9754] = 3, - ACTIONS(603), 1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25867] = 3, + ACTIONS(578), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(601), 8, + ACTIONS(576), 10, sym__template_args_end, + sym__shift_left, + sym__shift_right, + anon_sym_COMMA, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9773] = 3, - ACTIONS(591), 1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25888] = 3, + ACTIONS(477), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(589), 8, + ACTIONS(475), 10, sym__template_args_end, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9792] = 3, - ACTIONS(595), 1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25909] = 3, + ACTIONS(1083), 2, + anon_sym_AT, + anon_sym_LBRACE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(1081), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [25930] = 3, + ACTIONS(505), 1, anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(593), 8, + ACTIONS(503), 10, sym__template_args_end, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, anon_sym_PERCENT, anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_CARET, - [9811] = 6, - ACTIONS(581), 1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [25951] = 3, + ACTIONS(1087), 2, + anon_sym_AT, + anon_sym_LBRACE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(1085), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [25972] = 3, + ACTIONS(1091), 2, + anon_sym_AT, + anon_sym_LBRACE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(1089), 9, + anon_sym_var, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, + anon_sym_fn, + sym_ident_pattern_token, + [25993] = 3, + ACTIONS(489), 1, anon_sym_SLASH, - ACTIONS(585), 1, - anon_sym_CARET, - ACTIONS(789), 1, - anon_sym_AMP, - ACTIONS(791), 1, - anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(577), 5, + ACTIONS(487), 10, sym__template_args_end, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_LBRACK, anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, anon_sym_PLUS, - [9836] = 8, - ACTIONS(9), 1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [26014] = 3, + ACTIONS(1095), 2, anon_sym_AT, - ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(1093), 9, anon_sym_var, - ACTIONS(23), 1, + anon_sym_override, + anon_sym_if, + anon_sym_switch, + anon_sym_loop, + anon_sym_for, + anon_sym_while, anon_sym_fn, - ACTIONS(793), 1, + sym_ident_pattern_token, + [26035] = 3, + ACTIONS(1099), 1, + anon_sym_const, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(1097), 9, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_struct, + anon_sym_alias, + anon_sym_var, anon_sym_override, - STATE(493), 1, - sym_variable_decl, - STATE(497), 1, - sym_function_header, - STATE(133), 2, - sym_attribute, - aux_sym_struct_member_repeat1, + anon_sym_const_assert, + anon_sym_fn, + [26055] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [9864] = 4, - ACTIONS(797), 1, + ACTIONS(853), 10, + sym__template_args_end, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, anon_sym_AMP_AMP, - ACTIONS(799), 1, anon_sym_PIPE_PIPE, + [26073] = 5, + ACTIONS(708), 1, + anon_sym_SLASH, + STATE(133), 1, + sym_multiplicative_operator, + ACTIONS(706), 2, + anon_sym_STAR, + anon_sym_PERCENT, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(795), 6, - anon_sym_SEMI, + ACTIONS(704), 6, + sym__template_args_end, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - [9884] = 8, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(801), 1, - sym_ident_pattern_token, - ACTIONS(803), 1, - anon_sym_RPAREN, - STATE(441), 1, - sym_param, - STATE(538), 1, - sym_param_list, - STATE(539), 1, - sym_ident, - STATE(399), 2, - sym_attribute, - aux_sym_struct_member_repeat1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [26097] = 3, + ACTIONS(1103), 1, + anon_sym_const, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [9912] = 2, + ACTIONS(1101), 9, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_AT, + anon_sym_struct, + anon_sym_alias, + anon_sym_var, + anon_sym_override, + anon_sym_const_assert, + anon_sym_fn, + [26117] = 3, + ACTIONS(1105), 1, + anon_sym_const, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(715), 8, + ACTIONS(231), 9, + ts_builtin_sym_end, anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [9928] = 2, + anon_sym_AT, + anon_sym_struct, + anon_sym_alias, + anon_sym_var, + anon_sym_override, + anon_sym_const_assert, + anon_sym_fn, + [26137] = 3, + ACTIONS(1109), 1, + anon_sym_const, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(805), 8, + ACTIONS(1107), 9, + ts_builtin_sym_end, anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [9944] = 2, + anon_sym_AT, + anon_sym_struct, + anon_sym_alias, + anon_sym_var, + anon_sym_override, + anon_sym_const_assert, + anon_sym_fn, + [26157] = 3, + ACTIONS(1113), 1, + anon_sym_const, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(807), 7, + ACTIONS(1111), 9, + ts_builtin_sym_end, anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_EQ, - [9959] = 2, + anon_sym_AT, + anon_sym_struct, + anon_sym_alias, + anon_sym_var, + anon_sym_override, + anon_sym_const_assert, + anon_sym_fn, + [26177] = 3, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(809), 7, - anon_sym_SEMI, - anon_sym_LPAREN, + ACTIONS(843), 4, + sym__template_args_end, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_EQ, - [9974] = 7, - ACTIONS(801), 1, - sym_ident_pattern_token, - ACTIONS(811), 1, - anon_sym_LPAREN, - STATE(413), 1, - sym_core_lhs_expression, - STATE(428), 1, - sym_ident, - STATE(557), 1, - sym_lhs_expression, - ACTIONS(813), 2, - anon_sym_STAR, - anon_sym_AMP, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + ACTIONS(1115), 6, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [26197] = 4, + ACTIONS(564), 1, + anon_sym_SLASH, + ACTIONS(1117), 2, + sym__shift_left, + sym__shift_right, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [9999] = 2, + ACTIONS(560), 7, + sym__template_args_end, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + [26219] = 3, + ACTIONS(1121), 1, + anon_sym_const, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(815), 7, + ACTIONS(1119), 9, + ts_builtin_sym_end, anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_EQ, - [10014] = 5, - ACTIONS(646), 1, + anon_sym_AT, + anon_sym_struct, + anon_sym_alias, + anon_sym_var, + anon_sym_override, + anon_sym_const_assert, + anon_sym_fn, + [26239] = 5, + ACTIONS(708), 1, anon_sym_SLASH, - STATE(77), 1, + STATE(133), 1, sym_multiplicative_operator, - ACTIONS(644), 2, + ACTIONS(706), 2, anon_sym_STAR, anon_sym_PERCENT, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(642), 3, + ACTIONS(716), 6, sym__template_args_end, + anon_sym_COMMA, anon_sym_DASH, anon_sym_PLUS, - [10035] = 7, - ACTIONS(801), 1, - sym_ident_pattern_token, - ACTIONS(811), 1, - anon_sym_LPAREN, - STATE(413), 1, - sym_core_lhs_expression, - STATE(428), 1, - sym_ident, - STATE(577), 1, - sym_lhs_expression, - ACTIONS(813), 2, - anon_sym_STAR, - anon_sym_AMP, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - [10060] = 2, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [26263] = 3, + ACTIONS(1125), 1, + anon_sym_const, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(817), 7, + ACTIONS(1123), 9, + ts_builtin_sym_end, anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_EQ, - [10075] = 6, - ACTIONS(819), 1, - anon_sym_RBRACE, - ACTIONS(821), 1, - anon_sym_case, - ACTIONS(823), 1, - anon_sym_default, - STATE(382), 2, - sym_switch_body, - aux_sym_switch_statement_repeat1, - STATE(439), 2, - sym_case_clause, - sym_default_alone_clause, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - [10098] = 3, - ACTIONS(827), 1, - anon_sym_CARET, + anon_sym_AT, + anon_sym_struct, + anon_sym_alias, + anon_sym_var, + anon_sym_override, + anon_sym_const_assert, + anon_sym_fn, + [26283] = 3, + ACTIONS(564), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(825), 6, - anon_sym_SEMI, + ACTIONS(560), 8, + sym__template_args_end, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - [10115] = 7, - ACTIONS(105), 1, - anon_sym_LPAREN, - ACTIONS(829), 1, - sym_ident_pattern_token, - STATE(250), 1, - sym_core_lhs_expression, - STATE(263), 1, - sym_ident, - STATE(296), 1, - sym_lhs_expression, - ACTIONS(115), 2, + anon_sym_DASH, anon_sym_STAR, - anon_sym_AMP, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [26302] = 3, + ACTIONS(744), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10140] = 7, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(801), 1, - sym_ident_pattern_token, - ACTIONS(831), 1, - anon_sym_RPAREN, - STATE(487), 1, - sym_param, - STATE(539), 1, - sym_ident, - STATE(399), 2, - sym_attribute, - aux_sym_struct_member_repeat1, + ACTIONS(742), 8, + sym__template_args_end, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [26321] = 5, + ACTIONS(708), 1, + anon_sym_SLASH, + STATE(119), 1, + sym_multiplicative_operator, + ACTIONS(706), 2, + anon_sym_STAR, + anon_sym_PERCENT, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10165] = 7, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(731), 1, - sym_ident_pattern_token, - ACTIONS(833), 1, - anon_sym_RBRACE, - STATE(494), 1, - sym_struct_member, - STATE(545), 1, - sym_member_ident, - STATE(402), 2, - sym_attribute, - aux_sym_struct_member_repeat1, + ACTIONS(704), 5, + sym__template_args_end, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + [26344] = 3, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10190] = 2, + ACTIONS(843), 3, + sym__template_args_end, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + ACTIONS(1127), 6, + sym__less_than, + sym__less_than_equal, + sym__greater_than, + sym__greater_than_equal, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [26363] = 3, + ACTIONS(578), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(835), 7, - anon_sym_SEMI, - anon_sym_LPAREN, + ACTIONS(576), 8, + sym__template_args_end, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_EQ, - [10205] = 5, - ACTIONS(646), 1, - anon_sym_SLASH, - STATE(77), 1, - sym_multiplicative_operator, - ACTIONS(644), 2, + anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [26382] = 3, + ACTIONS(457), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(648), 3, + ACTIONS(455), 8, sym__template_args_end, + anon_sym_COMMA, anon_sym_DASH, - anon_sym_PLUS, - [10226] = 7, - ACTIONS(801), 1, - sym_ident_pattern_token, - ACTIONS(811), 1, - anon_sym_LPAREN, - STATE(413), 1, - sym_core_lhs_expression, - STATE(428), 1, - sym_ident, - STATE(537), 1, - sym_lhs_expression, - ACTIONS(813), 2, anon_sym_STAR, - anon_sym_AMP, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - [10251] = 3, - ACTIONS(839), 1, + anon_sym_PERCENT, + anon_sym_PLUS, anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [26401] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(837), 6, + ACTIONS(1129), 9, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_RBRACK, - [10268] = 7, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(801), 1, - sym_ident_pattern_token, - ACTIONS(841), 1, - anon_sym_RPAREN, - STATE(487), 1, - sym_param, - STATE(539), 1, - sym_ident, - STATE(399), 2, - sym_attribute, - aux_sym_struct_member_repeat1, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - [10293] = 7, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(731), 1, - sym_ident_pattern_token, - ACTIONS(843), 1, - anon_sym_RBRACE, - STATE(494), 1, - sym_struct_member, - STATE(545), 1, - sym_member_ident, - STATE(402), 2, - sym_attribute, - aux_sym_struct_member_repeat1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [26418] = 3, + ACTIONS(586), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10318] = 3, - ACTIONS(845), 1, + ACTIONS(584), 8, + sym__template_args_end, + anon_sym_COMMA, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [26437] = 4, + ACTIONS(1133), 1, + anon_sym_AMP_AMP, + ACTIONS(1135), 1, anon_sym_PIPE_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(837), 6, + ACTIONS(1131), 7, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_RBRACK, - [10335] = 2, + [26458] = 5, + ACTIONS(708), 1, + anon_sym_SLASH, + STATE(119), 1, + sym_multiplicative_operator, + ACTIONS(706), 2, + anon_sym_STAR, + anon_sym_PERCENT, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(847), 7, - anon_sym_SEMI, - anon_sym_LPAREN, + ACTIONS(716), 5, + sym__template_args_end, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_EQ, - [10350] = 2, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + [26481] = 3, + ACTIONS(582), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(849), 7, - anon_sym_SEMI, - anon_sym_LPAREN, + ACTIONS(580), 8, + sym__template_args_end, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_EQ, - [10365] = 3, - ACTIONS(851), 1, - anon_sym_PIPE, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [26500] = 3, + ACTIONS(574), 1, + anon_sym_SLASH, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(825), 6, - anon_sym_SEMI, + ACTIONS(572), 8, + sym__template_args_end, anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACE, - anon_sym_COLON, - anon_sym_RBRACK, - [10382] = 6, - ACTIONS(853), 1, - anon_sym_RBRACE, - ACTIONS(855), 1, - anon_sym_case, - ACTIONS(858), 1, - anon_sym_default, - STATE(382), 2, - sym_switch_body, - aux_sym_switch_statement_repeat1, - STATE(439), 2, - sym_case_clause, - sym_default_alone_clause, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - [10405] = 2, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [26519] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(861), 7, + ACTIONS(853), 9, anon_sym_SEMI, - anon_sym_LPAREN, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_EQ, - [10420] = 2, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [26536] = 3, + ACTIONS(1139), 1, + anon_sym_AMP_AMP, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(863), 7, + ACTIONS(1137), 7, anon_sym_SEMI, - anon_sym_LPAREN, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_EQ, - [10435] = 2, + anon_sym_COLON, + anon_sym_RBRACK, + [26554] = 3, + ACTIONS(1141), 1, + anon_sym_PIPE_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(865), 7, + ACTIONS(1137), 7, anon_sym_SEMI, - anon_sym_LPAREN, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_EQ, - [10450] = 2, + anon_sym_COLON, + anon_sym_RBRACK, + [26572] = 3, + ACTIONS(1145), 1, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(867), 7, + ACTIONS(1143), 7, anon_sym_SEMI, - anon_sym_LPAREN, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_EQ, - [10465] = 3, - ACTIONS(869), 1, + anon_sym_COLON, + anon_sym_RBRACK, + [26590] = 3, + ACTIONS(1147), 1, anon_sym_AMP, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(825), 6, + ACTIONS(1143), 7, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_RBRACK, - [10482] = 2, + [26608] = 3, + ACTIONS(1149), 1, + anon_sym_CARET, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(871), 6, + ACTIONS(1143), 7, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_EQ, - [10496] = 3, - ACTIONS(652), 1, - anon_sym_SLASH, + anon_sym_COLON, + anon_sym_RBRACK, + [26626] = 7, + ACTIONS(616), 1, + sym_ident_pattern_token, + ACTIONS(1151), 1, + anon_sym_LPAREN, + STATE(634), 1, + sym_core_lhs_expression, + STATE(753), 1, + sym_lhs_expression, + STATE(754), 1, + sym_ident, + ACTIONS(1153), 2, + anon_sym_STAR, + anon_sym_AMP, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(650), 5, - sym__template_args_end, - anon_sym_DASH, + [26651] = 7, + ACTIONS(35), 1, + anon_sym_LPAREN, + ACTIONS(616), 1, + sym_ident_pattern_token, + STATE(406), 1, + sym_core_lhs_expression, + STATE(462), 1, + sym_lhs_expression, + STATE(780), 1, + sym_ident, + ACTIONS(45), 2, anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - [10512] = 3, - STATE(651), 1, - sym_address_space, + anon_sym_AMP, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(873), 5, - anon_sym_function, - anon_sym_private, - anon_sym_workgroup, - anon_sym_uniform, - anon_sym_storage, - [10528] = 6, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(731), 1, + [26676] = 7, + ACTIONS(616), 1, sym_ident_pattern_token, - STATE(494), 1, - sym_struct_member, - STATE(545), 1, - sym_member_ident, - STATE(402), 2, - sym_attribute, - aux_sym_struct_member_repeat1, + ACTIONS(1151), 1, + anon_sym_LPAREN, + STATE(634), 1, + sym_core_lhs_expression, + STATE(754), 1, + sym_ident, + STATE(781), 1, + sym_lhs_expression, + ACTIONS(1153), 2, + anon_sym_STAR, + anon_sym_AMP, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10550] = 5, - ACTIONS(821), 1, + [26701] = 4, + STATE(109), 1, + sym_additive_operator, + ACTIONS(817), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(815), 4, + sym__template_args_end, + anon_sym_COMMA, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [26720] = 6, + ACTIONS(1155), 1, + anon_sym_RBRACE, + ACTIONS(1157), 1, anon_sym_case, - ACTIONS(823), 1, + ACTIONS(1159), 1, anon_sym_default, - STATE(367), 2, - sym_switch_body, - aux_sym_switch_statement_repeat1, - STATE(439), 2, + STATE(617), 2, + sym_switch_clause, + aux_sym_switch_body_repeat1, + STATE(684), 2, + sym_case_clause, + sym_default_alone_clause, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + [26743] = 6, + ACTIONS(1157), 1, + anon_sym_case, + ACTIONS(1159), 1, + anon_sym_default, + ACTIONS(1161), 1, + anon_sym_RBRACE, + STATE(617), 2, + sym_switch_clause, + aux_sym_switch_body_repeat1, + STATE(684), 2, sym_case_clause, sym_default_alone_clause, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10570] = 2, + [26766] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(795), 6, + ACTIONS(1131), 7, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_AT, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_COLON, anon_sym_RBRACK, - [10584] = 6, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(801), 1, + [26781] = 7, + ACTIONS(616), 1, sym_ident_pattern_token, - STATE(487), 1, - sym_param, - STATE(539), 1, + ACTIONS(1151), 1, + anon_sym_LPAREN, + STATE(634), 1, + sym_core_lhs_expression, + STATE(754), 1, sym_ident, - STATE(399), 2, - sym_attribute, - aux_sym_struct_member_repeat1, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - [10606] = 3, - STATE(527), 1, - sym_address_space, + STATE(895), 1, + sym_lhs_expression, + ACTIONS(1153), 2, + anon_sym_STAR, + anon_sym_AMP, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(873), 5, - anon_sym_function, - anon_sym_private, - anon_sym_workgroup, - anon_sym_uniform, - anon_sym_storage, - [10622] = 6, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(731), 1, - sym_ident_pattern_token, - STATE(425), 1, - sym_struct_member, - STATE(545), 1, - sym_member_ident, - STATE(402), 2, - sym_attribute, - aux_sym_struct_member_repeat1, + [26806] = 6, + ACTIONS(1163), 1, + anon_sym_RBRACE, + ACTIONS(1165), 1, + anon_sym_case, + ACTIONS(1168), 1, + anon_sym_default, + STATE(617), 2, + sym_switch_clause, + aux_sym_switch_body_repeat1, + STATE(684), 2, + sym_case_clause, + sym_default_alone_clause, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10644] = 3, - ACTIONS(581), 1, - anon_sym_SLASH, + [26829] = 4, + STATE(111), 1, + sym_additive_operator, + ACTIONS(817), 2, + anon_sym_DASH, + anon_sym_PLUS, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(577), 5, + ACTIONS(815), 3, sym__template_args_end, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - [10660] = 3, - STATE(518), 1, - sym_address_space, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + [26847] = 5, + ACTIONS(1157), 1, + anon_sym_case, + ACTIONS(1159), 1, + anon_sym_default, + STATE(614), 2, + sym_switch_clause, + aux_sym_switch_body_repeat1, + STATE(684), 2, + sym_case_clause, + sym_default_alone_clause, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(875), 5, - anon_sym_function, - anon_sym_private, - anon_sym_workgroup, - anon_sym_uniform, - anon_sym_storage, - [10676] = 5, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(801), 1, - sym_ident_pattern_token, - STATE(560), 1, - sym_ident, - STATE(133), 2, - sym_attribute, - aux_sym_struct_member_repeat1, + [26867] = 5, + ACTIONS(1157), 1, + anon_sym_case, + ACTIONS(1159), 1, + anon_sym_default, + STATE(613), 2, + sym_switch_clause, + aux_sym_switch_body_repeat1, + STATE(684), 2, + sym_case_clause, + sym_default_alone_clause, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10695] = 4, - ACTIONS(95), 1, - anon_sym_RPAREN, - STATE(446), 1, - sym_interpolation_sample_name, + [26887] = 4, + ACTIONS(1171), 1, + anon_sym_COMMA, + STATE(624), 1, + aux_sym_case_selectors_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(877), 3, - anon_sym_center, - anon_sym_centroid, - anon_sym_sample, - [10712] = 6, - ACTIONS(801), 1, + ACTIONS(169), 3, + anon_sym_AT, + anon_sym_LBRACE, + anon_sym_COLON, + [26904] = 6, + ACTIONS(552), 1, sym_ident_pattern_token, - ACTIONS(879), 1, + ACTIONS(630), 1, sym__template_args_start, - STATE(417), 1, + STATE(658), 1, sym_ident, - STATE(419), 1, - sym_variable_qualifier, - STATE(498), 1, + STATE(679), 1, + sym_template_list, + STATE(700), 1, sym_optionally_typed_ident, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10733] = 5, - ACTIONS(9), 1, - anon_sym_AT, - ACTIONS(731), 1, - sym_ident_pattern_token, - STATE(530), 1, - sym_member_ident, - STATE(133), 2, - sym_attribute, - aux_sym_struct_member_repeat1, + [26925] = 4, + ACTIONS(1173), 1, + anon_sym_COMMA, + STATE(621), 1, + aux_sym_case_selectors_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10752] = 4, - ACTIONS(881), 1, + ACTIONS(1175), 3, + anon_sym_AT, + anon_sym_LBRACE, + anon_sym_COLON, + [26942] = 4, + ACTIONS(1177), 1, anon_sym_COMMA, - STATE(403), 1, + STATE(624), 1, aux_sym_case_selectors_repeat1, - ACTIONS(884), 2, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + ACTIONS(1180), 3, + anon_sym_AT, anon_sym_LBRACE, anon_sym_COLON, + [26959] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10768] = 4, - ACTIONS(886), 1, - anon_sym_COMMA, - STATE(403), 1, - aux_sym_case_selectors_repeat1, - ACTIONS(47), 2, + ACTIONS(1182), 5, + anon_sym_SEMI, + anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_COLON, + anon_sym_EQ, + [26972] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10784] = 4, - ACTIONS(888), 1, - anon_sym_read, - STATE(661), 1, - sym_access_mode, - ACTIONS(890), 2, - anon_sym_write, - anon_sym_read_write, + ACTIONS(1184), 5, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_EQ, + [26985] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10800] = 4, - ACTIONS(892), 1, + ACTIONS(1180), 4, anon_sym_COMMA, - STATE(404), 1, - aux_sym_case_selectors_repeat1, - ACTIONS(894), 2, + anon_sym_AT, anon_sym_LBRACE, anon_sym_COLON, + [26997] = 4, + ACTIONS(1133), 1, + anon_sym_AMP_AMP, + ACTIONS(1135), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1131), 2, + sym__template_args_end, + anon_sym_COMMA, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10816] = 4, - ACTIONS(888), 1, - anon_sym_read, - STATE(584), 1, - sym_access_mode, - ACTIONS(890), 2, - anon_sym_write, - anon_sym_read_write, + [27013] = 5, + ACTIONS(616), 1, + sym_ident_pattern_token, + STATE(626), 1, + sym_template_elaborated_ident, + STATE(694), 1, + sym_type_specifier, + STATE(764), 1, + sym_ident, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10832] = 4, - ACTIONS(888), 1, - anon_sym_read, - STATE(585), 1, - sym_access_mode, - ACTIONS(890), 2, - anon_sym_write, - anon_sym_read_write, + [27031] = 5, + ACTIONS(616), 1, + sym_ident_pattern_token, + STATE(626), 1, + sym_template_elaborated_ident, + STATE(714), 1, + sym_type_specifier, + STATE(764), 1, + sym_ident, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10848] = 4, - ACTIONS(888), 1, - anon_sym_read, - STATE(578), 1, - sym_access_mode, - ACTIONS(890), 2, - anon_sym_write, - anon_sym_read_write, + [27049] = 5, + ACTIONS(616), 1, + sym_ident_pattern_token, + STATE(626), 1, + sym_template_elaborated_ident, + STATE(690), 1, + sym_type_specifier, + STATE(764), 1, + sym_ident, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10864] = 3, - STATE(423), 1, - sym_interpolation_type_name, + [27067] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(896), 3, - anon_sym_perspective, - anon_sym_linear, - anon_sym_flat, - [10878] = 4, - ACTIONS(898), 1, + ACTIONS(853), 4, sym__template_args_end, - STATE(61), 1, - sym_additive_operator, - ACTIONS(666), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - [10894] = 4, - ACTIONS(888), 1, - anon_sym_read, - STATE(612), 1, - sym_access_mode, - ACTIONS(890), 2, - anon_sym_write, - anon_sym_read_write, + anon_sym_COMMA, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [27079] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10910] = 5, - ACTIONS(656), 1, - anon_sym_LBRACK, - ACTIONS(658), 1, + ACTIONS(1186), 4, + anon_sym_COMMA, + anon_sym_AT, + anon_sym_LBRACE, + anon_sym_COLON, + [27091] = 5, + ACTIONS(752), 1, anon_sym_DOT, - ACTIONS(678), 1, + ACTIONS(754), 1, + anon_sym_LBRACK, + ACTIONS(837), 1, anon_sym_RPAREN, - STATE(557), 1, + STATE(895), 1, sym_component_or_swizzle_specifier, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10928] = 2, + [27109] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(900), 3, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_COLON, - [10939] = 4, - ACTIONS(902), 1, + ACTIONS(1129), 4, + sym__template_args_end, anon_sym_COMMA, - ACTIONS(904), 1, - anon_sym_RPAREN, - STATE(437), 1, - aux_sym_expression_comma_list_repeat1, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [27121] = 5, + ACTIONS(616), 1, + sym_ident_pattern_token, + STATE(626), 1, + sym_template_elaborated_ident, + STATE(712), 1, + sym_type_specifier, + STATE(764), 1, + sym_ident, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10954] = 4, - ACTIONS(801), 1, + [27139] = 5, + ACTIONS(616), 1, sym_ident_pattern_token, - STATE(417), 1, + STATE(626), 1, + sym_template_elaborated_ident, + STATE(748), 1, + sym_type_specifier, + STATE(764), 1, sym_ident, - STATE(468), 1, - sym_optionally_typed_ident, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10969] = 3, - ACTIONS(908), 1, - anon_sym_COLON, - ACTIONS(906), 2, - anon_sym_SEMI, - anon_sym_EQ, + [27157] = 5, + ACTIONS(616), 1, + sym_ident_pattern_token, + STATE(626), 1, + sym_template_elaborated_ident, + STATE(759), 1, + sym_type_specifier, + STATE(764), 1, + sym_ident, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10982] = 4, - ACTIONS(801), 1, - sym_ident_pattern_token, - STATE(417), 1, - sym_ident, - STATE(511), 1, - sym_optionally_typed_ident, + [27175] = 4, + ACTIONS(1188), 1, + anon_sym_SEMI, + ACTIONS(1190), 1, + anon_sym_COMMA, + STATE(639), 1, + aux_sym_enable_extension_list_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [10997] = 4, - ACTIONS(801), 1, - sym_ident_pattern_token, - STATE(417), 1, - sym_ident, - STATE(517), 1, - sym_optionally_typed_ident, + [27190] = 4, + ACTIONS(1193), 1, + anon_sym_COMMA, + ACTIONS(1196), 1, + anon_sym_RBRACE, + STATE(640), 1, + aux_sym_struct_body_decl_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11012] = 4, - ACTIONS(801), 1, + [27205] = 4, + ACTIONS(552), 1, sym_ident_pattern_token, - STATE(417), 1, + STATE(658), 1, sym_ident, - STATE(536), 1, + STATE(869), 1, sym_optionally_typed_ident, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11027] = 4, - ACTIONS(801), 1, - sym_ident_pattern_token, - STATE(417), 1, - sym_ident, - STATE(634), 1, - sym_optionally_typed_ident, + [27220] = 3, + ACTIONS(1200), 1, + anon_sym_DASH_GT, + ACTIONS(1198), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11042] = 4, - ACTIONS(910), 1, + [27233] = 3, + ACTIONS(1149), 1, + anon_sym_CARET, + ACTIONS(1143), 2, + sym__template_args_end, anon_sym_COMMA, - ACTIONS(912), 1, - anon_sym_RPAREN, - STATE(139), 1, - sym_attrib_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11057] = 4, - ACTIONS(912), 1, - anon_sym_RPAREN, - ACTIONS(914), 1, + [27246] = 3, + ACTIONS(1147), 1, + anon_sym_AMP, + ACTIONS(1143), 2, + sym__template_args_end, anon_sym_COMMA, - STATE(139), 1, - sym_attrib_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11072] = 4, - ACTIONS(912), 1, - anon_sym_RPAREN, - ACTIONS(916), 1, + [27259] = 3, + ACTIONS(1145), 1, + anon_sym_PIPE, + ACTIONS(1143), 2, + sym__template_args_end, anon_sym_COMMA, - STATE(139), 1, - sym_attrib_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11087] = 4, - ACTIONS(918), 1, + [27272] = 3, + ACTIONS(1141), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1137), 2, + sym__template_args_end, anon_sym_COMMA, - ACTIONS(920), 1, - anon_sym_RBRACE, - STATE(433), 1, - aux_sym_struct_body_decl_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11102] = 4, - ACTIONS(910), 1, + [27285] = 3, + ACTIONS(1139), 1, + anon_sym_AMP_AMP, + ACTIONS(1137), 2, + sym__template_args_end, anon_sym_COMMA, - ACTIONS(912), 1, - anon_sym_RPAREN, - STATE(135), 1, - sym_attrib_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11117] = 4, - ACTIONS(922), 1, + [27298] = 4, + ACTIONS(1202), 1, anon_sym_COMMA, - ACTIONS(925), 1, + ACTIONS(1204), 1, anon_sym_RPAREN, - STATE(427), 1, - aux_sym_expression_comma_list_repeat1, + STATE(674), 1, + aux_sym_param_list_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11132] = 2, + [27313] = 4, + ACTIONS(1206), 1, + sym_ident_pattern_token, + ACTIONS(1208), 1, + anon_sym_SEMI, + STATE(743), 1, + sym_enable_extension_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(676), 3, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_DOT, - [11143] = 2, + [27328] = 4, + ACTIONS(552), 1, + sym_ident_pattern_token, + STATE(658), 1, + sym_ident, + STATE(735), 1, + sym_optionally_typed_ident, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(884), 3, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_COLON, - [11154] = 4, - ACTIONS(109), 1, - anon_sym_LBRACE, - ACTIONS(927), 1, - anon_sym_if, - STATE(104), 1, - sym_compound_statement, + [27343] = 4, + ACTIONS(1210), 1, + sym_ident_pattern_token, + ACTIONS(1212), 1, + anon_sym_SEMI, + STATE(741), 1, + sym_software_extension_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11169] = 2, + [27358] = 4, + ACTIONS(1206), 1, + sym_ident_pattern_token, + STATE(666), 1, + sym_enable_extension_name, + STATE(856), 1, + sym_enable_extension_list, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(929), 3, - anon_sym_RBRACE, - anon_sym_case, - anon_sym_default, - [11180] = 4, - ACTIONS(841), 1, - anon_sym_RPAREN, - ACTIONS(931), 1, - anon_sym_COMMA, - STATE(442), 1, - aux_sym_param_list_repeat1, + [27373] = 4, + ACTIONS(1210), 1, + sym_ident_pattern_token, + STATE(668), 1, + sym_software_extension_name, + STATE(846), 1, + sym_software_extension_list, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11195] = 4, - ACTIONS(833), 1, - anon_sym_RBRACE, - ACTIONS(933), 1, + [27388] = 4, + ACTIONS(1214), 1, + anon_sym_SEMI, + ACTIONS(1216), 1, anon_sym_COMMA, - STATE(435), 1, - aux_sym_struct_body_decl_repeat1, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - [11210] = 2, + STATE(654), 1, + aux_sym_software_extension_list_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(682), 3, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_DOT, - [11221] = 4, - ACTIONS(935), 1, + [27403] = 4, + ACTIONS(1219), 1, anon_sym_COMMA, - ACTIONS(938), 1, + ACTIONS(1221), 1, anon_sym_RBRACE, - STATE(435), 1, + STATE(670), 1, aux_sym_struct_body_decl_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11236] = 2, + [27418] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(940), 3, + ACTIONS(1223), 3, anon_sym_RBRACE, anon_sym_case, anon_sym_default, - [11247] = 4, - ACTIONS(91), 1, - anon_sym_RPAREN, - ACTIONS(942), 1, + [27429] = 4, + ACTIONS(1225), 1, anon_sym_COMMA, - STATE(427), 1, + ACTIONS(1227), 1, + anon_sym_RPAREN, + STATE(667), 1, aux_sym_expression_comma_list_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11262] = 4, - ACTIONS(109), 1, - anon_sym_LBRACE, - ACTIONS(944), 1, + [27444] = 3, + ACTIONS(1231), 1, anon_sym_COLON, - STATE(445), 1, - sym_compound_statement, + ACTIONS(1229), 2, + anon_sym_SEMI, + anon_sym_EQ, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11277] = 2, + [27457] = 4, + ACTIONS(1233), 1, + anon_sym_COMMA, + ACTIONS(1235), 1, + sym__template_args_end, + STATE(671), 1, + aux_sym_template_arg_comma_list_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(946), 3, - anon_sym_RBRACE, - anon_sym_case, - anon_sym_default, - [11288] = 4, - ACTIONS(109), 1, - anon_sym_LBRACE, - ACTIONS(948), 1, - anon_sym_COLON, - STATE(436), 1, - sym_compound_statement, + [27472] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11303] = 4, - ACTIONS(950), 1, + ACTIONS(1237), 3, + anon_sym_DOT, anon_sym_COMMA, - ACTIONS(952), 1, anon_sym_RPAREN, - STATE(432), 1, - aux_sym_param_list_repeat1, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - [11318] = 4, - ACTIONS(954), 1, + [27483] = 3, + ACTIONS(1239), 1, + anon_sym_DOT, + ACTIONS(1241), 2, anon_sym_COMMA, - ACTIONS(957), 1, anon_sym_RPAREN, - STATE(442), 1, - aux_sym_param_list_repeat1, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - [11333] = 4, - ACTIONS(912), 1, - anon_sym_RPAREN, - ACTIONS(959), 1, - anon_sym_COMMA, - STATE(138), 1, - sym_attrib_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11348] = 2, + [27496] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(961), 3, + ACTIONS(1243), 3, anon_sym_RBRACE, anon_sym_case, anon_sym_default, - [11359] = 2, + [27507] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - ACTIONS(963), 3, + ACTIONS(1245), 3, anon_sym_RBRACE, anon_sym_case, anon_sym_default, - [11370] = 4, - ACTIONS(910), 1, - anon_sym_COMMA, - ACTIONS(912), 1, - anon_sym_RPAREN, - STATE(138), 1, - sym_attrib_end, + [27518] = 4, + ACTIONS(1206), 1, + sym_ident_pattern_token, + ACTIONS(1247), 1, + anon_sym_SEMI, + STATE(743), 1, + sym_enable_extension_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11385] = 2, - ACTIONS(965), 2, - anon_sym_COMMA, + [27533] = 4, + ACTIONS(1249), 1, + sym_ident_pattern_token, + ACTIONS(1251), 1, anon_sym_RPAREN, + STATE(698), 1, + sym_interpolate_sampling_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11395] = 3, - ACTIONS(109), 1, - anon_sym_LBRACE, - STATE(101), 1, - sym_compound_statement, + [27548] = 4, + ACTIONS(1253), 1, + anon_sym_SEMI, + ACTIONS(1255), 1, + anon_sym_COMMA, + STATE(682), 1, + aux_sym_enable_extension_list_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11407] = 3, - ACTIONS(825), 1, - sym__template_args_end, - ACTIONS(869), 1, - anon_sym_AMP, + [27563] = 4, + ACTIONS(219), 1, + anon_sym_RPAREN, + ACTIONS(1257), 1, + anon_sym_COMMA, + STATE(680), 1, + aux_sym_expression_comma_list_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11419] = 3, - ACTIONS(825), 1, - sym__template_args_end, - ACTIONS(827), 1, - anon_sym_CARET, + [27578] = 4, + ACTIONS(1259), 1, + anon_sym_SEMI, + ACTIONS(1261), 1, + anon_sym_COMMA, + STATE(685), 1, + aux_sym_software_extension_list_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11431] = 3, - ACTIONS(801), 1, + [27593] = 4, + ACTIONS(552), 1, sym_ident_pattern_token, - STATE(467), 1, + STATE(658), 1, sym_ident, + STATE(707), 1, + sym_optionally_typed_ident, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11443] = 3, - ACTIONS(801), 1, - sym_ident_pattern_token, - STATE(632), 1, - sym_ident, + [27608] = 4, + ACTIONS(602), 1, + anon_sym_RBRACE, + ACTIONS(1263), 1, + anon_sym_COMMA, + STATE(640), 1, + aux_sym_struct_body_decl_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11455] = 2, - ACTIONS(815), 2, + [27623] = 4, + ACTIONS(209), 1, sym__template_args_end, + ACTIONS(1265), 1, anon_sym_COMMA, + STATE(681), 1, + aux_sym_template_arg_comma_list_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11465] = 2, - ACTIONS(861), 2, - sym__template_args_end, - anon_sym_COMMA, + [27638] = 3, + ACTIONS(1269), 1, + anon_sym_DASH_GT, + ACTIONS(1267), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11475] = 2, - ACTIONS(865), 2, - sym__template_args_end, - anon_sym_COMMA, + [27651] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11485] = 2, - ACTIONS(847), 2, - sym__template_args_end, + ACTIONS(1271), 3, + anon_sym_RBRACE, + anon_sym_case, + anon_sym_default, + [27662] = 4, + ACTIONS(608), 1, + anon_sym_RPAREN, + ACTIONS(1273), 1, anon_sym_COMMA, + STATE(686), 1, + aux_sym_param_list_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11495] = 3, - ACTIONS(801), 1, + [27677] = 4, + ACTIONS(1275), 1, sym_ident_pattern_token, - STATE(588), 1, - sym_ident, + STATE(661), 1, + sym_diagnostic_name_token, + STATE(728), 1, + sym_diagnostic_rule_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11507] = 3, - ACTIONS(967), 1, - anon_sym_f16, - STATE(586), 1, - sym_extension_name, + [27692] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11519] = 2, - ACTIONS(867), 2, - sym__template_args_end, - anon_sym_COMMA, + ACTIONS(819), 3, + anon_sym_DOT, + anon_sym_RPAREN, + anon_sym_LBRACK, + [27703] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11529] = 2, - ACTIONS(863), 2, - sym__template_args_end, - anon_sym_COMMA, + ACTIONS(851), 3, + anon_sym_DOT, + anon_sym_RPAREN, + anon_sym_LBRACK, + [27714] = 4, + ACTIONS(552), 1, + sym_ident_pattern_token, + STATE(658), 1, + sym_ident, + STATE(752), 1, + sym_optionally_typed_ident, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11539] = 2, - ACTIONS(807), 2, - sym__template_args_end, - anon_sym_COMMA, + [27729] = 4, + ACTIONS(552), 1, + sym_ident_pattern_token, + STATE(658), 1, + sym_ident, + STATE(693), 1, + sym_optionally_typed_ident, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11549] = 2, - ACTIONS(849), 2, - sym__template_args_end, + [27744] = 4, + ACTIONS(1277), 1, anon_sym_COMMA, + ACTIONS(1280), 1, + anon_sym_RPAREN, + STATE(680), 1, + aux_sym_expression_comma_list_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11559] = 3, - ACTIONS(109), 1, - anon_sym_LBRACE, - STATE(431), 1, - sym_compound_statement, + [27759] = 4, + ACTIONS(1282), 1, + anon_sym_COMMA, + ACTIONS(1285), 1, + sym__template_args_end, + STATE(681), 1, + aux_sym_template_arg_comma_list_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11571] = 3, - ACTIONS(969), 1, + [27774] = 4, + ACTIONS(1247), 1, anon_sym_SEMI, - ACTIONS(971), 1, - anon_sym_EQ, + ACTIONS(1287), 1, + anon_sym_COMMA, + STATE(639), 1, + aux_sym_enable_extension_list_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11583] = 3, - ACTIONS(109), 1, - anon_sym_LBRACE, - STATE(348), 1, - sym_compound_statement, + [27789] = 4, + ACTIONS(1210), 1, + sym_ident_pattern_token, + ACTIONS(1289), 1, + anon_sym_SEMI, + STATE(741), 1, + sym_software_extension_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11595] = 2, - ACTIONS(835), 2, - sym__template_args_end, - anon_sym_COMMA, + [27804] = 2, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11605] = 3, - ACTIONS(973), 1, - anon_sym_LBRACE, - STATE(341), 1, - sym_struct_body_decl, + ACTIONS(1291), 3, + anon_sym_RBRACE, + anon_sym_case, + anon_sym_default, + [27815] = 4, + ACTIONS(1289), 1, + anon_sym_SEMI, + ACTIONS(1293), 1, + anon_sym_COMMA, + STATE(654), 1, + aux_sym_software_extension_list_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11617] = 3, - ACTIONS(975), 1, - anon_sym_SEMI, - ACTIONS(977), 1, - anon_sym_EQ, + [27830] = 4, + ACTIONS(1295), 1, + anon_sym_COMMA, + ACTIONS(1298), 1, + anon_sym_RPAREN, + STATE(686), 1, + aux_sym_param_list_repeat1, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11629] = 3, - ACTIONS(979), 1, - anon_sym_SEMI, - ACTIONS(981), 1, - anon_sym_if, + [27845] = 2, + ACTIONS(1196), 2, + anon_sym_COMMA, + anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11641] = 3, - ACTIONS(255), 1, - anon_sym_LPAREN, - STATE(321), 1, - sym_paren_expression, + [27855] = 3, + ACTIONS(1300), 1, + anon_sym_SEMI, + ACTIONS(1302), 1, + anon_sym_EQ, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11653] = 3, - ACTIONS(109), 1, - anon_sym_LBRACE, - STATE(444), 1, - sym_compound_statement, + [27867] = 2, + ACTIONS(1298), 2, + anon_sym_COMMA, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11665] = 2, - ACTIONS(983), 2, + [27877] = 2, + ACTIONS(1304), 2, anon_sym_COMMA, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11675] = 3, - ACTIONS(985), 1, - anon_sym_LPAREN, - STATE(318), 1, - sym_argument_expression_list, + [27887] = 2, + ACTIONS(1306), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11687] = 3, - ACTIONS(321), 1, - anon_sym_LPAREN, - STATE(270), 1, - sym_paren_expression, + [27897] = 2, + ACTIONS(1285), 2, + sym__template_args_end, + anon_sym_COMMA, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11699] = 3, - ACTIONS(987), 1, - anon_sym_COMMA, - ACTIONS(989), 1, - sym__template_args_end, + [27907] = 2, + ACTIONS(1308), 2, + anon_sym_SEMI, + anon_sym_EQ, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11711] = 3, - ACTIONS(991), 1, - anon_sym_LPAREN, - STATE(152), 1, - sym_argument_expression_list, + [27917] = 2, + ACTIONS(1310), 2, + anon_sym_COMMA, + anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11723] = 3, - ACTIONS(993), 1, - anon_sym_LPAREN, - STATE(267), 1, - sym_argument_expression_list, + [27927] = 3, + ACTIONS(552), 1, + sym_ident_pattern_token, + STATE(736), 1, + sym_ident, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11735] = 3, - ACTIONS(299), 1, - anon_sym_LPAREN, - STATE(240), 1, - sym_paren_expression, + [27939] = 2, + ACTIONS(1280), 2, + anon_sym_COMMA, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11747] = 2, - ACTIONS(995), 2, + [27949] = 3, + ACTIONS(1312), 1, anon_sym_COMMA, - anon_sym_RBRACE, + ACTIONS(1314), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11757] = 3, - ACTIONS(997), 1, - anon_sym_LPAREN, - STATE(222), 1, - sym_argument_expression_list, + [27961] = 3, + ACTIONS(1316), 1, + anon_sym_COMMA, + ACTIONS(1318), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11769] = 3, - ACTIONS(109), 1, - anon_sym_LBRACE, - STATE(94), 1, - sym_compound_statement, + [27973] = 2, + ACTIONS(1320), 2, + anon_sym_COMMA, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11781] = 3, - ACTIONS(109), 1, - anon_sym_LBRACE, - STATE(103), 1, - sym_compound_statement, + [27983] = 2, + ACTIONS(1322), 2, + anon_sym_SEMI, + anon_sym_EQ, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11793] = 3, - ACTIONS(277), 1, - anon_sym_LPAREN, - STATE(244), 1, - sym_paren_expression, + [27993] = 3, + ACTIONS(1275), 1, + sym_ident_pattern_token, + STATE(704), 1, + sym_diagnostic_name_token, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11805] = 3, - ACTIONS(999), 1, + [28005] = 3, + ACTIONS(740), 1, anon_sym_LPAREN, - STATE(178), 1, + STATE(328), 1, sym_argument_expression_list, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11817] = 3, - ACTIONS(1001), 1, - anon_sym_COMMA, - ACTIONS(1003), 1, - sym__template_args_end, + [28017] = 3, + ACTIONS(1324), 1, + anon_sym_SEMI, + ACTIONS(1326), 1, + anon_sym_EQ, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11829] = 3, - ACTIONS(343), 1, - anon_sym_LPAREN, - STATE(181), 1, - sym_paren_expression, + [28029] = 2, + ACTIONS(1328), 2, + anon_sym_COMMA, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11841] = 2, - ACTIONS(957), 2, - anon_sym_COMMA, + [28039] = 2, + ACTIONS(1330), 2, + anon_sym_SEMI, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11851] = 2, - ACTIONS(1005), 2, - anon_sym_COMMA, + [28049] = 2, + ACTIONS(1332), 2, + anon_sym_SEMI, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11861] = 3, - ACTIONS(1007), 1, - anon_sym_COMMA, - ACTIONS(1009), 1, - sym__template_args_end, + [28059] = 3, + ACTIONS(1334), 1, + anon_sym_SEMI, + ACTIONS(1336), 1, + anon_sym_EQ, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11873] = 2, - ACTIONS(925), 2, - anon_sym_COMMA, + [28071] = 2, + ACTIONS(1338), 2, + anon_sym_SEMI, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11883] = 3, - ACTIONS(43), 1, - anon_sym_LPAREN, - STATE(155), 1, - sym_paren_expression, + [28081] = 3, + ACTIONS(1340), 1, + sym_ident_pattern_token, + STATE(731), 1, + sym_interpolate_type_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11895] = 2, - ACTIONS(809), 2, - sym__template_args_end, - anon_sym_COMMA, + [28093] = 3, + ACTIONS(1210), 1, + sym_ident_pattern_token, + STATE(741), 1, + sym_software_extension_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11905] = 3, - ACTIONS(1011), 1, - anon_sym_SEMI, - ACTIONS(1013), 1, - anon_sym_EQ, + [28105] = 3, + ACTIONS(1206), 1, + sym_ident_pattern_token, + STATE(743), 1, + sym_enable_extension_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11917] = 2, - ACTIONS(938), 2, + [28117] = 2, + ACTIONS(1342), 2, anon_sym_COMMA, anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11927] = 2, - ACTIONS(1015), 2, - anon_sym_COMMA, - anon_sym_RBRACE, + [28127] = 2, + ACTIONS(1344), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11937] = 2, - ACTIONS(1017), 2, + [28137] = 2, + ACTIONS(1346), 2, anon_sym_COMMA, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11947] = 3, - ACTIONS(109), 1, - anon_sym_LBRACE, - STATE(345), 1, - sym_compound_statement, + [28147] = 3, + ACTIONS(1348), 1, + sym_ident_pattern_token, + STATE(723), 1, + sym_builtin_value_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11959] = 2, - ACTIONS(1019), 2, - anon_sym_SEMI, - anon_sym_EQ, + [28159] = 3, + ACTIONS(1350), 1, + anon_sym_COMMA, + ACTIONS(1352), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11969] = 2, - ACTIONS(817), 2, - sym__template_args_end, - anon_sym_COMMA, + [28171] = 3, + ACTIONS(1354), 1, + anon_sym_SEMI, + ACTIONS(1356), 1, + anon_sym_if, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11979] = 3, - ACTIONS(1021), 1, + [28183] = 3, + ACTIONS(1358), 1, anon_sym_LPAREN, - STATE(242), 1, - sym_argument_expression_list, + STATE(883), 1, + sym_diagnostic_control, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [11991] = 3, - ACTIONS(1023), 1, - anon_sym_LPAREN, - ACTIONS(1025), 1, - sym__template_args_start, + [28195] = 3, + ACTIONS(1360), 1, + anon_sym_COMMA, + ACTIONS(1362), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12003] = 3, - ACTIONS(825), 1, - sym__template_args_end, - ACTIONS(851), 1, - anon_sym_PIPE, + [28207] = 3, + ACTIONS(1364), 1, + anon_sym_COMMA, + ACTIONS(1366), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12015] = 2, - ACTIONS(1027), 2, - sym__template_args_end, + [28219] = 2, + ACTIONS(1368), 2, + anon_sym_SEMI, anon_sym_COMMA, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12025] = 2, - ACTIONS(1029), 2, - anon_sym_SEMI, + [28229] = 2, + ACTIONS(1370), 2, + anon_sym_COMMA, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12035] = 3, - ACTIONS(1023), 1, - anon_sym_LPAREN, - ACTIONS(1031), 1, - sym__template_args_start, + [28239] = 3, + ACTIONS(1372), 1, + anon_sym_COMMA, + ACTIONS(1374), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12047] = 3, - ACTIONS(1033), 1, - anon_sym_LBRACE, - ACTIONS(1035), 1, - anon_sym_DASH_GT, + [28251] = 3, + ACTIONS(1376), 1, + anon_sym_COMMA, + ACTIONS(1378), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12059] = 2, - ACTIONS(1037), 2, + [28263] = 3, + ACTIONS(1380), 1, anon_sym_COMMA, + ACTIONS(1382), 1, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12069] = 3, - ACTIONS(109), 1, - anon_sym_LBRACE, - STATE(93), 1, - sym_compound_statement, + [28275] = 2, + ACTIONS(1384), 2, + anon_sym_COMMA, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12081] = 2, - ACTIONS(871), 2, - sym__template_args_end, + [28285] = 3, + ACTIONS(1386), 1, anon_sym_COMMA, + ACTIONS(1388), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12091] = 3, - ACTIONS(1039), 1, - anon_sym_LBRACE, - STATE(589), 1, - sym_continuing_compound_statement, + [28297] = 3, + ACTIONS(1390), 1, + anon_sym_COMMA, + ACTIONS(1392), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12103] = 3, - ACTIONS(1041), 1, - anon_sym_SEMI, - ACTIONS(1043), 1, - anon_sym_EQ, + [28309] = 2, + ACTIONS(1394), 2, + anon_sym_AT, + anon_sym_LBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12115] = 2, - ACTIONS(1045), 2, + [28319] = 2, + ACTIONS(1396), 2, anon_sym_SEMI, - anon_sym_EQ, + anon_sym_COMMA, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12125] = 3, - ACTIONS(1047), 1, + [28329] = 3, + ACTIONS(1398), 1, anon_sym_COMMA, - ACTIONS(1049), 1, - sym__template_args_end, + ACTIONS(1400), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12137] = 3, - ACTIONS(1051), 1, - anon_sym_LBRACE, - ACTIONS(1053), 1, - anon_sym_DASH_GT, + [28341] = 2, + ACTIONS(1402), 2, + sym__template_args_end, + anon_sym_COMMA, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12149] = 2, - ACTIONS(1055), 2, + [28351] = 2, + ACTIONS(1404), 2, anon_sym_SEMI, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12159] = 2, - ACTIONS(1057), 2, + [28361] = 2, + ACTIONS(1406), 2, anon_sym_SEMI, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12169] = 2, - ACTIONS(1059), 2, + [28371] = 3, + ACTIONS(1408), 1, anon_sym_SEMI, + ACTIONS(1410), 1, anon_sym_EQ, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12179] = 3, - ACTIONS(1061), 1, - anon_sym_COMMA, - ACTIONS(1063), 1, - sym__template_args_end, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - [12191] = 2, - ACTIONS(1065), 2, - anon_sym_SEMI, - anon_sym_RPAREN, + [28383] = 3, + ACTIONS(1412), 1, + anon_sym_LBRACE, + STATE(582), 1, + sym_struct_body_decl, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12201] = 2, - ACTIONS(1067), 2, - anon_sym_SEMI, + [28395] = 3, + ACTIONS(1414), 1, + anon_sym_COMMA, + ACTIONS(1416), 1, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12211] = 3, - ACTIONS(1069), 1, - anon_sym_SEMI, - ACTIONS(1071), 1, - anon_sym_EQ, - ACTIONS(3), 3, - sym__block_comment, - sym__comment, - sym__blankspace, - [12223] = 2, - ACTIONS(1031), 1, - sym__template_args_start, + [28407] = 3, + ACTIONS(1358), 1, + anon_sym_LPAREN, + STATE(512), 1, + sym_diagnostic_control, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12232] = 2, - ACTIONS(1073), 1, - anon_sym_RPAREN, + [28419] = 3, + ACTIONS(1418), 1, + sym_ident_pattern_token, + STATE(830), 1, + sym_severity_control_name, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12241] = 2, - ACTIONS(1075), 1, - anon_sym_COMMA, + [28431] = 3, + ACTIONS(1420), 1, + anon_sym_SEMI, + ACTIONS(1422), 1, + anon_sym_EQ, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12250] = 2, - ACTIONS(1077), 1, - sym__template_args_end, + [28443] = 2, + ACTIONS(1214), 2, + anon_sym_SEMI, + anon_sym_COMMA, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12259] = 2, - ACTIONS(1079), 1, - sym__template_args_end, + [28453] = 3, + ACTIONS(552), 1, + sym_ident_pattern_token, + STATE(858), 1, + sym_ident, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12268] = 2, - ACTIONS(1081), 1, + [28465] = 2, + ACTIONS(1188), 2, + anon_sym_SEMI, anon_sym_COMMA, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12277] = 2, - ACTIONS(1083), 1, + [28475] = 2, + ACTIONS(1131), 2, sym__template_args_end, + anon_sym_COMMA, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12286] = 2, - ACTIONS(1085), 1, - sym_ident_pattern_token, + [28485] = 3, + ACTIONS(1424), 1, + anon_sym_COMMA, + ACTIONS(1426), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12295] = 2, - ACTIONS(1087), 1, - anon_sym_COLON, + [28497] = 3, + ACTIONS(1428), 1, + anon_sym_COMMA, + ACTIONS(1430), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12304] = 2, - ACTIONS(1025), 1, - sym__template_args_start, + [28509] = 3, + ACTIONS(552), 1, + sym_ident_pattern_token, + STATE(867), 1, + sym_ident, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12313] = 2, - ACTIONS(95), 1, - anon_sym_RPAREN, + [28521] = 2, + ACTIONS(1432), 2, + anon_sym_SEMI, + anon_sym_EQ, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12322] = 2, - ACTIONS(1089), 1, + [28531] = 2, + ACTIONS(1434), 1, anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12331] = 2, - ACTIONS(1091), 1, - anon_sym_SEMI, + [28540] = 2, + ACTIONS(1436), 1, + sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12340] = 2, - ACTIONS(1093), 1, - anon_sym_LBRACE, + [28549] = 2, + ACTIONS(1438), 1, + anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12349] = 2, - ACTIONS(1095), 1, + [28558] = 2, + ACTIONS(1440), 1, anon_sym_EQ, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12358] = 2, - ACTIONS(1097), 1, + [28567] = 2, + ACTIONS(1442), 1, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12367] = 2, - ACTIONS(1099), 1, - anon_sym_RPAREN, + [28576] = 2, + ACTIONS(1444), 1, + sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12376] = 2, - ACTIONS(1101), 1, - anon_sym_COLON, + [28585] = 2, + ACTIONS(1446), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12385] = 2, - ACTIONS(1103), 1, - anon_sym_RPAREN, + [28594] = 2, + ACTIONS(1448), 1, + anon_sym_COLON, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12394] = 2, - ACTIONS(1105), 1, + [28603] = 2, + ACTIONS(1450), 1, anon_sym_RBRACK, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12403] = 2, - ACTIONS(697), 1, - anon_sym_EQ, + [28612] = 2, + ACTIONS(1452), 1, + sym__template_args_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12412] = 2, - ACTIONS(1107), 1, + [28621] = 2, + ACTIONS(1454), 1, anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12421] = 2, - ACTIONS(1027), 1, - anon_sym_COMMA, + [28630] = 2, + ACTIONS(1456), 1, + anon_sym_COLON, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12430] = 2, - ACTIONS(1109), 1, - anon_sym_COLON, + [28639] = 2, + ACTIONS(1458), 1, + anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12439] = 2, - ACTIONS(1111), 1, - anon_sym_SEMI, + [28648] = 2, + ACTIONS(1460), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12448] = 2, - ACTIONS(1113), 1, + [28657] = 2, + ACTIONS(1462), 1, sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12457] = 2, - ACTIONS(1115), 1, - anon_sym_SEMI, + [28666] = 2, + ACTIONS(1464), 1, + sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12466] = 2, - ACTIONS(1117), 1, - anon_sym_RBRACE, + [28675] = 2, + ACTIONS(1466), 1, + anon_sym_AMP_AMP, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12475] = 2, - ACTIONS(1119), 1, - anon_sym_RPAREN, + [28684] = 2, + ACTIONS(1468), 1, + anon_sym_PIPE_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12484] = 2, - ACTIONS(1121), 1, - anon_sym_SEMI, + [28693] = 2, + ACTIONS(1470), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12493] = 2, - ACTIONS(979), 1, - anon_sym_SEMI, + [28702] = 2, + ACTIONS(694), 1, + anon_sym_if, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12502] = 2, - ACTIONS(1123), 1, - anon_sym_LPAREN, + [28711] = 2, + ACTIONS(1472), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12511] = 2, - ACTIONS(1125), 1, - anon_sym_LBRACE, + [28720] = 2, + ACTIONS(1474), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12520] = 2, - ACTIONS(1127), 1, - anon_sym_RBRACE, + [28729] = 2, + ACTIONS(1476), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12529] = 2, - ACTIONS(1129), 1, - anon_sym_SEMI, + [28738] = 2, + ACTIONS(1478), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12538] = 2, - ACTIONS(717), 1, + [28747] = 2, + ACTIONS(1480), 1, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12547] = 2, - ACTIONS(1131), 1, - sym__template_args_start, + [28756] = 2, + ACTIONS(1482), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12556] = 2, - ACTIONS(1133), 1, - sym__template_args_start, + [28765] = 2, + ACTIONS(1484), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12565] = 2, - ACTIONS(1135), 1, - anon_sym_COLON, + [28774] = 2, + ACTIONS(1486), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12574] = 2, - ACTIONS(1137), 1, - sym__template_args_start, + [28783] = 2, + ACTIONS(1488), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12583] = 2, - ACTIONS(1139), 1, - sym__template_args_start, + [28792] = 2, + ACTIONS(1490), 1, + sym__template_args_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12592] = 2, - ACTIONS(139), 1, - anon_sym_RBRACE, + [28801] = 2, + ACTIONS(1492), 1, + anon_sym_RBRACK, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12601] = 2, - ACTIONS(1141), 1, - anon_sym_SEMI, + [28810] = 2, + ACTIONS(1494), 1, + sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12610] = 2, - ACTIONS(1143), 1, - anon_sym_PIPE, + [28819] = 2, + ACTIONS(1496), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12619] = 2, - ACTIONS(1145), 1, - anon_sym_AMP, + [28828] = 2, + ACTIONS(1498), 1, + sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12628] = 2, - ACTIONS(1147), 1, - anon_sym_CARET, + [28837] = 2, + ACTIONS(1500), 1, + anon_sym_COLON, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12637] = 2, - ACTIONS(1149), 1, + [28846] = 2, + ACTIONS(1502), 1, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12646] = 2, - ACTIONS(1151), 1, - anon_sym_RPAREN, + [28855] = 2, + ACTIONS(1504), 1, + anon_sym_COLON, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12655] = 2, - ACTIONS(1153), 1, - anon_sym_RPAREN, + [28864] = 2, + ACTIONS(71), 1, + anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12664] = 2, - ACTIONS(1155), 1, + [28873] = 2, + ACTIONS(1506), 1, anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12673] = 2, - ACTIONS(1157), 1, - anon_sym_SEMI, + [28882] = 2, + ACTIONS(1508), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12682] = 2, - ACTIONS(1159), 1, - anon_sym_SEMI, + [28891] = 2, + ACTIONS(1510), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12691] = 2, - ACTIONS(1161), 1, + [28900] = 2, + ACTIONS(1512), 1, sym__template_args_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12700] = 2, - ACTIONS(1163), 1, + [28909] = 2, + ACTIONS(1514), 1, anon_sym_RBRACK, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12709] = 2, - ACTIONS(1165), 1, - anon_sym_RPAREN, + [28918] = 2, + ACTIONS(1516), 1, + sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12718] = 2, - ACTIONS(1167), 1, - anon_sym_RPAREN, + [28927] = 2, + ACTIONS(1518), 1, + anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12727] = 2, - ACTIONS(1169), 1, - sym__template_args_end, + [28936] = 2, + ACTIONS(1520), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12736] = 2, - ACTIONS(1171), 1, - sym__template_args_end, + [28945] = 2, + ACTIONS(1522), 1, + sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12745] = 2, - ACTIONS(1173), 1, - sym__template_args_end, + [28954] = 2, + ACTIONS(1524), 1, + anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12754] = 2, - ACTIONS(1175), 1, - anon_sym_LBRACE, + [28963] = 2, + ACTIONS(1354), 1, + anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12763] = 2, - ACTIONS(1177), 1, - sym__template_args_end, + [28972] = 2, + ACTIONS(1526), 1, + anon_sym_LPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12772] = 2, - ACTIONS(1179), 1, - anon_sym_SEMI, + [28981] = 2, + ACTIONS(1528), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12781] = 2, - ACTIONS(1181), 1, + [28990] = 2, + ACTIONS(1530), 1, sym__template_args_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12790] = 2, - ACTIONS(1183), 1, - sym__template_args_end, + [28999] = 2, + ACTIONS(1532), 1, + anon_sym_RBRACK, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12799] = 2, - ACTIONS(1185), 1, - anon_sym_SEMI, + [29008] = 2, + ACTIONS(1534), 1, + sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12808] = 2, - ACTIONS(1187), 1, - anon_sym_SEMI, + [29017] = 2, + ACTIONS(857), 1, + anon_sym_EQ, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12817] = 2, - ACTIONS(1189), 1, - anon_sym_LPAREN, + [29026] = 2, + ACTIONS(1536), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12826] = 2, - ACTIONS(1191), 1, - anon_sym_RBRACE, + [29035] = 2, + ACTIONS(1538), 1, + anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12835] = 2, - ACTIONS(1193), 1, + [29044] = 2, + ACTIONS(1540), 1, + anon_sym_SEMI, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + [29053] = 2, + ACTIONS(1542), 1, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12844] = 2, - ACTIONS(1195), 1, + [29062] = 2, + ACTIONS(1544), 1, anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12853] = 2, - ACTIONS(1197), 1, - anon_sym_CARET, + [29071] = 2, + ACTIONS(1546), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12862] = 2, - ACTIONS(1199), 1, - anon_sym_AMP, + [29080] = 2, + ACTIONS(1548), 1, + sym__template_args_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12871] = 2, - ACTIONS(1201), 1, - anon_sym_PIPE, + [29089] = 2, + ACTIONS(1550), 1, + anon_sym_RBRACK, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12880] = 2, - ACTIONS(1203), 1, - anon_sym_RBRACK, + [29098] = 2, + ACTIONS(1552), 1, + sym__disambiguate_template, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + [29107] = 2, + ACTIONS(1554), 1, + anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12889] = 2, - ACTIONS(1205), 1, + [29116] = 2, + ACTIONS(1556), 1, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12898] = 2, - ACTIONS(1207), 1, + [29125] = 2, + ACTIONS(73), 1, anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12907] = 2, - ACTIONS(93), 1, + [29134] = 2, + ACTIONS(1558), 1, + anon_sym_RPAREN, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + [29143] = 2, + ACTIONS(217), 1, anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12916] = 2, - ACTIONS(1209), 1, - anon_sym_COMMA, + [29152] = 2, + ACTIONS(1560), 1, + anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12925] = 2, - ACTIONS(1211), 1, - anon_sym_PIPE_PIPE, + [29161] = 2, + ACTIONS(1562), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12934] = 2, - ACTIONS(1213), 1, - anon_sym_AMP_AMP, + [29170] = 2, + ACTIONS(1564), 1, + sym__template_args_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12943] = 2, - ACTIONS(1215), 1, + [29179] = 2, + ACTIONS(1566), 1, anon_sym_RBRACK, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12952] = 2, - ACTIONS(1217), 1, + [29188] = 2, + ACTIONS(1568), 1, + anon_sym_LPAREN, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + [29197] = 2, + ACTIONS(1570), 1, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12961] = 2, - ACTIONS(927), 1, - anon_sym_if, + [29206] = 2, + ACTIONS(1572), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12970] = 2, - ACTIONS(1219), 1, - sym_ident_pattern_token, + [29215] = 2, + ACTIONS(1574), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12979] = 2, - ACTIONS(1221), 1, + [29224] = 2, + ACTIONS(1576), 1, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12988] = 2, - ACTIONS(1223), 1, + [29233] = 2, + ACTIONS(1578), 1, sym__template_args_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [12997] = 2, - ACTIONS(1225), 1, + [29242] = 2, + ACTIONS(1580), 1, + anon_sym_RBRACK, + ACTIONS(3), 3, + sym__block_comment, + sym__comment, + sym__blankspace, + [29251] = 2, + ACTIONS(1582), 1, sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13006] = 2, - ACTIONS(1227), 1, - anon_sym_RBRACK, + [29260] = 2, + ACTIONS(1584), 1, + anon_sym_COMMA, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13015] = 2, - ACTIONS(1229), 1, + [29269] = 2, + ACTIONS(1586), 1, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13024] = 2, - ACTIONS(898), 1, - sym__template_args_end, + [29278] = 2, + ACTIONS(1588), 1, + anon_sym_COMMA, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13033] = 2, - ACTIONS(1231), 1, - sym__template_args_end, + [29287] = 2, + ACTIONS(1590), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13042] = 2, - ACTIONS(1233), 1, - anon_sym_RPAREN, + [29296] = 2, + ACTIONS(1592), 1, + sym__template_args_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13051] = 2, - ACTIONS(489), 1, - anon_sym_LPAREN, + [29305] = 2, + ACTIONS(1594), 1, + anon_sym_RBRACK, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13060] = 2, - ACTIONS(1235), 1, + [29314] = 2, + ACTIONS(1596), 1, sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13069] = 2, - ACTIONS(1237), 1, - anon_sym_RBRACK, + [29323] = 2, + ACTIONS(1598), 1, + anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13078] = 2, - ACTIONS(1239), 1, + [29332] = 2, + ACTIONS(1600), 1, anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13087] = 2, - ACTIONS(1241), 1, - anon_sym_LBRACE, + [29341] = 2, + ACTIONS(139), 1, + anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13096] = 2, - ACTIONS(1243), 1, - sym__disambiguate_template, + [29350] = 2, + ACTIONS(1602), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13105] = 2, - ACTIONS(1245), 1, - anon_sym_RBRACK, + [29359] = 2, + ACTIONS(1604), 1, + sym__template_args_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13114] = 2, - ACTIONS(1247), 1, - sym__disambiguate_template, + [29368] = 2, + ACTIONS(1606), 1, + anon_sym_RBRACK, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13123] = 2, - ACTIONS(1249), 1, + [29377] = 2, + ACTIONS(1608), 1, sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13132] = 2, - ACTIONS(1251), 1, - sym__disambiguate_template, + [29386] = 2, + ACTIONS(41), 1, + anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13141] = 2, - ACTIONS(1253), 1, - sym__disambiguate_template, + [29395] = 2, + ACTIONS(1610), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13150] = 2, - ACTIONS(1255), 1, - sym__disambiguate_template, + [29404] = 2, + ACTIONS(1612), 1, + anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13159] = 2, - ACTIONS(1257), 1, - sym__disambiguate_template, + [29413] = 2, + ACTIONS(1614), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13168] = 2, - ACTIONS(1259), 1, - sym__disambiguate_template, + [29422] = 2, + ACTIONS(1616), 1, + sym__template_args_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13177] = 2, - ACTIONS(1261), 1, - sym__template_args_start, + [29431] = 2, + ACTIONS(1618), 1, + anon_sym_RBRACK, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13186] = 2, - ACTIONS(1263), 1, - sym__template_args_end, + [29440] = 2, + ACTIONS(823), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13195] = 2, - ACTIONS(1265), 1, - sym__disambiguate_template, + [29449] = 2, + ACTIONS(1620), 1, + anon_sym_RBRACK, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13204] = 2, - ACTIONS(1267), 1, - anon_sym_RBRACE, + [29458] = 2, + ACTIONS(1622), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13213] = 2, - ACTIONS(1269), 1, - anon_sym_EQ, + [29467] = 2, + ACTIONS(1624), 1, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13222] = 2, - ACTIONS(233), 1, - anon_sym_RBRACE, + [29476] = 2, + ACTIONS(1626), 1, + anon_sym_AMP, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13231] = 2, - ACTIONS(977), 1, - anon_sym_EQ, + [29485] = 2, + ACTIONS(1628), 1, + anon_sym_CARET, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13240] = 2, - ACTIONS(373), 1, - anon_sym_RPAREN, + [29494] = 2, + ACTIONS(1630), 1, + anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13249] = 2, - ACTIONS(1271), 1, - sym__template_args_end, + [29503] = 2, + ACTIONS(1632), 1, + anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13258] = 2, - ACTIONS(1273), 1, + [29512] = 2, + ACTIONS(1634), 1, anon_sym_LPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13267] = 2, - ACTIONS(1275), 1, - anon_sym_LPAREN, + [29521] = 2, + ACTIONS(1636), 1, + anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13276] = 2, - ACTIONS(1277), 1, - sym__template_args_end, + [29530] = 2, + ACTIONS(1638), 1, + anon_sym_CARET, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13285] = 2, - ACTIONS(1279), 1, - anon_sym_LPAREN, + [29539] = 2, + ACTIONS(1640), 1, + anon_sym_AMP, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13294] = 2, - ACTIONS(1281), 1, - anon_sym_LPAREN, + [29548] = 2, + ACTIONS(1642), 1, + anon_sym_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13303] = 2, - ACTIONS(1283), 1, - sym__template_args_end, + [29557] = 2, + ACTIONS(1644), 1, + anon_sym_PIPE_PIPE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13312] = 2, - ACTIONS(1285), 1, - anon_sym_RPAREN, + [29566] = 2, + ACTIONS(1646), 1, + anon_sym_AMP_AMP, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13321] = 2, - ACTIONS(1287), 1, - anon_sym_SEMI, + [29575] = 2, + ACTIONS(1648), 1, + sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13330] = 2, - ACTIONS(1289), 1, - sym__template_args_end, + [29584] = 2, + ACTIONS(1650), 1, + anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13339] = 2, - ACTIONS(1291), 1, - anon_sym_SEMI, + [29593] = 2, + ACTIONS(1652), 1, + anon_sym_EQ, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13348] = 2, - ACTIONS(1293), 1, - sym__template_args_start, + [29602] = 2, + ACTIONS(137), 1, + anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13357] = 2, - ACTIONS(1295), 1, - sym__template_args_start, + [29611] = 2, + ACTIONS(1410), 1, + anon_sym_EQ, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13366] = 2, - ACTIONS(1297), 1, - sym__disambiguate_template, + [29620] = 2, + ACTIONS(821), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13375] = 2, - ACTIONS(1299), 1, - ts_builtin_sym_end, + [29629] = 2, + ACTIONS(1654), 1, + sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13384] = 2, - ACTIONS(1301), 1, - anon_sym_COMMA, + [29638] = 2, + ACTIONS(1656), 1, + anon_sym_LPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13393] = 2, - ACTIONS(1303), 1, - anon_sym_COMMA, + [29647] = 2, + ACTIONS(1658), 1, + anon_sym_LPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13402] = 2, - ACTIONS(1305), 1, - anon_sym_LBRACE, + [29656] = 2, + ACTIONS(1660), 1, + anon_sym_LPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13411] = 2, - ACTIONS(1307), 1, - anon_sym_RBRACE, + [29665] = 2, + ACTIONS(1662), 1, + anon_sym_LPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13420] = 2, - ACTIONS(1309), 1, - anon_sym_RBRACE, + [29674] = 2, + ACTIONS(1664), 1, + anon_sym_LPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13429] = 2, - ACTIONS(1311), 1, - sym__disambiguate_template, + [29683] = 2, + ACTIONS(1666), 1, + anon_sym_LPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13438] = 2, - ACTIONS(1313), 1, - sym__disambiguate_template, + [29692] = 2, + ACTIONS(1668), 1, + anon_sym_LPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13447] = 2, - ACTIONS(1315), 1, - sym__disambiguate_template, + [29701] = 2, + ACTIONS(1670), 1, + anon_sym_LPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13456] = 2, - ACTIONS(1317), 1, - sym__template_args_start, + [29710] = 2, + ACTIONS(1672), 1, + anon_sym_LPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13465] = 2, - ACTIONS(367), 1, - anon_sym_RPAREN, + [29719] = 2, + ACTIONS(1674), 1, + anon_sym_LPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13474] = 2, - ACTIONS(1319), 1, - sym__template_args_end, + [29728] = 2, + ACTIONS(1676), 1, + anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13483] = 2, - ACTIONS(1321), 1, - sym__template_args_start, + [29737] = 2, + ACTIONS(1678), 1, + anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13492] = 2, - ACTIONS(1323), 1, - sym__template_args_start, + [29746] = 2, + ACTIONS(1680), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13501] = 2, - ACTIONS(1325), 1, - sym__template_args_start, + [29755] = 2, + ACTIONS(1682), 1, + anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13510] = 2, - ACTIONS(1327), 1, - sym__template_args_start, + [29764] = 2, + ACTIONS(1684), 1, + anon_sym_SEMI, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13519] = 2, - ACTIONS(1329), 1, - sym__disambiguate_template, + [29773] = 2, + ACTIONS(1686), 1, + ts_builtin_sym_end, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13528] = 2, - ACTIONS(1331), 1, - sym__template_args_start, + [29782] = 2, + ACTIONS(1688), 1, + anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13537] = 2, - ACTIONS(1333), 1, - sym__template_args_start, + [29791] = 2, + ACTIONS(1690), 1, + anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13546] = 2, - ACTIONS(1335), 1, - sym__disambiguate_template, + [29800] = 2, + ACTIONS(1692), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13555] = 2, - ACTIONS(1337), 1, - sym__disambiguate_template, + [29809] = 2, + ACTIONS(1694), 1, + anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13564] = 2, - ACTIONS(1339), 1, + [29818] = 2, + ACTIONS(1696), 1, sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13573] = 2, - ACTIONS(1341), 1, - sym__disambiguate_template, + [29827] = 2, + ACTIONS(1698), 1, + anon_sym_RBRACE, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13582] = 2, - ACTIONS(1343), 1, + [29836] = 2, + ACTIONS(1182), 1, sym__disambiguate_template, ACTIONS(3), 3, sym__block_comment, sym__comment, sym__blankspace, - [13591] = 2, - ACTIONS(1345), 1, - sym__disambiguate_template, + [29845] = 2, + ACTIONS(877), 1, + anon_sym_RPAREN, ACTIONS(3), 3, sym__block_comment, sym__comment, @@ -31888,1242 +30011,1895 @@ static const uint16_t ts_small_parse_table[] = { }; static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(93)] = 0, - [SMALL_STATE(94)] = 71, - [SMALL_STATE(95)] = 142, - [SMALL_STATE(96)] = 212, - [SMALL_STATE(97)] = 282, - [SMALL_STATE(98)] = 352, - [SMALL_STATE(99)] = 422, - [SMALL_STATE(100)] = 492, - [SMALL_STATE(101)] = 562, - [SMALL_STATE(102)] = 632, - [SMALL_STATE(103)] = 702, - [SMALL_STATE(104)] = 772, - [SMALL_STATE(105)] = 842, - [SMALL_STATE(106)] = 912, - [SMALL_STATE(107)] = 981, - [SMALL_STATE(108)] = 1050, - [SMALL_STATE(109)] = 1119, - [SMALL_STATE(110)] = 1220, - [SMALL_STATE(111)] = 1321, - [SMALL_STATE(112)] = 1422, - [SMALL_STATE(113)] = 1523, - [SMALL_STATE(114)] = 1617, - [SMALL_STATE(115)] = 1711, - [SMALL_STATE(116)] = 1805, - [SMALL_STATE(117)] = 1899, - [SMALL_STATE(118)] = 1993, - [SMALL_STATE(119)] = 2087, - [SMALL_STATE(120)] = 2181, - [SMALL_STATE(121)] = 2275, - [SMALL_STATE(122)] = 2369, - [SMALL_STATE(123)] = 2463, - [SMALL_STATE(124)] = 2557, - [SMALL_STATE(125)] = 2651, - [SMALL_STATE(126)] = 2745, - [SMALL_STATE(127)] = 2839, - [SMALL_STATE(128)] = 2933, - [SMALL_STATE(129)] = 3027, - [SMALL_STATE(130)] = 3121, - [SMALL_STATE(131)] = 3215, - [SMALL_STATE(132)] = 3309, - [SMALL_STATE(133)] = 3403, - [SMALL_STATE(134)] = 3460, - [SMALL_STATE(135)] = 3513, - [SMALL_STATE(136)] = 3566, - [SMALL_STATE(137)] = 3619, - [SMALL_STATE(138)] = 3672, - [SMALL_STATE(139)] = 3725, - [SMALL_STATE(140)] = 3778, - [SMALL_STATE(141)] = 3817, - [SMALL_STATE(142)] = 3854, - [SMALL_STATE(143)] = 3897, - [SMALL_STATE(144)] = 3940, - [SMALL_STATE(145)] = 3983, - [SMALL_STATE(146)] = 4019, - [SMALL_STATE(147)] = 4055, - [SMALL_STATE(148)] = 4091, - [SMALL_STATE(149)] = 4127, - [SMALL_STATE(150)] = 4163, - [SMALL_STATE(151)] = 4199, - [SMALL_STATE(152)] = 4235, - [SMALL_STATE(153)] = 4271, - [SMALL_STATE(154)] = 4307, - [SMALL_STATE(155)] = 4343, - [SMALL_STATE(156)] = 4379, - [SMALL_STATE(157)] = 4415, - [SMALL_STATE(158)] = 4451, - [SMALL_STATE(159)] = 4487, - [SMALL_STATE(160)] = 4523, - [SMALL_STATE(161)] = 4559, - [SMALL_STATE(162)] = 4626, - [SMALL_STATE(163)] = 4668, - [SMALL_STATE(164)] = 4702, - [SMALL_STATE(165)] = 4736, - [SMALL_STATE(166)] = 4770, - [SMALL_STATE(167)] = 4804, - [SMALL_STATE(168)] = 4838, - [SMALL_STATE(169)] = 4870, - [SMALL_STATE(170)] = 4908, - [SMALL_STATE(171)] = 4946, - [SMALL_STATE(172)] = 4980, - [SMALL_STATE(173)] = 5018, - [SMALL_STATE(174)] = 5049, - [SMALL_STATE(175)] = 5080, - [SMALL_STATE(176)] = 5111, - [SMALL_STATE(177)] = 5142, - [SMALL_STATE(178)] = 5173, - [SMALL_STATE(179)] = 5204, - [SMALL_STATE(180)] = 5261, - [SMALL_STATE(181)] = 5292, - [SMALL_STATE(182)] = 5323, - [SMALL_STATE(183)] = 5356, - [SMALL_STATE(184)] = 5387, - [SMALL_STATE(185)] = 5418, - [SMALL_STATE(186)] = 5449, - [SMALL_STATE(187)] = 5480, - [SMALL_STATE(188)] = 5511, - [SMALL_STATE(189)] = 5542, - [SMALL_STATE(190)] = 5573, - [SMALL_STATE(191)] = 5604, - [SMALL_STATE(192)] = 5661, - [SMALL_STATE(193)] = 5718, - [SMALL_STATE(194)] = 5752, - [SMALL_STATE(195)] = 5786, - [SMALL_STATE(196)] = 5816, - [SMALL_STATE(197)] = 5845, - [SMALL_STATE(198)] = 5874, - [SMALL_STATE(199)] = 5903, - [SMALL_STATE(200)] = 5932, - [SMALL_STATE(201)] = 5961, - [SMALL_STATE(202)] = 5990, - [SMALL_STATE(203)] = 6019, - [SMALL_STATE(204)] = 6047, - [SMALL_STATE(205)] = 6081, - [SMALL_STATE(206)] = 6109, - [SMALL_STATE(207)] = 6139, - [SMALL_STATE(208)] = 6173, - [SMALL_STATE(209)] = 6207, - [SMALL_STATE(210)] = 6241, - [SMALL_STATE(211)] = 6271, - [SMALL_STATE(212)] = 6299, - [SMALL_STATE(213)] = 6333, - [SMALL_STATE(214)] = 6367, - [SMALL_STATE(215)] = 6396, - [SMALL_STATE(216)] = 6423, - [SMALL_STATE(217)] = 6450, - [SMALL_STATE(218)] = 6477, - [SMALL_STATE(219)] = 6504, - [SMALL_STATE(220)] = 6531, - [SMALL_STATE(221)] = 6558, - [SMALL_STATE(222)] = 6585, - [SMALL_STATE(223)] = 6612, - [SMALL_STATE(224)] = 6639, - [SMALL_STATE(225)] = 6666, - [SMALL_STATE(226)] = 6693, - [SMALL_STATE(227)] = 6720, - [SMALL_STATE(228)] = 6747, - [SMALL_STATE(229)] = 6774, - [SMALL_STATE(230)] = 6801, - [SMALL_STATE(231)] = 6828, - [SMALL_STATE(232)] = 6855, - [SMALL_STATE(233)] = 6882, - [SMALL_STATE(234)] = 6909, - [SMALL_STATE(235)] = 6936, - [SMALL_STATE(236)] = 6963, - [SMALL_STATE(237)] = 6990, - [SMALL_STATE(238)] = 7017, - [SMALL_STATE(239)] = 7044, - [SMALL_STATE(240)] = 7071, - [SMALL_STATE(241)] = 7098, - [SMALL_STATE(242)] = 7125, - [SMALL_STATE(243)] = 7152, - [SMALL_STATE(244)] = 7179, - [SMALL_STATE(245)] = 7206, - [SMALL_STATE(246)] = 7233, - [SMALL_STATE(247)] = 7260, - [SMALL_STATE(248)] = 7292, - [SMALL_STATE(249)] = 7322, - [SMALL_STATE(250)] = 7348, - [SMALL_STATE(251)] = 7378, - [SMALL_STATE(252)] = 7404, - [SMALL_STATE(253)] = 7436, - [SMALL_STATE(254)] = 7464, - [SMALL_STATE(255)] = 7496, - [SMALL_STATE(256)] = 7520, - [SMALL_STATE(257)] = 7550, - [SMALL_STATE(258)] = 7577, - [SMALL_STATE(259)] = 7602, - [SMALL_STATE(260)] = 7627, - [SMALL_STATE(261)] = 7652, - [SMALL_STATE(262)] = 7677, - [SMALL_STATE(263)] = 7702, - [SMALL_STATE(264)] = 7725, - [SMALL_STATE(265)] = 7750, - [SMALL_STATE(266)] = 7775, - [SMALL_STATE(267)] = 7800, - [SMALL_STATE(268)] = 7825, - [SMALL_STATE(269)] = 7850, - [SMALL_STATE(270)] = 7873, - [SMALL_STATE(271)] = 7898, - [SMALL_STATE(272)] = 7923, - [SMALL_STATE(273)] = 7948, - [SMALL_STATE(274)] = 7973, - [SMALL_STATE(275)] = 7998, - [SMALL_STATE(276)] = 8023, - [SMALL_STATE(277)] = 8048, - [SMALL_STATE(278)] = 8073, - [SMALL_STATE(279)] = 8098, - [SMALL_STATE(280)] = 8121, - [SMALL_STATE(281)] = 8144, - [SMALL_STATE(282)] = 8169, - [SMALL_STATE(283)] = 8194, - [SMALL_STATE(284)] = 8219, - [SMALL_STATE(285)] = 8244, - [SMALL_STATE(286)] = 8269, - [SMALL_STATE(287)] = 8294, - [SMALL_STATE(288)] = 8319, - [SMALL_STATE(289)] = 8349, - [SMALL_STATE(290)] = 8375, - [SMALL_STATE(291)] = 8403, - [SMALL_STATE(292)] = 8427, - [SMALL_STATE(293)] = 8457, - [SMALL_STATE(294)] = 8485, - [SMALL_STATE(295)] = 8515, - [SMALL_STATE(296)] = 8537, - [SMALL_STATE(297)] = 8558, - [SMALL_STATE(298)] = 8581, - [SMALL_STATE(299)] = 8608, - [SMALL_STATE(300)] = 8631, - [SMALL_STATE(301)] = 8654, - [SMALL_STATE(302)] = 8675, - [SMALL_STATE(303)] = 8698, - [SMALL_STATE(304)] = 8721, - [SMALL_STATE(305)] = 8744, - [SMALL_STATE(306)] = 8767, - [SMALL_STATE(307)] = 8790, - [SMALL_STATE(308)] = 8817, - [SMALL_STATE(309)] = 8840, - [SMALL_STATE(310)] = 8861, - [SMALL_STATE(311)] = 8884, - [SMALL_STATE(312)] = 8912, - [SMALL_STATE(313)] = 8940, - [SMALL_STATE(314)] = 8968, - [SMALL_STATE(315)] = 8992, - [SMALL_STATE(316)] = 9015, - [SMALL_STATE(317)] = 9036, - [SMALL_STATE(318)] = 9059, - [SMALL_STATE(319)] = 9080, - [SMALL_STATE(320)] = 9101, - [SMALL_STATE(321)] = 9122, - [SMALL_STATE(322)] = 9143, - [SMALL_STATE(323)] = 9166, - [SMALL_STATE(324)] = 9187, - [SMALL_STATE(325)] = 9208, - [SMALL_STATE(326)] = 9231, - [SMALL_STATE(327)] = 9254, - [SMALL_STATE(328)] = 9275, - [SMALL_STATE(329)] = 9296, - [SMALL_STATE(330)] = 9317, - [SMALL_STATE(331)] = 9338, - [SMALL_STATE(332)] = 9359, - [SMALL_STATE(333)] = 9380, - [SMALL_STATE(334)] = 9401, - [SMALL_STATE(335)] = 9424, - [SMALL_STATE(336)] = 9447, - [SMALL_STATE(337)] = 9468, - [SMALL_STATE(338)] = 9489, - [SMALL_STATE(339)] = 9510, - [SMALL_STATE(340)] = 9531, - [SMALL_STATE(341)] = 9554, - [SMALL_STATE(342)] = 9574, - [SMALL_STATE(343)] = 9594, - [SMALL_STATE(344)] = 9614, - [SMALL_STATE(345)] = 9634, - [SMALL_STATE(346)] = 9654, - [SMALL_STATE(347)] = 9676, - [SMALL_STATE(348)] = 9696, - [SMALL_STATE(349)] = 9716, - [SMALL_STATE(350)] = 9735, - [SMALL_STATE(351)] = 9754, - [SMALL_STATE(352)] = 9773, - [SMALL_STATE(353)] = 9792, - [SMALL_STATE(354)] = 9811, - [SMALL_STATE(355)] = 9836, - [SMALL_STATE(356)] = 9864, - [SMALL_STATE(357)] = 9884, - [SMALL_STATE(358)] = 9912, - [SMALL_STATE(359)] = 9928, - [SMALL_STATE(360)] = 9944, - [SMALL_STATE(361)] = 9959, - [SMALL_STATE(362)] = 9974, - [SMALL_STATE(363)] = 9999, - [SMALL_STATE(364)] = 10014, - [SMALL_STATE(365)] = 10035, - [SMALL_STATE(366)] = 10060, - [SMALL_STATE(367)] = 10075, - [SMALL_STATE(368)] = 10098, - [SMALL_STATE(369)] = 10115, - [SMALL_STATE(370)] = 10140, - [SMALL_STATE(371)] = 10165, - [SMALL_STATE(372)] = 10190, - [SMALL_STATE(373)] = 10205, - [SMALL_STATE(374)] = 10226, - [SMALL_STATE(375)] = 10251, - [SMALL_STATE(376)] = 10268, - [SMALL_STATE(377)] = 10293, - [SMALL_STATE(378)] = 10318, - [SMALL_STATE(379)] = 10335, - [SMALL_STATE(380)] = 10350, - [SMALL_STATE(381)] = 10365, - [SMALL_STATE(382)] = 10382, - [SMALL_STATE(383)] = 10405, - [SMALL_STATE(384)] = 10420, - [SMALL_STATE(385)] = 10435, - [SMALL_STATE(386)] = 10450, - [SMALL_STATE(387)] = 10465, - [SMALL_STATE(388)] = 10482, - [SMALL_STATE(389)] = 10496, - [SMALL_STATE(390)] = 10512, - [SMALL_STATE(391)] = 10528, - [SMALL_STATE(392)] = 10550, - [SMALL_STATE(393)] = 10570, - [SMALL_STATE(394)] = 10584, - [SMALL_STATE(395)] = 10606, - [SMALL_STATE(396)] = 10622, - [SMALL_STATE(397)] = 10644, - [SMALL_STATE(398)] = 10660, - [SMALL_STATE(399)] = 10676, - [SMALL_STATE(400)] = 10695, - [SMALL_STATE(401)] = 10712, - [SMALL_STATE(402)] = 10733, - [SMALL_STATE(403)] = 10752, - [SMALL_STATE(404)] = 10768, - [SMALL_STATE(405)] = 10784, - [SMALL_STATE(406)] = 10800, - [SMALL_STATE(407)] = 10816, - [SMALL_STATE(408)] = 10832, - [SMALL_STATE(409)] = 10848, - [SMALL_STATE(410)] = 10864, - [SMALL_STATE(411)] = 10878, - [SMALL_STATE(412)] = 10894, - [SMALL_STATE(413)] = 10910, - [SMALL_STATE(414)] = 10928, - [SMALL_STATE(415)] = 10939, - [SMALL_STATE(416)] = 10954, - [SMALL_STATE(417)] = 10969, - [SMALL_STATE(418)] = 10982, - [SMALL_STATE(419)] = 10997, - [SMALL_STATE(420)] = 11012, - [SMALL_STATE(421)] = 11027, - [SMALL_STATE(422)] = 11042, - [SMALL_STATE(423)] = 11057, - [SMALL_STATE(424)] = 11072, - [SMALL_STATE(425)] = 11087, - [SMALL_STATE(426)] = 11102, - [SMALL_STATE(427)] = 11117, - [SMALL_STATE(428)] = 11132, - [SMALL_STATE(429)] = 11143, - [SMALL_STATE(430)] = 11154, - [SMALL_STATE(431)] = 11169, - [SMALL_STATE(432)] = 11180, - [SMALL_STATE(433)] = 11195, - [SMALL_STATE(434)] = 11210, - [SMALL_STATE(435)] = 11221, - [SMALL_STATE(436)] = 11236, - [SMALL_STATE(437)] = 11247, - [SMALL_STATE(438)] = 11262, - [SMALL_STATE(439)] = 11277, - [SMALL_STATE(440)] = 11288, - [SMALL_STATE(441)] = 11303, - [SMALL_STATE(442)] = 11318, - [SMALL_STATE(443)] = 11333, - [SMALL_STATE(444)] = 11348, - [SMALL_STATE(445)] = 11359, - [SMALL_STATE(446)] = 11370, - [SMALL_STATE(447)] = 11385, - [SMALL_STATE(448)] = 11395, - [SMALL_STATE(449)] = 11407, - [SMALL_STATE(450)] = 11419, - [SMALL_STATE(451)] = 11431, - [SMALL_STATE(452)] = 11443, - [SMALL_STATE(453)] = 11455, - [SMALL_STATE(454)] = 11465, - [SMALL_STATE(455)] = 11475, - [SMALL_STATE(456)] = 11485, - [SMALL_STATE(457)] = 11495, - [SMALL_STATE(458)] = 11507, - [SMALL_STATE(459)] = 11519, - [SMALL_STATE(460)] = 11529, - [SMALL_STATE(461)] = 11539, - [SMALL_STATE(462)] = 11549, - [SMALL_STATE(463)] = 11559, - [SMALL_STATE(464)] = 11571, - [SMALL_STATE(465)] = 11583, - [SMALL_STATE(466)] = 11595, - [SMALL_STATE(467)] = 11605, - [SMALL_STATE(468)] = 11617, - [SMALL_STATE(469)] = 11629, - [SMALL_STATE(470)] = 11641, - [SMALL_STATE(471)] = 11653, - [SMALL_STATE(472)] = 11665, - [SMALL_STATE(473)] = 11675, - [SMALL_STATE(474)] = 11687, - [SMALL_STATE(475)] = 11699, - [SMALL_STATE(476)] = 11711, - [SMALL_STATE(477)] = 11723, - [SMALL_STATE(478)] = 11735, - [SMALL_STATE(479)] = 11747, - [SMALL_STATE(480)] = 11757, - [SMALL_STATE(481)] = 11769, - [SMALL_STATE(482)] = 11781, - [SMALL_STATE(483)] = 11793, - [SMALL_STATE(484)] = 11805, - [SMALL_STATE(485)] = 11817, - [SMALL_STATE(486)] = 11829, - [SMALL_STATE(487)] = 11841, - [SMALL_STATE(488)] = 11851, - [SMALL_STATE(489)] = 11861, - [SMALL_STATE(490)] = 11873, - [SMALL_STATE(491)] = 11883, - [SMALL_STATE(492)] = 11895, - [SMALL_STATE(493)] = 11905, - [SMALL_STATE(494)] = 11917, - [SMALL_STATE(495)] = 11927, - [SMALL_STATE(496)] = 11937, - [SMALL_STATE(497)] = 11947, - [SMALL_STATE(498)] = 11959, - [SMALL_STATE(499)] = 11969, - [SMALL_STATE(500)] = 11979, - [SMALL_STATE(501)] = 11991, - [SMALL_STATE(502)] = 12003, - [SMALL_STATE(503)] = 12015, - [SMALL_STATE(504)] = 12025, - [SMALL_STATE(505)] = 12035, - [SMALL_STATE(506)] = 12047, - [SMALL_STATE(507)] = 12059, - [SMALL_STATE(508)] = 12069, - [SMALL_STATE(509)] = 12081, - [SMALL_STATE(510)] = 12091, - [SMALL_STATE(511)] = 12103, - [SMALL_STATE(512)] = 12115, - [SMALL_STATE(513)] = 12125, - [SMALL_STATE(514)] = 12137, - [SMALL_STATE(515)] = 12149, - [SMALL_STATE(516)] = 12159, - [SMALL_STATE(517)] = 12169, - [SMALL_STATE(518)] = 12179, - [SMALL_STATE(519)] = 12191, - [SMALL_STATE(520)] = 12201, - [SMALL_STATE(521)] = 12211, - [SMALL_STATE(522)] = 12223, - [SMALL_STATE(523)] = 12232, - [SMALL_STATE(524)] = 12241, - [SMALL_STATE(525)] = 12250, - [SMALL_STATE(526)] = 12259, - [SMALL_STATE(527)] = 12268, - [SMALL_STATE(528)] = 12277, - [SMALL_STATE(529)] = 12286, - [SMALL_STATE(530)] = 12295, - [SMALL_STATE(531)] = 12304, - [SMALL_STATE(532)] = 12313, - [SMALL_STATE(533)] = 12322, - [SMALL_STATE(534)] = 12331, - [SMALL_STATE(535)] = 12340, - [SMALL_STATE(536)] = 12349, - [SMALL_STATE(537)] = 12358, - [SMALL_STATE(538)] = 12367, - [SMALL_STATE(539)] = 12376, - [SMALL_STATE(540)] = 12385, - [SMALL_STATE(541)] = 12394, - [SMALL_STATE(542)] = 12403, - [SMALL_STATE(543)] = 12412, - [SMALL_STATE(544)] = 12421, - [SMALL_STATE(545)] = 12430, - [SMALL_STATE(546)] = 12439, - [SMALL_STATE(547)] = 12448, - [SMALL_STATE(548)] = 12457, - [SMALL_STATE(549)] = 12466, - [SMALL_STATE(550)] = 12475, - [SMALL_STATE(551)] = 12484, - [SMALL_STATE(552)] = 12493, - [SMALL_STATE(553)] = 12502, - [SMALL_STATE(554)] = 12511, - [SMALL_STATE(555)] = 12520, - [SMALL_STATE(556)] = 12529, - [SMALL_STATE(557)] = 12538, - [SMALL_STATE(558)] = 12547, - [SMALL_STATE(559)] = 12556, - [SMALL_STATE(560)] = 12565, - [SMALL_STATE(561)] = 12574, - [SMALL_STATE(562)] = 12583, - [SMALL_STATE(563)] = 12592, - [SMALL_STATE(564)] = 12601, - [SMALL_STATE(565)] = 12610, - [SMALL_STATE(566)] = 12619, - [SMALL_STATE(567)] = 12628, - [SMALL_STATE(568)] = 12637, - [SMALL_STATE(569)] = 12646, - [SMALL_STATE(570)] = 12655, - [SMALL_STATE(571)] = 12664, - [SMALL_STATE(572)] = 12673, - [SMALL_STATE(573)] = 12682, - [SMALL_STATE(574)] = 12691, - [SMALL_STATE(575)] = 12700, - [SMALL_STATE(576)] = 12709, - [SMALL_STATE(577)] = 12718, - [SMALL_STATE(578)] = 12727, - [SMALL_STATE(579)] = 12736, - [SMALL_STATE(580)] = 12745, - [SMALL_STATE(581)] = 12754, - [SMALL_STATE(582)] = 12763, - [SMALL_STATE(583)] = 12772, - [SMALL_STATE(584)] = 12781, - [SMALL_STATE(585)] = 12790, - [SMALL_STATE(586)] = 12799, - [SMALL_STATE(587)] = 12808, - [SMALL_STATE(588)] = 12817, - [SMALL_STATE(589)] = 12826, - [SMALL_STATE(590)] = 12835, - [SMALL_STATE(591)] = 12844, - [SMALL_STATE(592)] = 12853, - [SMALL_STATE(593)] = 12862, - [SMALL_STATE(594)] = 12871, - [SMALL_STATE(595)] = 12880, - [SMALL_STATE(596)] = 12889, - [SMALL_STATE(597)] = 12898, - [SMALL_STATE(598)] = 12907, - [SMALL_STATE(599)] = 12916, - [SMALL_STATE(600)] = 12925, - [SMALL_STATE(601)] = 12934, - [SMALL_STATE(602)] = 12943, - [SMALL_STATE(603)] = 12952, - [SMALL_STATE(604)] = 12961, - [SMALL_STATE(605)] = 12970, - [SMALL_STATE(606)] = 12979, - [SMALL_STATE(607)] = 12988, - [SMALL_STATE(608)] = 12997, - [SMALL_STATE(609)] = 13006, - [SMALL_STATE(610)] = 13015, - [SMALL_STATE(611)] = 13024, - [SMALL_STATE(612)] = 13033, - [SMALL_STATE(613)] = 13042, - [SMALL_STATE(614)] = 13051, - [SMALL_STATE(615)] = 13060, - [SMALL_STATE(616)] = 13069, - [SMALL_STATE(617)] = 13078, - [SMALL_STATE(618)] = 13087, - [SMALL_STATE(619)] = 13096, - [SMALL_STATE(620)] = 13105, - [SMALL_STATE(621)] = 13114, - [SMALL_STATE(622)] = 13123, - [SMALL_STATE(623)] = 13132, - [SMALL_STATE(624)] = 13141, - [SMALL_STATE(625)] = 13150, - [SMALL_STATE(626)] = 13159, - [SMALL_STATE(627)] = 13168, - [SMALL_STATE(628)] = 13177, - [SMALL_STATE(629)] = 13186, - [SMALL_STATE(630)] = 13195, - [SMALL_STATE(631)] = 13204, - [SMALL_STATE(632)] = 13213, - [SMALL_STATE(633)] = 13222, - [SMALL_STATE(634)] = 13231, - [SMALL_STATE(635)] = 13240, - [SMALL_STATE(636)] = 13249, - [SMALL_STATE(637)] = 13258, - [SMALL_STATE(638)] = 13267, - [SMALL_STATE(639)] = 13276, - [SMALL_STATE(640)] = 13285, - [SMALL_STATE(641)] = 13294, - [SMALL_STATE(642)] = 13303, - [SMALL_STATE(643)] = 13312, - [SMALL_STATE(644)] = 13321, - [SMALL_STATE(645)] = 13330, - [SMALL_STATE(646)] = 13339, - [SMALL_STATE(647)] = 13348, - [SMALL_STATE(648)] = 13357, - [SMALL_STATE(649)] = 13366, - [SMALL_STATE(650)] = 13375, - [SMALL_STATE(651)] = 13384, - [SMALL_STATE(652)] = 13393, - [SMALL_STATE(653)] = 13402, - [SMALL_STATE(654)] = 13411, - [SMALL_STATE(655)] = 13420, - [SMALL_STATE(656)] = 13429, - [SMALL_STATE(657)] = 13438, - [SMALL_STATE(658)] = 13447, - [SMALL_STATE(659)] = 13456, - [SMALL_STATE(660)] = 13465, - [SMALL_STATE(661)] = 13474, - [SMALL_STATE(662)] = 13483, - [SMALL_STATE(663)] = 13492, - [SMALL_STATE(664)] = 13501, - [SMALL_STATE(665)] = 13510, - [SMALL_STATE(666)] = 13519, - [SMALL_STATE(667)] = 13528, - [SMALL_STATE(668)] = 13537, - [SMALL_STATE(669)] = 13546, - [SMALL_STATE(670)] = 13555, - [SMALL_STATE(671)] = 13564, - [SMALL_STATE(672)] = 13573, - [SMALL_STATE(673)] = 13582, - [SMALL_STATE(674)] = 13591, + [SMALL_STATE(17)] = 0, + [SMALL_STATE(18)] = 125, + [SMALL_STATE(19)] = 250, + [SMALL_STATE(20)] = 373, + [SMALL_STATE(21)] = 493, + [SMALL_STATE(22)] = 613, + [SMALL_STATE(23)] = 733, + [SMALL_STATE(24)] = 853, + [SMALL_STATE(25)] = 973, + [SMALL_STATE(26)] = 1093, + [SMALL_STATE(27)] = 1213, + [SMALL_STATE(28)] = 1333, + [SMALL_STATE(29)] = 1453, + [SMALL_STATE(30)] = 1573, + [SMALL_STATE(31)] = 1693, + [SMALL_STATE(32)] = 1813, + [SMALL_STATE(33)] = 1933, + [SMALL_STATE(34)] = 2053, + [SMALL_STATE(35)] = 2173, + [SMALL_STATE(36)] = 2293, + [SMALL_STATE(37)] = 2413, + [SMALL_STATE(38)] = 2533, + [SMALL_STATE(39)] = 2653, + [SMALL_STATE(40)] = 2773, + [SMALL_STATE(41)] = 2893, + [SMALL_STATE(42)] = 3013, + [SMALL_STATE(43)] = 3133, + [SMALL_STATE(44)] = 3250, + [SMALL_STATE(45)] = 3367, + [SMALL_STATE(46)] = 3484, + [SMALL_STATE(47)] = 3601, + [SMALL_STATE(48)] = 3718, + [SMALL_STATE(49)] = 3835, + [SMALL_STATE(50)] = 3952, + [SMALL_STATE(51)] = 4069, + [SMALL_STATE(52)] = 4183, + [SMALL_STATE(53)] = 4297, + [SMALL_STATE(54)] = 4411, + [SMALL_STATE(55)] = 4525, + [SMALL_STATE(56)] = 4619, + [SMALL_STATE(57)] = 4733, + [SMALL_STATE(58)] = 4847, + [SMALL_STATE(59)] = 4961, + [SMALL_STATE(60)] = 5075, + [SMALL_STATE(61)] = 5189, + [SMALL_STATE(62)] = 5303, + [SMALL_STATE(63)] = 5417, + [SMALL_STATE(64)] = 5531, + [SMALL_STATE(65)] = 5645, + [SMALL_STATE(66)] = 5759, + [SMALL_STATE(67)] = 5873, + [SMALL_STATE(68)] = 5987, + [SMALL_STATE(69)] = 6101, + [SMALL_STATE(70)] = 6215, + [SMALL_STATE(71)] = 6329, + [SMALL_STATE(72)] = 6443, + [SMALL_STATE(73)] = 6557, + [SMALL_STATE(74)] = 6671, + [SMALL_STATE(75)] = 6785, + [SMALL_STATE(76)] = 6899, + [SMALL_STATE(77)] = 7013, + [SMALL_STATE(78)] = 7127, + [SMALL_STATE(79)] = 7241, + [SMALL_STATE(80)] = 7355, + [SMALL_STATE(81)] = 7469, + [SMALL_STATE(82)] = 7583, + [SMALL_STATE(83)] = 7697, + [SMALL_STATE(84)] = 7811, + [SMALL_STATE(85)] = 7925, + [SMALL_STATE(86)] = 8039, + [SMALL_STATE(87)] = 8153, + [SMALL_STATE(88)] = 8267, + [SMALL_STATE(89)] = 8381, + [SMALL_STATE(90)] = 8495, + [SMALL_STATE(91)] = 8609, + [SMALL_STATE(92)] = 8723, + [SMALL_STATE(93)] = 8837, + [SMALL_STATE(94)] = 8951, + [SMALL_STATE(95)] = 9065, + [SMALL_STATE(96)] = 9179, + [SMALL_STATE(97)] = 9293, + [SMALL_STATE(98)] = 9386, + [SMALL_STATE(99)] = 9479, + [SMALL_STATE(100)] = 9572, + [SMALL_STATE(101)] = 9665, + [SMALL_STATE(102)] = 9741, + [SMALL_STATE(103)] = 9817, + [SMALL_STATE(104)] = 9907, + [SMALL_STATE(105)] = 9997, + [SMALL_STATE(106)] = 10073, + [SMALL_STATE(107)] = 10163, + [SMALL_STATE(108)] = 10253, + [SMALL_STATE(109)] = 10337, + [SMALL_STATE(110)] = 10421, + [SMALL_STATE(111)] = 10505, + [SMALL_STATE(112)] = 10589, + [SMALL_STATE(113)] = 10673, + [SMALL_STATE(114)] = 10757, + [SMALL_STATE(115)] = 10838, + [SMALL_STATE(116)] = 10919, + [SMALL_STATE(117)] = 11000, + [SMALL_STATE(118)] = 11081, + [SMALL_STATE(119)] = 11162, + [SMALL_STATE(120)] = 11243, + [SMALL_STATE(121)] = 11324, + [SMALL_STATE(122)] = 11405, + [SMALL_STATE(123)] = 11486, + [SMALL_STATE(124)] = 11567, + [SMALL_STATE(125)] = 11648, + [SMALL_STATE(126)] = 11729, + [SMALL_STATE(127)] = 11810, + [SMALL_STATE(128)] = 11891, + [SMALL_STATE(129)] = 11972, + [SMALL_STATE(130)] = 12053, + [SMALL_STATE(131)] = 12134, + [SMALL_STATE(132)] = 12215, + [SMALL_STATE(133)] = 12296, + [SMALL_STATE(134)] = 12377, + [SMALL_STATE(135)] = 12458, + [SMALL_STATE(136)] = 12539, + [SMALL_STATE(137)] = 12620, + [SMALL_STATE(138)] = 12701, + [SMALL_STATE(139)] = 12782, + [SMALL_STATE(140)] = 12863, + [SMALL_STATE(141)] = 12944, + [SMALL_STATE(142)] = 13025, + [SMALL_STATE(143)] = 13066, + [SMALL_STATE(144)] = 13107, + [SMALL_STATE(145)] = 13148, + [SMALL_STATE(146)] = 13192, + [SMALL_STATE(147)] = 13238, + [SMALL_STATE(148)] = 13281, + [SMALL_STATE(149)] = 13319, + [SMALL_STATE(150)] = 13363, + [SMALL_STATE(151)] = 13401, + [SMALL_STATE(152)] = 13445, + [SMALL_STATE(153)] = 13489, + [SMALL_STATE(154)] = 13526, + [SMALL_STATE(155)] = 13563, + [SMALL_STATE(156)] = 13600, + [SMALL_STATE(157)] = 13637, + [SMALL_STATE(158)] = 13674, + [SMALL_STATE(159)] = 13711, + [SMALL_STATE(160)] = 13748, + [SMALL_STATE(161)] = 13785, + [SMALL_STATE(162)] = 13822, + [SMALL_STATE(163)] = 13859, + [SMALL_STATE(164)] = 13896, + [SMALL_STATE(165)] = 13933, + [SMALL_STATE(166)] = 13970, + [SMALL_STATE(167)] = 14007, + [SMALL_STATE(168)] = 14050, + [SMALL_STATE(169)] = 14103, + [SMALL_STATE(170)] = 14140, + [SMALL_STATE(171)] = 14183, + [SMALL_STATE(172)] = 14226, + [SMALL_STATE(173)] = 14269, + [SMALL_STATE(174)] = 14306, + [SMALL_STATE(175)] = 14343, + [SMALL_STATE(176)] = 14383, + [SMALL_STATE(177)] = 14430, + [SMALL_STATE(178)] = 14477, + [SMALL_STATE(179)] = 14516, + [SMALL_STATE(180)] = 14559, + [SMALL_STATE(181)] = 14594, + [SMALL_STATE(182)] = 14629, + [SMALL_STATE(183)] = 14664, + [SMALL_STATE(184)] = 14699, + [SMALL_STATE(185)] = 14734, + [SMALL_STATE(186)] = 14773, + [SMALL_STATE(187)] = 14817, + [SMALL_STATE(188)] = 14851, + [SMALL_STATE(189)] = 14889, + [SMALL_STATE(190)] = 14927, + [SMALL_STATE(191)] = 14971, + [SMALL_STATE(192)] = 15005, + [SMALL_STATE(193)] = 15049, + [SMALL_STATE(194)] = 15093, + [SMALL_STATE(195)] = 15126, + [SMALL_STATE(196)] = 15165, + [SMALL_STATE(197)] = 15206, + [SMALL_STATE(198)] = 15239, + [SMALL_STATE(199)] = 15272, + [SMALL_STATE(200)] = 15305, + [SMALL_STATE(201)] = 15342, + [SMALL_STATE(202)] = 15375, + [SMALL_STATE(203)] = 15416, + [SMALL_STATE(204)] = 15449, + [SMALL_STATE(205)] = 15490, + [SMALL_STATE(206)] = 15531, + [SMALL_STATE(207)] = 15572, + [SMALL_STATE(208)] = 15611, + [SMALL_STATE(209)] = 15652, + [SMALL_STATE(210)] = 15685, + [SMALL_STATE(211)] = 15718, + [SMALL_STATE(212)] = 15751, + [SMALL_STATE(213)] = 15784, + [SMALL_STATE(214)] = 15823, + [SMALL_STATE(215)] = 15864, + [SMALL_STATE(216)] = 15903, + [SMALL_STATE(217)] = 15936, + [SMALL_STATE(218)] = 15969, + [SMALL_STATE(219)] = 16002, + [SMALL_STATE(220)] = 16035, + [SMALL_STATE(221)] = 16068, + [SMALL_STATE(222)] = 16101, + [SMALL_STATE(223)] = 16142, + [SMALL_STATE(224)] = 16175, + [SMALL_STATE(225)] = 16214, + [SMALL_STATE(226)] = 16277, + [SMALL_STATE(227)] = 16318, + [SMALL_STATE(228)] = 16351, + [SMALL_STATE(229)] = 16390, + [SMALL_STATE(230)] = 16423, + [SMALL_STATE(231)] = 16456, + [SMALL_STATE(232)] = 16489, + [SMALL_STATE(233)] = 16530, + [SMALL_STATE(234)] = 16563, + [SMALL_STATE(235)] = 16596, + [SMALL_STATE(236)] = 16659, + [SMALL_STATE(237)] = 16691, + [SMALL_STATE(238)] = 16723, + [SMALL_STATE(239)] = 16761, + [SMALL_STATE(240)] = 16799, + [SMALL_STATE(241)] = 16833, + [SMALL_STATE(242)] = 16871, + [SMALL_STATE(243)] = 16903, + [SMALL_STATE(244)] = 16935, + [SMALL_STATE(245)] = 16967, + [SMALL_STATE(246)] = 16999, + [SMALL_STATE(247)] = 17037, + [SMALL_STATE(248)] = 17069, + [SMALL_STATE(249)] = 17107, + [SMALL_STATE(250)] = 17139, + [SMALL_STATE(251)] = 17171, + [SMALL_STATE(252)] = 17203, + [SMALL_STATE(253)] = 17235, + [SMALL_STATE(254)] = 17273, + [SMALL_STATE(255)] = 17311, + [SMALL_STATE(256)] = 17349, + [SMALL_STATE(257)] = 17387, + [SMALL_STATE(258)] = 17419, + [SMALL_STATE(259)] = 17451, + [SMALL_STATE(260)] = 17489, + [SMALL_STATE(261)] = 17521, + [SMALL_STATE(262)] = 17559, + [SMALL_STATE(263)] = 17591, + [SMALL_STATE(264)] = 17623, + [SMALL_STATE(265)] = 17661, + [SMALL_STATE(266)] = 17693, + [SMALL_STATE(267)] = 17725, + [SMALL_STATE(268)] = 17757, + [SMALL_STATE(269)] = 17789, + [SMALL_STATE(270)] = 17821, + [SMALL_STATE(271)] = 17853, + [SMALL_STATE(272)] = 17885, + [SMALL_STATE(273)] = 17917, + [SMALL_STATE(274)] = 17949, + [SMALL_STATE(275)] = 17981, + [SMALL_STATE(276)] = 18019, + [SMALL_STATE(277)] = 18051, + [SMALL_STATE(278)] = 18089, + [SMALL_STATE(279)] = 18121, + [SMALL_STATE(280)] = 18153, + [SMALL_STATE(281)] = 18185, + [SMALL_STATE(282)] = 18223, + [SMALL_STATE(283)] = 18255, + [SMALL_STATE(284)] = 18290, + [SMALL_STATE(285)] = 18325, + [SMALL_STATE(286)] = 18360, + [SMALL_STATE(287)] = 18395, + [SMALL_STATE(288)] = 18430, + [SMALL_STATE(289)] = 18465, + [SMALL_STATE(290)] = 18500, + [SMALL_STATE(291)] = 18535, + [SMALL_STATE(292)] = 18570, + [SMALL_STATE(293)] = 18605, + [SMALL_STATE(294)] = 18636, + [SMALL_STATE(295)] = 18666, + [SMALL_STATE(296)] = 18700, + [SMALL_STATE(297)] = 18730, + [SMALL_STATE(298)] = 18764, + [SMALL_STATE(299)] = 18794, + [SMALL_STATE(300)] = 18824, + [SMALL_STATE(301)] = 18854, + [SMALL_STATE(302)] = 18884, + [SMALL_STATE(303)] = 18918, + [SMALL_STATE(304)] = 18948, + [SMALL_STATE(305)] = 18978, + [SMALL_STATE(306)] = 19008, + [SMALL_STATE(307)] = 19038, + [SMALL_STATE(308)] = 19068, + [SMALL_STATE(309)] = 19098, + [SMALL_STATE(310)] = 19128, + [SMALL_STATE(311)] = 19166, + [SMALL_STATE(312)] = 19196, + [SMALL_STATE(313)] = 19226, + [SMALL_STATE(314)] = 19255, + [SMALL_STATE(315)] = 19290, + [SMALL_STATE(316)] = 19325, + [SMALL_STATE(317)] = 19354, + [SMALL_STATE(318)] = 19389, + [SMALL_STATE(319)] = 19424, + [SMALL_STATE(320)] = 19457, + [SMALL_STATE(321)] = 19492, + [SMALL_STATE(322)] = 19525, + [SMALL_STATE(323)] = 19560, + [SMALL_STATE(324)] = 19588, + [SMALL_STATE(325)] = 19616, + [SMALL_STATE(326)] = 19644, + [SMALL_STATE(327)] = 19672, + [SMALL_STATE(328)] = 19710, + [SMALL_STATE(329)] = 19738, + [SMALL_STATE(330)] = 19766, + [SMALL_STATE(331)] = 19826, + [SMALL_STATE(332)] = 19854, + [SMALL_STATE(333)] = 19882, + [SMALL_STATE(334)] = 19914, + [SMALL_STATE(335)] = 19948, + [SMALL_STATE(336)] = 19978, + [SMALL_STATE(337)] = 20006, + [SMALL_STATE(338)] = 20034, + [SMALL_STATE(339)] = 20062, + [SMALL_STATE(340)] = 20090, + [SMALL_STATE(341)] = 20118, + [SMALL_STATE(342)] = 20150, + [SMALL_STATE(343)] = 20178, + [SMALL_STATE(344)] = 20206, + [SMALL_STATE(345)] = 20234, + [SMALL_STATE(346)] = 20262, + [SMALL_STATE(347)] = 20290, + [SMALL_STATE(348)] = 20318, + [SMALL_STATE(349)] = 20346, + [SMALL_STATE(350)] = 20374, + [SMALL_STATE(351)] = 20402, + [SMALL_STATE(352)] = 20430, + [SMALL_STATE(353)] = 20458, + [SMALL_STATE(354)] = 20486, + [SMALL_STATE(355)] = 20514, + [SMALL_STATE(356)] = 20542, + [SMALL_STATE(357)] = 20576, + [SMALL_STATE(358)] = 20604, + [SMALL_STATE(359)] = 20632, + [SMALL_STATE(360)] = 20660, + [SMALL_STATE(361)] = 20694, + [SMALL_STATE(362)] = 20721, + [SMALL_STATE(363)] = 20748, + [SMALL_STATE(364)] = 20797, + [SMALL_STATE(365)] = 20824, + [SMALL_STATE(366)] = 20851, + [SMALL_STATE(367)] = 20878, + [SMALL_STATE(368)] = 20905, + [SMALL_STATE(369)] = 20954, + [SMALL_STATE(370)] = 20983, + [SMALL_STATE(371)] = 21010, + [SMALL_STATE(372)] = 21037, + [SMALL_STATE(373)] = 21064, + [SMALL_STATE(374)] = 21097, + [SMALL_STATE(375)] = 21124, + [SMALL_STATE(376)] = 21151, + [SMALL_STATE(377)] = 21178, + [SMALL_STATE(378)] = 21205, + [SMALL_STATE(379)] = 21232, + [SMALL_STATE(380)] = 21265, + [SMALL_STATE(381)] = 21292, + [SMALL_STATE(382)] = 21325, + [SMALL_STATE(383)] = 21352, + [SMALL_STATE(384)] = 21401, + [SMALL_STATE(385)] = 21428, + [SMALL_STATE(386)] = 21454, + [SMALL_STATE(387)] = 21480, + [SMALL_STATE(388)] = 21506, + [SMALL_STATE(389)] = 21536, + [SMALL_STATE(390)] = 21566, + [SMALL_STATE(391)] = 21592, + [SMALL_STATE(392)] = 21618, + [SMALL_STATE(393)] = 21648, + [SMALL_STATE(394)] = 21674, + [SMALL_STATE(395)] = 21700, + [SMALL_STATE(396)] = 21726, + [SMALL_STATE(397)] = 21752, + [SMALL_STATE(398)] = 21782, + [SMALL_STATE(399)] = 21808, + [SMALL_STATE(400)] = 21834, + [SMALL_STATE(401)] = 21860, + [SMALL_STATE(402)] = 21886, + [SMALL_STATE(403)] = 21912, + [SMALL_STATE(404)] = 21938, + [SMALL_STATE(405)] = 21964, + [SMALL_STATE(406)] = 21994, + [SMALL_STATE(407)] = 22024, + [SMALL_STATE(408)] = 22050, + [SMALL_STATE(409)] = 22076, + [SMALL_STATE(410)] = 22102, + [SMALL_STATE(411)] = 22128, + [SMALL_STATE(412)] = 22154, + [SMALL_STATE(413)] = 22180, + [SMALL_STATE(414)] = 22208, + [SMALL_STATE(415)] = 22234, + [SMALL_STATE(416)] = 22260, + [SMALL_STATE(417)] = 22286, + [SMALL_STATE(418)] = 22316, + [SMALL_STATE(419)] = 22339, + [SMALL_STATE(420)] = 22364, + [SMALL_STATE(421)] = 22389, + [SMALL_STATE(422)] = 22418, + [SMALL_STATE(423)] = 22443, + [SMALL_STATE(424)] = 22468, + [SMALL_STATE(425)] = 22493, + [SMALL_STATE(426)] = 22522, + [SMALL_STATE(427)] = 22551, + [SMALL_STATE(428)] = 22574, + [SMALL_STATE(429)] = 22601, + [SMALL_STATE(430)] = 22626, + [SMALL_STATE(431)] = 22649, + [SMALL_STATE(432)] = 22674, + [SMALL_STATE(433)] = 22697, + [SMALL_STATE(434)] = 22720, + [SMALL_STATE(435)] = 22745, + [SMALL_STATE(436)] = 22774, + [SMALL_STATE(437)] = 22798, + [SMALL_STATE(438)] = 22828, + [SMALL_STATE(439)] = 22852, + [SMALL_STATE(440)] = 22876, + [SMALL_STATE(441)] = 22906, + [SMALL_STATE(442)] = 22930, + [SMALL_STATE(443)] = 22960, + [SMALL_STATE(444)] = 22984, + [SMALL_STATE(445)] = 23014, + [SMALL_STATE(446)] = 23038, + [SMALL_STATE(447)] = 23062, + [SMALL_STATE(448)] = 23090, + [SMALL_STATE(449)] = 23114, + [SMALL_STATE(450)] = 23142, + [SMALL_STATE(451)] = 23170, + [SMALL_STATE(452)] = 23200, + [SMALL_STATE(453)] = 23230, + [SMALL_STATE(454)] = 23254, + [SMALL_STATE(455)] = 23278, + [SMALL_STATE(456)] = 23302, + [SMALL_STATE(457)] = 23326, + [SMALL_STATE(458)] = 23356, + [SMALL_STATE(459)] = 23379, + [SMALL_STATE(460)] = 23404, + [SMALL_STATE(461)] = 23427, + [SMALL_STATE(462)] = 23450, + [SMALL_STATE(463)] = 23471, + [SMALL_STATE(464)] = 23494, + [SMALL_STATE(465)] = 23517, + [SMALL_STATE(466)] = 23540, + [SMALL_STATE(467)] = 23567, + [SMALL_STATE(468)] = 23590, + [SMALL_STATE(469)] = 23613, + [SMALL_STATE(470)] = 23636, + [SMALL_STATE(471)] = 23659, + [SMALL_STATE(472)] = 23682, + [SMALL_STATE(473)] = 23705, + [SMALL_STATE(474)] = 23728, + [SMALL_STATE(475)] = 23751, + [SMALL_STATE(476)] = 23774, + [SMALL_STATE(477)] = 23797, + [SMALL_STATE(478)] = 23820, + [SMALL_STATE(479)] = 23843, + [SMALL_STATE(480)] = 23870, + [SMALL_STATE(481)] = 23893, + [SMALL_STATE(482)] = 23916, + [SMALL_STATE(483)] = 23939, + [SMALL_STATE(484)] = 23960, + [SMALL_STATE(485)] = 23983, + [SMALL_STATE(486)] = 24006, + [SMALL_STATE(487)] = 24029, + [SMALL_STATE(488)] = 24052, + [SMALL_STATE(489)] = 24075, + [SMALL_STATE(490)] = 24098, + [SMALL_STATE(491)] = 24121, + [SMALL_STATE(492)] = 24144, + [SMALL_STATE(493)] = 24165, + [SMALL_STATE(494)] = 24188, + [SMALL_STATE(495)] = 24211, + [SMALL_STATE(496)] = 24234, + [SMALL_STATE(497)] = 24257, + [SMALL_STATE(498)] = 24280, + [SMALL_STATE(499)] = 24302, + [SMALL_STATE(500)] = 24324, + [SMALL_STATE(501)] = 24352, + [SMALL_STATE(502)] = 24374, + [SMALL_STATE(503)] = 24396, + [SMALL_STATE(504)] = 24420, + [SMALL_STATE(505)] = 24448, + [SMALL_STATE(506)] = 24476, + [SMALL_STATE(507)] = 24497, + [SMALL_STATE(508)] = 24518, + [SMALL_STATE(509)] = 24541, + [SMALL_STATE(510)] = 24564, + [SMALL_STATE(511)] = 24585, + [SMALL_STATE(512)] = 24606, + [SMALL_STATE(513)] = 24627, + [SMALL_STATE(514)] = 24648, + [SMALL_STATE(515)] = 24669, + [SMALL_STATE(516)] = 24690, + [SMALL_STATE(517)] = 24713, + [SMALL_STATE(518)] = 24736, + [SMALL_STATE(519)] = 24759, + [SMALL_STATE(520)] = 24782, + [SMALL_STATE(521)] = 24803, + [SMALL_STATE(522)] = 24824, + [SMALL_STATE(523)] = 24847, + [SMALL_STATE(524)] = 24868, + [SMALL_STATE(525)] = 24889, + [SMALL_STATE(526)] = 24910, + [SMALL_STATE(527)] = 24931, + [SMALL_STATE(528)] = 24952, + [SMALL_STATE(529)] = 24973, + [SMALL_STATE(530)] = 24994, + [SMALL_STATE(531)] = 25015, + [SMALL_STATE(532)] = 25036, + [SMALL_STATE(533)] = 25057, + [SMALL_STATE(534)] = 25078, + [SMALL_STATE(535)] = 25099, + [SMALL_STATE(536)] = 25120, + [SMALL_STATE(537)] = 25141, + [SMALL_STATE(538)] = 25162, + [SMALL_STATE(539)] = 25183, + [SMALL_STATE(540)] = 25204, + [SMALL_STATE(541)] = 25225, + [SMALL_STATE(542)] = 25246, + [SMALL_STATE(543)] = 25267, + [SMALL_STATE(544)] = 25288, + [SMALL_STATE(545)] = 25309, + [SMALL_STATE(546)] = 25330, + [SMALL_STATE(547)] = 25351, + [SMALL_STATE(548)] = 25374, + [SMALL_STATE(549)] = 25395, + [SMALL_STATE(550)] = 25416, + [SMALL_STATE(551)] = 25439, + [SMALL_STATE(552)] = 25462, + [SMALL_STATE(553)] = 25483, + [SMALL_STATE(554)] = 25506, + [SMALL_STATE(555)] = 25527, + [SMALL_STATE(556)] = 25548, + [SMALL_STATE(557)] = 25569, + [SMALL_STATE(558)] = 25590, + [SMALL_STATE(559)] = 25611, + [SMALL_STATE(560)] = 25632, + [SMALL_STATE(561)] = 25655, + [SMALL_STATE(562)] = 25676, + [SMALL_STATE(563)] = 25697, + [SMALL_STATE(564)] = 25718, + [SMALL_STATE(565)] = 25739, + [SMALL_STATE(566)] = 25762, + [SMALL_STATE(567)] = 25783, + [SMALL_STATE(568)] = 25804, + [SMALL_STATE(569)] = 25825, + [SMALL_STATE(570)] = 25846, + [SMALL_STATE(571)] = 25867, + [SMALL_STATE(572)] = 25888, + [SMALL_STATE(573)] = 25909, + [SMALL_STATE(574)] = 25930, + [SMALL_STATE(575)] = 25951, + [SMALL_STATE(576)] = 25972, + [SMALL_STATE(577)] = 25993, + [SMALL_STATE(578)] = 26014, + [SMALL_STATE(579)] = 26035, + [SMALL_STATE(580)] = 26055, + [SMALL_STATE(581)] = 26073, + [SMALL_STATE(582)] = 26097, + [SMALL_STATE(583)] = 26117, + [SMALL_STATE(584)] = 26137, + [SMALL_STATE(585)] = 26157, + [SMALL_STATE(586)] = 26177, + [SMALL_STATE(587)] = 26197, + [SMALL_STATE(588)] = 26219, + [SMALL_STATE(589)] = 26239, + [SMALL_STATE(590)] = 26263, + [SMALL_STATE(591)] = 26283, + [SMALL_STATE(592)] = 26302, + [SMALL_STATE(593)] = 26321, + [SMALL_STATE(594)] = 26344, + [SMALL_STATE(595)] = 26363, + [SMALL_STATE(596)] = 26382, + [SMALL_STATE(597)] = 26401, + [SMALL_STATE(598)] = 26418, + [SMALL_STATE(599)] = 26437, + [SMALL_STATE(600)] = 26458, + [SMALL_STATE(601)] = 26481, + [SMALL_STATE(602)] = 26500, + [SMALL_STATE(603)] = 26519, + [SMALL_STATE(604)] = 26536, + [SMALL_STATE(605)] = 26554, + [SMALL_STATE(606)] = 26572, + [SMALL_STATE(607)] = 26590, + [SMALL_STATE(608)] = 26608, + [SMALL_STATE(609)] = 26626, + [SMALL_STATE(610)] = 26651, + [SMALL_STATE(611)] = 26676, + [SMALL_STATE(612)] = 26701, + [SMALL_STATE(613)] = 26720, + [SMALL_STATE(614)] = 26743, + [SMALL_STATE(615)] = 26766, + [SMALL_STATE(616)] = 26781, + [SMALL_STATE(617)] = 26806, + [SMALL_STATE(618)] = 26829, + [SMALL_STATE(619)] = 26847, + [SMALL_STATE(620)] = 26867, + [SMALL_STATE(621)] = 26887, + [SMALL_STATE(622)] = 26904, + [SMALL_STATE(623)] = 26925, + [SMALL_STATE(624)] = 26942, + [SMALL_STATE(625)] = 26959, + [SMALL_STATE(626)] = 26972, + [SMALL_STATE(627)] = 26985, + [SMALL_STATE(628)] = 26997, + [SMALL_STATE(629)] = 27013, + [SMALL_STATE(630)] = 27031, + [SMALL_STATE(631)] = 27049, + [SMALL_STATE(632)] = 27067, + [SMALL_STATE(633)] = 27079, + [SMALL_STATE(634)] = 27091, + [SMALL_STATE(635)] = 27109, + [SMALL_STATE(636)] = 27121, + [SMALL_STATE(637)] = 27139, + [SMALL_STATE(638)] = 27157, + [SMALL_STATE(639)] = 27175, + [SMALL_STATE(640)] = 27190, + [SMALL_STATE(641)] = 27205, + [SMALL_STATE(642)] = 27220, + [SMALL_STATE(643)] = 27233, + [SMALL_STATE(644)] = 27246, + [SMALL_STATE(645)] = 27259, + [SMALL_STATE(646)] = 27272, + [SMALL_STATE(647)] = 27285, + [SMALL_STATE(648)] = 27298, + [SMALL_STATE(649)] = 27313, + [SMALL_STATE(650)] = 27328, + [SMALL_STATE(651)] = 27343, + [SMALL_STATE(652)] = 27358, + [SMALL_STATE(653)] = 27373, + [SMALL_STATE(654)] = 27388, + [SMALL_STATE(655)] = 27403, + [SMALL_STATE(656)] = 27418, + [SMALL_STATE(657)] = 27429, + [SMALL_STATE(658)] = 27444, + [SMALL_STATE(659)] = 27457, + [SMALL_STATE(660)] = 27472, + [SMALL_STATE(661)] = 27483, + [SMALL_STATE(662)] = 27496, + [SMALL_STATE(663)] = 27507, + [SMALL_STATE(664)] = 27518, + [SMALL_STATE(665)] = 27533, + [SMALL_STATE(666)] = 27548, + [SMALL_STATE(667)] = 27563, + [SMALL_STATE(668)] = 27578, + [SMALL_STATE(669)] = 27593, + [SMALL_STATE(670)] = 27608, + [SMALL_STATE(671)] = 27623, + [SMALL_STATE(672)] = 27638, + [SMALL_STATE(673)] = 27651, + [SMALL_STATE(674)] = 27662, + [SMALL_STATE(675)] = 27677, + [SMALL_STATE(676)] = 27692, + [SMALL_STATE(677)] = 27703, + [SMALL_STATE(678)] = 27714, + [SMALL_STATE(679)] = 27729, + [SMALL_STATE(680)] = 27744, + [SMALL_STATE(681)] = 27759, + [SMALL_STATE(682)] = 27774, + [SMALL_STATE(683)] = 27789, + [SMALL_STATE(684)] = 27804, + [SMALL_STATE(685)] = 27815, + [SMALL_STATE(686)] = 27830, + [SMALL_STATE(687)] = 27845, + [SMALL_STATE(688)] = 27855, + [SMALL_STATE(689)] = 27867, + [SMALL_STATE(690)] = 27877, + [SMALL_STATE(691)] = 27887, + [SMALL_STATE(692)] = 27897, + [SMALL_STATE(693)] = 27907, + [SMALL_STATE(694)] = 27917, + [SMALL_STATE(695)] = 27927, + [SMALL_STATE(696)] = 27939, + [SMALL_STATE(697)] = 27949, + [SMALL_STATE(698)] = 27961, + [SMALL_STATE(699)] = 27973, + [SMALL_STATE(700)] = 27983, + [SMALL_STATE(701)] = 27993, + [SMALL_STATE(702)] = 28005, + [SMALL_STATE(703)] = 28017, + [SMALL_STATE(704)] = 28029, + [SMALL_STATE(705)] = 28039, + [SMALL_STATE(706)] = 28049, + [SMALL_STATE(707)] = 28059, + [SMALL_STATE(708)] = 28071, + [SMALL_STATE(709)] = 28081, + [SMALL_STATE(710)] = 28093, + [SMALL_STATE(711)] = 28105, + [SMALL_STATE(712)] = 28117, + [SMALL_STATE(713)] = 28127, + [SMALL_STATE(714)] = 28137, + [SMALL_STATE(715)] = 28147, + [SMALL_STATE(716)] = 28159, + [SMALL_STATE(717)] = 28171, + [SMALL_STATE(718)] = 28183, + [SMALL_STATE(719)] = 28195, + [SMALL_STATE(720)] = 28207, + [SMALL_STATE(721)] = 28219, + [SMALL_STATE(722)] = 28229, + [SMALL_STATE(723)] = 28239, + [SMALL_STATE(724)] = 28251, + [SMALL_STATE(725)] = 28263, + [SMALL_STATE(726)] = 28275, + [SMALL_STATE(727)] = 28285, + [SMALL_STATE(728)] = 28297, + [SMALL_STATE(729)] = 28309, + [SMALL_STATE(730)] = 28319, + [SMALL_STATE(731)] = 28329, + [SMALL_STATE(732)] = 28341, + [SMALL_STATE(733)] = 28351, + [SMALL_STATE(734)] = 28361, + [SMALL_STATE(735)] = 28371, + [SMALL_STATE(736)] = 28383, + [SMALL_STATE(737)] = 28395, + [SMALL_STATE(738)] = 28407, + [SMALL_STATE(739)] = 28419, + [SMALL_STATE(740)] = 28431, + [SMALL_STATE(741)] = 28443, + [SMALL_STATE(742)] = 28453, + [SMALL_STATE(743)] = 28465, + [SMALL_STATE(744)] = 28475, + [SMALL_STATE(745)] = 28485, + [SMALL_STATE(746)] = 28497, + [SMALL_STATE(747)] = 28509, + [SMALL_STATE(748)] = 28521, + [SMALL_STATE(749)] = 28531, + [SMALL_STATE(750)] = 28540, + [SMALL_STATE(751)] = 28549, + [SMALL_STATE(752)] = 28558, + [SMALL_STATE(753)] = 28567, + [SMALL_STATE(754)] = 28576, + [SMALL_STATE(755)] = 28585, + [SMALL_STATE(756)] = 28594, + [SMALL_STATE(757)] = 28603, + [SMALL_STATE(758)] = 28612, + [SMALL_STATE(759)] = 28621, + [SMALL_STATE(760)] = 28630, + [SMALL_STATE(761)] = 28639, + [SMALL_STATE(762)] = 28648, + [SMALL_STATE(763)] = 28657, + [SMALL_STATE(764)] = 28666, + [SMALL_STATE(765)] = 28675, + [SMALL_STATE(766)] = 28684, + [SMALL_STATE(767)] = 28693, + [SMALL_STATE(768)] = 28702, + [SMALL_STATE(769)] = 28711, + [SMALL_STATE(770)] = 28720, + [SMALL_STATE(771)] = 28729, + [SMALL_STATE(772)] = 28738, + [SMALL_STATE(773)] = 28747, + [SMALL_STATE(774)] = 28756, + [SMALL_STATE(775)] = 28765, + [SMALL_STATE(776)] = 28774, + [SMALL_STATE(777)] = 28783, + [SMALL_STATE(778)] = 28792, + [SMALL_STATE(779)] = 28801, + [SMALL_STATE(780)] = 28810, + [SMALL_STATE(781)] = 28819, + [SMALL_STATE(782)] = 28828, + [SMALL_STATE(783)] = 28837, + [SMALL_STATE(784)] = 28846, + [SMALL_STATE(785)] = 28855, + [SMALL_STATE(786)] = 28864, + [SMALL_STATE(787)] = 28873, + [SMALL_STATE(788)] = 28882, + [SMALL_STATE(789)] = 28891, + [SMALL_STATE(790)] = 28900, + [SMALL_STATE(791)] = 28909, + [SMALL_STATE(792)] = 28918, + [SMALL_STATE(793)] = 28927, + [SMALL_STATE(794)] = 28936, + [SMALL_STATE(795)] = 28945, + [SMALL_STATE(796)] = 28954, + [SMALL_STATE(797)] = 28963, + [SMALL_STATE(798)] = 28972, + [SMALL_STATE(799)] = 28981, + [SMALL_STATE(800)] = 28990, + [SMALL_STATE(801)] = 28999, + [SMALL_STATE(802)] = 29008, + [SMALL_STATE(803)] = 29017, + [SMALL_STATE(804)] = 29026, + [SMALL_STATE(805)] = 29035, + [SMALL_STATE(806)] = 29044, + [SMALL_STATE(807)] = 29053, + [SMALL_STATE(808)] = 29062, + [SMALL_STATE(809)] = 29071, + [SMALL_STATE(810)] = 29080, + [SMALL_STATE(811)] = 29089, + [SMALL_STATE(812)] = 29098, + [SMALL_STATE(813)] = 29107, + [SMALL_STATE(814)] = 29116, + [SMALL_STATE(815)] = 29125, + [SMALL_STATE(816)] = 29134, + [SMALL_STATE(817)] = 29143, + [SMALL_STATE(818)] = 29152, + [SMALL_STATE(819)] = 29161, + [SMALL_STATE(820)] = 29170, + [SMALL_STATE(821)] = 29179, + [SMALL_STATE(822)] = 29188, + [SMALL_STATE(823)] = 29197, + [SMALL_STATE(824)] = 29206, + [SMALL_STATE(825)] = 29215, + [SMALL_STATE(826)] = 29224, + [SMALL_STATE(827)] = 29233, + [SMALL_STATE(828)] = 29242, + [SMALL_STATE(829)] = 29251, + [SMALL_STATE(830)] = 29260, + [SMALL_STATE(831)] = 29269, + [SMALL_STATE(832)] = 29278, + [SMALL_STATE(833)] = 29287, + [SMALL_STATE(834)] = 29296, + [SMALL_STATE(835)] = 29305, + [SMALL_STATE(836)] = 29314, + [SMALL_STATE(837)] = 29323, + [SMALL_STATE(838)] = 29332, + [SMALL_STATE(839)] = 29341, + [SMALL_STATE(840)] = 29350, + [SMALL_STATE(841)] = 29359, + [SMALL_STATE(842)] = 29368, + [SMALL_STATE(843)] = 29377, + [SMALL_STATE(844)] = 29386, + [SMALL_STATE(845)] = 29395, + [SMALL_STATE(846)] = 29404, + [SMALL_STATE(847)] = 29413, + [SMALL_STATE(848)] = 29422, + [SMALL_STATE(849)] = 29431, + [SMALL_STATE(850)] = 29440, + [SMALL_STATE(851)] = 29449, + [SMALL_STATE(852)] = 29458, + [SMALL_STATE(853)] = 29467, + [SMALL_STATE(854)] = 29476, + [SMALL_STATE(855)] = 29485, + [SMALL_STATE(856)] = 29494, + [SMALL_STATE(857)] = 29503, + [SMALL_STATE(858)] = 29512, + [SMALL_STATE(859)] = 29521, + [SMALL_STATE(860)] = 29530, + [SMALL_STATE(861)] = 29539, + [SMALL_STATE(862)] = 29548, + [SMALL_STATE(863)] = 29557, + [SMALL_STATE(864)] = 29566, + [SMALL_STATE(865)] = 29575, + [SMALL_STATE(866)] = 29584, + [SMALL_STATE(867)] = 29593, + [SMALL_STATE(868)] = 29602, + [SMALL_STATE(869)] = 29611, + [SMALL_STATE(870)] = 29620, + [SMALL_STATE(871)] = 29629, + [SMALL_STATE(872)] = 29638, + [SMALL_STATE(873)] = 29647, + [SMALL_STATE(874)] = 29656, + [SMALL_STATE(875)] = 29665, + [SMALL_STATE(876)] = 29674, + [SMALL_STATE(877)] = 29683, + [SMALL_STATE(878)] = 29692, + [SMALL_STATE(879)] = 29701, + [SMALL_STATE(880)] = 29710, + [SMALL_STATE(881)] = 29719, + [SMALL_STATE(882)] = 29728, + [SMALL_STATE(883)] = 29737, + [SMALL_STATE(884)] = 29746, + [SMALL_STATE(885)] = 29755, + [SMALL_STATE(886)] = 29764, + [SMALL_STATE(887)] = 29773, + [SMALL_STATE(888)] = 29782, + [SMALL_STATE(889)] = 29791, + [SMALL_STATE(890)] = 29800, + [SMALL_STATE(891)] = 29809, + [SMALL_STATE(892)] = 29818, + [SMALL_STATE(893)] = 29827, + [SMALL_STATE(894)] = 29836, + [SMALL_STATE(895)] = 29845, }; 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_EXTRA(), - [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 0), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(421), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(656), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(630), - [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_selectors, 2), - [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(363), - [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(627), - [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(626), - [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(625), - [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(366), - [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(361), - [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(624), - [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(623), - [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(622), - [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(621), - [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(619), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414), - [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_selectors, 3), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), - [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), - [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), - [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), - [89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_comma_list, 3), - [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_comma_list, 2), - [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 1), - [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(255), - [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), - [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(420), - [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(656), - [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), - [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(542), - [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), - [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), - [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(554), - [125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(553), - [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(552), - [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(551), - [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(510), - [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), - [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), - [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(631), - [143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(469), - [145] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(255), - [148] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(99), - [151] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(374), - [154] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(420), - [157] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(630), - [160] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(53), - [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), - [165] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(363), - [168] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(627), - [171] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(626), - [174] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(625), - [177] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(366), - [180] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(361), - [183] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(624), - [186] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(623), - [189] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(622), - [192] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(621), - [195] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(656), - [198] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(369), - [201] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(542), - [204] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(26), - [207] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(23), - [210] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(554), - [213] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(553), - [216] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(47), - [219] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(552), - [222] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(551), - [225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), - [227] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(18), - [230] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2), SHIFT_REPEAT(28), - [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(654), - [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [239] = {.entry = {.count = 1, .reusable = false}}, SHIFT(300), - [241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(323), - [243] = {.entry = {.count = 1, .reusable = false}}, SHIFT(330), - [245] = {.entry = {.count = 1, .reusable = false}}, SHIFT(336), - [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), - [249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(320), - [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), - [253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(331), - [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(672), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(205), - [263] = {.entry = {.count = 1, .reusable = false}}, SHIFT(234), - [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(235), - [267] = {.entry = {.count = 1, .reusable = false}}, SHIFT(236), - [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), - [271] = {.entry = {.count = 1, .reusable = false}}, SHIFT(216), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), - [275] = {.entry = {.count = 1, .reusable = false}}, SHIFT(233), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [279] = {.entry = {.count = 1, .reusable = false}}, SHIFT(669), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [283] = {.entry = {.count = 1, .reusable = false}}, SHIFT(195), - [285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(225), - [287] = {.entry = {.count = 1, .reusable = false}}, SHIFT(224), - [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(220), - [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), - [293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219), - [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), - [297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(217), - [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(670), - [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(251), - [307] = {.entry = {.count = 1, .reusable = false}}, SHIFT(274), - [309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(281), - [311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(287), - [313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), - [315] = {.entry = {.count = 1, .reusable = false}}, SHIFT(286), - [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), - [319] = {.entry = {.count = 1, .reusable = false}}, SHIFT(285), - [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(671), - [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [327] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168), - [329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190), - [331] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189), - [333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(187), - [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), - [337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(185), - [339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(174), - [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [345] = {.entry = {.count = 1, .reusable = false}}, SHIFT(666), - [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 3), - [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 3), - [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 2), - [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 2), - [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_header, 2), - [361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 1), - [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 1), - [365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(430), - [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_header, 4), - [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 2), - [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 2), - [373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_header, 3), - [375] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2), - [377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2), - [379] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2), SHIFT_REPEAT(604), - [382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_clause, 3), - [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_clause, 3), - [386] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_if_clause, 4), - [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_if_clause, 4), - [390] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 4), - [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 4), - [394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 2), - [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), - [398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 5), - [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 5), - [402] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), - [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), - [406] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 5), - [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 5), - [410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3), - [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3), - [414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3), - [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3), - [418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5), - [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5), - [422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 2), - [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 2), - [426] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 3), - [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 3), - [430] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multiplicative_operator, 1), - [432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multiplicative_operator, 1), - [434] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_additive_operator, 1), - [436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_additive_operator, 1), - [438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_assignment_operator, 1), - [440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_assignment_operator, 1), - [442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(547), - [444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(649), - [446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(453), - [448] = {.entry = {.count = 1, .reusable = false}}, SHIFT(657), - [450] = {.entry = {.count = 1, .reusable = false}}, SHIFT(499), - [452] = {.entry = {.count = 1, .reusable = false}}, SHIFT(492), - [454] = {.entry = {.count = 1, .reusable = false}}, SHIFT(673), - [456] = {.entry = {.count = 1, .reusable = false}}, SHIFT(658), - [458] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_struct_member_repeat1, 2), - [460] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_member_repeat1, 2), SHIFT_REPEAT(294), - [463] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 2), - [465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 2), - [467] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 9), - [469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 9), - [471] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attrib_end, 1), - [473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attrib_end, 1), - [475] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attrib_end, 2), - [477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attrib_end, 2), - [479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 7), - [481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 7), - [483] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 5), - [485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 5), - [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 1), - [489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_callable, 1), - [491] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 1), - [493] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ident, 1), - [495] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ident, 1), - [497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component_or_swizzle_specifier, 3), - [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), - [503] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_component_or_swizzle_specifier, 3), - [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component_or_swizzle_specifier, 2), - [507] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_component_or_swizzle_specifier, 2), - [509] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singular_expression, 1), - [511] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_singular_expression, 1), - [513] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal_int_literal, 1), - [515] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decimal_int_literal, 1), - [517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal_float_literal, 1), - [519] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decimal_float_literal, 1), - [521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_float_literal, 1), - [523] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_float_literal, 1), - [525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int_literal, 1), - [527] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int_literal, 1), - [529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_hex_float_literal, 1), - [531] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_hex_float_literal, 1), - [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_paren_expression, 3), - [535] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_paren_expression, 3), - [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_phrase, 2), - [539] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_phrase, 2), - [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_expression_list, 3), - [543] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_expression_list, 3), - [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_literal, 1), - [547] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_literal, 1), - [549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 6), - [551] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 6), - [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_ident, 1), - [555] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_ident, 1), - [557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_swizzle_name, 1), - [559] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_swizzle_name, 1), - [561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 1), - [563] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 1), - [565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_expression_list, 2), - [567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_expression_list, 2), - [569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1), - [571] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1), - [573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 1), - [575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), - [577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multiplicative_expression, 1), - [579] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_and_expression, 1), - [581] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multiplicative_expression, 1), - [583] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_or_expression, 1), - [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_xor_expression, 1), - [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singular_expression, 2), - [591] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_singular_expression, 2), - [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component_or_swizzle_specifier, 4), - [595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_component_or_swizzle_specifier, 4), - [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 1), - [599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 1), - [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2), - [603] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2), - [605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), - [609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), - [611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 2), - [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2), - [615] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2), SHIFT_REPEAT(192), - [618] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2), SHIFT_REPEAT(294), - [621] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat2, 2), SHIFT_REPEAT(421), - [624] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2), SHIFT_REPEAT(451), - [627] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2), SHIFT_REPEAT(452), - [630] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2), SHIFT_REPEAT(656), - [633] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2), SHIFT_REPEAT(416), - [636] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2), SHIFT_REPEAT(28), - [639] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2), SHIFT_REPEAT(457), - [642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_additive_expression, 3), - [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [646] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), - [648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_additive_expression, 1), - [650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multiplicative_expression, 3), - [652] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multiplicative_expression, 3), - [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(524), - [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), - [660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), - [664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shift_expression, 1), - [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), - [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), - [676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_core_lhs_expression, 1), - [678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lhs_expression, 1), - [680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_core_lhs_expression, 3), - [684] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), - [686] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), - [688] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(458), - [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [693] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_relational_expression, 1), - [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520), - [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519), - [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(641), - [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(640), - [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(638), - [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(637), - [715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shift_expression, 3), - [717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lhs_expression, 2), - [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), - [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), - [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), - [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), - [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), - [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), - [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), - [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), - [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enable_directive, 3), - [745] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enable_directive, 3), - [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), - [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), - [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), - [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), - [755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_directive, 1), - [757] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_directive, 1), - [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_decl, 3), - [765] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_decl, 3), - [767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_body_decl, 5), - [769] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_body_decl, 5), - [771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_body_decl, 3), - [773] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_body_decl, 3), - [775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_body_decl, 4), - [777] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_body_decl, 4), - [779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_decl, 3), - [781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_decl, 3), - [783] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat2, 2), - [785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_decl, 2), - [787] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_decl, 2), - [789] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_and_expression, 1), - [791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_or_expression, 1), - [793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), - [795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [797] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_short_circuit_and_expression, 1), - [799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_short_circuit_or_expression, 1), - [801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514), - [805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_relational_expression, 3), - [807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_texture_and_sampler_types, 7), - [809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier_without_ident, 1), - [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), - [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), - [815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sampler_type, 1), - [817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_depth_texture_type, 1), - [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440), - [825] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitwise_expression, 3), - [827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_xor_expression, 3), - [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), - [831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 3), - [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), - [835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_texture_and_sampler_types, 1), - [837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 3), - [839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_short_circuit_and_expression, 3), - [841] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 2), - [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342), - [845] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_short_circuit_or_expression, 3), - [847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier_without_ident, 5), - [849] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier_without_ident, 9), - [851] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_or_expression, 3), - [853] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2), - [855] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2), SHIFT_REPEAT(4), - [858] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2), SHIFT_REPEAT(440), - [861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_specifier, 5), - [863] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier_without_ident, 7), - [865] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_texture_and_sampler_types, 5), - [867] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_specifier, 7), - [869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_and_expression, 3), - [871] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier, 1), - [873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(544), - [875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503), - [877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496), - [879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), - [881] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_selectors_repeat1, 2), SHIFT_REPEAT(7), - [884] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_case_selectors_repeat1, 2), - [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [888] = {.entry = {.count = 1, .reusable = false}}, SHIFT(574), - [890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(574), - [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_selectors, 1), - [896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507), - [898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_count_expression, 1), - [900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_selector, 1), - [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_comma_list, 1), - [906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optionally_typed_ident, 1), - [908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(532), - [912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), - [916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), - [920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), - [922] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_comma_list_repeat1, 2), SHIFT_REPEAT(34), - [925] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_comma_list_repeat1, 2), - [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [929] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_clause, 4), - [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), - [933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), - [935] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_body_decl_repeat1, 2), SHIFT_REPEAT(391), - [938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_body_decl_repeat1, 2), - [940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_alone_clause, 2), - [942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), - [946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_body, 1), - [948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), - [950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), - [952] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 1), - [954] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_param_list_repeat1, 2), SHIFT_REPEAT(394), - [957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_param_list_repeat1, 2), - [959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [961] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_alone_clause, 3), - [963] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_clause, 3), - [965] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_value_name, 1), - [967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(587), - [969] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_variable_decl, 1), - [971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), - [975] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_constant_decl, 2), - [977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [979] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 1), - [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [983] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param, 4), - [985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), - [989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), - [991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [995] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_member, 4), - [997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [1001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), - [1003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), - [1005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param, 3), - [1007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [1009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), - [1011] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_variable_decl, 2), - [1013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [1015] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_member, 3), - [1017] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation_sample_name, 1), - [1019] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_decl, 3), - [1021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [1023] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_callable, 2), - [1025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [1027] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_address_space, 1), - [1029] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 3), - [1031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [1033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_header, 5), - [1035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [1037] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation_type_name, 1), - [1039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [1041] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_constant_decl, 3), - [1043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [1045] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optionally_typed_ident, 3), - [1047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [1049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), - [1051] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_header, 4), - [1053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [1055] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_updating_statement, 1), - [1057] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_func_call_statement, 1), - [1059] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_decl, 4), - [1061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), - [1063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(529), - [1065] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decrement_statement, 2), - [1067] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_increment_statement, 2), - [1069] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_statement, 1), - [1071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [1073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), - [1075] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_texel_format, 1), - [1077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(491), - [1079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), - [1081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [1083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), - [1085] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_qualifier, 3), - [1087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [1089] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_variable_decl, 4), - [1091] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2), - [1093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), - [1095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [1097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), - [1099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(506), - [1101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [1103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [1105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [1107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 4), - [1109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [1111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_constant_decl, 4), - [1113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(531), - [1115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(555), - [1117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continuing_compound_statement, 4), - [1119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_header, 5), - [1121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [1123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [1125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [1127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_if_statement, 4), - [1129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_variable_decl, 3), - [1131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [1133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [1135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [1137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), - [1139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [1141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_init, 1), - [1143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [1145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [1147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [1149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), - [1151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [1153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), - [1155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [1157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_statement, 3), - [1159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_constant_decl, 5), - [1161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_access_mode, 1), - [1163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), - [1165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), - [1167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), - [1169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(605), - [1171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), - [1173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), - [1175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_header, 6), - [1177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), - [1179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_statement, 4), - [1181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), - [1183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), - [1185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), - [1187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extension_name, 1), - [1189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), - [1191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continuing_statement, 2), - [1193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), - [1195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_assert_statement, 2), - [1197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [1199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [1201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [1203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), - [1205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), - [1207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [1209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), - [1211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [1213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [1215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [1217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), - [1219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_qualifier, 5), - [1221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), - [1223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), - [1225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(505), - [1227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), - [1229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), - [1231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), - [1233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), - [1235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558), - [1237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), - [1239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), - [1241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_header, 7), - [1243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(559), - [1245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), - [1247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_mat_prefix, 1), - [1249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_vec_prefix, 1), - [1251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(522), - [1253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(561), - [1255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_storage_texture_type, 1), - [1257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562), - [1259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sampled_texture_type, 1), - [1261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [1263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486), - [1265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501), - [1267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continuing_compound_statement, 2), - [1269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [1271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483), - [1273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [1275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), - [1277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478), - [1279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), - [1281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [1283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), - [1285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_update, 1), - [1287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [1289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), - [1291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), - [1293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [1295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [1297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(628), - [1299] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [1301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [1303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), - [1305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_header, 8), - [1307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continuing_compound_statement, 3), - [1309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549), - [1311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), - [1313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(647), - [1315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(648), - [1317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [1319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), - [1321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [1323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [1325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [1327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [1329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(659), - [1331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), - [1333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), - [1335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(662), - [1337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(663), - [1339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(664), - [1341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(665), - [1343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(667), - [1345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(668), + [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 0, 0, 0), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(718), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(641), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(695), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(747), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(892), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(650), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(742), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(652), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(653), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(763), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(678), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(892), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(803), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(288), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(798), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), + [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(797), + [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(796), + [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(281), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), + [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), + [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [75] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(763), + [78] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(216), + [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(330), + [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(609), + [87] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(678), + [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(13), + [93] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), + [95] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(892), + [98] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(610), + [101] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(803), + [104] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(88), + [107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(87), + [110] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(288), + [113] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(798), + [116] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(86), + [119] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(797), + [122] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(796), + [125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), + [127] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(50), + [130] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_compound_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(63), + [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(837), + [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(717), + [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(888), + [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(866), + [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155), + [149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(174), + [151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166), + [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173), + [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164), + [161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_selectors, 3, 0, 0), + [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(633), + [169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_selectors, 2, 0, 0), + [171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(250), + [173] = {.entry = {.count = 1, .reusable = false}}, SHIFT(247), + [175] = {.entry = {.count = 1, .reusable = false}}, SHIFT(265), + [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(242), + [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(243), + [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), + [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), + [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(494), + [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), + [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), + [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_arg_comma_list, 3, 0, 0), + [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(570), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_arg_comma_list, 2, 0, 0), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(575), + [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_comma_list, 2, 0, 0), + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568), + [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_comma_list, 3, 0, 0), + [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 1, 0, 0), + [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 1, 0, 0), + [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2, 0, 0), + [233] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2, 0, 0), SHIFT_REPEAT(101), + [236] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2, 0, 0), SHIFT_REPEAT(330), + [239] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat2, 2, 0, 0), SHIFT_REPEAT(641), + [242] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2, 0, 0), SHIFT_REPEAT(695), + [245] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2, 0, 0), SHIFT_REPEAT(747), + [248] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2, 0, 0), SHIFT_REPEAT(892), + [251] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2, 0, 0), SHIFT_REPEAT(650), + [254] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2, 0, 0), SHIFT_REPEAT(63), + [257] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat2, 2, 0, 0), SHIFT_REPEAT(742), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 2, 0, 0), + [262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [264] = {.entry = {.count = 1, .reusable = false}}, SHIFT(343), + [266] = {.entry = {.count = 1, .reusable = false}}, SHIFT(345), + [268] = {.entry = {.count = 1, .reusable = false}}, SHIFT(346), + [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [272] = {.entry = {.count = 1, .reusable = false}}, SHIFT(347), + [274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), + [276] = {.entry = {.count = 1, .reusable = false}}, SHIFT(348), + [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(469), + [284] = {.entry = {.count = 1, .reusable = false}}, SHIFT(477), + [286] = {.entry = {.count = 1, .reusable = false}}, SHIFT(461), + [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485), + [290] = {.entry = {.count = 1, .reusable = false}}, SHIFT(485), + [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484), + [294] = {.entry = {.count = 1, .reusable = false}}, SHIFT(484), + [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [300] = {.entry = {.count = 1, .reusable = false}}, SHIFT(326), + [302] = {.entry = {.count = 1, .reusable = false}}, SHIFT(354), + [304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(339), + [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [308] = {.entry = {.count = 1, .reusable = false}}, SHIFT(324), + [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [312] = {.entry = {.count = 1, .reusable = false}}, SHIFT(353), + [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [318] = {.entry = {.count = 1, .reusable = false}}, SHIFT(541), + [320] = {.entry = {.count = 1, .reusable = false}}, SHIFT(542), + [322] = {.entry = {.count = 1, .reusable = false}}, SHIFT(548), + [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549), + [326] = {.entry = {.count = 1, .reusable = false}}, SHIFT(549), + [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(511), + [330] = {.entry = {.count = 1, .reusable = false}}, SHIFT(511), + [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [336] = {.entry = {.count = 1, .reusable = false}}, SHIFT(400), + [338] = {.entry = {.count = 1, .reusable = false}}, SHIFT(386), + [340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(399), + [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), + [344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(398), + [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), + [348] = {.entry = {.count = 1, .reusable = false}}, SHIFT(395), + [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [354] = {.entry = {.count = 1, .reusable = false}}, SHIFT(489), + [356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(480), + [358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(470), + [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), + [362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(468), + [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), + [366] = {.entry = {.count = 1, .reusable = false}}, SHIFT(482), + [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(370), + [374] = {.entry = {.count = 1, .reusable = false}}, SHIFT(378), + [376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(384), + [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), + [380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(382), + [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), + [384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(380), + [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [390] = {.entry = {.count = 1, .reusable = false}}, SHIFT(258), + [392] = {.entry = {.count = 1, .reusable = false}}, SHIFT(282), + [394] = {.entry = {.count = 1, .reusable = false}}, SHIFT(280), + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(279), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [402] = {.entry = {.count = 1, .reusable = false}}, SHIFT(278), + [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 4, 0, 0), + [410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 4, 0, 0), + [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 3, 0, 0), + [414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 3, 0, 0), + [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 2, 0, 0), + [418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 2, 0, 0), + [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_elaborated_ident, 2, 0, 0), + [422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_elaborated_ident, 2, 0, 0), + [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [426] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_struct_member_repeat1, 2, 0, 0), + [428] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_member_repeat1, 2, 0, 0), SHIFT_REPEAT(330), + [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_member_repeat1, 2, 0, 0), + [433] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 1, 0, 0), + [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 1, 0, 0), + [439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_list, 3, 0, 0), + [441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_list, 3, 0, 0), + [443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singular_expression, 1, 0, 0), + [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(509), + [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [449] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_singular_expression, 1, 0, 0), + [451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_elaborated_ident, 3, 0, 0), + [453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_elaborated_ident, 3, 0, 0), + [455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component_or_swizzle_specifier, 3, 0, 0), + [457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_component_or_swizzle_specifier, 3, 0, 0), + [459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component_or_swizzle_specifier, 2, 0, 0), + [461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_component_or_swizzle_specifier, 2, 0, 0), + [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_expression_list, 2, 0, 0), + [465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_expression_list, 2, 0, 0), + [467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 1, 0, 0), + [469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 1, 0, 0), + [471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_literal, 1, 0, 0), + [473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_literal, 1, 0, 0), + [475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_ident, 1, 0, 0), + [477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_ident, 1, 0, 0), + [479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_swizzle_name, 1, 0, 0), + [481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_swizzle_name, 1, 0, 0), + [483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_phrase, 2, 0, 0), + [485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_phrase, 2, 0, 0), + [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_expression_list, 3, 0, 0), + [489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_expression_list, 3, 0, 0), + [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_float_literal, 1, 0, 0), + [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_float_literal, 1, 0, 0), + [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), + [497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), + [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_hex_float_literal, 1, 0, 0), + [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_hex_float_literal, 1, 0, 0), + [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_paren_expression, 3, 0, 0), + [505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_paren_expression, 3, 0, 0), + [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_int_literal, 1, 0, 0), + [509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_int_literal, 1, 0, 0), + [511] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 1, 0, 0), + [513] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 1, 0, 0), + [515] = {.entry = {.count = 1, .reusable = false}}, SHIFT(232), + [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(822), + [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, 0, 0), + [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, 0, 0), + [533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 2, 0, 0), + [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 2, 0, 0), + [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal_float_literal, 1, 0, 0), + [539] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decimal_float_literal, 1, 0, 0), + [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decimal_int_literal, 1, 0, 0), + [543] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decimal_int_literal, 1, 0, 0), + [545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), + [547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), + [549] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(768), + [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(871), + [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(642), + [556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(669), + [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multiplicative_expression, 1, 0, 0), + [562] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_and_expression, 1, 0, 0), + [564] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multiplicative_expression, 1, 0, 0), + [566] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_or_expression, 1, 0, 0), + [568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_xor_expression, 1, 0, 0), + [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 1, 0, 0), + [574] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 1, 0, 0), + [576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singular_expression, 2, 0, 0), + [578] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_singular_expression, 2, 0, 0), + [580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 0), + [582] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 0), + [584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component_or_swizzle_specifier, 4, 0, 0), + [586] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_component_or_swizzle_specifier, 4, 0, 0), + [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), + [592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(588), + [594] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_if_clause, 4, 0, 0), + [596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_if_clause, 4, 0, 0), + [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584), + [604] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_clause, 3, 0, 0), + [606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_clause, 3, 0, 0), + [608] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 2, 0, 0), + [610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 3, 0, 0), + [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(550), + [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(763), + [618] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 4, 0, 0), + [620] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 4, 0, 0), + [622] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 4, 0, 0), + [624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 4, 0, 0), + [626] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 4, 0, 0), + [628] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 4, 0, 0), + [630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 0), + [634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 0), + [636] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 3, 0, 0), + [638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 3, 0, 0), + [640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), + [642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519), + [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [648] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 3, 0, 0), + [650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 3, 0, 0), + [652] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, 0, 0), + [654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, 0, 0), + [656] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_body, 3, 0, 0), + [658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_body, 3, 0, 0), + [660] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, 0, 0), + [662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, 0, 0), + [664] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 5, 0, 0), + [666] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 5, 0, 0), + [668] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 2, 0, 0), + [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 2, 0, 0), + [672] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, 0, 0), + [674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, 0, 0), + [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [678] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_body, 4, 0, 0), + [680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_body, 4, 0, 0), + [682] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 6, 0, 0), + [684] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 6, 0, 0), + [686] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 6, 0, 0), + [688] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 6, 0, 0), + [690] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_statement, 7, 0, 0), + [692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_statement, 7, 0, 0), + [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [696] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 2, 0, 0), + [698] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2, 0, 0), + [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(619), + [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_additive_expression, 3, 0, 0), + [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [708] = {.entry = {.count = 1, .reusable = false}}, SHIFT(296), + [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(620), + [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [716] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_additive_expression, 1, 0, 0), + [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [726] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multiplicative_operator, 1, 0, 0), + [728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multiplicative_operator, 1, 0, 0), + [730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [732] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_additive_operator, 1, 0, 0), + [734] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_additive_operator, 1, 0, 0), + [736] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_assignment_operator, 1, 0, 0), + [738] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_assignment_operator, 1, 0, 0), + [740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multiplicative_expression, 3, 0, 0), + [744] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multiplicative_expression, 3, 0, 0), + [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(517), + [750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(508), + [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), + [762] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(718), + [765] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), + [767] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(652), + [770] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(653), + [773] = {.entry = {.count = 1, .reusable = false}}, SHIFT(479), + [775] = {.entry = {.count = 1, .reusable = false}}, SHIFT(738), + [777] = {.entry = {.count = 1, .reusable = false}}, SHIFT(881), + [779] = {.entry = {.count = 1, .reusable = false}}, SHIFT(880), + [781] = {.entry = {.count = 1, .reusable = false}}, SHIFT(879), + [783] = {.entry = {.count = 1, .reusable = false}}, SHIFT(878), + [785] = {.entry = {.count = 1, .reusable = false}}, SHIFT(573), + [787] = {.entry = {.count = 1, .reusable = false}}, SHIFT(877), + [789] = {.entry = {.count = 1, .reusable = false}}, SHIFT(876), + [791] = {.entry = {.count = 1, .reusable = false}}, SHIFT(875), + [793] = {.entry = {.count = 1, .reusable = false}}, SHIFT(578), + [795] = {.entry = {.count = 1, .reusable = false}}, SHIFT(874), + [797] = {.entry = {.count = 1, .reusable = false}}, SHIFT(567), + [799] = {.entry = {.count = 1, .reusable = false}}, SHIFT(873), + [801] = {.entry = {.count = 1, .reusable = false}}, SHIFT(872), + [803] = {.entry = {.count = 1, .reusable = false}}, SHIFT(566), + [805] = {.entry = {.count = 1, .reusable = false}}, SHIFT(507), + [807] = {.entry = {.count = 1, .reusable = false}}, SHIFT(515), + [809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516), + [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shift_expression, 1, 0, 0), + [817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), + [819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_core_lhs_expression, 2, 0, 0), + [821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_header, 4, 0, 0), + [823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_header, 3, 0, 0), + [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(551), + [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [829] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_header, 2, 0, 0), + [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560), + [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lhs_expression, 1, 0, 0), + [839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_relational_expression, 1, 0, 0), + [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [851] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_core_lhs_expression, 3, 0, 0), + [853] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shift_expression, 3, 0, 0), + [855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), + [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(734), + [863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(733), + [865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(522), + [869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518), + [873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [877] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lhs_expression, 2, 0, 0), + [879] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_directive, 1, 0, 0), + [881] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_directive, 1, 0, 0), + [883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [885] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_directive, 3, 0, 0), + [887] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_requires_directive, 3, 0, 0), + [889] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_diagnostic_directive, 3, 0, 0), + [891] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_diagnostic_directive, 3, 0, 0), + [893] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 2, 0, 0), + [895] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 2, 0, 0), + [897] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enable_directive, 3, 0, 0), + [899] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enable_directive, 3, 0, 0), + [901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(553), + [903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [905] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_diagnostic_control, 6, 0, 0), + [907] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_diagnostic_control, 6, 0, 0), + [909] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_diagnostic_control, 5, 0, 0), + [911] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_diagnostic_control, 5, 0, 0), + [913] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fragment_attr, 2, 0, 0), + [915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fragment_attr, 2, 0, 0), + [917] = {.entry = {.count = 1, .reusable = false}}, SHIFT(357), + [919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [921] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158), + [923] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 3, 0, 0), + [925] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, 0, 0), + [927] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_diagnostic_attr, 3, 0, 0), + [929] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_diagnostic_attr, 3, 0, 0), + [931] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolate_attr, 7, 0, 0), + [933] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolate_attr, 7, 0, 0), + [935] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_workgroup_size_attr, 7, 0, 0), + [937] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_workgroup_size_attr, 7, 0, 0), + [939] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compute_attr, 2, 0, 0), + [941] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compute_attr, 2, 0, 0), + [943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), + [945] = {.entry = {.count = 1, .reusable = false}}, SHIFT(365), + [947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), + [949] = {.entry = {.count = 1, .reusable = false}}, SHIFT(337), + [951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(497), + [953] = {.entry = {.count = 1, .reusable = false}}, SHIFT(487), + [955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [957] = {.entry = {.count = 1, .reusable = false}}, SHIFT(271), + [959] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_workgroup_size_attr, 5, 0, 0), + [961] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_workgroup_size_attr, 5, 0, 0), + [963] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_size_attr, 5, 0, 0), + [965] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_size_attr, 5, 0, 0), + [967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475), + [969] = {.entry = {.count = 1, .reusable = false}}, SHIFT(472), + [971] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_location_attr, 5, 0, 0), + [973] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_location_attr, 5, 0, 0), + [975] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolate_attr, 5, 0, 0), + [977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolate_attr, 5, 0, 0), + [979] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_id_attr, 5, 0, 0), + [981] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_id_attr, 5, 0, 0), + [983] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_align_attr, 6, 0, 0), + [985] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_align_attr, 6, 0, 0), + [987] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_group_attr, 5, 0, 0), + [989] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_group_attr, 5, 0, 0), + [991] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binding_attr, 6, 0, 0), + [993] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binding_attr, 6, 0, 0), + [995] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_builtin_attr, 5, 0, 0), + [997] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_attr, 5, 0, 0), + [999] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_blend_src_attr, 6, 0, 0), + [1001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_blend_src_attr, 6, 0, 0), + [1003] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_builtin_attr, 6, 0, 0), + [1005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_attr, 6, 0, 0), + [1007] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_group_attr, 6, 0, 0), + [1009] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_group_attr, 6, 0, 0), + [1011] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_blend_src_attr, 5, 0, 0), + [1013] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_blend_src_attr, 5, 0, 0), + [1015] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binding_attr, 5, 0, 0), + [1017] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binding_attr, 5, 0, 0), + [1019] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_align_attr, 5, 0, 0), + [1021] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_align_attr, 5, 0, 0), + [1023] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_id_attr, 6, 0, 0), + [1025] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_id_attr, 6, 0, 0), + [1027] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolate_attr, 6, 0, 0), + [1029] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolate_attr, 6, 0, 0), + [1031] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_workgroup_size_attr, 10, 0, 0), + [1033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_workgroup_size_attr, 10, 0, 0), + [1035] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_location_attr, 6, 0, 0), + [1037] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_location_attr, 6, 0, 0), + [1039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [1041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [1043] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260), + [1045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), + [1047] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414), + [1049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(572), + [1051] = {.entry = {.count = 1, .reusable = false}}, SHIFT(569), + [1053] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 1, 0, 0), + [1055] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 0), + [1057] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_workgroup_size_attr, 9, 0, 0), + [1059] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_workgroup_size_attr, 9, 0, 0), + [1061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [1063] = {.entry = {.count = 1, .reusable = false}}, SHIFT(427), + [1065] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_size_attr, 6, 0, 0), + [1067] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_size_attr, 6, 0, 0), + [1069] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_vertex_attr, 2, 0, 0), + [1071] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_vertex_attr, 2, 0, 0), + [1073] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_must_use_attr, 2, 0, 0), + [1075] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_must_use_attr, 2, 0, 0), + [1077] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_workgroup_size_attr, 6, 0, 0), + [1079] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_workgroup_size_attr, 6, 0, 0), + [1081] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_attr, 2, 0, 0), + [1083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_attr, 2, 0, 0), + [1085] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_workgroup_size_attr, 8, 0, 0), + [1087] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_workgroup_size_attr, 8, 0, 0), + [1089] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolate_attr, 8, 0, 0), + [1091] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolate_attr, 8, 0, 0), + [1093] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_invariant_attr, 2, 0, 0), + [1095] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_invariant_attr, 2, 0, 0), + [1097] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_decl, 3, 0, 0), + [1099] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_decl, 3, 0, 0), + [1101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_decl, 3, 0, 0), + [1103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_decl, 3, 0, 0), + [1105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat2, 2, 0, 0), + [1107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_body_decl, 4, 0, 0), + [1109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_body_decl, 4, 0, 0), + [1111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_decl, 2, 0, 0), + [1113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_decl, 2, 0, 0), + [1115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [1117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [1119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_body_decl, 5, 0, 0), + [1121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_body_decl, 5, 0, 0), + [1123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_body_decl, 3, 0, 0), + [1125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_body_decl, 3, 0, 0), + [1127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [1129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_relational_expression, 3, 0, 0), + [1131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), + [1133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_short_circuit_and_expression, 1, 0, 0), + [1135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_short_circuit_or_expression, 1, 0, 0), + [1137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 3, 0, 0), + [1139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_short_circuit_and_expression, 3, 0, 0), + [1141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_short_circuit_or_expression, 3, 0, 0), + [1143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitwise_expression, 3, 0, 0), + [1145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_or_expression, 3, 0, 0), + [1147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_and_expression, 3, 0, 0), + [1149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_xor_expression, 3, 0, 0), + [1151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(611), + [1153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(616), + [1155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), + [1157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [1159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [1161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [1163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_body_repeat1, 2, 0, 0), + [1165] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_body_repeat1, 2, 0, 0), SHIFT_REPEAT(19), + [1168] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_body_repeat1, 2, 0, 0), SHIFT_REPEAT(205), + [1171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [1173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [1175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_selectors, 1, 0, 0), + [1177] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_selectors_repeat1, 2, 0, 0), SHIFT_REPEAT(21), + [1180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_case_selectors_repeat1, 2, 0, 0), + [1182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ident, 2, 0, 0), + [1184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 0), + [1186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_selector, 1, 0, 0), + [1188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enable_extension_list_repeat1, 2, 0, 0), + [1190] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enable_extension_list_repeat1, 2, 0, 0), SHIFT_REPEAT(711), + [1193] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_body_decl_repeat1, 2, 0, 0), SHIFT_REPEAT(202), + [1196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_body_decl_repeat1, 2, 0, 0), + [1198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_header, 4, 0, 0), + [1200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [1202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [1204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 1, 0, 0), + [1206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(730), + [1208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enable_extension_list, 3, 0, 0), + [1210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(721), + [1212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_software_extension_list, 3, 0, 0), + [1214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_software_extension_list_repeat1, 2, 0, 0), + [1216] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_software_extension_list_repeat1, 2, 0, 0), SHIFT_REPEAT(710), + [1219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [1221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(590), + [1223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_clause, 4, 0, 0), + [1225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [1227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_comma_list, 1, 0, 0), + [1229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optionally_typed_ident, 1, 0, 0), + [1231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(637), + [1233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [1235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_arg_comma_list, 1, 0, 0), + [1237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_diagnostic_name_token, 1, 0, 0), + [1239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(701), + [1241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_diagnostic_rule_name, 1, 0, 0), + [1243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_alone_clause, 3, 0, 0), + [1245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_clause, 3, 0, 0), + [1247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enable_extension_list, 2, 0, 0), + [1249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(699), + [1251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), + [1253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enable_extension_list, 1, 0, 0), + [1255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(664), + [1257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [1259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_software_extension_list, 1, 0, 0), + [1261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(683), + [1263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [1265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [1267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_header, 5, 0, 0), + [1269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [1271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_alone_clause, 2, 0, 0), + [1273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [1275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(660), + [1277] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_comma_list_repeat1, 2, 0, 0), SHIFT_REPEAT(74), + [1280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_comma_list_repeat1, 2, 0, 0), + [1282] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_arg_comma_list_repeat1, 2, 0, 0), SHIFT_REPEAT(45), + [1285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_arg_comma_list_repeat1, 2, 0, 0), + [1287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(649), + [1289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_software_extension_list, 2, 0, 0), + [1291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_clause, 1, 0, 0), + [1293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(651), + [1295] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_param_list_repeat1, 2, 0, 0), SHIFT_REPEAT(206), + [1298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_param_list_repeat1, 2, 0, 0), + [1300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_variable_decl, 2, 0, 0), + [1302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [1304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param, 3, 0, 0), + [1306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_header, 6, 0, 0), + [1308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_decl, 4, 0, 0), + [1310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_member, 3, 0, 0), + [1312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [1314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514), + [1316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(825), + [1318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(513), + [1320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolate_sampling_name, 1, 0, 0), + [1322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_decl, 3, 0, 0), + [1324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_or_value_statement, 1, 0, 0), + [1326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [1328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_diagnostic_rule_name, 3, 0, 0), + [1330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_func_call_statement, 1, 0, 0), + [1332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_updating_statement, 1, 0, 0), + [1334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_value_decl, 3, 0, 0), + [1336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [1338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 3, 0, 0), + [1340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(726), + [1342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_member, 4, 0, 0), + [1344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_header, 7, 0, 0), + [1346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param, 4, 0, 0), + [1348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(722), + [1350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(769), + [1352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(537), + [1354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 1, 0, 0), + [1356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [1358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(739), + [1360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(770), + [1362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(535), + [1364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(771), + [1366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(534), + [1368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_software_extension_name, 1, 0, 0), + [1370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_value_name, 1, 0, 0), + [1372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(772), + [1374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530), + [1376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(773), + [1378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(528), + [1380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(774), + [1382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(526), + [1384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolate_type_name, 1, 0, 0), + [1386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(884), + [1388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558), + [1390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(807), + [1392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502), + [1394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_header, 8, 0, 0), + [1396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enable_extension_name, 1, 0, 0), + [1398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(665), + [1400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525), + [1402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_arg_expression, 1, 0, 0), + [1404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decrement_statement, 2, 0, 0), + [1406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_increment_statement, 2, 0, 0), + [1408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_value_decl, 2, 0, 0), + [1410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [1412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [1414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(775), + [1416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(523), + [1418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(832), + [1420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_variable_decl, 1, 0, 0), + [1422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [1424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [1426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520), + [1428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(776), + [1430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521), + [1432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optionally_typed_ident, 3, 0, 0), + [1434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [1436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [1438] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0), + [1440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [1442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), + [1444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(676), + [1446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(672), + [1448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(631), + [1450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [1452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [1454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 4, 0, 0), + [1456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(629), + [1458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_value_decl, 4, 0, 0), + [1460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [1462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(894), + [1464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [1466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [1468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [1470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [1472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527), + [1474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(529), + [1476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(531), + [1478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(532), + [1480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(533), + [1482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(538), + [1484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(546), + [1486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(563), + [1488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [1490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [1492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), + [1494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432), + [1496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(677), + [1498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [1500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(636), + [1502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [1504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(630), + [1506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_init, 1, 0, 0), + [1508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [1510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [1512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [1514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [1516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [1518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_or_value_statement, 3, 0, 0), + [1520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [1522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [1524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [1526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [1528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [1530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [1532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [1534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [1536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), + [1538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_value_decl, 5, 0, 0), + [1540] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_variable_decl, 3, 0, 0), + [1542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501), + [1544] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_or_value_statement, 4, 0, 0), + [1546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342), + [1548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [1550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [1552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [1554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continuing_statement, 2, 0, 0), + [1556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), + [1558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [1560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_variable_decl, 4, 0, 0), + [1562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), + [1564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), + [1566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [1568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [1570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [1572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(491), + [1574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(576), + [1576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486), + [1578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [1580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [1582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), + [1584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(675), + [1586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(495), + [1588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_severity_control_name, 1, 0, 0), + [1590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), + [1592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), + [1594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), + [1596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [1598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continuing_compound_statement, 2, 0, 0), + [1600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), + [1602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [1604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), + [1606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [1608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [1610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(574), + [1612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), + [1614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(577), + [1616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498), + [1618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), + [1620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(500), + [1622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_update, 1, 0, 0), + [1624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [1626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [1628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [1630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(490), + [1632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), + [1634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [1636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_assert_statement, 2, 0, 0), + [1638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [1640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [1642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [1644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [1646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [1648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [1650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continuing_compound_statement, 3, 0, 0), + [1652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(638), + [1654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(625), + [1656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [1658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [1660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [1662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(709), + [1664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [1666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [1668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(715), + [1670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [1672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [1674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [1676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [1678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476), + [1680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(545), + [1682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(891), + [1684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(583), + [1686] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1688] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continuing_compound_statement, 4, 0, 0), + [1690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(893), + [1692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_header, 5, 0, 0), + [1694] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_if_statement, 4, 0, 0), + [1696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(622), + [1698] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continuing_compound_statement, 5, 0, 0), +}; + +enum ts_external_scanner_symbol_identifiers { + ts_external_token__block_comment = 0, + ts_external_token__disambiguate_template = 1, + ts_external_token__template_args_start = 2, + ts_external_token__template_args_end = 3, + ts_external_token__less_than = 4, + ts_external_token__less_than_equal = 5, + ts_external_token__shift_left = 6, + ts_external_token__shift_left_assign = 7, + ts_external_token__greater_than = 8, + ts_external_token__greater_than_equal = 9, + ts_external_token__shift_right = 10, + ts_external_token__shift_right_assign = 11, + ts_external_token__error_sentinel = 12, +}; + +static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { + [ts_external_token__block_comment] = sym__block_comment, + [ts_external_token__disambiguate_template] = sym__disambiguate_template, + [ts_external_token__template_args_start] = sym__template_args_start, + [ts_external_token__template_args_end] = sym__template_args_end, + [ts_external_token__less_than] = sym__less_than, + [ts_external_token__less_than_equal] = sym__less_than_equal, + [ts_external_token__shift_left] = sym__shift_left, + [ts_external_token__shift_left_assign] = sym__shift_left_assign, + [ts_external_token__greater_than] = sym__greater_than, + [ts_external_token__greater_than_equal] = sym__greater_than_equal, + [ts_external_token__shift_right] = sym__shift_right, + [ts_external_token__shift_right_assign] = sym__shift_right_assign, + [ts_external_token__error_sentinel] = sym__error_sentinel, +}; + +static const bool ts_external_scanner_states[21][EXTERNAL_TOKEN_COUNT] = { + [1] = { + [ts_external_token__block_comment] = true, + [ts_external_token__disambiguate_template] = true, + [ts_external_token__template_args_start] = true, + [ts_external_token__template_args_end] = true, + [ts_external_token__less_than] = true, + [ts_external_token__less_than_equal] = true, + [ts_external_token__shift_left] = true, + [ts_external_token__shift_left_assign] = true, + [ts_external_token__greater_than] = true, + [ts_external_token__greater_than_equal] = true, + [ts_external_token__shift_right] = true, + [ts_external_token__shift_right_assign] = true, + [ts_external_token__error_sentinel] = true, + }, + [2] = { + [ts_external_token__block_comment] = true, + }, + [3] = { + [ts_external_token__block_comment] = true, + [ts_external_token__template_args_end] = true, + }, + [4] = { + [ts_external_token__block_comment] = true, + [ts_external_token__template_args_start] = true, + [ts_external_token__less_than] = true, + [ts_external_token__less_than_equal] = true, + [ts_external_token__shift_left] = true, + [ts_external_token__greater_than] = true, + [ts_external_token__greater_than_equal] = true, + [ts_external_token__shift_right] = true, + }, + [5] = { + [ts_external_token__block_comment] = true, + [ts_external_token__less_than] = true, + [ts_external_token__less_than_equal] = true, + [ts_external_token__shift_left] = true, + [ts_external_token__greater_than] = true, + [ts_external_token__greater_than_equal] = true, + [ts_external_token__shift_right] = true, + }, + [6] = { + [ts_external_token__block_comment] = true, + [ts_external_token__template_args_start] = true, + [ts_external_token__template_args_end] = true, + [ts_external_token__less_than] = true, + [ts_external_token__less_than_equal] = true, + [ts_external_token__shift_left] = true, + [ts_external_token__greater_than] = true, + [ts_external_token__greater_than_equal] = true, + [ts_external_token__shift_right] = true, + }, + [7] = { + [ts_external_token__block_comment] = true, + [ts_external_token__template_args_start] = true, + [ts_external_token__less_than] = true, + [ts_external_token__less_than_equal] = true, + [ts_external_token__greater_than] = true, + [ts_external_token__greater_than_equal] = true, + }, + [8] = { + [ts_external_token__block_comment] = true, + [ts_external_token__less_than] = true, + [ts_external_token__less_than_equal] = true, + [ts_external_token__greater_than] = true, + [ts_external_token__greater_than_equal] = true, + }, + [9] = { + [ts_external_token__block_comment] = true, + [ts_external_token__template_args_end] = true, + [ts_external_token__less_than] = true, + [ts_external_token__less_than_equal] = true, + [ts_external_token__shift_left] = true, + [ts_external_token__greater_than] = true, + [ts_external_token__greater_than_equal] = true, + [ts_external_token__shift_right] = true, + }, + [10] = { + [ts_external_token__block_comment] = true, + [ts_external_token__template_args_start] = true, + }, + [11] = { + [ts_external_token__block_comment] = true, + [ts_external_token__template_args_start] = true, + [ts_external_token__shift_left] = true, + [ts_external_token__shift_right] = true, + }, + [12] = { + [ts_external_token__block_comment] = true, + [ts_external_token__template_args_start] = true, + [ts_external_token__template_args_end] = true, + [ts_external_token__less_than] = true, + [ts_external_token__less_than_equal] = true, + [ts_external_token__greater_than] = true, + [ts_external_token__greater_than_equal] = true, + }, + [13] = { + [ts_external_token__block_comment] = true, + [ts_external_token__shift_left] = true, + [ts_external_token__shift_right] = true, + }, + [14] = { + [ts_external_token__block_comment] = true, + [ts_external_token__template_args_end] = true, + [ts_external_token__less_than] = true, + [ts_external_token__less_than_equal] = true, + [ts_external_token__greater_than] = true, + [ts_external_token__greater_than_equal] = true, + }, + [15] = { + [ts_external_token__block_comment] = true, + [ts_external_token__template_args_start] = true, + [ts_external_token__shift_left_assign] = true, + [ts_external_token__shift_right_assign] = true, + }, + [16] = { + [ts_external_token__block_comment] = true, + [ts_external_token__shift_left_assign] = true, + [ts_external_token__shift_right_assign] = true, + }, + [17] = { + [ts_external_token__block_comment] = true, + [ts_external_token__template_args_start] = true, + [ts_external_token__template_args_end] = true, + [ts_external_token__shift_left] = true, + [ts_external_token__shift_right] = true, + }, + [18] = { + [ts_external_token__block_comment] = true, + [ts_external_token__template_args_start] = true, + [ts_external_token__template_args_end] = true, + }, + [19] = { + [ts_external_token__block_comment] = true, + [ts_external_token__template_args_end] = true, + [ts_external_token__shift_left] = true, + [ts_external_token__shift_right] = true, + }, + [20] = { + [ts_external_token__block_comment] = true, + [ts_external_token__disambiguate_template] = true, + }, }; #ifdef __cplusplus @@ -33135,11 +31911,15 @@ bool tree_sitter_wgsl_external_scanner_scan(void *, TSLexer *, const bool *); unsigned tree_sitter_wgsl_external_scanner_serialize(void *, char *); void tree_sitter_wgsl_external_scanner_deserialize(void *, const char *, unsigned); -#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_wgsl(void) { +TS_PUBLIC const TSLanguage *tree_sitter_wgsl(void) { static const TSLanguage language = { .version = LANGUAGE_VERSION, .symbol_count = SYMBOL_COUNT, diff --git a/src/parser.o b/src/parser.o deleted file mode 100644 index 3d00748..0000000 Binary files a/src/parser.o and /dev/null differ diff --git a/src/scanner.cc b/src/scanner.c similarity index 52% rename from src/scanner.cc rename to src/scanner.c index 5987998..084b3fc 100644 --- a/src/scanner.cc +++ b/src/scanner.c @@ -1,14 +1,11 @@ - -#include +#include "tree_sitter/parser.h" +#include +#include +#include +#include +#include +#include #include -#include -#include -#include -#include -#include -#include -#include -#include #define ENABLE_LOGGING 0 @@ -18,82 +15,100 @@ #define LOG(...) #endif -namespace { - /// The possible external tokens matched by this custom scanner. /// The order of the entries in this enumerator must match the 'externals' in /// the grammar.js. enum Token { BLOCK_COMMENT, - DISAMBIGUATE_TEMPLATE, // A zero-length token used to scan ahead + DISAMBIGUATE_TEMPLATE, // A zero-length token used to scan ahead TEMPLATE_ARGS_START, TEMPLATE_ARGS_END, - LESS_THAN, // '<' - LESS_THAN_EQUAL, // '<=' - SHIFT_LEFT, // '<<' - SHIFT_LEFT_ASSIGN, // '<<=' - GREATER_THAN, // '>' - GREATER_THAN_EQUAL, // '>=' - SHIFT_RIGHT, // '>>' - SHIFT_RIGHT_ASSIGN, // '>>=' + LESS_THAN, // '<' + LESS_THAN_EQUAL, // '<=' + SHIFT_LEFT, // '<<' + SHIFT_LEFT_ASSIGN, // '<<=' + GREATER_THAN, // '>' + GREATER_THAN_EQUAL, // '>=' + SHIFT_RIGHT, // '>>' + SHIFT_RIGHT_ASSIGN, // '>>=' // A sentinel value used to signal an error has occurred already. // https://tree-sitter.github.io/tree-sitter/creating-parsers#other-external-scanner-details ERROR, }; -const char* str(Token tok,bool brief=false) { +static const char *tree_sitter_wgsl_str(enum Token tok, bool brief) { switch (tok) { - case Token::BLOCK_COMMENT: - return "BLOCK_COMMENT"; - case Token::DISAMBIGUATE_TEMPLATE: - return "DISAMBIGUATE_TEMPLATE"; - case Token::TEMPLATE_ARGS_START: - return "TEMPLATE_ARGS_START"; - case Token::TEMPLATE_ARGS_END: - return "TEMPLATE_ARGS_END"; - case Token::LESS_THAN: - return brief ? "<" : "LESS_THAN"; - case Token::LESS_THAN_EQUAL: - return brief ? "<=" : "LESS_THAN_EQUAL"; - case Token::SHIFT_LEFT: - return brief ? "<<" : "SHIFT_LEFT"; - case Token::SHIFT_LEFT_ASSIGN: - return brief ? "<<=" : "SHIFT_LEFT_ASSIGN"; - case Token::GREATER_THAN: - return brief ? ">" : "GREATER_THAN"; - case Token::GREATER_THAN_EQUAL: - return brief ? ">=" : "GREATER_THAN_EQUAL"; - case Token::SHIFT_RIGHT: - return brief ? ">>" : "SHIFT_RIGHT"; - case Token::SHIFT_RIGHT_ASSIGN: - return brief ? ">>=" : "SHIFT_RIGHT_ASSIGN"; - case Token::ERROR: - return "ERROR"; - default: - return ""; - } -} - -using CodePoint = uint32_t; - -static constexpr CodePoint kEOF = 0; - -struct CodePointRange { - CodePoint first; // First code point in the interval - CodePoint last; // Last code point in the interval (inclusive) -}; + case BLOCK_COMMENT: + return "BLOCK_COMMENT"; + case DISAMBIGUATE_TEMPLATE: + return "DISAMBIGUATE_TEMPLATE"; + case TEMPLATE_ARGS_START: + return "TEMPLATE_ARGS_START"; + case TEMPLATE_ARGS_END: + return "TEMPLATE_ARGS_END"; + case LESS_THAN: + return brief ? "<" : "LESS_THAN"; + case LESS_THAN_EQUAL: + return brief ? "<=" : "LESS_THAN_EQUAL"; + case SHIFT_LEFT: + return brief ? "<<" : "SHIFT_LEFT"; + case SHIFT_LEFT_ASSIGN: + return brief ? "<<=" : "SHIFT_LEFT_ASSIGN"; + case GREATER_THAN: + return brief ? ">" : "GREATER_THAN"; + case GREATER_THAN_EQUAL: + return brief ? ">=" : "GREATER_THAN_EQUAL"; + case SHIFT_RIGHT: + return brief ? ">>" : "SHIFT_RIGHT"; + case SHIFT_RIGHT_ASSIGN: + return brief ? ">>=" : "SHIFT_RIGHT_ASSIGN"; + case ERROR: + return "ERROR"; + default: + return ""; + } +} + +typedef uint32_t CodePoint; -inline bool operator<(CodePoint code_point, CodePointRange range) { +static const CodePoint kEOF = 0; + +typedef struct { + CodePoint first; // First code point in the interval + CodePoint last; // Last code point in the interval (inclusive) +} CodePointRange; + +static bool code_point_less_than(CodePoint code_point, CodePointRange range) { return code_point < range.first; } -inline bool operator<(CodePointRange range, CodePoint code_point) { +static bool range_less_than(CodePointRange range, CodePoint code_point) { return range.last < code_point; } +/* Implement C++ std::binary_search using C */ +static bool binary_search(const CodePointRange *ranges, size_t num_ranges, + CodePoint code_point) { + size_t left = 0; + size_t right = num_ranges; + + while (left < right) { + size_t mid = left + (right - left) / 2; + if (range_less_than(ranges[mid], code_point)) { + left = mid + 1; + } else if (code_point_less_than(code_point, ranges[mid])) { + right = mid; + } else { + return true; + } + } + + return false; +} + // Interval ranges of all code points in the Unicode 14 XID_Start set // This array needs to be in ascending order. -constexpr CodePointRange kXIDStartRanges[] = { +static const CodePointRange kXIDStartRanges[] = { {0x00041, 0x0005a}, {0x00061, 0x0007a}, {0x000aa, 0x000aa}, {0x000b5, 0x000b5}, {0x000ba, 0x000ba}, {0x000c0, 0x000d6}, {0x000d8, 0x000f6}, {0x000f8, 0x002c1}, {0x002c6, 0x002d1}, @@ -316,13 +331,13 @@ constexpr CodePointRange kXIDStartRanges[] = { }; // Number of ranges in kXIDStartRanges -constexpr size_t kNumXIDStartRanges = +const size_t kNumXIDStartRanges = sizeof(kXIDStartRanges) / sizeof(kXIDStartRanges[0]); // The additional code point interval ranges for the Unicode 14 XID_Continue // set. This extends the values in kXIDStartRanges. // This array needs to be in ascending order. -constexpr CodePointRange kXIDContinueRanges[] = { +static const CodePointRange kXIDContinueRanges[] = { {0x00030, 0x00039}, {0x0005f, 0x0005f}, {0x000b7, 0x000b7}, {0x00300, 0x0036f}, {0x00387, 0x00387}, {0x00483, 0x00487}, {0x00591, 0x005bd}, {0x005bf, 0x005bf}, {0x005c1, 0x005c2}, @@ -447,12 +462,12 @@ constexpr CodePointRange kXIDContinueRanges[] = { }; // Number of ranges in kXIDContinueRanges -constexpr size_t kNumXIDContinueRanges = +const size_t kNumXIDContinueRanges = sizeof(kXIDContinueRanges) / sizeof(kXIDContinueRanges[0]); /// @param code_point the input code_point /// @return true if the code_point is part of the XIDStart unicode set -bool is_xid_start(CodePoint code_point) { +static bool is_xid_start(CodePoint code_point) { // Fast path for ASCII. if ((code_point >= 'a' && code_point <= 'z') || (code_point >= 'A' && code_point <= 'Z')) { @@ -464,529 +479,683 @@ bool is_xid_start(CodePoint code_point) { if (code_point < 0x000aa) { return false; } - return std::binary_search(kXIDStartRanges, - kXIDStartRanges + kNumXIDStartRanges, code_point); + return binary_search(kXIDStartRanges, kNumXIDStartRanges, code_point); } /// @param code_point the input code_point /// @return true if the code_point is part of the XIDContinue unicode set -bool is_xid_continue(CodePoint code_point) { +static bool is_xid_continue(CodePoint code_point) { // Short circuit ASCII. The binary search will find these last, but most // of our current source is ASCII, so handle them quicker. if ((code_point >= '0' && code_point <= '9') || code_point == '_') { return true; } return is_xid_start(code_point) || - std::binary_search(kXIDContinueRanges, - kXIDContinueRanges + kNumXIDContinueRanges, - code_point); + binary_search(kXIDContinueRanges, kNumXIDContinueRanges, code_point); } -/// @return true if @p code_point is considered a whitespace -bool is_space(CodePoint code_point) { +/// @return true if @p code_point is considered a blankspace +static bool is_space(CodePoint code_point) { switch (code_point) { - case 0x0020: - case 0x0009: - case 0x000a: - case 0x000b: - case 0x000c: - case 0x000d: - case 0x0085: - case 0x200e: - case 0x200f: - case 0x2028: - case 0x2029: - return true; - default: - return false; + case 0x0020: + case 0x0009: + case 0x000a: + case 0x000b: + case 0x000c: + case 0x000d: + case 0x0085: + case 0x200e: + case 0x200f: + case 0x2028: + case 0x2029: + return true; + default: + return false; } } /// A fixed capacity, dynamic sized queue of bits (expressed as bools) -template -class BitQueue { - public: - /// @param index the index of the bit starting from the front - /// @return the bit value - auto operator[](size_t index) { - assert(index < count()); // TODO(dneto): this should error out. - return bits_[(index + read_offset_) % CAPACITY_IN_BITS]; - } - - /// Removes the bit at the front of the queue - /// @returns the value of the bit that was removed - bool pop_front() { - assert(count_ > 0); - bool value = (*this)[0]; - count_--; - read_offset_++; - return value; - } - - /// Appends a bit to the back of the queue - void push_back(bool value) { - assert(count_ < CAPACITY_IN_BITS); - count_++; - (*this)[count_ - 1] = value; - } - - /// @returns true if the queue holds no bits. - bool empty() const { return count_ == 0; } - - /// @returns the number of bits held by the queue. - size_t count() const { return count_; } - - private: - std::bitset bits_; - size_t count_ = 0; // number of bits contained - size_t read_offset_ = 0; // read offset in bits - // +#define BITQUEUE_CAPACITY 64 + +typedef struct { + uint64_t bits; + size_t count; + size_t read_offset; +} BitQueue; + +/// @param index the index of the bit starting from the front +/// @return the bit value +static bool bitqueue_get(BitQueue *queue, size_t index) { + assert(index < queue->count); + return (queue->bits >> ((index + queue->read_offset) % BITQUEUE_CAPACITY)) & + 1; +} + +static void bitqueue_set(BitQueue *queue, size_t index, bool value) { + assert(index < queue->count); + size_t bit_index = (index + queue->read_offset) % BITQUEUE_CAPACITY; + if (value) { + queue->bits |= (1ULL << bit_index); + } else { + queue->bits &= ~(1ULL << bit_index); + } +} + +/// Removes the bit at the front of the queue +/// @returns the value of the bit that was removed +static bool bitqueue_pop_front(BitQueue *queue) { + assert(queue->count > 0); + bool value = bitqueue_get(queue, 0); + queue->count--; + queue->read_offset++; + return value; +} + +/// Appends a bit to the back of the queue +static void bitqueue_push_back(BitQueue *queue, bool value) { + assert(queue->count < BITQUEUE_CAPACITY); + queue->count++; + bitqueue_set(queue, queue->count - 1, value); +} + +/// @returns true if the queue holds no bits. +static bool bitqueue_empty(const BitQueue *queue) { return queue->count == 0; } + +/// @returns the number of bits held by the queue. +static size_t bitqueue_count(const BitQueue *queue) { return queue->count; } + #if ENABLE_LOGGING - public: - void to_chars(std::string& str) { - std::stringstream ss; - ss << count_ << ":"; - for (auto i = 0; i < count_; ++i) { - bool is_template = (*this)[i]; - ss << (is_template ? "#" : "."); - } - str = ss.str(); +static void bitqueue_to_chars(const BitQueue *queue, char *str) { + sprintf(str, "%zu:", queue->count); + for (size_t i = 0; i < queue->count; ++i) { + strcat(str, bitqueue_get(queue, i) ? "#" : "."); } +} #endif -}; -class Lexer { - public: - Lexer(TSLexer* l) : lexer_(l) {} +typedef struct { + TSLexer *lexer; +} Lexer; - /// Advances the lexer by one code point. - void advance() { lexer_->advance(lexer_, /* whitespace */ false); } +static void lexer_init(Lexer *lexer, TSLexer *l) { lexer->lexer = l; } - /// Returns the next code point, advancing the lexer by one code point. - CodePoint next() { - // TODO(dneto): should assert !lexer_->eof(lexer_) - CodePoint lookahead = lexer_->lookahead; - advance(); - return lookahead; - } +/// Advances the lexer by one code point. +static void lexer_advance(Lexer *lexer) { lexer->lexer->advance(lexer->lexer, false); } + +/// Returns the next code point, advancing the lexer by one code point. +static CodePoint lexer_next(Lexer *lexer) { + // TODO(dneto): should assert !lexer_->eof(lexer_) + CodePoint lookahead = lexer->lexer->lookahead; + lexer_advance(lexer); + return lookahead; +} - /// @return the next code point without advancing the lexer, or kEOF if there - /// are no more code points - CodePoint peek() { return lexer_->eof(lexer_) ? kEOF : lexer_->lookahead; } +/// @return the next code point without advancing the lexer, or kEOF if there +/// are no more code points +static CodePoint lexer_peek(Lexer *lexer) { + return lexer->lexer->eof(lexer->lexer) ? kEOF : lexer->lexer->lookahead; +} - /// @return true if the next code point is equal to @p code_point. - /// @note if the code point was found, then the lexer is advanced to that code - /// point. - bool match(CodePoint code_point) { - if (peek() == code_point) { - advance(); +/// @return true if the next code point is equal to @p code_point. +/// @note if the code point was found, then the lexer is advanced to that code +/// point. +static bool lexer_match(Lexer *lexer, CodePoint code_point) { + if (lexer_peek(lexer) == code_point) { + lexer_advance(lexer); + return true; + } + return false; +} + +/// @return true if the next code point is found in @p code_points. +/// @note if the code point was found, then the lexer is advanced to that code +/// point. +static bool lexer_match_anyof(Lexer *lexer, const CodePoint *code_points, + size_t count) { + for (size_t i = 0; i < count; i++) { + if (lexer_match(lexer, code_points[i])) { return true; } - return false; } + return false; +} - /// @return true if the next code point is found in @p code_points. - /// @note if the code point was found, then the lexer is advanced to that code - /// point. - bool match_anyof(std::initializer_list code_points) { - for (CodePoint code_point : code_points) { - if (match(code_point)) { - return true; - } - } +/// Attempts to match an identifier pattern that starts with XIDStart followed +/// by any number of XIDContinue code points. +static bool lexer_match_identifier(Lexer *lexer) { + if (!is_xid_start(lexer_peek(lexer))) { return false; } - /// Attempts to match an identifier pattern that starts with XIDStart followed by - /// any number of XIDContinue code points. - bool match_identifier() { - if (!is_xid_start(peek())) { - return false; - } + bool is_ascii = true; + CodePoint start = lexer_next(lexer); + if (start >= 0x80) { + is_ascii = false; + } - std::stringstream ss; - bool is_ascii = true; - if (CodePoint start = next(); start < 0x80) { - ss.put(char(start)); - } else { + while (true) { + if (!is_xid_continue(lexer_peek(lexer))) { + break; + } + CodePoint code_point = lexer_next(lexer); + if (code_point >= 0x80) { is_ascii = false; } + } - while (true) { - if (!is_xid_continue(peek())) { - break; - } - if (CodePoint code_point = next(); code_point < 0x80) { - ss.put(char(code_point)); - } else { - is_ascii = false; - } - } + if (is_ascii) { + LOG("ident is ascii"); + } else { + LOG("ident"); + } - if (is_ascii) { - LOG("ident: '%s'", ss.str().c_str()); - } else { - LOG("ident"); - } + return true; +} - return true; +/// Attempts to match a /* block comment */ +static bool lexer_match_block_comment(Lexer *lexer) { + // TODO(dneto): Need to un-advance if matched '/' but not '*' + if (!lexer_match(lexer, '/') || !lexer_match(lexer, '*')) { + return false; } - /// Attempts to match a /* block comment */ - bool match_block_comment() { - // TODO(dneto): Need to un-advance if matched '/' but not '*' - if (!match('/') || !match('*')) { - return false; - } - - size_t nesting = 1; - while (nesting > 0 && !match(kEOF)) { - // TODO(dneto): If we match '/' but not '*' there is no way to un-advance - // back to make '/' the lookahead. - if (match('/') && match('*')) { - nesting++; + size_t nesting = 1; + while (nesting > 0 && !lexer_match(lexer, kEOF)) { + // TODO(dneto): If we match '/' but not '*' there is no way to un-advance + // back to make '/' the lookahead. + if (lexer_match(lexer, '/') && lexer_match(lexer, '*')) { + nesting++; // TODO(dneto): Same here, need to be able to un-advance to before '*' - } else if (match('*') && match('/')) { - nesting--; - } else { - next(); - } + } else if (lexer_match(lexer, '*') && lexer_match(lexer, '/')) { + nesting--; + } else { + lexer_next(lexer); } - return true; } + return true; +} - /// Advances the lexer while the next code point is considered whitespace - void skip_whitespace() { - while (is_space(peek())) { - lexer_->advance(lexer_, /* whitespace */ true); - } +/// Advances the lexer while the next code point is considered blankspace +static void lexer_skip_blankspace(Lexer *lexer) { + while (is_space(lexer_peek(lexer))) { + lexer->lexer->advance(lexer->lexer, true); } +} - private: - TSLexer* lexer_; -}; +typedef struct { + BitQueue lt_is_tmpl; // Queue of disambiguated '<' + BitQueue gt_is_tmpl; // Queue of disambiguated '>' +} ScannerState; + +typedef struct { + ScannerState state; +} Scanner; + +/* Stack entry for template argument parsing */ +typedef struct { + size_t index; // Index of the opening '>' in lt_is_tmpl + size_t expr_depth; // The value of 'expr_depth' for the opening '<' +} StackEntry; + +/* Dynamic array for StackEntry */ +typedef struct { + StackEntry *data; + size_t size; + size_t capacity; +} StackEntryArray; + +static void stack_entry_array_init(StackEntryArray *array) { + array->data = NULL; + array->size = 0; + array->capacity = 0; +} -struct Scanner { - struct State { - BitQueue<1024> lt_is_tmpl; // Queue of disambiguated '<' - BitQueue<1024> gt_is_tmpl; // Queue of disambiguated '>' - bool empty() const { return lt_is_tmpl.empty() && gt_is_tmpl.empty(); } - }; - State state; - static_assert(sizeof(State) < TREE_SITTER_SERIALIZATION_BUFFER_SIZE); - // State is trivially copyable, so it can be serialized and deserialized - // with memcpy. - static_assert(std::is_trivially_copyable::value); - - /// Updates #state with the disambiguated '<' and '>' tokens. - /// The following assumptions are made on entry: - /// * lexer has just advanced to the end of an identifier - /// On exit, all '<' and '>' template tokens will be paired up to the closing - /// '>' for the first '<'. - void classify_template_args(Lexer& lexer) { - LOG("classify_template_args()"); - - if (!lexer.match('<')) { - LOG(" missing '<'"); +static void stack_entry_array_push(StackEntryArray *array, StackEntry entry) { + if (array->size == array->capacity) { + size_t new_capacity = array->capacity == 0 ? 1 : array->capacity * 2; + StackEntry *new_data = + realloc(array->data, new_capacity * sizeof(StackEntry)); + if (new_data == NULL) { + /* Handle allocation failure */ return; } + array->data = new_data; + array->capacity = new_capacity; + } + array->data[array->size++] = entry; +} - // The current expression nesting depth. - size_t expr_depth = 0; +static void stack_entry_array_pop(StackEntryArray *array) { + if (array->size > 0) { + array->size--; + } +} - // A stack of '<' tokens. - // Used to pair '<' and '>' tokens at the same expression depth. - struct StackEntry { - size_t index; // Index of the opening '>' in lt_is_tmpl - size_t expr_depth; // The value of 'expr_depth' for the opening '<' - }; - std::vector lt_stack; +static StackEntry *stack_entry_array_back(StackEntryArray *array) { + if (array->size > 0) { + return &array->data[array->size - 1]; + } + return NULL; +} - LOG("classify_template_args() '<'"); - lt_stack.push_back(StackEntry{state.lt_is_tmpl.count(), expr_depth}); - state.lt_is_tmpl.push_back(false); // Default to less-than +static bool stack_entry_array_empty(StackEntryArray *array) { + return array->size == 0; +} - while (!lt_stack.empty() && !lexer.match(kEOF)) { - lexer.skip_whitespace(); +static void stack_entry_array_clear(StackEntryArray *array) { array->size = 0; } - // TODO: skip line-ending comments. - if (lexer.match_block_comment()) { - continue; - } +static void stack_entry_array_free(StackEntryArray *array) { + free(array->data); + array->data = NULL; + array->size = 0; + array->capacity = 0; +} - if (lexer.match_identifier()) { - lexer.skip_whitespace(); // TODO: Skip comments - if (lexer.match('<')) { - LOG("classify_template_args() '<'"); - lt_stack.push_back(StackEntry{state.lt_is_tmpl.count(), expr_depth}); - state.lt_is_tmpl.push_back(false); // Default to less-than - } - continue; - } +/// Updates #state with the disambiguated '<' and '>' tokens. +/// The following assumptions are made on entry: +/// * lexer has just advanced to the end of an identifier +/// On exit, all '<' and '>' template tokens will be paired up to the closing +/// '>' for the first '<'. +static void classify_template_args(Scanner *scanner, Lexer *lexer) { + LOG("classify_template_args()"); + + if (!lexer_match(lexer, '<')) { + LOG(" missing '<'"); + return; + } + + // The current expression nesting depth. + size_t expr_depth = 0; + + // A stack of '<' tokens. Each is a candidate for the start of a template + // list. Used to pair '<' and '>' tokens at the same expression depth. + StackEntryArray lt_stack; + stack_entry_array_init(<_stack); - if (lexer.match('>')) { - LOG("classify_template_args() '>'"); - if (!lt_stack.empty() && lt_stack.back().expr_depth == expr_depth) { - LOG(" TEMPLATE MATCH"); - state.gt_is_tmpl.push_back(true); - state.lt_is_tmpl[lt_stack.back().index] = true; - lt_stack.pop_back(); + LOG("classify_template_args() '<' (initial)"); + StackEntry entry = {bitqueue_count(&scanner->state.lt_is_tmpl), expr_depth}; + stack_entry_array_push(<_stack, entry); + // Default to less-than (or less-than-equal, or left-shift, or + // left-shift-equal) + bitqueue_push_back(&scanner->state.lt_is_tmpl, false); + + while (!stack_entry_array_empty(<_stack) && !lexer_match(lexer, kEOF)) { + lexer_skip_blankspace(lexer); + + // TODO: skip line-ending comments. + if (lexer_match_block_comment(lexer)) { + continue; + } + + // A template list can't contain an assignment or a compound assignment. + // There is logic below which clears the stack when reaching one of those. + // It looks for a '=' code point. But we still want to allow + // comparison operations inside expressions. So we must pre-emptively + // allow operators: == >= <= != + + // Look for a nested template-list. + if (lexer_match_identifier(lexer)) { + lexer_skip_blankspace(lexer); + if (lexer_match(lexer, '<')) { + LOG("classify_template_args() '<' after ident"); + bitqueue_push_back(&scanner->state.lt_is_tmpl, false); + + if (lexer_match(lexer, '=')) { + // We entered the loop at "ident<=". No template arg can start with + // '=', so consider "<=" to be a single token. Litmus test: "alias z + // = a;" + } else if (lexer_match(lexer, '<')) { + // We entered the loop at "ident<<". No template arg can start with + // '<', so consider "<<" to be a single token. Litmus test: "alias z + // = a;" + bitqueue_push_back(&scanner->state.lt_is_tmpl, false); } else { - LOG(" non-template '>'"); - state.gt_is_tmpl.push_back(false); + StackEntry new_entry = { + bitqueue_count(&scanner->state.lt_is_tmpl) - 1, expr_depth}; + stack_entry_array_push(<_stack, new_entry); } - continue; } + continue; + } - if (lexer.match_anyof({'(', '['})) { - LOG(" expr_depth++"); - // Entering a nested expression - expr_depth++; - continue; - } + // Each '<' must be recorded in the lt_is_tmpl queue. + // Each '>' must be recorded in the gt_is_tmpl queue. - if (lexer.match_anyof({')', ']'})) { - LOG(" expr_depth--"); - // Exiting a nested expression - // Pop the stack until we return to the current expression - // expr_depth - while (!lt_stack.empty() && lt_stack.back().expr_depth == expr_depth) { - lt_stack.pop_back(); - } - if (expr_depth > 0) { - expr_depth--; - } - continue; - } + if (lexer_match(lexer, '<')) { + // Litmus test: "alias z =a<1<()>;" + LOG("classify_template_args() '<'"); + bitqueue_push_back(&scanner->state.lt_is_tmpl, false); + continue; + } - if (lexer.match_anyof({';', '{', '=', ':'})) { - LOG(" expression terminator"); - // Expression terminating tokens. No opening template list can - // hold these tokens, so clear the stack and expression depth. - expr_depth = 0; - lt_stack.clear(); - continue; + if (lexer_match(lexer, '>')) { + LOG("classify_template_args() '>'"); + StackEntry *back = stack_entry_array_back(<_stack); + if (back != NULL && back->expr_depth == expr_depth) { + LOG(" TEMPLATE MATCH"); + bitqueue_push_back(&scanner->state.gt_is_tmpl, true); + bitqueue_set(&scanner->state.lt_is_tmpl, back->index, true); + stack_entry_array_pop(<_stack); + } else { + LOG(" non-template '>'"); + bitqueue_push_back(&scanner->state.gt_is_tmpl, false); + // Pre-emptvely allow >= as a comparison operator: + // Skip over '=', if present. + lexer_match(lexer, '='); } + continue; + } + + // Pre-emptively allow the != operator. + // As a side effect, allow unary negation operator ! + if (lexer_match(lexer, '!')) { + lexer_match(lexer, '='); + continue; + } + + CodePoint was = lexer_peek(lexer); + if (lexer_match(lexer, '(') || lexer_match(lexer, '[')) { + LOG(" %c expr_depth++", (int)was); + // Entering a nested expression + expr_depth++; + continue; + } - bool short_circuit = false; - if (lexer.match('&')) { - short_circuit = lexer.match('&'); - } else if (lexer.match('|')) { - short_circuit = lexer.match('|'); + if (lexer_match(lexer, ')') || lexer_match(lexer, ']')) { + LOG(" %c expr_depth--", (int)was); + // Exiting a nested expression + // Pop the stack until we return to the current expression + // expr_depth + while (!stack_entry_array_empty(<_stack) && + stack_entry_array_back(<_stack)->expr_depth == expr_depth) { + stack_entry_array_pop(<_stack); } - if (short_circuit) { - LOG(" short-circuiting expression"); - // Treat 'a < b || c > d' as a logical binary operator of two - // comparison operators instead of a single template argument - // 'b||c'. Use parentheses around 'b||c' to parse as a - // template argument list. - while (!lt_stack.empty() && lt_stack.back().expr_depth == expr_depth) { - lt_stack.pop_back(); - } + if (expr_depth > 0) { + expr_depth--; + } + continue; + } + + was = lexer_peek(lexer); + if (lexer_match(lexer, '=')) { + // A subtle point. The '=' we just matched might be the start of a + // syntactic token, or the end of a compound-assignment operator like += + // In either case, it's fine to proceed with the logic below. + + if (lexer_match(lexer, '=')) { + // Pre-emptively allow equality == continue; } + // A template list can't contain an assignment, because an expression + // can't contain an assignment. + // This might be a regular assignment, or the tail end of a compound + // assignment. + LOG(" %c expression terminator", (int)was); + expr_depth = 0; + stack_entry_array_clear(<_stack); + continue; + } - LOG(" skip: '%c'",char(lexer.peek())); - lexer.next(); + was = lexer_peek(lexer); + if (lexer_match(lexer, ';') || lexer_match(lexer, '{') || + lexer_match(lexer, ':')) { + LOG(" %c expression terminator", (int)was); + // Expression terminating tokens. No template list can + // hold these code points, so clear the stack and expression depth. + expr_depth = 0; + stack_entry_array_clear(<_stack); + continue; } - } - std::string valids(const bool* const valid_symbols) { - std::string result; - for (int i = 0; i < static_cast(ERROR) ; i++) { - result += std::string(valid_symbols[i] ? "+" : "_"); + bool short_circuit = false; + if (lexer_match(lexer, '&')) { + short_circuit = lexer_match(lexer, '&'); + } else if (lexer_match(lexer, '|')) { + short_circuit = lexer_match(lexer, '|'); } - for (int i = 0; i < static_cast(ERROR) ; i++) { - if (valid_symbols[i]) { - result += std::string(" ") + str(static_cast(i),true); + if (short_circuit) { + LOG(" short-circuiting expression"); + // Treat 'a < b || c > d' as a logical binary operator of two + // comparison operators instead of a single template argument + // 'b||c'. Use parentheses around 'b||c' to parse as a + // template argument list. + while (!stack_entry_array_empty(<_stack) && + stack_entry_array_back(<_stack)->expr_depth == expr_depth) { + stack_entry_array_pop(<_stack); } + continue; } - return result; - } - /// The external token scanner function. Handles block comments and - /// template-argument-list vs less-than / greater-than disambiguation. - /// @return true if lexer->result_symbol was assigned a Token, or - /// false if the token should be taken from the regular WGSL tree-sitter - /// grammar. - bool scan(TSLexer* ts_lexer, const bool* const valid_symbols) { - Lexer lexer{ts_lexer}; + LOG(" skip: '%c'", (char)lexer_peek(lexer)); + lexer_next(lexer); + } - LOG("scan: '%c' [%u] %s", char(lexer.peek()), unsigned(ts_lexer->get_column(ts_lexer)), valids(valid_symbols).c_str()); + stack_entry_array_free(<_stack); +} - if (valid_symbols[Token::ERROR]) { - ts_lexer->result_symbol = Token::ERROR; - return true; +static char *valids(const bool *const valid_symbols) { + static char result[256]; + char *p = result; + for (int i = 0; i < ERROR; i++) { + *p++ = valid_symbols[i] ? '+' : '_'; + } + *p++ = ' '; + for (int i = 0; i < ERROR; i++) { + if (valid_symbols[i]) { + p += sprintf(p, " %s", tree_sitter_wgsl_str((enum Token)i, true)); } + } + *p = '\0'; + return result; +} - if (valid_symbols[Token::DISAMBIGUATE_TEMPLATE]) { - // The parser is telling us the _disambiguate_template token - // may appear at the current position. - // The next token may be the start of a template list, so - // scan forward and use the token-list disambiguation - // algorithm to mark template-list-start and template-list-end - // tokens. These are recorded in the lt and gt bit queues. +/// The external token scanner function. Handles block comments and +/// template-argument-list vs less-than / greater-than disambiguation. +/// @return true if lexer->result_symbol was assigned a Token, or +/// false if the token should be taken from the regular WGSL tree-sitter +/// grammar. +static bool scanner_scan(Scanner *scanner, TSLexer *ts_lexer, + const bool *const valid_symbols) { + Lexer lexer; + lexer_init(&lexer, ts_lexer); + + LOG("scan: '%c' [%u] %s", (char)lexer_peek(&lexer), + ts_lexer->get_column(ts_lexer), valids(valid_symbols)); + + if (valid_symbols[ERROR]) { + ts_lexer->result_symbol = ERROR; + return true; + } - // Call mark_end so that we can "advance" past codepoints without - // automatically including them in the resulting token. - ts_lexer->mark_end(ts_lexer); - ts_lexer->result_symbol = Token::DISAMBIGUATE_TEMPLATE; - - // TODO(dneto): should also skip comments, both line comments - // and block comments. - lexer.skip_whitespace(); - if (lexer.peek() == '<') { - if (state.lt_is_tmpl.empty()) { - classify_template_args(lexer); - } + if (valid_symbols[DISAMBIGUATE_TEMPLATE]) { + // The parser is telling us the _disambiguate_template token + // may appear at the current position. + // The next token may be the start of a template list, so + // scan forward and use the token-list disambiguation + // algorithm to mark template-list-start and template-list-end + // tokens. These are recorded in the lt and gt bit queues. + + // Call mark_end so that we can "advance" past codepoints without + // automatically including them in the resulting token. + ts_lexer->mark_end(ts_lexer); + ts_lexer->result_symbol = DISAMBIGUATE_TEMPLATE; + + // TODO(dneto): should also skip comments, both line comments + // and block comments. + // https://github.com/gpuweb/gpuweb/issues/3876 + lexer_skip_blankspace(&lexer); + if (lexer_peek(&lexer) == '<') { + if (bitqueue_empty(&scanner->state.lt_is_tmpl)) { + classify_template_args(scanner, &lexer); } - - // This has to return true so that Treesitter will save - // the state generated by the disambiguation scan. - return true; } - lexer.skip_whitespace(); + // This has to return true so that Treesitter will save + // the state generated by the disambiguation scan. + return true; + } + + lexer_skip_blankspace(&lexer); + + // TODO(dneto): checkpoint and rewind if failed. + if (lexer_match_block_comment(&lexer)) { + ts_lexer->mark_end(ts_lexer); + ts_lexer->result_symbol = BLOCK_COMMENT; + return true; + } - auto match = [&](Token token) { + // TODO(dneto): Check valid array first. + if (lexer_match(&lexer, '<')) { + if (!bitqueue_empty(&scanner->state.lt_is_tmpl) && + bitqueue_pop_front(&scanner->state.lt_is_tmpl)) { ts_lexer->mark_end(ts_lexer); - ts_lexer->result_symbol = token; + ts_lexer->result_symbol = TEMPLATE_ARGS_START; return true; - }; - - // TODO(dneto): checkpoint and rewind if failed. - if (lexer.match_block_comment()) { - return match(Token::BLOCK_COMMENT); } - - // TODO(dneto): Check valid array first. - if (lexer.match('<')) { - if (!state.lt_is_tmpl.empty() && state.lt_is_tmpl.pop_front()) { - return match(Token::TEMPLATE_ARGS_START); - } - if (lexer.match('=')) { - return match(Token::LESS_THAN_EQUAL); + if (lexer_match(&lexer, '=')) { + ts_lexer->mark_end(ts_lexer); + ts_lexer->result_symbol = LESS_THAN_EQUAL; + return true; + } + if (lexer_match(&lexer, '<')) { + // Consume the '<' in the lt queue. + // Litmus test: "alias z = a<1<()>;" + if (!bitqueue_empty(&scanner->state.lt_is_tmpl)) { + bitqueue_pop_front(&scanner->state.lt_is_tmpl); } - if (lexer.match('<')) { - if (lexer.match('=')) { - return match(Token::SHIFT_LEFT_ASSIGN); - } - return match(Token::SHIFT_LEFT); + if (lexer_match(&lexer, '=')) { + ts_lexer->mark_end(ts_lexer); + ts_lexer->result_symbol = SHIFT_LEFT_ASSIGN; + return true; } - return match(Token::LESS_THAN); + ts_lexer->mark_end(ts_lexer); + ts_lexer->result_symbol = SHIFT_LEFT; + return true; } + ts_lexer->mark_end(ts_lexer); + ts_lexer->result_symbol = LESS_THAN; + return true; + } - // TODO(dneto): check valid array first. - if (lexer.match('>')) { - if (!state.gt_is_tmpl.empty() && state.gt_is_tmpl.pop_front()) { - return match(Token::TEMPLATE_ARGS_END); - } - if (lexer.match('=')) { - return match(Token::GREATER_THAN_EQUAL); + // TODO(dneto): check valid array first. + if (lexer_match(&lexer, '>')) { + if (!bitqueue_empty(&scanner->state.gt_is_tmpl) && + bitqueue_pop_front(&scanner->state.gt_is_tmpl)) { + ts_lexer->mark_end(ts_lexer); + ts_lexer->result_symbol = TEMPLATE_ARGS_END; + return true; + } + if (lexer_match(&lexer, '=')) { + ts_lexer->mark_end(ts_lexer); + ts_lexer->result_symbol = GREATER_THAN_EQUAL; + return true; + } + if (lexer_match(&lexer, '>')) { + // Consume the '>' in the gt queue. + if (!bitqueue_empty(&scanner->state.gt_is_tmpl)) { + bitqueue_pop_front(&scanner->state.gt_is_tmpl); } - if (lexer.match('>')) { - if (lexer.match('=')) { - return match(Token::SHIFT_RIGHT_ASSIGN); - } - return match(Token::SHIFT_RIGHT); + if (lexer_match(&lexer, '=')) { + ts_lexer->mark_end(ts_lexer); + ts_lexer->result_symbol = SHIFT_RIGHT_ASSIGN; + return true; } - return match(Token::GREATER_THAN); + ts_lexer->mark_end(ts_lexer); + ts_lexer->result_symbol = SHIFT_RIGHT; + return true; } - - return false; // Use regular parsing + ts_lexer->mark_end(ts_lexer); + ts_lexer->result_symbol = GREATER_THAN; + return true; } - /// Serializes the scanner state into @p buffer. - unsigned serialize(char* buffer) { - if (state.empty()) { - return 0; - } + return false; // Use regular parsing +} + +/// Serializes the scanner state into @p buffer. +static unsigned scanner_serialize(Scanner *scanner, char *buffer) { + if (bitqueue_empty(&scanner->state.lt_is_tmpl) && + bitqueue_empty(&scanner->state.gt_is_tmpl)) { + return 0; + } #if ENABLE_LOGGING - std::string lt_str; state.lt_is_tmpl.to_chars(lt_str); - std::string gt_str; state.gt_is_tmpl.to_chars(gt_str); - LOG("serialize(lt_is_tmpl: %s, gt_is_tmpl: %s)", - lt_str.c_str(), gt_str.c_str()); + char lt_str[256], gt_str[256]; + bitqueue_to_chars(&scanner->state.lt_is_tmpl, lt_str); + bitqueue_to_chars(&scanner->state.gt_is_tmpl, gt_str); + LOG("serialize(lt_is_tmpl: %s, gt_is_tmpl: %s)", lt_str, gt_str); #endif - size_t bytes_written = 0; - auto write = [&](const void* data, size_t num_bytes) { - assert(bytes_written + num_bytes <= - TREE_SITTER_SERIALIZATION_BUFFER_SIZE); - memcpy(buffer + bytes_written, data, num_bytes); - bytes_written += num_bytes; - }; - write(&state.lt_is_tmpl, sizeof(state.lt_is_tmpl)); - write(&state.gt_is_tmpl, sizeof(state.gt_is_tmpl)); - // TODO(dneto): implicit conversion be narrowing. - return bytes_written; - } - - /// Deserializes the scanner state from @p buffer. - void deserialize(const char* const buffer, unsigned length) { - if (length == 0) { - state = {}; - } else { - size_t bytes_read = 0; - auto read = [&](void* data, size_t num_bytes) { - assert(bytes_read + num_bytes <= length); - memcpy(data, buffer + bytes_read, num_bytes); - bytes_read += num_bytes; - }; - read(&state.lt_is_tmpl, sizeof(state.lt_is_tmpl)); - read(&state.gt_is_tmpl, sizeof(state.gt_is_tmpl)); + size_t bytes_written = 0; + memcpy(buffer + bytes_written, &scanner->state.lt_is_tmpl, + sizeof(scanner->state.lt_is_tmpl)); + bytes_written += sizeof(scanner->state.lt_is_tmpl); + memcpy(buffer + bytes_written, &scanner->state.gt_is_tmpl, + sizeof(scanner->state.gt_is_tmpl)); + bytes_written += sizeof(scanner->state.gt_is_tmpl); + // TODO(dneto): implicit conversion be narrowing. + return (unsigned)bytes_written; +} + +/// Deserializes the scanner state from @p buffer. +static void scanner_deserialize(Scanner *scanner, const char *buffer, + unsigned length) { + if (length == 0) { + memset(&scanner->state, 0, sizeof(scanner->state)); + } else { + size_t bytes_read = 0; + memcpy(&scanner->state.lt_is_tmpl, buffer + bytes_read, + sizeof(scanner->state.lt_is_tmpl)); + bytes_read += sizeof(scanner->state.lt_is_tmpl); + memcpy(&scanner->state.gt_is_tmpl, buffer + bytes_read, + sizeof(scanner->state.gt_is_tmpl)); + bytes_read += sizeof(scanner->state.gt_is_tmpl); #if ENABLE_LOGGING - std::string lt_str; state.lt_is_tmpl.to_chars(lt_str); - std::string gt_str; state.gt_is_tmpl.to_chars(gt_str); - LOG("deserialize(lt_is_tmpl: %s, gt_is_tmpl: %s)", - lt_str.c_str(), gt_str.c_str()); + char lt_str[256], gt_str[256]; + bitqueue_to_chars(&scanner->state.lt_is_tmpl, lt_str); + bitqueue_to_chars(&scanner->state.gt_is_tmpl, gt_str); + LOG("deserialize(lt_is_tmpl: %s, gt_is_tmpl: %s)", lt_str, gt_str); #endif - assert(bytes_read == length); - } + assert(bytes_read == length); } -}; - -} // anonymous namespace - -extern "C" { +} // Called once when language is set on a parser. // Allocates memory for storing scanner state. -void* tree_sitter_wgsl_external_scanner_create() { - return new Scanner(); +void *tree_sitter_wgsl_external_scanner_create() { + Scanner *scanner = (Scanner *)calloc(1, sizeof(Scanner)); + return scanner; } // Called once parser is deleted or different language set. // Frees memory storing scanner state. -void tree_sitter_wgsl_external_scanner_destroy(void* const payload) { - Scanner* const scanner = static_cast(payload); - delete scanner; +void tree_sitter_wgsl_external_scanner_destroy(void *payload) { + Scanner *scanner = (Scanner *)payload; + free(scanner); } // Called whenever this scanner recognizes a token. // Serializes scanner state into buffer. -unsigned tree_sitter_wgsl_external_scanner_serialize(void* const payload, - char* const buffer) { - Scanner* scanner = static_cast(payload); - return scanner->serialize(buffer); +unsigned tree_sitter_wgsl_external_scanner_serialize(void *payload, + char *buffer) { + Scanner *scanner = (Scanner *)payload; + return scanner_serialize(scanner, buffer); } // Called when handling edits and ambiguities. // Deserializes scanner state from buffer. -void tree_sitter_wgsl_external_scanner_deserialize(void* const payload, - const char* const buffer, - unsigned const length) { - Scanner* const scanner = static_cast(payload); - scanner->deserialize(buffer, length); +void tree_sitter_wgsl_external_scanner_deserialize(void *payload, + const char *buffer, + unsigned length) { + Scanner *scanner = (Scanner *)payload; + scanner_deserialize(scanner, buffer, length); } // Scans for tokens. -bool tree_sitter_wgsl_external_scanner_scan(void* const payload, - TSLexer* const lexer, - const bool* const valid_symbols) { - Scanner* const scanner = static_cast(payload); - if (scanner->scan(lexer, valid_symbols)) { - LOG("scan returned: %s", str(static_cast(lexer->result_symbol))); +bool tree_sitter_wgsl_external_scanner_scan(void *payload, TSLexer *lexer, + const bool *valid_symbols) { + Scanner *scanner = (Scanner *)payload; + if (scanner_scan(scanner, lexer, valid_symbols)) { + LOG("scan returned: %s", + tree_sitter_wgsl_str((enum Token)lexer->result_symbol, false)); return true; } return false; } - -} // extern "C" diff --git a/src/scanner.o b/src/scanner.o deleted file mode 100644 index f944be5..0000000 Binary files a/src/scanner.o and /dev/null differ diff --git a/src/tree_sitter/alloc.h b/src/tree_sitter/alloc.h new file mode 100644 index 0000000..1f4466d --- /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); +extern void *(*ts_current_calloc)(size_t, size_t); +extern void *(*ts_current_realloc)(void *, size_t); +extern void (*ts_current_free)(void *); + +#ifndef ts_malloc +#define ts_malloc ts_current_malloc +#endif +#ifndef ts_calloc +#define ts_calloc ts_current_calloc +#endif +#ifndef ts_realloc +#define ts_realloc ts_current_realloc +#endif +#ifndef ts_free +#define ts_free ts_current_free +#endif + +#else + +#ifndef ts_malloc +#define ts_malloc malloc +#endif +#ifndef ts_calloc +#define ts_calloc calloc +#endif +#ifndef ts_realloc +#define ts_realloc realloc +#endif +#ifndef ts_free +#define ts_free free +#endif + +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ALLOC_H_ diff --git a/src/tree_sitter/array.h b/src/tree_sitter/array.h new file mode 100644 index 0000000..15a3b23 --- /dev/null +++ b/src/tree_sitter/array.h @@ -0,0 +1,290 @@ +#ifndef TREE_SITTER_ARRAY_H_ +#define TREE_SITTER_ARRAY_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "./alloc.h" + +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +#pragma warning(disable : 4101) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#endif + +#define Array(T) \ + struct { \ + T *contents; \ + uint32_t size; \ + uint32_t capacity; \ + } + +/// Initialize an array. +#define array_init(self) \ + ((self)->size = 0, (self)->capacity = 0, (self)->contents = NULL) + +/// Create an empty array. +#define array_new() \ + { NULL, 0, 0 } + +/// Get a pointer to the element at a given `index` in the array. +#define array_get(self, _index) \ + (assert((uint32_t)(_index) < (self)->size), &(self)->contents[_index]) + +/// Get a pointer to the first element in the array. +#define array_front(self) array_get(self, 0) + +/// Get a pointer to the last element in the array. +#define array_back(self) array_get(self, (self)->size - 1) + +/// Clear the array, setting its size to zero. Note that this does not free any +/// memory allocated for the array's contents. +#define array_clear(self) ((self)->size = 0) + +/// Reserve `new_capacity` elements of space in the array. If `new_capacity` is +/// less than the array's current capacity, this function has no effect. +#define array_reserve(self, new_capacity) \ + _array__reserve((Array *)(self), array_elem_size(self), new_capacity) + +/// Free any memory allocated for this array. Note that this does not free any +/// memory allocated for the array's contents. +#define array_delete(self) _array__delete((Array *)(self)) + +/// Push a new `element` onto the end of the array. +#define array_push(self, element) \ + (_array__grow((Array *)(self), 1, array_elem_size(self)), \ + (self)->contents[(self)->size++] = (element)) + +/// Increase the array's size by `count` elements. +/// New elements are zero-initialized. +#define array_grow_by(self, count) \ + do { \ + if ((count) == 0) break; \ + _array__grow((Array *)(self), count, array_elem_size(self)); \ + memset((self)->contents + (self)->size, 0, (count) * array_elem_size(self)); \ + (self)->size += (count); \ + } while (0) + +/// Append all elements from one array to the end of another. +#define array_push_all(self, other) \ + array_extend((self), (other)->size, (other)->contents) + +/// Append `count` elements to the end of the array, reading their values from the +/// `contents` pointer. +#define array_extend(self, count, contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), (self)->size, \ + 0, count, contents \ + ) + +/// Remove `old_count` elements from the array starting at the given `index`. At +/// the same index, insert `new_count` new elements, reading their values from the +/// `new_contents` pointer. +#define array_splice(self, _index, old_count, new_count, new_contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), _index, \ + old_count, new_count, new_contents \ + ) + +/// Insert one `element` into the array at the given `index`. +#define array_insert(self, _index, element) \ + _array__splice((Array *)(self), array_elem_size(self), _index, 0, 1, &(element)) + +/// Remove one element from the array at the given `index`. +#define array_erase(self, _index) \ + _array__erase((Array *)(self), array_elem_size(self), _index) + +/// Pop the last element off the array, returning the element by value. +#define array_pop(self) ((self)->contents[--(self)->size]) + +/// Assign the contents of one array to another, reallocating if necessary. +#define array_assign(self, other) \ + _array__assign((Array *)(self), (const Array *)(other), array_elem_size(self)) + +/// Swap one array with another +#define array_swap(self, other) \ + _array__swap((Array *)(self), (Array *)(other)) + +/// Get the size of the array contents +#define array_elem_size(self) (sizeof *(self)->contents) + +/// Search a sorted array for a given `needle` value, using the given `compare` +/// callback to determine the order. +/// +/// If an existing element is found to be equal to `needle`, then the `index` +/// out-parameter is set to the existing value's index, and the `exists` +/// out-parameter is set to true. Otherwise, `index` is set to an index where +/// `needle` should be inserted in order to preserve the sorting, and `exists` +/// is set to false. +#define array_search_sorted_with(self, compare, needle, _index, _exists) \ + _array__search_sorted(self, 0, compare, , needle, _index, _exists) + +/// Search a sorted array for a given `needle` value, using integer comparisons +/// of a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_with`. +#define array_search_sorted_by(self, field, needle, _index, _exists) \ + _array__search_sorted(self, 0, _compare_int, field, needle, _index, _exists) + +/// Insert a given `value` into a sorted array, using the given `compare` +/// callback to determine the order. +#define array_insert_sorted_with(self, compare, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_with(self, compare, &(value), &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +/// Insert a given `value` into a sorted array, using integer comparisons of +/// a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_by`. +#define array_insert_sorted_by(self, field, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_by(self, field, (value) field, &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +// Private + +typedef Array(void) Array; + +/// This is not what you're looking for, see `array_delete`. +static inline void _array__delete(Array *self) { + if (self->contents) { + ts_free(self->contents); + self->contents = NULL; + self->size = 0; + self->capacity = 0; + } +} + +/// This is not what you're looking for, see `array_erase`. +static inline void _array__erase(Array *self, size_t element_size, + uint32_t index) { + assert(index < self->size); + char *contents = (char *)self->contents; + memmove(contents + index * element_size, contents + (index + 1) * element_size, + (self->size - index - 1) * element_size); + self->size--; +} + +/// This is not what you're looking for, see `array_reserve`. +static inline void _array__reserve(Array *self, size_t element_size, uint32_t new_capacity) { + if (new_capacity > self->capacity) { + if (self->contents) { + self->contents = ts_realloc(self->contents, new_capacity * element_size); + } else { + self->contents = ts_malloc(new_capacity * element_size); + } + self->capacity = new_capacity; + } +} + +/// This is not what you're looking for, see `array_assign`. +static inline void _array__assign(Array *self, const Array *other, size_t element_size) { + _array__reserve(self, element_size, other->size); + self->size = other->size; + memcpy(self->contents, other->contents, self->size * element_size); +} + +/// This is not what you're looking for, see `array_swap`. +static inline void _array__swap(Array *self, Array *other) { + Array swap = *other; + *other = *self; + *self = swap; +} + +/// This is not what you're looking for, see `array_push` or `array_grow_by`. +static inline void _array__grow(Array *self, uint32_t count, size_t element_size) { + uint32_t new_size = self->size + count; + if (new_size > self->capacity) { + uint32_t new_capacity = self->capacity * 2; + if (new_capacity < 8) new_capacity = 8; + if (new_capacity < new_size) new_capacity = new_size; + _array__reserve(self, element_size, new_capacity); + } +} + +/// This is not what you're looking for, see `array_splice`. +static inline void _array__splice(Array *self, size_t element_size, + uint32_t index, uint32_t old_count, + uint32_t new_count, const void *elements) { + uint32_t new_size = self->size + new_count - old_count; + uint32_t old_end = index + old_count; + uint32_t new_end = index + new_count; + assert(old_end <= self->size); + + _array__reserve(self, element_size, new_size); + + char *contents = (char *)self->contents; + if (self->size > old_end) { + memmove( + contents + new_end * element_size, + contents + old_end * element_size, + (self->size - old_end) * element_size + ); + } + if (new_count > 0) { + if (elements) { + memcpy( + (contents + index * element_size), + elements, + new_count * element_size + ); + } else { + memset( + (contents + index * element_size), + 0, + new_count * element_size + ); + } + } + self->size += new_count - old_count; +} + +/// A binary search routine, based on Rust's `std::slice::binary_search_by`. +/// This is not what you're looking for, see `array_search_sorted_with` or `array_search_sorted_by`. +#define _array__search_sorted(self, start, compare, suffix, needle, _index, _exists) \ + do { \ + *(_index) = start; \ + *(_exists) = false; \ + uint32_t size = (self)->size - *(_index); \ + if (size == 0) break; \ + int comparison; \ + while (size > 1) { \ + uint32_t half_size = size / 2; \ + uint32_t mid_index = *(_index) + half_size; \ + comparison = compare(&((self)->contents[mid_index] suffix), (needle)); \ + if (comparison <= 0) *(_index) = mid_index; \ + size -= half_size; \ + } \ + comparison = compare(&((self)->contents[*(_index)] suffix), (needle)); \ + if (comparison == 0) *(_exists) = true; \ + else if (comparison < 0) *(_index) += 1; \ + } while (0) + +/// Helper macro for the `_sorted_by` routines below. This takes the left (existing) +/// parameter by reference in order to work with the generic sorting function above. +#define _compare_int(a, b) ((int)*(a) - (int)(b)) + +#ifdef _MSC_VER +#pragma warning(default : 4101) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ARRAY_H_ diff --git a/src/tree_sitter/parser.h b/src/tree_sitter/parser.h index 2b14ac1..799f599 100644 --- a/src/tree_sitter/parser.h +++ b/src/tree_sitter/parser.h @@ -13,9 +13,8 @@ extern "C" { #define ts_builtin_sym_end 0 #define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 -typedef uint16_t TSStateId; - #ifndef TREE_SITTER_API_H_ +typedef uint16_t TSStateId; typedef uint16_t TSSymbol; typedef uint16_t TSFieldId; typedef struct TSLanguage TSLanguage; @@ -48,6 +47,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 { @@ -87,6 +87,11 @@ typedef union { } entry; } TSParseActionEntry; +typedef struct { + int32_t start; + int32_t end; +} TSCharacterRange; + struct TSLanguage { uint32_t version; uint32_t symbol_count; @@ -126,13 +131,38 @@ struct TSLanguage { const TSStateId *primary_state_ids; }; +static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { + uint32_t index = 0; + uint32_t size = len - index; + while (size > 1) { + uint32_t half_size = size / 2; + uint32_t mid_index = index + half_size; + TSCharacterRange *range = &ranges[mid_index]; + if (lookahead >= range->start && lookahead <= range->end) { + return true; + } else if (lookahead > range->end) { + index = mid_index; + } + size -= half_size; + } + TSCharacterRange *range = &ranges[index]; + return (lookahead >= range->start && lookahead <= range->end); +} + /* * Lexer Macros */ +#ifdef _MSC_VER +#define UNUSED __pragma(warning(suppress : 4101)) +#else +#define UNUSED __attribute__((unused)) +#endif + #define START_LEXER() \ bool result = false; \ bool skip = false; \ + UNUSED \ bool eof = false; \ int32_t lookahead; \ goto start; \ @@ -148,6 +178,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; \ @@ -166,7 +207,7 @@ struct TSLanguage { * Parse Table Macros */ -#define SMALL_STATE(id) id - LARGE_STATE_COUNT +#define SMALL_STATE(id) ((id) - LARGE_STATE_COUNT) #define STATE(id) id @@ -176,7 +217,7 @@ struct TSLanguage { {{ \ .shift = { \ .type = TSParseActionTypeShift, \ - .state = state_value \ + .state = (state_value) \ } \ }} @@ -184,7 +225,7 @@ struct TSLanguage { {{ \ .shift = { \ .type = TSParseActionTypeShift, \ - .state = state_value, \ + .state = (state_value), \ .repetition = true \ } \ }} @@ -197,14 +238,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/tree-sitter-wgsl.wasm b/tree-sitter-wgsl.wasm index f648d2e..2fd6d5b 100755 Binary files a/tree-sitter-wgsl.wasm and b/tree-sitter-wgsl.wasm differ